@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap";*{box-sizing:border-box}body{color:#294238;background:#faf9f4;margin:0;font-family:DM Sans,system-ui,sans-serif}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}main{max-width:1400px;margin:auto;padding:0 5%}nav{border-bottom:1px solid #e7e8de;justify-content:space-between;align-items:center;gap:20px;height:90px;display:flex}.brand{letter-spacing:-1px;color:inherit;font-size:23px;font-weight:700;text-decoration:none}.tabs{background:#efefe6;border-radius:30px;gap:5px;padding:5px;display:flex}.tabs button{color:#85917c;background:0 0;border:0;border-radius:22px;padding:9px 18px;font-size:12px}.tabs button[aria-current]{color:#294238;background:#fff;box-shadow:0 2px 5px #2942380c}.preview-label,small{letter-spacing:1.5px;font-size:9px;font-weight:600}.preview-label{color:#a0a697}header{justify-content:space-between;align-items:flex-end;padding:40px 0 30px;display:flex}h1{letter-spacing:-1.8px;margin:12px 0 0;font-family:Georgia,serif;font-size:46px;font-weight:400;line-height:1.12}p{color:#87907c;font-size:13px;line-height:1.65}header>p{max-width:210px;margin-bottom:5px}.study-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:center;gap:30px;display:grid}.map-scene{border-radius:24px;position:relative;overflow:hidden}.map-scene svg{width:100%;height:auto;display:block}.map-weather{color:#82916d;background:#fffdf0c9;border-radius:20px;padding:8px 13px;font-size:10px;position:absolute;top:20px;left:25px}.scene-label{letter-spacing:1.5px;fill:#94a47f;font-size:8px}.focus-panel{background:#fff;border:1px solid #e6eadc;border-radius:18px;padding:25px}.focus-panel h2{letter-spacing:-.5px;margin:12px 0 25px;font-size:20px;font-weight:500}label{color:#748367;margin:15px 0;font-size:11px;display:block}input,select,textarea{color:#294238;background:#fcfcf7;border:1px solid #e0e5d6;border-radius:9px;width:100%;margin-top:8px;padding:12px;font-size:12px;display:block}.clock{letter-spacing:-3px;font-variant-numeric:tabular-nums;text-align:center;margin-top:28px;font-size:52px}progress{-webkit-appearance:none;appearance:none;accent-color:#9cae76;border:0;border-radius:6px;width:100%;height:5px;overflow:hidden}progress::-webkit-progress-bar{background:#eaf0df}progress::-webkit-progress-value{background:#9cae76}.gentle{text-align:center;margin:10px 0 22px;font-size:10px}.primary{color:#fff;background:#294238;border:0;border-radius:10px;width:100%;padding:14px;font-size:12px;transition:background .2s,transform .2s}.primary:hover{background:#476145;transform:translateY(-1px)}.text-button{color:#829170;background:0 0;border:0;margin:14px auto;font-size:11px;display:block}.panel-footnote{text-align:center;color:#a0ab94;margin-top:20px;font-size:9px;display:block}footer{color:#a0a697;justify-content:space-between;padding:35px 0;font-size:10px;display:flex}footer span{font-weight:600}.portrait-page{max-width:570px;min-height:60vh;margin:50px auto}.portrait-page h1{margin-bottom:15px;font-size:40px}.portrait-page>p{margin-bottom:30px}.total{background:#edf2e4;border-radius:15px;justify-content:space-between;align-items:center;margin:25px 0;padding:22px;font-size:12px;display:flex}.total strong{font-size:28px;font-weight:500}.entry{border-bottom:1px solid #e4e8db;padding:20px}.entry strong{font-size:13px}.entry p{overflow-wrap:anywhere}.entry small{letter-spacing:.2px;font-size:9px}.empty{text-align:center;background:#f0f3e9;border-radius:18px;padding:45px 25px}.empty>span{color:#8fa779;font-size:40px}.empty h2{font-size:20px;font-weight:500}.empty .primary{max-width:230px;margin-top:15px}.avatar-preview{max-width:350px;margin:25px auto}.swatches{gap:12px;display:flex}.swatches button{border:3px solid #0000;border-radius:50%;width:40px;height:40px}.swatches button[aria-pressed=true]{outline-offset:3px;outline:2px solid #294238}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10;background:#203a3060;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.checkin-modal{background:#faf9f4;border-radius:20px;width:440px;max-height:90vh;padding:30px;position:relative;overflow:auto}.checkin-modal h2{letter-spacing:-.8px;font-family:Georgia,serif;font-size:27px;font-weight:400}.close{color:#849276;background:0 0;border:0;font-size:25px;position:absolute;top:12px;right:15px}.upload{background:#f0f3e8;border:1px dashed #afbd99;border-radius:12px;place-items:center;min-height:140px;display:grid;position:relative}.upload input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.upload img{max-width:100%;max-height:180px}.notice{color:#fff;z-index:20;background:#294238;border-radius:12px;max-width:90%;padding:13px 18px;font-size:11px;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.notice button{color:#fff;background:0 0;border:0;margin-left:12px}.connections{background:#fff;border:1px solid #e4e8db;border-radius:16px;padding:24px}.connections h2{display:none}.connections button{color:#294238;background:#edf2e4;border:1px solid #dce5cf;border-radius:8px;margin:5px;padding:10px 13px;font-size:11px}.connections a{color:#294238;font-size:12px}.friend{border-top:1px solid #e4e8db;flex-wrap:wrap;align-items:center;gap:10px;padding:15px 0;display:flex}.friend>span{border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.friend p{margin:3px 0;font-size:10px}button:disabled{opacity:.5;cursor:default}:is(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible){outline-offset:3px;outline:3px solid #a9be86}.character .eyes{transform-origin:0 -17px;animation:5s infinite blink}.idle,.reading{animation:3s ease-in-out infinite breathe}.reading .book{animation:4s ease-in-out infinite book}.walking{animation:.3s ease-in-out infinite stride}.walking .leg.left{transform-origin:-7px 12px;animation:.3s infinite alternate leg}.walking .leg.right{transform-origin:7px 12px;animation:.3s infinite alternate-reverse leg}.tree{animation:7s ease-in-out infinite leaves}.water{animation:15s linear infinite water}.beacon{animation:2s ease-in-out infinite glow}@keyframes stride{50%{transform:translateY(-3px)}}@keyframes leg{to{transform:rotate(20deg)}}@keyframes breathe{50%{transform:translateY(-1.5px)}}@keyframes blink{0%,43%,47%,to{transform:scaleY(1)}45%{transform:scaleY(.1)}}@keyframes book{50%{transform:rotate(-3deg)}}@keyframes water{to{stroke-dashoffset:-210px}}@keyframes glow{50%{opacity:.35}}@keyframes leaves{50%{opacity:.87}}@media (max-width:950px){.study-layout{grid-template-columns:minmax(0,1fr) 240px;gap:15px}.focus-panel{padding:20px}.preview-label{display:none}}@media (max-width:700px){main{padding:0 5%}nav{flex-wrap:wrap;gap:15px;height:auto;min-height:75px;padding:18px 0}.brand{font-size:21px}.tabs{gap:0}.tabs button{padding:8px 10px;font-size:10px}header{padding:28px 0 22px}h1{font-size:35px}header>p{display:none}.study-layout{grid-template-columns:1fr;gap:18px}.focus-panel{width:100%;max-width:420px;margin:auto}.focus-panel h2{margin-bottom:20px}.clock{margin-top:20px;font-size:46px}.map-weather{padding:6px 10px;font-size:8px;top:10px;left:10px}.portrait-page{margin:35px auto}.portrait-page h1{font-size:34px}.modal-backdrop{align-items:flex-end;padding:12px}.checkin-modal{width:100%;padding:25px}.panel-footnote{margin-top:15px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.friend-map-avatar{transition:transform 2.2s}.photo-actions{align-items:center;gap:1rem;margin-top:1rem;display:flex}.photo-actions a,.photo-actions button{color:#415a40;font-size:.8rem}.photo-actions button{background:0 0;border:0;text-decoration:underline}.checkin-modal:focus-within{outline:none}.account-link,nav>a:not(.brand){color:#415a40;font-size:12px}.auth-page{max-width:440px}.auth-tabs{margin:12px 0;display:inline-flex}.setup-note,.auth-message{color:#415a40;background:#edf2e4;border-radius:12px;padding:15px}.auth-footnote{margin-top:25px;font-size:11px}.auth-page a,footer a{color:#415a40}.auth-page form{margin-top:20px}.subject-input{align-items:stretch;gap:10px;display:flex}.subject-input input{min-width:0;margin:0}.subject-input button{color:#294238;background:#e6eddc;border:0;border-radius:9px;padding:0 20px}.subject-list{margin:24px 0;padding:0;list-style:none}.subject-list li{border-bottom:1px solid #e4e8db;align-items:center;gap:14px;padding:16px 0;display:flex}.subject-number{background:#edf2e4;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:11px;display:grid}.subject-list li div{overflow-wrap:anywhere;flex:1;min-width:0}.subject-list strong{font-size:13px;display:block}.subject-list li div span{color:#829170;margin-top:4px;font-size:12px;display:block}.subject-list button{color:#748367;background:0 0;border:0;padding:8px;font-size:24px}.name-preview{overflow-wrap:anywhere}.district-label{font-size:inherit}.verification-code{letter-spacing:.15em;text-align:center;font-variant-numeric:tabular-nums;font-size:24px}.focus-alert{gap:.4rem;margin:1rem 0;display:grid}.focus-alert label{align-items:center;gap:.5rem;display:flex}.focus-alert input[type=checkbox]{width:18px;height:18px;margin:0}.focus-alert small{opacity:.7;line-height:1.5}.focus-alert .text-button{text-align:left;padding:.3rem 0}.brand{white-space:nowrap;align-items:center;gap:9px;display:inline-flex}.brand-logo{width:36px;height:36px}.duration-picker{border:0;margin:20px 0;padding:0}.duration-picker legend{color:#748367;font-size:11px}.duration-wheels{justify-content:center;gap:12px;margin-top:8px;display:flex;position:relative}.wheel-column{text-align:center;width:72px}.wheel-column>span{color:#748367;font-size:10px}.time-wheel{scroll-snap-type:y mandatory;overscroll-behavior:contain;scrollbar-width:none;height:180px;padding:72px 0;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 35% 65%,#0000);mask-image:linear-gradient(#0000,#000 35% 65%,#0000)}.time-wheel::-webkit-scrollbar{display:none}.time-wheel button{scroll-snap-align:center;color:#a6b19f;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:9px;width:100%;height:36px;min-height:36px;font-size:22px;display:block}.time-wheel button[aria-selected=true]{color:#294238;background:#edf2e4;font-weight:600}.time-wheel[aria-disabled=true]{pointer-events:none;opacity:.55}.wheel-colon{color:#748367;padding-top:101px}.duration-exact{justify-content:space-between;align-items:center;gap:8px;margin:8px 0;display:flex}.duration-exact input{width:75px;margin:0;padding:8px}.duration-picker p{text-align:center;margin:5px 0;font-size:10px}.landmark-spark{animation:3s ease-in-out infinite glow}.landmark-leaf{animation:5s ease-in-out infinite leaves}.map-scene{--map-ground:#e7efda;--map-water:#bfdbd1;--tree-dark:#8fad7c;--tree-light:#a4bd91;--tree-highlight:#b1c59c}.season-summer{--map-ground:#e1ebc8;--map-water:#a6d5d0;--tree-dark:#6d9a65;--tree-light:#8daf77;--tree-highlight:#9dbb83}.season-autumn{--map-ground:#efe2c7;--map-water:#b0cec8;--tree-dark:#bf865b;--tree-light:#d4a566;--tree-highlight:#ddba81}.season-winter{--map-ground:#e6eef1;--map-water:#c2d9e4;--tree-dark:#afc3bf;--tree-light:#cad8d5;--tree-highlight:#f5f8ee}.time-night{--map-ground:#8eaba3;--map-water:#698f9b}.landmark{transition:filter .8s}.time-night .landmark{filter:drop-shadow(0 0 8px #ffe0a344)}.district-badge{fill:#fffdf2;stroke:#99aa87;stroke-width:1.5px}.district-label{fill:#344d39;font-size:12px;font-weight:700}.season-winter .landmark{filter:drop-shadow(0 -3px #fff)}.world-settings{color:#61705b;border:1px solid #e1e6d7;border-radius:12px;margin:14px 0 0;padding:12px 16px;font-size:12px}.world-settings summary{cursor:pointer}.world-controls{gap:20px;display:flex}.world-controls label{flex:1}.world-settings p{font-size:11px}.snowflake{animation:5s linear infinite snow}.flower{animation:4s ease-in-out infinite glow}.falling-leaf{animation:4s ease-in-out infinite leaves}@keyframes snow{50%{opacity:.4;translate:4px 15px}to{opacity:1;translate:0 25px}}.animal-choices{flex-wrap:wrap;gap:9px;margin:16px 0;display:flex}.animal-choices button{background:#edf2e4;border:2px solid #0000;border-radius:12px;padding:12px}.animal-choices button[aria-pressed=true]{border-color:#476c53}.control-help{color:#61705b;background:#edf2e4;border-radius:9px;padding:10px;font-size:11px}nav{flex-wrap:wrap;height:auto;min-height:90px;padding:16px 0}.tabs{flex-wrap:wrap;justify-content:center}.tabs button{padding:9px 12px}.card{background:#fff;border:1px solid #e1e7d9;border-radius:16px;margin:20px 0;padding:20px}.card h2{margin-top:0;font-size:19px}.secondary{color:#294238;cursor:pointer;background:#edf2e4;border:1px solid #cfdcc3;border-radius:9px;padding:10px 13px;font-size:12px}.inline-link{text-align:center;text-decoration:none;display:inline-block}.action-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.room-tile{color:#294238;background:#edf2e4;border:1px solid #d4dfc8;border-radius:12px;justify-content:space-between;width:100%;margin:12px 0;padding:20px;display:flex}.member-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.member-card{background:#edf2e4;border-radius:12px;padding:16px}.member-card span,.member-card small{letter-spacing:0;margin-top:7px;font-size:11px;display:block}.check-label{align-items:flex-start;gap:10px;line-height:1.5;display:flex}.check-label input{flex-shrink:0;width:18px;height:18px;margin:2px 0}.submission{border-top:1px solid #e4e8db;margin-top:18px;padding-top:14px;font-size:12px}.install-panel{color:#748367;max-width:570px;margin:25px auto;font-size:12px}.install-panel summary{cursor:pointer}.rooms-page{max-width:700px}[hidden]{display:none!important}.control-help .secondary{margin-left:10px}@media (max-width:700px){.tabs{order:3;width:100%}.tabs button{padding:9px 11px;font-size:11px}.world-controls{gap:10px}.card{padding:16px}}.study-layout{align-items:start}.time-night .subject-landmark [fill=\#e9f6ec],.time-night .subject-landmark [fill=\#eaf2f4],.time-night .subject-landmark [fill=\#fff7e4]{fill:#f6dea0}.timer-summary{color:var(--muted);font-size:.8rem;line-height:1.6}.break-settings{margin:16px 0}.introduction-fields label{margin-top:16px}.introduction-fields p{font-size:.85rem;line-height:1.6}.tabs{flex-wrap:wrap}.break-settings .duration-picker{margin-top:12px}
