@import"https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;700;800&family=Nunito:wght@500;700;800&display=swap";:root{--page-bg: linear-gradient(180deg, #eff5ff 0%, #fff4ef 48%, #fdf2fa 100%);--panel-bg: rgba(255, 251, 247, .82);--card-bg: rgba(255, 255, 255, .78);--soft-border: rgba(180, 190, 214, .34);--text-main: #35506d;--text-soft: #6f8399;--shadow-soft: 0 18px 40px rgba(84, 104, 140, .12);--shadow-card: 0 12px 28px rgba(90, 101, 136, .1)}body{background:var(--page-bg);font-family:Nunito,sans-serif;color:var(--text-main)}.whiteboard-page{min-height:100vh;padding:26px 16px 40px}.page-shell{max-width:920px;margin:0 auto;display:grid;gap:18px}.hero-panel,.board-card{background:var(--panel-bg);border:1px solid var(--soft-border);border-radius:32px;box-shadow:var(--shadow-soft);backdrop-filter:blur(8px)}.hero-panel{padding:22px 22px 20px}.eyebrow{margin:0 0 6px;font-size:.95rem;letter-spacing:.08em;text-transform:none;color:#8ba1b8;font-weight:800}.page-title{margin:0;font-family:"Baloo 2",cursive;font-size:clamp(2.5rem,5vw,3.5rem);line-height:1;color:#32506c}.page-subtitle{margin:10px 0 0;max-width:640px;font-size:1.05rem;line-height:1.55;color:var(--text-soft)}.hero-meta{margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.meta-pill{padding:10px 14px;border-radius:999px;background:linear-gradient(90deg,#96c1f5e6,#efaec9d9);color:#27496b;font-family:"Baloo 2",cursive;font-size:1rem;box-shadow:0 10px 20px #63789c1f}.status-text{font-size:.98rem;font-weight:700;color:#75889f}.status-text[data-tone=success]{color:#3b8b58}.status-text[data-tone=error]{color:#d05d74}.status-text[data-tone=saving]{color:#7a68cc}.board-card{padding:22px}.board-wrap{position:relative;min-height:420px;border-radius:28px;border:1.5px solid rgba(174,190,214,.55);background:#fffdf8;box-shadow:inset 0 1px #ffffffb3;overflow:hidden}.whiteboard-canvas{width:100%;height:420px;display:block;touch-action:none;cursor:crosshair}.whiteboard-canvas--eraser{cursor:cell}.canvas-placeholder{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;color:#b7c2cf;font-family:"Baloo 2",cursive;font-size:1.4rem}.whiteboard-tools{margin-top:16px;display:flex;justify-content:center}.tool-group{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:8px;width:100%}.tool-btn{min-height:46px;border:1.5px solid rgba(174,190,214,.55);border-radius:16px;background:#ffffffe6;color:#4a6683;display:inline-flex;align-items:center;justify-content:center;font:inherit;font-weight:800;cursor:pointer;box-shadow:var(--shadow-card);transition:transform .15s ease,border-color .15s ease,background .15s ease;flex:0 0 auto}.tool-btn:hover{transform:translateY(-1px)}.tool-btn.is-active{border-color:#6881d6bf;background:linear-gradient(90deg,#98c2f233,#f2adc038);color:#27496b}.tool-btn--colour{width:46px;min-width:46px;padding:0;border-radius:999px}.tool-btn--eraser{min-width:64px;padding:0 12px;font-size:.92rem;white-space:nowrap}.tool-btn__swatch{width:22px;height:22px;border-radius:999px;background:var(--swatch-colour);border:2px solid rgba(255,255,255,.95);box-shadow:0 0 0 1px #5e708b33;flex:0 0 auto}.message-box{width:100%;min-height:120px;resize:vertical;border-radius:24px;border:1.5px solid rgba(184,198,219,.62);background:var(--card-bg);padding:16px 18px;margin-top:16px;font:inherit;font-size:1rem;color:var(--text-main);outline:none;box-shadow:var(--shadow-card)}.message-box::placeholder{color:#a4b2c1}.button-row{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.action-btn{min-height:58px;border:0;border-radius:22px;font-family:"Baloo 2",cursive;font-size:1.2rem;cursor:pointer;box-shadow:var(--shadow-card)}.action-btn:disabled{opacity:.72;cursor:wait}.action-btn-secondary{background:#ffffffe6;color:#4a6683}.action-btn-primary{background:linear-gradient(90deg,#98c2f2,#b8b8ea 48%,#f2adc0);color:#244564}@media(max-width:720px){.whiteboard-page{padding:12px 8px 24px}.hero-panel,.board-card{border-radius:24px;padding:16px}.board-wrap,.whiteboard-canvas{min-height:320px;height:320px}.tool-group{gap:6px}.tool-btn--colour{width:42px;min-width:42px;min-height:42px}.tool-btn--eraser{min-width:58px;min-height:42px;padding:0 10px;font-size:.86rem}.tool-btn__swatch{width:20px;height:20px}.button-row{grid-template-columns:1fr}}
