:root{font-family:'Outfit','Noto Sans SC',system-ui,-apple-system,'Microsoft YaHei',sans-serif;color:#e8ecf5;background:#0e1423;font-synthesis:none;--muted:#919bb0;--border:#273348;--panel:#192338;--peach:#f5d5ae;--soft:#b7c9ed}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:radial-gradient(circle at 8% 8%,#27364e70,transparent 33%),radial-gradient(circle at 100% 30%,#152749,transparent 37%),#0e1423}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--peach);outline-offset:3px}a{color:inherit}button:disabled{opacity:.4;cursor:not-allowed}.skip-link{position:absolute;top:-60px;left:1rem;padding:1rem;background:#fff;color:#111;z-index:50}.skip-link:focus{top:1rem}.site-shell{max-width:1260px;padding:0 38px;margin:0 auto}.topbar{height:88px;border-bottom:1px solid #ffffff11;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{width:39px;height:39px;display:grid;place-items:center;color:#202c45;font-size:27px;background:linear-gradient(135deg,#fff2d4,#d9b58a);border-radius:13px;box-shadow:0 0 30px #d5b08528}.brand strong{display:block;letter-spacing:2px;font-size:18px;font-weight:700}.brand small{font-size:9px;letter-spacing:3px;color:#7c8ca5}.topbar-right{display:flex;align-items:center;gap:20px}.offline-indicator{color:#b6c3d7;display:flex;align-items:center;gap:8px;font-size:12px}.status-dot{width:7px;height:7px;border-radius:50%;background:#b7d6bd;box-shadow:0 0 8px #9bcba4}.status-dot.offline{background:#d6b57d}.ghost{background:transparent;color:#c4cee1;border:0}.ghost:hover,.text-button:hover{color:#fff}.small{font-size:12px}.icon-btn{border:1px solid #46506a;background:#202a3e;border-radius:12px;color:#ccd6e9;width:37px;height:37px;font-size:17px}.intro{padding:57px 0 36px}.eyebrow,.small-overline{color:#c0b094;font-size:10px;letter-spacing:2.6px;font-weight:600}.eyebrow{display:flex;align-items:center;gap:12px}.eyebrow-line{height:1px;width:22px;background:#d8ba8f}.intro h1{font-size:clamp(30px,4.7vw,48px);font-weight:600;letter-spacing:1px;line-height:1.35;margin:17px 0 8px}.intro h1 em{font-style:normal;color:var(--peach)}.intro p{font-size:14px;letter-spacing:.3px;color:var(--muted);margin:0}.app-layout{display:grid;grid-template-columns:minmax(0,1.68fr) minmax(320px,1fr);align-items:start;gap:22px}.stage-card{border:1px solid #39435c;border-radius:19px;overflow:hidden;background:#1a253b;box-shadow:0 25px 70px #0002}.scene-visual{height:529px;position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,#1e3154 0%,#364760 42%,#544957 75%,#1c2d41 100%);transition:background 1s}.sky-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 68% 36%,#f8c38f55 0%,transparent 35%),linear-gradient(180deg,transparent 50%,#0b1d36aa 100%)}.celestial{position:absolute;top:80px;right:22%;width:68px;height:68px;border-radius:50%;background:#ffe2b3;box-shadow:0 0 0 15px #ffe6c50b,0 0 80px 24px #ffd3a260}.hill-back,.hill-front{position:absolute;width:140%;height:200px;left:-20%;bottom:-30px;border-radius:50% 50% 0 0 / 55% 55% 0 0}.hill-back{background:#25354d;transform:rotate(-7deg);bottom:-85px}.hill-front{background:#12243a;transform:rotate(6deg);bottom:-122px}.horizon{position:absolute;bottom:0;left:0;width:100%;height:100px;background:linear-gradient(0deg,#111f32,transparent)}.rainfall{position:absolute;inset:0;opacity:.3;background:repeating-linear-gradient(105deg,transparent 0 19px,#ffffff12 20px 21px,transparent 22px 52px);animation:rain 1.6s linear infinite}.light-orbs i{position:absolute;bottom:8%;background:#ffe7acaa;width:5px;height:5px;box-shadow:0 0 15px #ffe5ae;border-radius:50%;animation:float 6s ease-in-out infinite}.light-orbs i:nth-child(1){left:17%;bottom:24%}.light-orbs i:nth-child(2){left:72%;bottom:15%;animation-delay:-2s}.light-orbs i:nth-child(3){left:85%;bottom:38%;animation-delay:-4s}.light-orbs i:nth-child(4){left:32%;bottom:10%;animation-delay:-3s}.light-orbs i:nth-child(5){left:55%;bottom:32%;animation-delay:-1s}.scene-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#09132433,transparent 50%);z-index:1}.scene-top,.stage-foot{position:absolute;z-index:2;display:flex;justify-content:space-between;left:28px;right:28px;align-items:center;color:#f6f0e6}.scene-top{top:27px}.scene-chip{font-size:12px;background:#202c45ad;backdrop-filter:blur(9px);border:1px solid #fff4;border-radius:999px;padding:9px 15px}.scene-date{font-size:12px;text-shadow:0 1px 8px #111}.stage-center{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-46%);width:min(92%,420px);display:flex;flex-direction:column;align-items:center;text-align:center}.stage-motto{font-size:13px;letter-spacing:3px;color:#f4e7d7;text-shadow:0 2px 10px #182131}.timer{font-family:'Outfit',system-ui,sans-serif;font-size:clamp(68px,10.5vw,112px);font-weight:400;letter-spacing:-4px;line-height:1.26;font-variant-numeric:tabular-nums;color:#fff9ec;text-shadow:0 2px 24px #15182b73}.timer-under{font-size:12px;color:#efded0;letter-spacing:2px}.progress-track{margin:28px 0 30px;width:70%;height:3px;border-radius:4px;background:#ffffff4d;overflow:hidden}.progress-fill{height:100%;width:0%;background:#ffe3b9;transition:width .25s}.timer-actions{display:flex;gap:13px;align-items:center}.primary,.secondary{padding:13px 27px;border-radius:12px;min-height:44px;border:1px solid transparent}.primary{background:#f3dbb8;color:#243049;font-weight:600;box-shadow:0 6px 22px #0003;min-width:150px}.primary:hover{background:#fff0d8}.primary span:first-child{font-size:12px;margin-right:8px}.secondary{background:#18243d96;border:1px solid #fff5;color:#fff}.secondary:hover{background:#354760}.stage-foot{bottom:25px;font-size:11px;color:#d6d9e4}.stage-utility{border:0;background:transparent;color:#eee;display:flex;gap:8px;align-items:center;font-size:12px}.scene-toolbar{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:19px 24px 23px;background:#1b2538}.toolbar-group{display:flex;flex-direction:column;gap:12px}.toolbar-label,.field-label{font-size:12px;color:#afbdd1}.scene-options{display:flex;gap:7px;flex-wrap:wrap}.scene-option{background:#26344a;border:1px solid #3c4a62;color:#c1cada;font-size:12px;border-radius:9px;padding:9px 10px}.scene-option span{color:#f0d2ad}.scene-option.active{background:#344057;border-color:#e8cca299;color:#fff}.sound-toggle{color:#e2cfb1;border:1px solid #4a5570;background:#27354b;border-radius:9px;padding:9px 13px;font-size:12px}.sound-toggle[aria-pressed="true"]{background:#3d4f5c;border-color:#b1c8ae}.side-column{display:flex;flex-direction:column;gap:16px}.panel{background:linear-gradient(135deg,#1d2a40,#182338);border:1px solid #354159;border-radius:18px;padding:25px 25px 23px;box-shadow:0 12px 40px #0001}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.panel h2{margin:8px 0 0;font-size:20px;letter-spacing:.2px}.heading-mark{color:#e8d2af;font-size:27px;font-weight:200}.field-label{display:block;margin:18px 0 10px}.panel input[type=text]{color:#f6f6f8;background:#121e30;border:1px solid #384860;width:100%;padding:12px 14px;border-radius:10px;outline:none;font-size:12px;min-height:44px}.panel input[type=text]::placeholder{color:#7e8da2}.panel input[type=text]:focus{border-color:#d7c09f}.duration-row{display:flex;align-items:center;justify-content:space-between;margin-top:6px}.duration-hint{color:#7c91a8;font-size:11px}.duration-row .field-label{margin-bottom:11px}.durations{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.durations button{padding:11px 2px;border-radius:10px;background:#202e43;color:#cbd4e3;border:1px solid #35435d;font-size:18px}.durations button.active{background:#3b3b46;border-color:#eacda3;color:#f7dcb3}.durations button:disabled{opacity:.45}.durations span{font-size:10px;margin-left:3px}.tasks-head{margin-top:20px}.tasks-head .field-label{margin-bottom:8px}.muted-text{color:#8294aa;font-size:11px}.task-form{display:flex;gap:7px}.task-form input{flex:1;min-width:0}.task-form button{min-width:43px;color:#192941;background:#e9d7bc;border:0;border-radius:10px;font-size:24px}.task-list{padding:0;margin:11px 0 0;list-style:none;max-height:130px;overflow:auto}.task-list:empty{display:none}.task-item{display:flex;align-items:center;gap:9px;margin-top:7px;background:#1c2940;padding:9px;border-radius:9px;color:#dbe1ec;font-size:12px}.task-check{width:18px;height:18px;accent-color:#e4d2b4;flex-shrink:0}.task-text{flex:1;word-break:break-word}.task-item.done .task-text{color:#7b8ca5;text-decoration:line-through}.task-remove{border:0;background:transparent;color:#8899b4;padding:2px 7px}.coach-panel{background:linear-gradient(145deg,#24364b,#1b2b3e);border-color:#38536a}.coach-kicker{color:#c9d5c5;font-size:11px;letter-spacing:1px}.coach-star{color:#dfd6ae;font-size:17px;margin-right:5px}.coach-panel h2{font-size:20px;margin-top:13px}.coach-panel h2 span{color:#d0e0ce}.coach-panel p{font-size:12px;line-height:1.9;color:#a3b5c7;margin:12px 0 17px}.coach-btn{background:#d8e6d8;color:#2f4a46;border:0;border-radius:9px;padding:12px 17px;font-size:12px;font-weight:600}.coach-btn span{margin-left:14px}.coach-result{padding:12px;margin-top:13px;border:1px solid #597065;background:#10292c;border-radius:10px;color:#d5e5d5;line-height:1.8;font-size:12px;white-space:pre-wrap}.mini-note{font-size:12px;color:#a9b2c7;display:flex;align-items:center;gap:11px;padding:11px 13px}.mini-note strong{font-weight:500;color:#e8d8b8}.note-sparkle{color:#eed2a2;font-size:20px}.stats-panel{margin-top:22px;background:#172238;border:1px solid #2e3c54;border-radius:18px;padding:28px 32px 26px}.stats-heading{display:flex;justify-content:space-between;align-items:center}.stats-heading h2{font-size:21px;margin:10px 0 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);margin:28px 0 25px}.stat-cell{padding:0 20px;border-right:1px solid #36445b}.stat-cell:first-child{padding-left:0}.stat-cell:last-child{border:0}.stat-num{font-size:36px;font-weight:500;color:#e8d7bf;line-height:1.1;font-variant-numeric:tabular-nums}.stat-num small{font-size:11px;color:#b9c2d0;margin-left:6px}.stat-label{font-size:12px;color:#93a2b8;margin-top:10px}.chart-wrap{border-top:1px solid #29384e;padding-top:20px}.chart-title{font-size:12px;color:#cbd4e3;display:flex;justify-content:space-between}.chart-title span{color:#8192a9;font-size:11px}.week-chart{display:grid;grid-template-columns:repeat(7,1fr);gap:18px;align-items:end;height:118px;padding-top:14px}.bar-group{display:flex;flex-direction:column;height:100%;align-items:center;justify-content:end;gap:7px}.bar-track{height:80px;width:100%;display:flex;align-items:end;justify-content:center}.bar{width:min(70%,39px);min-height:3px;background:linear-gradient(#f6ddba,#978878);border-radius:5px 5px 2px 2px;transition:height .25s}.bar.today{background:linear-gradient(#ddf3d6,#7da99d)}.bar-label{font-size:10px;color:#93a1b7}.footer{padding:31px 0 40px;display:flex;justify-content:space-between;gap:20px;color:#8091aa;font-size:11px}.footer strong{color:#d4dce9}.text-button{border:0;padding:0;background:transparent;color:#a9bbd6;text-decoration:underline;text-underline-offset:3px}.toast{position:fixed;z-index:100;bottom:26px;left:50%;transform:translate(-50%,20px);opacity:0;background:#f2e2ca;color:#28364b;border-radius:14px;padding:12px 20px;font-size:13px;box-shadow:0 15px 30px #0005;transition:opacity .18s,transform .18s;pointer-events:none;max-width:calc(100vw - 30px)}.toast.show{opacity:1;transform:translate(-50%,0)}.settings-dialog{border:1px solid #586884;background:#1d2b41;color:#eaf0f7;border-radius:18px;max-width:min(530px,calc(100vw - 28px));width:100%;padding:0;box-shadow:0 40px 130px #0009}.settings-dialog::backdrop{background:#050b16b9;backdrop-filter:blur(5px)}.dialog-inner{padding:29px}.dialog-header{display:flex;justify-content:space-between;align-items:center}.dialog-header h2{margin:7px 0 0;font-size:24px}.close-dialog{font-size:26px;color:#ddd;border:0;background:transparent}.muted-p,.micro{font-size:12px;line-height:1.85;color:#a8b6ca}.settings-section{border-top:1px solid #34445b;padding-top:17px;margin-top:20px}.settings-section h3{font-size:14px;font-weight:600;margin:0 0 12px}.range-label{display:flex;justify-content:space-between;font-size:12px;color:#d5deed}.settings-section input[type=range]{accent-color:#f5d5ae;width:100%;margin-top:15px}.data-actions{display:flex;flex-wrap:wrap;gap:8px}.data-actions button,.import-button{display:inline-flex;align-items:center;padding:10px 12px;font-size:12px;min-height:40px;text-decoration:none;background:#263650;border:1px solid #51627b;border-radius:9px;color:#ebedf4;cursor:pointer}.danger-link{color:#f0abac;font-size:12px;text-decoration:underline;background:transparent;border:0;padding:9px 0}.settings-foot{color:#8296ac;font-size:11px;margin-top:24px}.no-js{position:fixed;bottom:0;background:#d8b67b;color:#131313;left:0;right:0;text-align:center;padding:14px}body[data-scene=library] .scene-visual{background:linear-gradient(#151e3a,#3d3358 58%,#202a4a)}body[data-scene=library] .sky-glow{background:radial-gradient(ellipse at 35% 50%,#c4a4d044,transparent 50%)}body[data-scene=library] .celestial{width:62px;height:62px;background:#f2e8d8;box-shadow:10px 0 0 0 #283454,0 0 66px #f3e9d888}body[data-scene=library] .hill-back{background:#313351}body[data-scene=library] .hill-front{background:#1e2640}body[data-scene=library] .rainfall{opacity:0}body[data-scene=forest] .scene-visual{background:linear-gradient(#577e78,#a5a483 60%,#3d685d)}body[data-scene=forest] .sky-glow{background:radial-gradient(ellipse at 60% 23%,#fce5a580,transparent 45%)}body[data-scene=forest] .celestial{background:#fff3b8;box-shadow:0 0 70px #ffdf9088}body[data-scene=forest] .hill-back{background:#547568}body[data-scene=forest] .hill-front{background:#214d43}body[data-scene=forest] .rainfall{opacity:0}body[data-scene=ocean] .scene-visual{background:linear-gradient(#08172c,#1e5576 51%,#0f294a)}body[data-scene=ocean] .sky-glow{background:radial-gradient(ellipse at 60% 20%,#59a7bb55,transparent 51%)}body[data-scene=ocean] .celestial{background:#b4eef6;box-shadow:0 0 70px #8cd8e999}body[data-scene=ocean] .hill-back{background:#1b5370}body[data-scene=ocean] .hill-front{background:#102c4b}body[data-scene=ocean] .rainfall{opacity:.06}.scene-visual:fullscreen{height:100vh!important;width:100vw}.scene-visual:fullscreen .stage-center{transform:translate(-50%,-40%)}@keyframes float{50%{transform:translateY(-22px);opacity:.2}}@keyframes rain{to{background-position:-55px 120px}}@media(max-width:1030px){.site-shell{padding:0 24px}.app-layout{grid-template-columns:minmax(0,1.2fr) minmax(295px,1fr)}.scene-visual{height:520px}.scene-toolbar{flex-direction:column}.toolbar-group{width:100%}.stats-panel{padding:24px}}@media(max-width:770px){.site-shell{padding:0 16px}.topbar{height:72px}.offline-indicator{display:none}.intro{padding:39px 4px 25px}.intro h1{font-size:33px}.app-layout{grid-template-columns:1fr;gap:15px}.scene-visual{height:450px}.scene-toolbar{flex-direction:row;gap:14px;padding:17px}.toolbar-group.sound-group{width:auto}.stats-panel{margin-top:16px}.side-column{gap:14px}.mini-note{padding:0 10px}.footer{line-height:1.8}}@media(max-width:480px){.topbar-right{gap:8px}.topbar .ghost.small{display:none}.intro h1{font-size:29px}.intro p{font-size:12px;line-height:1.7}.scene-visual{height:414px}.scene-top,.stage-foot{left:17px;right:17px}.scene-date{font-size:10px}.timer{font-size:78px}.stage-motto{letter-spacing:1px;font-size:12px}.progress-track{margin:24px 0}.scene-toolbar{flex-direction:column}.scene-options{gap:5px}.scene-option{flex:1;padding:9px 6px}.panel{padding:20px}.stats-panel{padding:20px 17px}.stats-heading .ghost{display:none}.stats-heading h2{font-size:18px}.stats-grid{gap:13px;grid-template-columns:repeat(2,1fr);margin:25px 0}.stat-cell,.stat-cell:first-child{padding:0 8px;border:0}.stat-num{font-size:31px}.week-chart{gap:5px}.footer{flex-direction:column;gap:5px;padding:24px 0}.brand strong{font-size:16px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* V1.1: feedback, mobile audio guidance */
.audio-help{padding:0 24px 17px;margin:0;color:#c0c9db;font-size:11px;line-height:1.7}.audio-help strong{color:#f5d5ae}
.feedback-panel{margin-top:20px;background:linear-gradient(110deg,#25334a,#1a2f42);border:1px solid #42546a;border-radius:18px;padding:22px 27px;display:flex;justify-content:space-between;align-items:center;gap:16px}.feedback-panel h2{font-size:19px;margin:11px 0 5px}.feedback-panel p{font-size:12px;color:#adbad0;margin:0;line-height:1.75}.feedback-panel .primary{white-space:nowrap}.feedback-input{display:block;width:100%;padding:12px;background:#101c30;border:1px solid #4b5c75;border-radius:9px;color:#eef1fa;font:inherit;min-height:42px;resize:vertical}textarea.feedback-input{margin-bottom:12px}.feedback-input:focus-visible{outline:2px solid #e8c9a3;outline-offset:2px}a.secondary{display:inline-flex;align-items:center;text-decoration:none;padding:10px 13px;font-size:12px;min-height:42px}.feedback-panel button{font:inherit}#feedback-status{line-height:1.8}
@media(max-width:600px){.feedback-panel{flex-direction:column;align-items:stretch;padding:20px}.feedback-panel .primary{width:100%}.audio-help{padding:0 17px 16px}.feedback-panel h2{font-size:17px}}

#feedback-form-link[hidden]{display:none}

.language-btn{border:1px solid #50607a;background:#1e2a40;color:#f5d5ae;border-radius:10px;padding:8px 13px;font-size:13px;min-width:50px;white-space:nowrap}.language-btn:hover{border-color:#ddbb89}.language-btn:focus-visible{outline:2px solid #f5d5ae;outline-offset:2px}@media(max-width:480px){.topbar-right{gap:8px}.language-btn{padding:7px 10px}}

/* Native link preserves direct external-form navigation on mobile browsers. */
#feedback-open{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;text-align:center}


/* V1.4 dedicated focus rooms: lightweight cards, no remote assets. */
.rooms-section{margin:0 0 27px}
.rooms-heading{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:18px}
.rooms-heading h2{margin:7px 0 6px;font-size:25px;color:#fff0d9;letter-spacing:.2px}
.rooms-heading p{margin:0;color:#9ba9bf;font-size:12px;line-height:1.8}
.room-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.room-card{appearance:none;text-align:left;display:flex;flex-direction:column;gap:7px;min-width:0;border-radius:17px;min-height:142px;border:1px solid #38465d;background:linear-gradient(135deg,#24334d,#171f34);padding:17px;color:#e4ebf5;transition:border-color .2s,transform .2s,background .2s}
.room-card:hover{border-color:#e8ccad;transform:translateY(-2px)}
.room-card:focus-visible,.room-preset:focus-visible,.room-goal-btn:focus-visible{outline:2px solid #f5d5ae;outline-offset:3px}
.room-card.is-active{border-color:#e9caa0;background:linear-gradient(145deg,#3e3c49,#252b40);box-shadow:0 0 0 1px #e9caa055 inset}
.room-card-top{display:flex;justify-content:space-between;align-items:center;gap:5px}
.room-card-symbol{font-size:25px;color:#ebcd9f}
.room-card-status{font-size:10px;color:#bac6d6}
.room-card.is-active .room-card-status{color:#f7dfb5}
.room-card strong{font-size:15px;line-height:1.4}
.room-card small{font-size:11px;color:#a8b7ca;line-height:1.6}
.room-details{margin-top:13px;padding:19px 22px 15px;border:1px solid #3c4a60;border-radius:17px;background:linear-gradient(115deg,#1c2940,#171e32)}
.room-detail-top{display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.room-detail-top strong{color:#fff0d9;font-size:17px}
.room-category{font-size:10px;border-radius:99px;padding:6px 10px;background:#d7b68b22;color:#f2cf9e;white-space:nowrap}
.room-details p{font-size:12px;line-height:1.9;color:#aebed0;margin:9px 0}
.room-details .room-tip{color:#d7c9b4}
.room-goal-box{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #ffffff12;padding-top:14px;font-size:12px;color:#e3eaf0}
.room-goal-btn,.room-preset{font-size:12px;border-radius:9px;border:1px solid #a6b8c455;background:#31415b;color:#f0e8dc;padding:9px 12px;min-height:40px}
.room-goal-btn{flex-shrink:0;background:#ecdbb9;color:#29354b;font-weight:600}
.room-goal-btn:hover{background:#fff1d9}
.room-presets-heading{font-size:12px;color:#b9c8d8;margin-top:17px;margin-bottom:9px}
.room-presets{display:flex;flex-wrap:wrap;gap:8px}
.room-preset:hover{border-color:#eacda5;background:#3a4e68}
.room-details .room-data-note{font-size:10px;color:#8496ae;margin-top:15px}
@media(max-width:850px){.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.rooms-heading h2{font-size:21px}.room-grid{gap:9px}.room-card{padding:14px 12px;min-height:135px}.room-card strong{font-size:13px}.room-card small{font-size:10px}.room-details{padding:16px}.room-goal-box{align-items:start;flex-direction:column}.room-goal-btn{width:100%}}
@media(prefers-reduced-motion:reduce){.room-card{transition:none}.room-card:hover{transform:none}}


/* V1.4.1 · distinct subject-room environments with self-hosted vector art. */
body[data-room="postgraduate-stem"]{--peach:#89dfe7;--theme-accent:#79dfe8;--theme-glow:#79dfe843;background:radial-gradient(circle at 15% 0,#164466bb,transparent 41%),#0c1b2d}
body[data-room="construction-exam"]{--peach:#f8c17f;--theme-accent:#ffbe73;--theme-glow:#ed914f44;background:radial-gradient(circle at 85% 5%,#6c4530b5,transparent 43%),#201924}
body[data-room="deep-work"]{--peach:#b7caff;--theme-accent:#afc1f8;--theme-glow:#ac98e044;background:radial-gradient(circle at 85% 0,#30385cce,transparent 44%),#10192a}
body[data-room="general"]{--theme-accent:#eed5ad;--theme-glow:#dabb8b33}
body[data-room="postgraduate-stem"] .scene-visual{background:linear-gradient(90deg,#07182f44,#0618291b 43%,#07182f33),url("./assets/rooms/postgraduate-stem.svg") center/cover no-repeat}
body[data-room="construction-exam"] .scene-visual{background:linear-gradient(90deg,#25131b44,#29161e11 42%,#25131b33),url("./assets/rooms/construction-exam.svg") center/cover no-repeat}
body[data-room="deep-work"] .scene-visual{background:linear-gradient(90deg,#0a173644,#10163215 43%,#0a173638),url("./assets/rooms/deep-work.svg") center/cover no-repeat}
body[data-room]:not([data-room="general"]) .scene-visual{background-size:cover;background-position:center center}
body[data-room]:not([data-room="general"]) .scene-visual .sky-glow,
body[data-room]:not([data-room="general"]) .scene-visual .celestial,
body[data-room]:not([data-room="general"]) .scene-visual .hill-back,
body[data-room]:not([data-room="general"]) .scene-visual .hill-front,
body[data-room]:not([data-room="general"]) .scene-visual .horizon,
body[data-room]:not([data-room="general"]) .scene-visual .light-orbs{display:none}
body[data-room]:not([data-room="general"]) .scene-visual:before{background:radial-gradient(ellipse at 50% 48%,#0612229e 0,#07142661 32%,transparent 72%),linear-gradient(0deg,#08131ab0,transparent 35%)}
body[data-room]:not([data-room="general"]) .scene-visual .rainfall{opacity:0;pointer-events:none}
body[data-room]:not([data-room="general"])[data-scene="rain"] .scene-visual .rainfall{opacity:.32}
body[data-room]:not([data-room="general"])[data-scene="library"] .scene-visual{background-blend-mode:normal,luminosity}
body[data-room]:not([data-room="general"])[data-scene="forest"] .scene-visual{background-blend-mode:normal,normal;filter:saturate(.85) sepia(.07)}
body[data-room]:not([data-room="general"])[data-scene="ocean"] .scene-visual{filter:hue-rotate(14deg) saturate(.88)}
body[data-room]:not([data-room="general"]) .stage-card{border-color:var(--theme-accent);box-shadow:0 16px 65px var(--theme-glow)}
body[data-room]:not([data-room="general"]) .timer{color:#fffaf0;text-shadow:0 2px 12px #030b15,0 0 33px #071020}
body[data-room]:not([data-room="general"]) .scene-top,
body[data-room]:not([data-room="general"]) .stage-foot{color:#fff9ec;text-shadow:0 2px 10px #0b1829}
body[data-room]:not([data-room="general"]) .progress-fill{background:var(--theme-accent)}
body[data-room]:not([data-room="general"]) .primary{background:var(--theme-accent);color:#0e2233}
body[data-room]:not([data-room="general"]) .primary:hover{filter:brightness(1.11)}
body[data-room]:not([data-room="general"]) .scene-toolbar,
body[data-room]:not([data-room="general"]) .panel{border-color:#ffffff28}
body[data-room]:not([data-room="general"]) .room-details{border-color:var(--theme-accent);box-shadow:0 11px 45px var(--theme-glow)}
body[data-room]:not([data-room="general"]) .room-goal-btn{background:var(--theme-accent);color:#17253c}
body[data-room]:not([data-room="general"]) .rooms-heading h2,
body[data-room]:not([data-room="general"]) .room-detail-top strong{color:var(--theme-accent)}
body[data-room]:not([data-room="general"]) .intro h1 em{color:var(--theme-accent)}
.room-card{position:relative;overflow:hidden;min-height:212px;padding-top:125px;isolation:isolate;border-radius:16px;background:#121d2b}
.room-card-art{position:absolute;top:0;left:0;right:0;height:139px;background-size:cover;background-position:50% 55%;z-index:-1;filter:saturate(1.08);transition:transform .35s ease}
.room-card[data-room-choice="postgraduate-stem"] .room-card-art{background-image:linear-gradient(0deg,#0e2530dd 0,transparent 70%),url("./assets/rooms/postgraduate-stem.svg")}
.room-card[data-room-choice="construction-exam"] .room-card-art{background-image:linear-gradient(0deg,#2d211ddd 0,transparent 70%),url("./assets/rooms/construction-exam.svg")}
.room-card[data-room-choice="deep-work"] .room-card-art{background-image:linear-gradient(0deg,#171d32dd 0,transparent 70%),url("./assets/rooms/deep-work.svg")}
.room-card[data-room-choice="general"] .room-card-art{background-image:linear-gradient(0deg,#17243bba 0,transparent 70%),radial-gradient(circle at 75% 19%,#ffd9a9,#426b78 42%,#1c3048 80%)}
.room-card:after{content:"";position:absolute;inset:136px 0 0;z-index:-1;background:linear-gradient(160deg,#22374e,#111a2c)}
.room-card.is-active:after{background:linear-gradient(160deg,#344758,#1e263b)}
.room-card:hover .room-card-art{transform:scale(1.045)}
.room-card strong,.room-card small,.room-card-top{position:relative;z-index:1}
.room-card-top{height:24px}
.room-card .room-card-symbol{font-size:20px}
.room-card .room-card-status{color:#e7eef4}
.room-card.is-active{border-color:var(--theme-accent,#e9caa0);box-shadow:0 0 0 1px var(--theme-accent,#e9caa0) inset,0 12px 28px #040b1973}
.room-card.is-active .room-card-status{color:var(--theme-accent,#efc990)}
.room-hero-mark{position:absolute;z-index:3;top:83px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;white-space:nowrap;text-align:center;max-width:90%;pointer-events:none}
.room-hero-mark[hidden]{display:none}
.room-hero-mark span{color:#f9e4ce;background:#071324a8;border:1px solid #ffffff44;padding:5px 14px;border-radius:25px;font-size:10px;letter-spacing:2px}
.room-hero-mark strong{font-size:18px;color:#fff8e9;text-shadow:0 3px 11px #000;letter-spacing:1px}
.room-poster-link{color:var(--theme-accent,#eac999);margin-left:auto;font-size:11px;text-decoration:none;border-bottom:1px solid currentColor;padding:6px 0}
.room-poster-link[hidden]{display:none}
.room-poster-link:focus-visible{outline:2px solid var(--peach);outline-offset:3px}
body[data-room]:not([data-room="general"]) #room-stage-note{font-weight:500}
@media(max-width:770px){.room-card{min-height:205px;padding-top:119px}.room-card-art{height:134px}.room-hero-mark{top:65px}}
@media(max-width:480px){.room-card{min-height:208px;padding:115px 12px 13px}.room-card-art{height:135px}.room-card strong{font-size:13px}.room-card small{line-height:1.5}.room-hero-mark{top:72px}.room-hero-mark strong{font-size:15px}.room-hero-mark span{font-size:9px}.room-poster-link{width:100%;margin-left:0;text-align:left}.stage-center{top:55%}body[data-room]:not([data-room="general"]) .scene-visual{background-position:50% 50%}}
@media(prefers-reduced-motion:reduce){.room-card-art{transition:none}.room-card:hover .room-card-art{transform:none}}


/* StudyNest pricing and reviewable English legal notices. */
.pricing-section{margin:30px 0 33px;scroll-margin-top:30px}
.pricing-heading{margin-bottom:20px}
.pricing-heading h2{font-size:clamp(25px,3.2vw,34px);margin:8px 0 5px;color:#fff0da}
.pricing-heading p{margin:0;color:#a7b4c7;font-size:13px}
.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
.pricing-card{position:relative;border:1px solid #46536b;border-radius:23px;background:linear-gradient(160deg,#1e2a43,#152135);padding:27px;display:flex;flex-direction:column;gap:0;box-shadow:0 15px 45px #060f1a38}
.pricing-free{background:linear-gradient(160deg,#202d41,#17243a)}
.pricing-pro{border-color:#c9a673aa;background:radial-gradient(circle at 90% 0,#b48f6040,transparent 55%),linear-gradient(145deg,#293049,#1a2238);box-shadow:0 15px 50px #050d1990,inset 0 1px 0 #efd1a055}
.pricing-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.pricing-label{font-size:10px;letter-spacing:2.2px;font-weight:750;color:#b9c9dc}
.pricing-pro .pricing-label{color:#f8d8a6}
.plan-availability{border-radius:99px;padding:6px 10px;background:#4d826640;color:#b8e4c8;font-size:10px;font-weight:700}
.plan-pending{background:#c8a26b25;color:#f1cea2;border:1px solid #c39c6750}
.pricing-card h3{font-size:24px;margin:0 0 5px;color:#f6f0e9;font-weight:650}
.plan-price{font-size:42px;line-height:1.3;font-weight:760;letter-spacing:-1.7px;color:#fff7e9}
.plan-price span{font-size:15px;color:#acb9c9;font-weight:400;letter-spacing:0;margin-left:5px}
.plan-description{font-size:13px;color:#b0bdce;line-height:1.8;min-height:46px;margin:7px 0 22px}
.plan-benefits{list-style:none;margin:0 0 25px;padding:0;display:flex;flex-direction:column;gap:14px}
.plan-benefits li{color:#dbe5ed;display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:13px;line-height:1.6}
.plan-benefits li:before{content:"✓";color:#8dd8ba;font-weight:800;flex:none}
.pricing-pro .plan-benefits li:before{color:#f3d1a4}
.plan-feature-status{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;border-radius:99px;background:#ffffff13;color:#ddbe91;padding:3px 7px}
.pricing-action{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:12px;width:100%;border:1px solid #748298;border-radius:13px;padding:15px 18px;text-decoration:none;font-size:13px;font-weight:700;cursor:pointer;min-height:51px}
.pricing-action-free{background:transparent;color:#e6edf3;border-color:#5c6e85}
.pricing-action-free:hover{border-color:#dfc49c;background:#ffffff0a}
.pricing-action-pro{background:linear-gradient(105deg,#e9c28c,#f5e1bc);color:#212b3d;border:0;box-shadow:0 6px 26px #e2b67a28}
.pricing-action-pro:hover{filter:brightness(1.06)}
.pricing-action:focus-visible,.footer-policies a:focus-visible,.legal-close:focus-visible{outline:2px solid #f7deb5;outline-offset:3px}
.pricing-footnote{text-align:center;font-size:11px;line-height:1.5;color:#b8bbca;margin:12px 0 0}
.footer{flex-wrap:wrap;gap:12px 20px}
.footer-policies{display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:center}
.footer-policies a{font-size:12px;color:#d7bd96;text-decoration:underline;text-underline-offset:4px}
.footer-policies a:hover{color:#fff0d5}
.footer-privacy{font-size:11px;color:#9ba8bb}
.legal-dialog{border:1px solid #6e7889;background:linear-gradient(145deg,#1c2840,#101929);color:#e6ecf3;border-radius:21px;padding:0;width:min(740px,calc(100vw - 24px));max-height:min(87dvh,800px);box-shadow:0 25px 90px #000b;overflow:auto;overscroll-behavior:contain}
.legal-dialog::backdrop{background:#050a16c9;backdrop-filter:blur(5px)}
.legal-dialog-inner{padding:27px 31px 35px}
.legal-dialog-header{display:flex;align-items:start;justify-content:space-between;gap:13px;border-bottom:1px solid #ffffff20;padding-bottom:19px;margin-bottom:17px}
.legal-eyebrow{display:block;color:#e2bf8a;font-size:10px;font-weight:700;letter-spacing:2.2px}
.legal-dialog-header h2{font-size:27px;color:#fff3dc;line-height:1.25;margin:8px 0 4px}
.legal-dialog-header p{margin:0;font-size:12px;color:#9dadbe}
.legal-close{flex:none;width:40px;height:40px;background:#ffffff12;border:1px solid #ffffff35;border-radius:11px;color:#fff;font-size:27px;cursor:pointer;line-height:1}
.legal-copy h3{font-size:15px;color:#f3d9ac;font-weight:650;line-height:1.4;margin:22px 0 6px}
.legal-copy p{font-size:13px;line-height:1.9;color:#d2dbe7;margin:5px 0 14px}
.legal-copy a{color:#f4d4a3;text-decoration:underline}
.legal-copy strong{font-weight:700;color:#f4e1c5}
.pro-preview-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:25px}
@media(max-width:780px){.pricing-grid{gap:12px}.pricing-card{padding:21px}}
@media(max-width:620px){.pricing-grid{grid-template-columns:1fr}.pricing-card{padding:23px}.plan-description{min-height:0}.pricing-heading h2{font-size:26px}.footer{flex-direction:column;align-items:flex-start}.footer-policies{justify-content:flex-start}.legal-dialog-inner{padding:22px 18px 29px}.legal-dialog-header h2{font-size:23px}.pro-preview-actions{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.legal-dialog::backdrop{backdrop-filter:none}}
