:root{font-family:Inter,"Avenir Next",Avenir,"Segoe UI",sans-serif;color:#263e34;font-synthesis:none;--green:#266c51;--paper:#fffef9;--muted:#7a8278;--shadow:0 8px 32px #213d2c12,0 2px 4px #213d2c05}*{box-sizing:border-box}body{margin:0;min-height:100svh;background:#e2e8db}button,input,textarea,select{font:inherit}button{cursor:pointer}button,a,input,textarea,select{ -webkit-tap-highlight-color:transparent}button{color:inherit}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #599e7b;outline-offset:4px}button{border:0;background:none}svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}#landscape{position:fixed;inset:0;z-index:-1;background:#dfe7dc url('./assets/landscape.svg') center/cover;transition:background .3s}.topbar{height:84px;margin:0 36px;display:flex;align-items:center;gap:34px;border-bottom:1px solid #36564216}.brand{color:#274c3b;text-decoration:none;display:flex;align-items:center;gap:10px;font-size:28px;letter-spacing:-1.6px;font-weight:750}.brand-mark{width:36px;height:36px;border:1.5px solid #547962;border-radius:11px;text-align:center;font-size:30px;line-height:33px;font-weight:450;letter-spacing:-2px}.brand-dot{margin-left:-10px;color:#588365}.board-nav{display:flex;align-items:center;gap:19px}.board-select{display:flex;align-items:center;gap:18px;font-size:14px;font-weight:600;padding:10px 0}.chevron{font-size:19px;line-height:12px;font-weight:400}.save-status{color:#667d6e;font-size:11px;display:flex;align-items:center;gap:6px}.save-status span{width:5px;height:5px;border-radius:100%;background:#5c8b6d}.topbar nav{margin-left:auto;display:flex;align-items:center;gap:9px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;border-radius:9px;color:#486454;font-size:25px}.icon-button:hover{background:#ffffff65}.icon-button svg{width:19px;height:19px}.top-button{display:flex;align-items:center;gap:8px;background:#f9fbf381;border:1px solid #fafdf6a0;border-radius:9px;font-size:12px;font-weight:550;padding:9px 13px}.top-button svg{width:17px;height:17px}#workspace{position:relative;min-height:calc(100svh - 260px);margin:0 36px;height:calc(100svh - 260px);min-height:500px}.workspace-intro{position:absolute;left:12px;top:29px;pointer-events:none}.eyebrow{font-size:9px;letter-spacing:2px;color:#607e6c}.workspace-intro h1{font-family:Georgia,"Times New Roman",serif;font-size:36px;font-weight:400;letter-spacing:-.9px;margin:9px 0;color:#375640}.workspace-intro p{font-size:12px;color:#6b806f;margin:0}#widgets{position:absolute;inset:0}.widget{position:absolute;min-width:220px;min-height:150px;width:330px;border-radius:17px;background:var(--paper);box-shadow:var(--shadow);overflow:hidden;resize:both;border:1px solid #fff9;display:flex;flex-direction:column;animation:arrive .3s ease both;max-width:100%}.widget:focus-within,.widget:hover{box-shadow:0 10px 42px #213d2c22}.widget.dragging{opacity:.94;box-shadow:0 20px 60px #213d2c35;cursor:grabbing}.widget-header{display:flex;align-items:center;gap:8px;padding:13px 15px 9px;min-height:42px;cursor:grab;touch-action:none;user-select:none}.widget-header>svg{height:15px;width:15px;color:#8b9487}.widget-title{font-size:10px;color:#7a8176;letter-spacing:1.3px;text-transform:uppercase;font-weight:600;flex:1}.widget-actions{display:flex;gap:1px;opacity:0;transition:opacity .15s}.widget:hover .widget-actions,.widget:focus-within .widget-actions{opacity:1}.widget-actions button{width:24px;height:24px;display:grid;place-items:center;color:#8c9387;border-radius:5px;font-size:20px}.widget-actions button:hover{background:#eaece3;color:#284b38}.widget-actions svg{width:13px;height:13px}.widget-body{padding:4px 20px 18px;flex:1;min-height:0;display:flex;flex-direction:column}.note{background:#fcf8e9}.note .widget-body{padding:4px 25px 20px}.note textarea{background:transparent;border:0;resize:none;flex:1;width:100%;font-size:22px;font-family:Georgia,"Times New Roman",serif;line-height:1.5;color:#485441;min-height:115px;outline-offset:1px!important}.note .note-foot{font-size:10px;color:#a59b75;margin-top:12px;display:flex;align-items:center;gap:6px}.note .note-foot svg{width:12px;height:12px}.timer .widget-body{align-items:center;justify-content:center}.timer-ring{position:relative;width:170px;height:170px;display:grid;place-items:center;margin:1px 0 12px}.timer-ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);stroke-width:3.5}.timer-track{stroke:#e9ede5}.timer-progress{stroke:#649978;transition:stroke-dashoffset .5s linear;stroke-linecap:round}.timer-number{font-size:43px;font-weight:450;letter-spacing:-2px;font-variant-numeric:tabular-nums;color:#355740}.timer-label{font-size:9px;letter-spacing:1.5px;color:#8d9687;text-align:center;margin-top:5px}.timer-controls{display:flex;gap:8px;align-items:center;justify-content:center}.primary{background:var(--green);color:#fff;border-radius:9px;padding:10px 18px;font-size:12px;font-weight:550;display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:37px}.primary:hover{background:#1b573f}.primary svg{width:15px;height:15px}.secondary{background:#f0f1e9;border:1px solid #e3e6db;border-radius:9px;padding:9px 13px;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:37px}.secondary:hover{background:#e4e9dd}.secondary svg{width:16px;height:16px}.timer-reset{width:37px;padding:9px}.timer-presets{display:flex;gap:9px;margin-top:15px}.timer-presets button{font-size:10px;color:#8b9383;padding:4px 8px;border:1px solid #e7eadf;border-radius:5px}.timer-presets button:hover{background:#edf1e7}.timer.finished{outline:3px solid #d99843}.timer.finished .timer-number{color:#bc712c}.clock .widget-body{align-items:center;justify-content:center}.clock-time{font-size:69px;letter-spacing:-4px;line-height:1.2;font-weight:350;font-variant-numeric:tabular-nums;color:#395640}.clock-date{font-size:12px;color:#8b927f;margin-top:9px;text-align:center}.clock-seconds{font-size:20px;letter-spacing:-1px;color:#96a18e;margin-left:5px}.work .widget-body{align-items:center;justify-content:center;padding-top:5px}.work-symbol{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:#edf2e6;color:#638058;margin-bottom:12px}.work-symbol svg{width:37px;height:37px;stroke-width:1.25}.work-name{font-family:Georgia,"Times New Roman",serif;font-size:24px;text-align:center}.work-hint{font-size:11px;color:#979e8b;text-align:center;margin:8px 0 17px}.work-options{display:flex;gap:7px}.work-options button{border:1px solid #e9ecdf;color:#89947b;border-radius:8px;padding:7px 10px}.work-options button[aria-pressed=true]{background:#e9f0e0;color:#4f7245;border-color:#d7e1ca}.work-options svg{width:17px;height:17px}.bottom-area{padding:15px 25px 0;position:relative;z-index:100;pointer-events:none}.dock-caption{font-size:8px;letter-spacing:2px;display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:13px;color:#eef1dc;text-shadow:0 1px 3px #34563b50}.tiny-line{width:26px;height:1px;background:#e7eed24d}.dock{margin:auto;display:flex;align-items:center;justify-content:center;gap:3px;background:#fffef7f5;box-shadow:0 10px 30px #1e3f321c;border:1px solid #fff8;border-radius:17px;padding:10px 13px;width:fit-content;max-width:100%;pointer-events:auto;backdrop-filter:blur(16px)}.tool{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;padding:8px 11px 7px;min-width:65px;border-radius:11px;transition:background .15s,transform .15s}.tool:hover{background:#eaf0e3;transform:translateY(-3px)}.tool svg{height:23px;width:23px;color:#58715b;stroke-width:1.45}.tool span{font-size:9px;white-space:nowrap;color:#68765f}.tool-plus{border-left:1px solid #e8e9df;border-radius:0;padding-left:16px;margin-left:5px}.bottom-meta{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.3px;color:#f3f2dfb3;max-width:100%;margin:14px 10px 10px;pointer-events:auto}.bottom-meta>span:nth-child(2){margin-left:15px}.bottom-meta button{font-size:9px;color:inherit;padding:0}kbd{font-size:8px;border:1px solid #edf2dc55;padding:1px 4px;margin-left:6px;border-radius:3px}#show-tools{position:fixed;bottom:20px;right:24px;background:#fffef7e8;border-radius:9px;padding:11px 16px;box-shadow:var(--shadow);z-index:100;font-size:12px}.focus-mode .topbar{visibility:hidden}.focus-mode .bottom-area{display:none}.focus-mode #workspace{height:calc(100svh - 110px)}.focus-mode .workspace-intro{display:none}#empty-state{position:absolute;inset:160px 0 auto;text-align:center;pointer-events:none;color:#506a52}#empty-state h2{font-family:Georgia,serif;font-size:32px;font-weight:400}#empty-state p{font-size:14px}dialog{border:1px solid #e5e8dc;border-radius:20px;background:#fffef9;padding:24px;width:500px;max-width:calc(100vw - 30px);color:#304735;box-shadow:0 25px 100px #10282033;max-height:85svh}dialog::backdrop{background:#18352b4d;backdrop-filter:blur(6px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-heading h2{font-family:Georgia,serif;font-size:27px;letter-spacing:-.5px;font-weight:400;margin:0}.modal-heading .icon-button{font-size:27px}#modal-body p{font-size:13px;line-height:1.8;color:#71806a}label.field{display:flex;flex-direction:column;gap:8px;font-size:12px;margin-bottom:16px}input:not([type=checkbox]):not([type=range]):not([type=color]),select,textarea.field-input{width:100%;border:1px solid #dce2d5;border-radius:9px;padding:11px;background:#fffefb;color:#3c513d;font-size:13px}textarea.field-input{min-height:150px;resize:vertical;line-height:1.7}.button-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}.button-row>*{flex:1}.small-copy{font-size:11px!important;color:#8c967e!important}.background-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.background-option{border:2px solid transparent;padding:0;border-radius:11px;overflow:hidden;text-align:left;background:#f3f3e9}.background-option.active{border-color:var(--green)}.background-preview{height:85px;background-size:cover;background-position:center}.background-option span{display:block;font-size:11px;padding:10px}.board-row{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #e9ebdf}.board-row .choose-board{flex:1;text-align:left;font-size:14px}.board-row small{color:#93a084;display:block;font-size:10px;margin-top:5px}.board-row.selected .choose-board{color:#24694f;font-weight:600}.danger{color:#aa5341}.divider{border:0;border-top:1px solid #e9ebdf;margin:23px 0}.info-line{display:flex;gap:10px;font-size:12px;align-items:center;color:#738267;margin:13px 0}.info-line svg{width:17px;height:17px}.list-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.list-tools button{padding:18px 8px;display:flex;align-items:center;flex-direction:column;gap:9px;border-radius:10px;background:#f2f3e9;font-size:12px}.list-tools button:hover{background:#e4edda}.list-tools svg{width:27px;height:27px}.random-result{text-align:center;font-size:32px;line-height:1.25;color:#426243;flex:1;display:flex;align-items:center;justify-content:center;min-height:75px;overflow-wrap:anywhere}.random-count{text-align:center;font-size:10px;color:#959e88;margin:8px 0 16px}.random-buttons{display:flex;gap:8px;justify-content:center}.random-buttons .secondary{padding:9px}.traffic-lights{display:flex;justify-content:center;align-items:center;gap:16px;flex:1;padding:10px}.traffic-light{width:55px;height:55px;border-radius:100%;background:var(--lamp);opacity:.2;border:5px solid #eef0e7;transition:opacity .2s,box-shadow .2s}.traffic-light[aria-pressed=true]{opacity:1;box-shadow:0 0 0 4px color-mix(in srgb,var(--lamp) 15%,transparent)}.traffic-label{text-align:center;font-size:13px;margin:9px 0;color:#6c7c62}.dice-result{font-size:70px;text-align:center;line-height:1.3;flex:1;color:#51734c}.dice-dots{font-size:100px;line-height:1}.widget .field-input{font-size:12px;min-height:90px}.stopwatch-time{font-size:48px;letter-spacing:-2px;font-variant-numeric:tabular-nums;text-align:center;margin:8px 0 20px;color:#3b603f}.lap-list{font-size:11px;color:#839077;text-align:center;margin-top:12px;max-height:70px;overflow:auto}.poll-options{display:flex;gap:12px;flex:1;align-items:stretch;min-height:115px}.poll-option{flex:1;background:#eaf0e1;border-radius:10px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:8px}.poll-option:nth-child(2){background:#f6ebda}.poll-option span{font-size:29px}.poll-option small{font-size:12px}.poll-question{font-size:16px;text-align:center;margin:0 0 14px}.poll-foot{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#8b967e;margin-top:13px}.poll-foot button{font-size:10px;text-decoration:underline}.group-list{display:flex;flex-wrap:wrap;gap:8px;overflow:auto;flex:1;margin:12px 0}.group-block{background:#edf1e5;border-radius:8px;padding:10px;flex:1;min-width:110px;font-size:12px;line-height:1.6}.group-block b{display:block;font-size:10px;color:#7b8b6b;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.draw-tools{display:flex;align-items:center;gap:8px;margin-bottom:8px}.draw-tools input[type=color]{border:0;width:28px;height:28px;padding:0;background:none;cursor:pointer}.draw-tools input[type=range]{width:65px}.draw-tools button{margin-left:auto;font-size:11px;color:#819075}.draw-canvas{width:100%;flex:1;min-height:140px;touch-action:none;border-radius:8px;background:#fafbf4;border:1px solid #e9eddf;cursor:crosshair}.image-content{display:flex;align-items:center;justify-content:center;flex:1;min-height:110px;overflow:hidden}.image-content img{max-width:100%;max-height:100%;object-fit:contain;display:block}.image-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-size:12px;color:#879678;border:1px dashed #c7d4b9;border-radius:9px;width:100%;height:100%;min-height:110px}.noise-meter{display:flex;gap:5px;align-items:flex-end;justify-content:center;height:65px;margin:14px 0}.noise-meter span{width:13px;border-radius:4px;background:#e4eadc;transition:background .1s}.noise-meter span.on{background:#81a66a}.noise-meter span.on:nth-child(n+7){background:#d4a756}.noise-meter span.on:nth-child(n+9){background:#ca7760}.noise-text{text-align:center;font-size:12px;color:#8c987f;margin:0 0 14px}.noise-threshold{display:flex;align-items:center;gap:9px;margin-top:12px;font-size:10px;color:#879278}.noise-threshold input{flex:1;min-width:30px}.noise-alert{color:#b65a44!important}.settings-grid{display:flex;flex-direction:column;gap:10px}.settings-grid>button{justify-content:flex-start;text-align:left}.settings-grid>button svg{width:17px;height:17px}.checkbox-row{display:flex;gap:9px;align-items:center;font-size:12px;color:#6e7e63;margin-top:17px}input[type=checkbox]{accent-color:var(--green)}#toast{position:fixed;left:50%;bottom:155px;transform:translate(-50%,12px);padding:12px 20px;background:#294b39;color:#fffdf2;border-radius:10px;box-shadow:var(--shadow);font-size:12px;z-index:1000;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:90vw;text-align:center}#toast.visible{opacity:1;transform:translate(-50%,0)}.shake{animation:shuffle .15s ease 6}.widget-maximized{position:fixed!important;left:5vw!important;top:10vh!important;width:90vw!important;height:75vh!important;z-index:500!important}.widget-maximized .timer-ring{width:min(40vh,320px);height:min(40vh,320px)}.widget-maximized .timer-number{font-size:68px}.widget-maximized .clock-time{font-size:clamp(70px,16vw,200px)}.widget-maximized .note textarea{font-size:clamp(24px,3vw,45px)}.widget-maximized .random-result{font-size:clamp(40px,8vw,100px)}.widget-maximized .work-symbol{width:140px;height:140px}.widget-maximized .work-symbol svg{width:80px;height:80px}.widget-maximized .work-name{font-size:45px}.widget-maximized .dice-dots{font-size:230px}.widget-maximized .stopwatch-time{font-size:clamp(60px,12vw,150px)}@keyframes arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shuffle{50%{transform:translateY(-5px);opacity:.5}}@media(min-width:1600px){#workspace{margin-left:auto;margin-right:auto;max-width:1500px}.workspace-intro{top:45px}.widget-body{padding-bottom:24px}}@media(max-width:1050px){.topbar{margin:0 20px;gap:20px}.save-status{display:none}.tool{padding:8px;min-width:58px}#workspace{margin:0 20px}.workspace-intro h1{font-size:29px}.bottom-area{padding-left:15px;padding-right:15px}}@media(max-width:760px){.topbar{height:70px;margin:0 15px;gap:17px}.brand{font-size:23px;gap:7px}.brand-mark{width:29px;height:29px;font-size:25px;line-height:26px;border-radius:8px}.brand-dot{margin-left:-7px}.topbar nav{gap:0}.top-button{padding:7px;background:none;border:0}.top-button span{display:none}.topbar .icon-button{width:29px}.board-select{font-size:12px;max-width:150px;gap:7px}.board-select #board-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-nav{min-width:0}.workspace-intro{position:relative;top:0;left:0;padding:28px 8px 25px}.workspace-intro h1{font-size:31px}.workspace-intro p{font-size:11px}#workspace{height:auto;min-height:calc(100svh - 210px);margin:0 15px;padding-bottom:20px}#widgets{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.widget{position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:270px;min-width:0;max-width:100%;resize:vertical;border-radius:14px}.widget-header{cursor:default;padding:11px 11px 7px}.widget-title{font-size:9px;letter-spacing:1px}.widget-actions{opacity:1}.widget-actions button{width:21px;height:21px}.widget-body{padding:4px 13px 16px}.note .widget-body{padding:4px 18px 16px}.note textarea{font-size:20px}.clock-time{font-size:49px;letter-spacing:-3px}.clock-seconds{font-size:15px}.clock-date{font-size:10px}.timer-ring{width:140px;height:140px;margin-bottom:10px}.timer-number{font-size:34px}.timer-label{font-size:8px}.timer-presets{gap:4px;margin-top:10px}.timer-presets button{padding:3px 5px;font-size:9px}.work-options{gap:4px}.work-options button{padding:6px}.work-name{font-size:22px}.work-hint{font-size:10px}.work-symbol{width:65px;height:65px}.work-symbol svg{width:33px;height:33px}.bottom-area{position:sticky;bottom:0;padding-top:12px;background:linear-gradient(transparent,#51744c 85%)}.dock-caption{display:none}.dock{width:100%;justify-content:flex-start;overflow-x:auto;gap:0;scrollbar-width:thin;padding:7px 8px;border-radius:14px}.tool{min-width:61px;padding:7px 8px;gap:5px;flex-shrink:0}.tool svg{width:22px;height:22px}.tool span{font-size:8px}.bottom-meta{margin:9px 2px}.bottom-meta>span:nth-child(2){display:none}.widget-maximized{position:fixed!important;left:3vw!important;top:10vh!important;width:94vw!important;height:75vh!important}.focus-mode #workspace{height:auto}.focus-mode .widget-actions{opacity:0}.focus-mode .topbar{display:none}#empty-state{position:relative;inset:auto;padding:25px 15px 60px}.random-result{font-size:26px}.traffic-light{width:43px;height:43px;flex-shrink:0}.traffic-lights{gap:8px}.dice-dots{font-size:85px}.stopwatch-time{font-size:37px}.noise-meter{gap:3px}.noise-meter span{width:10px}.poll-options{gap:7px}.poll-question{font-size:14px}#toast{bottom:120px}}@media(max-width:440px){#widgets{grid-template-columns:1fr}.widget{height:280px!important}.widget-maximized{height:75vh!important}.topbar{gap:12px}.brand{font-size:21px}.topbar .icon-button{width:27px}.board-select{max-width:115px}.clock-time{font-size:74px}.note textarea{font-size:24px}.timer-ring{width:160px;height:160px}.timer-number{font-size:42px}.work-symbol{width:75px;height:75px}.traffic-light{width:62px;height:62px}.traffic-lights{gap:20px}.stopwatch-time{font-size:55px}.random-result{font-size:34px}.widget-maximized .timer-ring{width:240px;height:240px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}[hidden]{display:none!important}

@media(min-width:761px){#workspace{height:calc(100svh - 240px);min-height:470px}}
.dark-bg .topbar,.dark-bg .workspace-intro h1,.dark-bg .workspace-intro p,.dark-bg .eyebrow,.dark-bg .brand,.dark-bg .board-select,.dark-bg .topbar .icon-button,.dark-bg .save-status{color:#f1f2dc}.dark-bg .brand-mark{border-color:#dce7c9}.dark-bg .brand-dot{color:#c9d8b9}
@media(min-width:761px) and (max-width:1000px){#widgets{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-top:140px}.widget{position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:285px!important;resize:vertical;min-width:0}.widget-maximized{position:fixed!important;left:5vw!important;top:10vh!important;width:90vw!important;height:75vh!important}#workspace{height:auto;min-height:calc(100svh - 240px);padding-bottom:25px}.bottom-area{position:sticky;bottom:0;background:linear-gradient(transparent,#51744c 85%)}.dock{overflow-x:auto;justify-content:flex-start}.tool{flex-shrink:0}.timer-ring{height:150px;width:150px}}

.work-symbol{flex-shrink:0}.work-name{flex-shrink:0}.poll-question{width:100%;padding:0}

/* Per-widget surfaces: only the surface is translucent; content stays opaque. */
.widget-appearance-button{display:grid;place-items:center;width:25px;height:25px;border-radius:6px;color:#89917f;flex-shrink:0;padding:4px}
.widget-appearance-button svg{width:15px;height:15px}
.widget-appearance-button:hover{background:#e5ebdd;color:#35563f}
.widget.has-appearance{background:var(--widget-surface);color:var(--widget-text);border-color:var(--widget-line)}
.widget.has-appearance.transparent-widget{box-shadow:none;border-color:transparent}
.widget.has-appearance.transparent-widget:hover,.widget.has-appearance.transparent-widget:focus-within{border-color:var(--widget-line)}
.has-appearance .widget-title,.has-appearance .widget-header>svg,.has-appearance .widget-appearance-button,.has-appearance .widget-actions button,.has-appearance .clock-date,.has-appearance .clock-seconds,.has-appearance .note-foot,.has-appearance .timer-label,.has-appearance .work-hint,.has-appearance .random-count,.has-appearance .traffic-label,.has-appearance .lap-list,.has-appearance .poll-foot,.has-appearance .poll-foot button,.has-appearance .noise-text,.has-appearance .noise-threshold,.has-appearance .draw-tools button,.has-appearance .group-block b,.has-appearance .small-copy{color:var(--widget-muted)!important}
.has-appearance textarea,.has-appearance .clock-time,.has-appearance .timer-number,.has-appearance .work-name,.has-appearance .random-result,.has-appearance .dice-result,.has-appearance .stopwatch-time,.has-appearance .poll-question{color:var(--widget-text)}
.has-appearance .secondary,.has-appearance .timer-presets button,.has-appearance .work-options button,.has-appearance .group-block,.has-appearance .poll-option,.has-appearance .work-symbol,.has-appearance select,.has-appearance .image-upload{background:var(--widget-control);color:var(--widget-text);border-color:var(--widget-line)}
.has-appearance .work-options button[aria-pressed=true]{outline:1px solid var(--widget-text);outline-offset:1px}
.has-appearance .widget-appearance-button:hover,.has-appearance .widget-actions button:hover{background:var(--widget-control);color:var(--widget-text)}
.has-appearance .timer-track{stroke:var(--widget-line)}
.has-appearance .timer-progress{stroke:var(--widget-text)}
.has-appearance .draw-canvas{background:transparent;border-color:var(--widget-line)}
.widget.has-appearance.finished{outline-color:#d99843}
.has-appearance.finished .timer-number,.has-appearance .noise-alert{color:#c46c36!important}
.field-label{display:block;font-size:12px;margin:20px 0 11px;color:#53664d}
.color-swatches{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 17px}
.color-swatch{width:31px;height:31px;border:1px solid #70836936;border-radius:50%;background:var(--swatch);position:relative;flex-shrink:0}
.color-swatch[aria-pressed=true]{outline:2px solid #326c4e;outline-offset:3px}
.color-swatch[aria-pressed=true]::after{content:'';position:absolute;inset:9px;border-radius:100%;background:#fff;border:1px solid #45633b}
.color-field{display:flex;align-items:center;gap:12px;font-size:12px;min-height:38px;color:#53664d;flex-wrap:wrap}
.color-field>input[type=color]{height:33px;width:44px;padding:3px;background:#fffef9;border:1px solid #d6dfce;border-radius:7px;cursor:pointer;margin-left:auto}
.color-field>span{font-size:11px;min-width:63px;font-variant-numeric:tabular-nums;color:#829076}
.color-field>input[type=text]{width:95px!important;padding:9px!important;font-size:12px!important}
.opacity-field{display:flex;justify-content:space-between;font-size:12px;color:#53664d;margin:23px 0 13px}
.opacity-field output{font-variant-numeric:tabular-nums;color:#266c51;font-weight:600}
#widget-opacity{width:100%;accent-color:var(--green);margin:0;cursor:pointer}
.opacity-endpoints{display:flex;justify-content:space-between;font-size:10px;color:#8a967f;margin:7px 0 14px}
.transparent-choice{width:100%}
.transparent-choice[aria-pressed=true],.text-auto[aria-pressed=true]{background:#e5eedb;border-color:#8daa73;color:#355b36}
.text-auto{font-size:10px;padding:7px 8px;border:1px solid #d8e0cf;border-radius:6px;background:#f1f3e9}
.appearance-preview-wrap{border-radius:12px;overflow:hidden;background-color:#becdb6;background-image:linear-gradient(45deg,#ffffff18 25%,transparent 25%),linear-gradient(-45deg,#ffffff18 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ffffff18 75%),linear-gradient(-45deg,transparent 75%,#ffffff18 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}
.appearance-preview{padding:23px 25px;display:flex;flex-direction:column;gap:7px}
.appearance-preview b{font-family:Georgia,serif;font-size:26px;font-weight:400}
.appearance-preview span{font-size:11px;opacity:.8}
.background-grid .background-preview{height:57px}
.background-grid .background-option span{font-size:10px;padding:8px}
.dark-bg .workspace-intro .eyebrow,.dark-bg #empty-state{color:#f1f2dc}
@media(max-width:440px){.color-swatches{gap:10px}.color-swatch{width:29px;height:29px}.color-field{gap:8px}.widget-appearance-button{width:24px;height:24px}}
.color-swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;justify-items:center}
.solid-bg:not(.dark-bg) .bottom-meta,.solid-bg:not(.dark-bg) .dock-caption{color:#53664d;text-shadow:none}
.solid-bg:not(.dark-bg) .tiny-line{background:#53664d55}
.solid-bg:not(.dark-bg) kbd{border-color:#53664d55}

/* A classroom illustrated in colored pencil and paper. */
:root{--paper:#fffdf4;--green:#48705d;--shadow:0 4px 0 #66768132,0 9px 22px #5363811c;font-family:"Avenir Next","Trebuchet MS",sans-serif;color:#3e455b}
body{background:#e6f3fa}
#landscape{background-color:#e6f3fa}
.topbar,.dark-bg .topbar{height:68px;margin:12px 22px 0;padding:0 15px;background:#fffcf1f5;border:2px solid #c3d5db;border-radius:19px 23px 18px 20px;box-shadow:0 3px 0 #6c85902c;color:#40536c;gap:20px}
.topbar .brand,.dark-bg .topbar .brand,.dark-bg .topbar .board-select,.dark-bg .topbar .icon-button,.dark-bg .topbar .save-status{color:#40536c}
.brand{font-weight:800;letter-spacing:-1px}
.brand-mark,.dark-bg .brand-mark{transform:rotate(-9deg);border:2px solid #c98f65;color:#784b48;background:#ffdb87;border-radius:12px 9px 12px 8px;font-weight:750}
.brand-dot,.dark-bg .brand-dot{color:#c07578}
.top-button{background:#eaf1fb;border:1px solid #cad7e9;color:#40536c;border-radius:12px}
.widget{border:2px solid #bfced7;border-radius:19px 15px 19px 16px}
.widget.note:not(.has-appearance){background:#fff5d4;border-color:#dbc798}
.widget.timer:not(.has-appearance){background:#fffaf0;border-color:#e5c3ac}
.widget.clock:not(.has-appearance){background:#eef7fc;border-color:#adcbdc}
.widget.work:not(.has-appearance){background:#eff8e9;border-color:#b8cdb1}
.widget-header{border-bottom:1px dashed #8395a240}
.widget-title{color:#555f70;font-size:11px;font-weight:750;letter-spacing:.8px}
.widget-appearance-button{color:#56677b}
.widget-body .work-name,.note textarea{font-family:"Avenir Next","Trebuchet MS",sans-serif;font-weight:650}
.timer-progress{stroke:#77a38b}
.primary{background:#4e725f;border-radius:12px;box-shadow:0 2px 0 #3a574f55}
.secondary{border-radius:11px}
.dock{background:#fffcf2;border:2px solid #c3d5db;border-radius:21px 18px 22px 18px;padding:8px 10px}
.tool svg{box-sizing:content-box;padding:6px;border-radius:10px 8px 11px 9px;background:#f6dfb5;color:#534e68}
.tool:nth-child(4n+2) svg{background:#dcecf6}.tool:nth-child(4n+3) svg{background:#f6dce4}.tool:nth-child(4n+4) svg{background:#e0efd4}
.tool span{font-size:10px;color:#465066;font-weight:650}
.tool{min-width:64px;padding:5px 7px;gap:4px}
#workspace{margin:0 24px;height:calc(100svh - 225px);min-height:470px}
.bottom-area{padding:8px 12px 0}
#pages{margin:0 auto 9px;max-width:min(100%,760px);width:max-content;display:flex;align-items:center;gap:5px;border-radius:13px;background:#fffdf4f5;border:1px solid #b7c8d3;padding:4px 5px;pointer-events:auto}
.page-list{display:flex;overflow:auto;gap:4px;min-width:0;scrollbar-width:thin}
.page-tab,.page-command{background:#ecf2f7;border:1px solid transparent;color:#40536c;border-radius:9px;min-height:32px;flex-shrink:0}
.page-tab{font-weight:650;font-size:12px;padding:5px 12px;max-width:175px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.page-tab[aria-current=page]{background:#ffdfa0;border-color:#dcb975;color:#5f4939}
.page-command{display:grid;place-items:center;width:32px;padding:0}
.page-command svg{width:17px;height:17px}
.bottom-meta{justify-content:flex-end;margin:8px 5px;color:#27364b}
.bottom-meta button{background:#fffdf4f2;color:#3e455b;border-radius:8px;padding:5px 8px}
.clock-face{display:grid;place-items:center;flex:1;min-height:0;width:100%;container-type:size}
.clock-mode{font-size:10px;border:1px solid #99b7c5;border-radius:8px;padding:3px 8px;color:inherit;flex-shrink:0;margin-top:4px}
.analog-clock{width:min(100cqh,100cqw);height:min(100cqh,100cqw);color:var(--widget-text,#45566d);overflow:visible}
.analog-clock .clock-rim{fill:#fffdf566;stroke:currentColor;stroke-width:3}
.transparent-widget .analog-clock .clock-rim{fill:none}
.analog-clock text{fill:currentColor;stroke:none;font-size:16px;font-weight:750;text-anchor:middle;dominant-baseline:central}
.analog-clock line{stroke:currentColor;stroke-width:6}
.analog-clock .hand-minute{stroke-width:4}
.analog-clock .hand-second{stroke:#bb5862;stroke-width:2.5}
.clock-hub{fill:currentColor;stroke:none}
.background-upload{padding:12px;border:1px dashed #b2c3d2;border-radius:12px;background:#edf5fa}
#background-file{padding:5px!important}
.link .widget-body{justify-content:center;align-items:center}
.widget.link-ready:not(.has-appearance){background:transparent;box-shadow:none;border-color:transparent}
.link-ready:not(:hover):not(:focus-within) .widget-header{opacity:0}
.link-ready:hover .widget-header,.link-ready:focus-within .widget-header{background:#fffdf4e8;border-radius:12px}
.link-sticker{display:grid;place-items:center;width:min(100%,130px);aspect-ratio:1;border-radius:32% 28% 29% 33%;border:4px solid #fff9e9;box-shadow:0 4px 0 #41537345,0 8px 14px #4153732a;background:#ffd88e;text-decoration:none;transform:rotate(-6deg);transition:transform .15s ease;font-size:clamp(42px,6vw,74px);line-height:1}
.link-sticker:hover,.link-sticker:focus-visible{transform:rotate(0deg) scale(1.07)}
.sticker-book,.sticker-globe,.sticker-video{background:#c6e6f7}
.sticker-pencil,.sticker-rainbow,.sticker-music{background:#f8cbd7}
.sticker-owl,.sticker-puzzle,.sticker-game{background:#d8edc5}
.sticker-options{border:0;padding:0;margin:14px 0;display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.sticker-options legend{font-size:12px;margin-bottom:10px}
.sticker-options label{position:relative;display:grid;place-items:center;min-height:44px;border-radius:11px;background:#eef4f7;border:2px solid transparent;cursor:pointer;font-size:24px}
.sticker-options label:has(input:checked){border-color:#8a9e68;background:#e4f2d4}
.sticker-options label:focus-within{outline:2px solid #567a67}
.sticker-options input,.visually-hidden{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
@media(max-width:1000px){#workspace{height:auto;min-height:calc(100svh - 224px);padding:12px 0 20px}#widgets{padding-top:0}.bottom-area{background:none}}
@media(max-width:600px){.topbar,.dark-bg .topbar{margin:8px 8px 0;padding:0 7px;gap:7px}.topbar nav{gap:0}#workspace{margin:0 12px}.tool{min-width:57px}.tool svg{padding:4px}.tool span{font-size:8px}.sticker-options{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1001px){#workspace{height:calc(100svh - 260px);min-height:440px}.focus-mode #workspace{height:calc(100svh - 100px)}}
.work .work-options{margin-top:14px}
.clock .widget-body{padding-bottom:12px}
@media(min-width:1001px) and (max-width:1160px){.dock{max-width:100%;overflow-x:auto;justify-content:flex-start}.tool{flex-shrink:0}}

.widget.widget-locked{resize:none}
.widget-locked .widget-header{cursor:default;touch-action:auto}
.widget-lock-button[aria-pressed=true]{background:#ffdfa0;color:#5f4939;border:1px solid #dcb975}
.has-appearance .widget-lock-button[aria-pressed=true]{background:var(--widget-control);color:var(--widget-text);border-color:var(--widget-line);outline:1px solid currentColor}
.widget.link-ready.transparent-widget .widget-header{background:transparent}
.classroom-scroll{flex:1;min-height:0;overflow:auto;margin:6px 0 10px}
.classroom-actions,.brain-controls{display:flex;flex-wrap:wrap;align-items:center;gap:6px;flex-shrink:0}
.classroom-actions button,.brain-controls button{padding:7px 10px;min-height:32px;font-size:11px}
.agenda-list{display:grid;align-content:start;gap:7px}
.agenda-list label,.choice-list button,.rotation-list div{display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid #b7c8d3;border-radius:10px;background:#eaf3fa;overflow-wrap:anywhere}
.agenda-list label{cursor:pointer;background:#edf3dd;border-color:#c0d1ad}
.agenda-list label:has(input:checked) span{text-decoration:line-through}
.agenda-list input{accent-color:#48705d;width:17px;height:17px;flex:none}
.choice-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:7px;align-content:start}
.choice-list button{flex-direction:column;align-items:flex-start;text-align:left;background:#f9e4ed;border-color:#dabcc9;color:inherit}
.choice-list button:nth-child(3n+2){background:#e8f1dc;border-color:#bdcca8}
.choice-list button:nth-child(3n){background:#e5eff7;border-color:#bdcddd}
.choice-list button[aria-pressed=true]{outline:2px solid currentColor;outline-offset:-2px}
.choice-list b{font-size:11px}
.rotation-counter{font-weight:700;margin-bottom:8px}
.rotation-list{display:grid;gap:5px;margin:0}
.rotation-list div{align-items:baseline;justify-content:space-between;font-size:13px}
.rotation-list dt{flex:none;font-weight:700}
.rotation-list dd{margin:0;text-align:right}
.prompt-card{display:grid;align-content:center;font-size:clamp(16px,2.1vw,25px);line-height:1.32;font-weight:650;padding:9px 4px;overflow-wrap:anywhere}
.brain-controls{margin:0 0 9px}
.brain-time{font-size:23px;font-variant-numeric:tabular-nums;font-weight:700}
.brain-controls select{min-width:62px;max-width:85px;padding:4px}
.has-appearance .agenda-list label,.has-appearance .choice-list button,.has-appearance .rotation-list div{background:var(--widget-control);border-color:var(--widget-line);color:var(--widget-text)}
@media(max-width:760px){.widget-header{gap:4px}.widget-actions{gap:0}.classroom-actions button,.brain-controls button{padding:6px 8px}}

/* A projected widget keeps its content; only the selected widget shows controls. */
.widget:not(.is-active){resize:none;cursor:pointer}
.widget:not(.is-active) .widget-header{cursor:pointer}
.widget:not(.is-active) .widget-body{pointer-events:none}
.widget:not(.is-active) :is(.widget-appearance-button,.widget-actions,.timer-controls,.timer-presets,.clock-mode,.work-options,.random-buttons,.poll-reset,.draw-tools,.image-upload,.image .widget-body > button,.noise-toggle,.noise-threshold,.link-edit,.classroom-actions,.brain-controls select,.brain-start){visibility:hidden}
.widget.is-active .widget-actions{opacity:1}
.widget.is-active::after{content:'';position:absolute;inset:0;border:2px dashed #6c8193aa;border-radius:inherit;pointer-events:none}
.widget.link-ready:not(.is-active) .widget-header{visibility:hidden}
.widget.link-ready.is-active .widget-header{opacity:1}
.widget.is-active .widget-header:focus-visible{outline-offset:-3px}
.widget:not(.is-active) .agenda-list input,.widget:not(.is-active) .choice-list button,.widget:not(.is-active) .traffic-light,.widget:not(.is-active) .poll-option{cursor:inherit}
.template-list{display:grid;gap:12px}
.template-card{display:grid;grid-template-columns:48px 1fr;align-items:start;gap:9px 12px;padding:13px;border:1px solid #d8c6bd;border-radius:15px;background:#f9e7d8;color:#3e455b}
.template-mint{background:#e2efe1;border-color:#bdcfbf}
.template-lilac{background:#eee4f5;border-color:#d2c4df}
.template-badge{display:grid;place-items:center;width:46px;height:46px;background:#fffdf2;border-radius:12px;font-size:24px;transform:rotate(-5deg)}
.template-card h3{font-size:17px;margin:0 0 2px}
#modal-body .template-card p{font-size:12px;line-height:1.45;margin:0 0 7px;color:#485469}
.template-meta{font-size:10px;font-weight:650;color:#536077}
.template-card button{grid-column:2;justify-self:start;min-height:32px;padding:7px 12px}
#modal-body .template-intro{margin:0 0 13px;line-height:1.5}
@media(max-width:480px){.template-card{grid-template-columns:38px 1fr;gap:8px}.template-badge{width:36px;height:36px;font-size:20px}.topbar .brand-mark{display:none}.topbar .board-select{gap:4px;max-width:105px}}
.widget .link-sticker{pointer-events:auto}
