@font-face{font-family:Marcellus;src:url(/fonts/marcellus.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--bg:#f7f1e8;--surface:#fffcf6;--text:#4d4457;--text-soft:#8d8496;--heading:#3b3345;--accent:#7c6f8f;--accent-soft:#ece7f0;--border:#e5dccf;--on-accent:#fff;--gold:#9c731f;--gold-bright:#c9992f;--plum-deep:#5d4a73;--teal:#33736f;--rose:#a8607c;--glaze-hi:#fffc;--glaze-lo:#5d4a7317;--depth-0:#f1ecf7;--depth-1:#e0d7ee;--depth-2:#c4b6de;--depth-3:#7c6f8f;--depth-3-ink:#fff;--flow-medium:#b9aecb;--sky-top:#c7d8e2;--sky-low:#f2e4d0;--water:#9db8bd;--shore:#b9a9c4;--orb:#f2d98c;--orb-glow:#f2d98c8c;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--serif:"Marcellus", Georgia, serif;font:17px/1.5 var(--sans);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}:root[data-daypart=dawn]{--bg:#f6ece4;--surface:#fffaf4;--text:#52424f;--text-soft:#977d8e;--heading:#43333f;--accent:#a8607c;--accent-soft:#f3dfe4;--border:#e8d8cd;--on-accent:#fff;--gold:#b8891f;--gold-bright:#d3a53a;--plum-deep:#6d4a66;--teal:#3b7f74;--rose:#a8607c;--glaze-hi:#ffffffd9;--glaze-lo:#a8607c17;--depth-0:#f7ebee;--depth-1:#eed7dd;--depth-2:#d9b3bf;--depth-3:#a8607c;--depth-3-ink:#fff;--flow-medium:#c99aab;--sky-top:#d8b3c0;--sky-low:#f7dfc2;--water:#c3a9b4;--shore:#a98ba4;--orb:#f4c987;--orb-glow:#f4c98799}:root[data-daypart=dusk]{--bg:#2e2745;--surface:#3a3158;--text:#e6ddf1;--text-soft:#b3a5c9;--heading:#f3edfb;--accent:#c9a3e0;--accent-soft:#473d6b;--border:#4c4272;--on-accent:#2a2447;--gold:#d9a94d;--gold-bright:#e9cd7a;--plum-deep:#cdb2e2;--teal:#6cb3ad;--rose:#d795ab;--glaze-hi:#ffffff17;--glaze-lo:#0000004d;--depth-0:#3a3158;--depth-1:#4c4076;--depth-2:#6a5a99;--depth-3:#c9a3e0;--depth-3-ink:#2a2447;--flow-medium:#8b76ad;--sky-top:#4a3a6e;--sky-low:#8d6390;--water:#55487c;--shore:#3b3060;--orb:#e9cd7a;--orb-glow:#e9cd7a66}:root[data-daypart=night]{--bg:#1d1930;--surface:#292345;--text:#d9d0e8;--text-soft:#a294bd;--heading:#f0e9fa;--accent:#b795d8;--accent-soft:#383060;--border:#3d355f;--on-accent:#241f3d;--gold:#d9a94d;--gold-bright:#e9cd7a;--plum-deep:#cdb2e2;--teal:#5ea59f;--rose:#c88099;--glaze-hi:#ffffff14;--glaze-lo:#00000059;--depth-0:#2a2447;--depth-1:#3a3160;--depth-2:#56487f;--depth-3:#b795d8;--depth-3-ink:#241f3d;--flow-medium:#7c6a9c;--sky-top:#16122b;--sky-low:#332a58;--water:#1c1836;--shore:#241f42;--orb:#e9cd7a;--orb-glow:#e9cd7a59}*{box-sizing:border-box}body{background:var(--bg);min-height:100svh;color:var(--text);margin:0;transition:background-color .8s,color .8s}h1{font-family:var(--serif);letter-spacing:.03em;color:var(--heading);margin:0 0 .5rem;font-size:1.7rem;font-weight:400}@media (prefers-reduced-motion:reduce){body{transition:none}}.app{max-width:720px;padding:1rem 1rem calc(3rem + env(safe-area-inset-bottom));margin:0 auto}.app-header{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:.75rem 1.25rem;padding-bottom:.75rem;display:flex}.app-title{color:var(--heading);letter-spacing:.02em;font-weight:600}.app-nav{flex-wrap:wrap;gap:.25rem;display:flex}.app-nav a{color:var(--text-soft);border-radius:999px;padding:.3rem .7rem;text-decoration:none;transition:background .15s,color .15s}.app-nav a:hover{color:var(--heading)}.app-nav a.active{background:var(--accent-soft);color:var(--heading)}.capture-link{color:var(--accent);border:1px solid var(--border);white-space:nowrap;border-radius:999px;margin-left:auto;padding:.25rem .7rem;font-size:.85rem;text-decoration:none}.capture-link:hover{background:var(--accent-soft)}.app-main{padding-top:1.5rem}.page-empty{color:var(--text-soft);margin:0}.board-top{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.board-top-tools{gap:.5rem;display:flex}.ghost-button{font:inherit;color:var(--accent);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:999px;padding:.25rem .8rem}.ghost-button:hover{background:var(--accent-soft)}.ghost-button.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.week-strip{align-items:stretch;gap:.25rem;margin-top:1rem;display:flex}.week-arrow{color:var(--text-soft);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:10px;padding:0 .4rem;font-size:1.3rem}.week-arrow:hover{background:var(--accent-soft);color:var(--heading)}.week-days{flex:1;gap:.25rem;min-width:0;display:flex}.day-chip{cursor:pointer;min-width:0;font:inherit;color:var(--text-soft);background:0 0;border:1px solid #0000;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:.1rem;padding:.45rem .2rem;display:flex}.day-chip:hover{background:var(--accent-soft)}.day-chip-name{text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}.day-chip-num{color:var(--heading);font-size:1.05rem}.day-chip.today .day-chip-name{color:var(--accent);font-weight:600}.day-chip.selected{background:var(--accent-soft);border-color:var(--accent)}.day-chip-slot{justify-content:center;align-items:center;height:12px;display:flex}.work-emoji{flex-shrink:0;font-size:10px;line-height:1}.day-chip.work-on{background:var(--accent);border-color:var(--accent)}.day-chip.work-on .day-chip-name,.day-chip.work-on .day-chip-num{color:var(--on-accent)}.month-grid{margin-top:1rem}.month-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.month-nav{flex:1;justify-content:space-between;align-items:center;gap:.4rem;max-width:16rem;display:flex}.month-title{color:var(--heading);font-weight:600}.month-weekdays{grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:.2rem;display:grid}.month-weekdays span{text-align:center;text-transform:uppercase;letter-spacing:.05em;color:var(--text-soft);font-size:.68rem}.month-cells{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.day-cell{cursor:pointer;min-height:2.9rem;font:inherit;color:var(--text);background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:.1rem;padding:.4rem .1rem .3rem;display:flex}.day-cell:hover{background:var(--accent-soft)}.day-cell.outside{opacity:.35}.day-cell.selected{background:var(--accent-soft);border-color:var(--accent)}.day-cell.today .day-cell-num{color:var(--accent);font-weight:700}.day-cell-num{color:var(--heading);font-size:.9rem}.day-cell-marks{align-items:center;gap:3px;height:12px;display:flex}.day-cell-dot{background:var(--accent);border-radius:50%;width:5px;height:5px}.day-cell.rf-0{background:var(--depth-0)}.day-cell.rf-1{background:var(--depth-1)}.day-cell.rf-2{background:var(--depth-2)}.day-cell.rf-3{background:var(--depth-3)}.day-cell.rf-2 .day-cell-num{color:#fff}.day-cell.rf-3 .day-cell-num{color:var(--depth-3-ink)}.day-cell-pct{color:var(--text-soft);font-size:.58rem;line-height:1}.day-cell.rf-2 .day-cell-pct,.day-cell.rf-3 .day-cell-pct{color:#ffffffd9}.rhythm-hint{color:var(--text-soft);text-align:center;margin:.35rem 0 0;font-size:.72rem}.day-heading{color:var(--heading);align-items:center;gap:.6rem;margin:1.25rem 0 .75rem;font-size:1.15rem;font-weight:600;display:flex}.today-badge{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:.15rem .55rem;font-size:.7rem}.section-stack{flex-direction:column;gap:.9rem;display:flex}.section-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:.9rem 1rem}.section-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.section-name{color:var(--heading);margin:0;font-size:1rem;font-weight:600}.section-tools{align-items:center;gap:.25rem;display:flex}.tool-button{color:var(--text-soft);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:8px;padding:.15rem .45rem;font-size:.85rem}.tool-button:hover{background:var(--accent-soft);color:var(--heading)}.tool-button:disabled{opacity:.3;cursor:default}.tool-button:disabled:hover{color:var(--text-soft);background:0 0}.tool-button.outdoor-on{background:var(--accent-soft)}.task-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.task-row{align-items:center;gap:.5rem;padding:.28rem 0;display:flex}.task-row .editable-text{flex:1}.task-check{cursor:pointer;flex:1;align-items:center;gap:.6rem;display:flex}.task-check input{width:1.05rem;height:1.05rem;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.task-check .done{color:var(--text-soft);text-decoration:line-through;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border)}.task-empty{color:var(--text-soft);padding:.2rem 0;font-size:.9rem}.task-row.skipped{opacity:.55}.task-actions{flex-wrap:wrap;align-items:center;gap:.15rem;display:flex}.task-marker{color:var(--text-soft);cursor:default;font-size:.8rem}.task-note{color:var(--text-soft);background:var(--accent-soft);white-space:nowrap;border-radius:999px;padding:.1rem .5rem;font-size:.7rem}.task-note-action{font:inherit;color:var(--accent);border:1px solid var(--accent);white-space:nowrap;cursor:pointer;background:0 0;border-radius:999px;padding:.1rem .5rem;font-size:.7rem}.task-note-action:hover{background:var(--accent-soft)}.task-composer{margin-top:.5rem}.task-composer .add-item{margin-top:0}.repeat-select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:10px;max-width:9.5rem;padding:.4rem .5rem;font-size:.85rem}.weekday-chips{flex-wrap:wrap;gap:.3rem;margin-top:.45rem;display:flex}.weekday-chip{font:inherit;border:1px solid var(--border);color:var(--text-soft);cursor:pointer;background:0 0;border-radius:999px;padding:.2rem .55rem;font-size:.78rem}.weekday-chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--heading)}.study-label{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:.15rem;font-size:.7rem;display:block}.study-theme-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.study-theme-name{color:var(--heading);font-size:1.05rem;font-weight:600}.study-pushed{color:var(--text-soft);flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.study-hint{color:var(--text-soft);margin:.6rem 0 0;font-size:.8rem}.budget-month{max-width:16rem;margin:1rem 0 .9rem}.budget-totals{color:var(--text-soft);margin:0}.budget-totals strong{color:var(--heading);font-weight:600}.budget-in{color:var(--accent);white-space:nowrap;font-size:.85rem}.macro-day{width:3.6rem}.dose-input{flex:none;width:7.5rem}.macro-pick-row{margin-bottom:0}.day-chip-temp{color:var(--text-soft);font-size:.6rem;line-height:1}.weather-line{font:inherit;color:var(--text-soft);cursor:pointer;background:0 0;border:none;align-items:baseline;gap:.45rem;margin:-.4rem 0 .9rem;padding:0;font-size:.85rem;display:inline-flex}.weather-line:hover .weather-place{color:var(--accent)}.weather-icon{align-self:center;font-size:1.25rem;line-height:1}.weather-place{color:var(--heading);font-weight:600}.location-chip-wrap{align-items:center;gap:.05rem;display:inline-flex}.moon-block{background:var(--accent-soft);border-radius:12px;margin:.2rem 0 .6rem;padding:.6rem .85rem}.moon-phase{align-items:baseline;gap:.5rem;display:flex}.moon-emoji{font-size:1.2rem}.moon-name{color:var(--heading);font-weight:600}.moon-illum{color:var(--text-soft);font-size:.78rem}.moon-suggestion{color:var(--text);margin:.35rem 0 0;font-size:.85rem}.moon-event{color:var(--accent);margin:.35rem 0 0;font-size:.85rem}.spiritual-add{margin-top:.5rem}.review-invite{background:var(--accent-soft);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin:-.3rem 0 .9rem;padding:.6rem .85rem;display:flex}.review-open{text-decoration:none;display:inline-block}.energy-row{flex-wrap:wrap;align-items:center;gap:.4rem;margin:-.3rem 0 .9rem;display:flex}.energy-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft);margin-right:.2rem;font-size:.7rem}.energy-pattern{color:var(--text-soft);font-size:.75rem;font-style:italic}.day-events{background:var(--accent-soft);border-radius:12px;flex-direction:column;gap:.25rem;margin-bottom:.9rem;padding:.6rem .85rem;display:flex}.day-event{align-items:baseline;gap:.6rem;display:flex}.day-event-time{color:var(--accent);white-space:nowrap;font-size:.8rem}.planner-stack{margin-top:1rem}.planner-hint{color:var(--text-soft);margin:.2rem 0 .4rem;font-size:.8rem}.schedule-week{margin-top:.6rem}.schedule-week-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft);margin-bottom:.2rem;font-size:.72rem;display:block}.planner-list{margin-top:.6rem}.planner-list .task-row{gap:.6rem}.planner-list .editable-text{flex:1}.planner-row-when{color:var(--text-soft);white-space:nowrap;font-size:.85rem}.compact-input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:10px;flex:none;padding:.35rem .5rem;font-size:.85rem}.composer-sep{color:var(--text-soft);align-self:center;font-size:.8rem}.capture-box{margin-top:1rem}.inbox-row{flex-wrap:wrap}.inbox-text,.inbox-row .editable-text{flex:1;min-width:8rem}.inbox-file{justify-content:flex-end}.file-button{font:inherit;background:var(--accent);color:var(--on-accent);cursor:pointer;border:none;border-radius:10px;padding:.3rem .8rem;font-size:.85rem}.file-button:disabled{opacity:.45;cursor:default}.study-filed{margin-top:.5rem}.study-filed-heading{text-transform:uppercase;letter-spacing:.07em;color:var(--text-soft);margin:.8rem 0 .2rem;font-size:.72rem}.cycle-stats{color:var(--text-soft);margin:0;font-size:.85rem}.cycle-lengths{white-space:nowrap}.cycle-strip{flex-wrap:wrap;gap:.25rem;margin:.6rem 0 .2rem;display:flex}.inbox-ai-note{width:100%;margin:.15rem 0 0}.tool-button.is-disabled{opacity:.45;pointer-events:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.capture-due{align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.signal-reveal{text-align:left;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:.6rem;display:block;overflow:hidden}.cycle-dot{border:1px solid var(--border);width:2.1rem;height:2.1rem;color:var(--text-soft);font:inherit;cursor:pointer;background:0 0;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:1px;font-size:.75rem;display:flex}.cycle-dot:hover{border-color:var(--accent)}.cycle-dot.selected{outline:2px solid var(--accent);outline-offset:1px}.cycle-dot.flow-spotting{border-style:dashed;border-color:var(--accent);color:var(--heading)}.cycle-dot.flow-light{background:var(--accent-soft);border-color:var(--accent-soft);color:var(--heading)}.cycle-dot.flow-medium{background:var(--flow-medium);border-color:var(--flow-medium);color:#fff}.cycle-dot.flow-heavy{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.cycle-mini{background:0 0;border-radius:50%;width:4px;height:4px}.cycle-mini.on{background:currentColor}.signal-chips{margin-top:.4rem}@media (width<=480px){.weekday-chip{padding:.16rem .45rem;font-size:.72rem}.cycle-dot{width:1.85rem;height:1.85rem;font-size:.68rem}.cycle-strip{gap:.2rem}}.stack-block{margin-top:.6rem}.stack-name{color:var(--heading);margin:0;font-size:.9rem;font-weight:600}.stack-flags{background:var(--accent-soft);border-radius:10px;margin:.3rem 0 .2rem;padding:.45rem .65rem}.stack-flag{color:var(--text-soft);margin:0;font-size:.8rem}.stack-flag+.stack-flag{margin-top:.2rem}.stack-flag.boost{color:var(--accent)}.macro-composer{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.6rem;display:flex}.macro-name{flex:1;min-width:7rem}.macro-num{width:5.6rem}.setup-page{min-height:100svh;padding:1.5rem 1rem calc(2.5rem + env(safe-area-inset-bottom))}.setup-inner{flex-direction:column;gap:.9rem;max-width:560px;margin:0 auto;display:flex}.setup-lede{color:var(--text-soft);margin:-.4rem 0 .3rem}.setup-toggles{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.holiday-line{color:var(--text-soft);margin:-.35rem 0 .1rem;font-size:.95rem}.setup-doors{flex-direction:column;align-items:flex-start;gap:.7rem;display:flex}.setup-begin{align-self:center;margin-top:.4rem;padding:.55rem 1.6rem;font-size:1rem}.capture-page{min-height:100svh;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));justify-content:center;align-items:center;display:flex}.capture-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:.8rem;width:100%;max-width:420px;padding:1.2rem;display:flex}.capture-input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);resize:vertical;border-radius:12px;min-height:4.5rem;padding:.6rem .8rem}.capture-input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.capture-actions{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.capture-saved{color:var(--accent);opacity:0;font-size:.85rem;transition:opacity .25s}.capture-saved.show{opacity:1}.capture-links{justify-content:center;gap:1rem;display:flex}.capture-links a{color:var(--text-soft);font-size:.85rem;text-decoration:none}.capture-links a:hover{color:var(--heading)}.add-item{gap:.5rem;margin-top:.5rem;display:flex}.add-item input{min-width:0;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:10px;flex:1;padding:.4rem .7rem}.add-item input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.add-item button{font:inherit;background:var(--accent);color:var(--on-accent);cursor:pointer;white-space:nowrap;border:none;border-radius:10px;padding:.4rem .9rem}.add-item button:disabled{opacity:.45;cursor:default}.add-section,.add-section .section-card{margin-top:1rem}.data-actions{gap:.5rem}.editable-text{font:inherit;cursor:text;color:inherit;text-align:left;border:none;border-bottom:1px dashed var(--border);background:0 0;padding:0}.editable-text:hover{border-bottom-color:var(--accent)}.editable-input{font:inherit;color:inherit;border:1px solid var(--accent);background:var(--surface);border-radius:6px;min-width:0;padding:.05rem .3rem}.moon-anomaly{font-weight:500}.moon-upcoming{opacity:.7}.flag-evidence{text-transform:uppercase;letter-spacing:.04em;opacity:.6;font-size:.72em}.app{z-index:1;position:relative}.app-main{transform:translate3d(calc(var(--cam-nx,0) * -8px), calc(var(--cam-ny,0) * -5px), 0)}.app-header{border-bottom:3px solid #0000;border-image:linear-gradient(90deg, var(--accent) 0 20%, var(--gold) 20% 40%, var(--teal) 40% 60%, var(--rose) 60% 80%, var(--plum-deep) 80% 100%) 1;align-items:center;padding-top:.35rem}.wordmark{font-family:var(--serif);letter-spacing:.15em;text-transform:uppercase;color:var(--heading);align-items:center;gap:.45rem;font-size:1.3rem;text-decoration:none;display:inline-flex}.wordmark svg{color:var(--gold);flex-shrink:0}.app-nav a{font-family:var(--serif);letter-spacing:.05em;color:var(--text-soft);border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 70%, transparent);box-shadow:inset 0 1px 0 var(--glaze-hi);border-radius:10px;padding:.3rem .75rem;font-size:.92rem;transition:background .2s,color .2s,border-color .2s,box-shadow .2s}.app-nav a:hover{color:var(--heading);border-color:var(--accent)}.app-nav a.active{background:var(--surface);color:var(--heading);border-color:var(--gold);box-shadow:inset 0 1px 0 var(--glaze-hi), 0 0 14px var(--orb-glow)}.theme-toggle{font:inherit;color:var(--text-soft);background:color-mix(in srgb, var(--surface) 70%, transparent);border:1px solid var(--border);cursor:pointer;box-shadow:inset 0 1px 0 var(--glaze-hi);white-space:nowrap;border-radius:10px;padding:.25rem .6rem;font-size:.8rem}.theme-toggle span{color:var(--gold)}.theme-toggle:hover{color:var(--heading);border-color:var(--accent)}.capture-link{background:color-mix(in srgb, var(--surface) 70%, transparent);box-shadow:inset 0 1px 0 var(--glaze-hi);border-radius:10px}.section-name,.day-heading,.month-title,.study-theme-name,.moon-name,.stack-name,.weather-place{font-family:var(--serif);letter-spacing:.025em;font-weight:400}.day-heading{font-size:1.3rem}.section-card,.capture-card{background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);border-color:var(--border);box-shadow:inset 0 1px 0 var(--glaze-hi), inset 0 -2px 5px var(--glaze-lo), 0 2px 10px var(--glaze-lo);transition:background-color .8s,border-color .8s}.moon-block,.review-invite,.day-events,.stack-flags,.task-note{box-shadow:inset 0 1px 0 var(--glaze-hi);transition:background-color .8s}.study-card{border-left:3px solid var(--gold)}.study-label{color:var(--gold)}.today-badge{color:var(--gold);background:color-mix(in srgb, var(--gold) 14%, var(--surface))}@property --iris-r{syntax:"<percentage>";inherits:false;initial-value:0%}.iris-overlay{z-index:60;pointer-events:none;visibility:hidden;--iris-r:0%;background-color:var(--iris-tint,#131028);-webkit-mask-image:radial-gradient(ellipse 120% 92% at 44% 42%, #000 calc(var(--iris-r) * .52), transparent var(--iris-r)), radial-gradient(ellipse 92% 120% at 57% 57%, #000 calc(var(--iris-r) * .52), transparent var(--iris-r));-webkit-mask-image:radial-gradient(ellipse 120% 92% at 44% 42%, #000 calc(var(--iris-r) * .52), transparent var(--iris-r)), radial-gradient(ellipse 92% 120% at 57% 57%, #000 calc(var(--iris-r) * .52), transparent var(--iris-r));mask-image:radial-gradient(ellipse 120% 92% at 44% 42%, #000 calc(var(--iris-r) * .52), transparent var(--iris-r)), radial-gradient(ellipse 92% 120% at 57% 57%, #000 calc(var(--iris-r) * .52), transparent var(--iris-r));background-image:radial-gradient(1.5px 1.5px at 18% 28%,#fffc,#0000 55%),radial-gradient(1px 1px at 44% 52%,#fff9,#0000 55%),radial-gradient(2px 2px at 66% 20%,#e9cd7acc,#0000 55%),radial-gradient(1px 1px at 82% 64%,#fff9,#0000 55%),radial-gradient(1.5px 1.5px at 30% 78%,#ffffff8c,#0000 55%);background-size:420px 320px;position:fixed;inset:0}.iris-overlay.closing{visibility:visible;--iris-r:175%;transition:--iris-r .62s cubic-bezier(.55,0,.4,1)}.iris-overlay.opening{visibility:visible;--iris-r:0%;transition:--iris-r .66s cubic-bezier(.4,0,.25,1)}.app-main{transition:opacity .4s .28s}:root[data-traveling] .app-main{opacity:0;transition:opacity .16s}:root[data-traveling][data-flight-kind=zoom] .app-main,:root[data-traveling][data-flight-kind=unzoom] .app-main,:root[data-traveling][data-flight-kind=zoomfar] .app-main,:root[data-traveling][data-flight-kind=unzoomfar] .app-main,:root[data-traveling][data-flight-kind=sinkfar] .app-main,:root[data-traveling][data-flight-kind=risefar] .app-main,:root[data-traveling][data-flight-kind=soar] .app-main,:root[data-traveling][data-flight-kind=descend] .app-main,:root[data-traveling][data-flight-kind=inside] .app-main{transition:opacity .42s}:root[data-traveling][data-flight-kind=shore] .app-main{transition:opacity .55s}.flight-bloom{z-index:3;pointer-events:none;visibility:hidden;opacity:0;mix-blend-mode:screen;transform-origin:94% 37%;background:radial-gradient(140% 110% at 94% 37%, var(--gold-bright) 0%, color-mix(in srgb, var(--gold) 70%, transparent) 30%, transparent 68%);position:fixed;inset:0}.flight-bloom.run{visibility:visible;animation:.6s ease-in-out .75s both flight-bloom}:root[data-flight-kind=zoom] .flight-bloom.run,:root[data-flight-kind=zoomfar] .flight-bloom.run{animation-delay:1.95s}:root[data-flight-kind=sinkfar] .flight-bloom.run{animation-delay:1.85s}:root[data-flight-kind=unzoom] .flight-bloom,:root[data-flight-kind=unzoomfar] .flight-bloom,:root[data-flight-kind=risefar] .flight-bloom{transform-origin:81% 56%;background:radial-gradient(140% 110% at 81% 56%, color-mix(in srgb, var(--accent) 80%, #fff) 0%, color-mix(in srgb, var(--plum-deep) 55%, transparent) 32%, transparent 66%)}:root[data-flight-kind=risefar] .flight-bloom.run{animation-duration:.5s;animation-delay:.8s}:root[data-flight-kind=unzoom] .flight-bloom.run,:root[data-flight-kind=unzoomfar] .flight-bloom.run{animation-duration:.5s;animation-delay:.55s}@keyframes flight-bloom{0%{opacity:0;transform:scale(.7)}45%{opacity:.95;transform:scale(1.02)}to{opacity:0;transform:scale(1.28)}}.room-viewport--front{transition:opacity .4s .3s}:root[data-traveling] .room-viewport--front{opacity:0;transition:opacity .14s}.chart-hint{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 78%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 1px 0 var(--glaze-hi);color:var(--text-soft);font-family:var(--serif);letter-spacing:.04em;pointer-events:none;border-radius:999px;padding:.5rem 1.1rem;animation:.9s .4s both chart-hint-in;position:fixed;bottom:7vh;left:50%;transform:translate(-50%)}@keyframes chart-hint-in{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.chart-panel{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 86%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:min(470px,94vw);max-height:72vh;box-shadow:inset 0 1px 0 var(--glaze-hi), 0 6px 22px var(--glaze-lo);border-radius:16px;margin-left:auto;padding:.85rem;animation:.45s cubic-bezier(.16,1,.3,1) both chart-panel-in;position:relative;overflow-y:auto}.chart-panel .section-card{background:color-mix(in srgb, var(--surface) 55%, transparent)}@keyframes chart-panel-in{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.chart-close{float:right;z-index:2;font:inherit;color:var(--text-soft);background:color-mix(in srgb, var(--surface) 80%, transparent);border:1px solid var(--border);cursor:pointer;border-radius:999px;width:1.9rem;height:1.9rem;position:sticky;top:0}.chart-close:hover{color:var(--heading);border-color:var(--accent)}@media (prefers-reduced-motion:reduce){.iris-overlay,.flight-bloom{display:none}.app-main{transform:none}.section-card,.capture-card,.moon-block,.review-invite,.day-events,.stack-flags,.task-note{transition:none}}@media (width<=480px){.app-nav a{padding:.26rem .55rem;font-size:.85rem}.wordmark{font-size:1.15rem}}.room-viewport{z-index:0;pointer-events:none;perspective:1000px;perspective-origin:50%;contain:strict;position:fixed;inset:0;overflow:hidden}.room-viewport--front{z-index:2}.room-rig{transform-style:preserve-3d;will-change:transform;position:absolute;inset:0}.room-stage{transform-style:preserve-3d;will-change:transform;animation:.85s cubic-bezier(.22,1,.36,1) both room-enter,16s ease-in-out .85s infinite alternate room-idle;position:absolute;inset:0}@keyframes room-enter{0%{transform:translateZ(-90px)}to{transform:translateZ(0)}}@keyframes room-idle{0%{transform:translateZ(0)}to{transform:rotateY(.5deg)rotateX(.35deg)translateY(5px)}}.stage-base{background:var(--bg);transition:background-color .8s;position:absolute;inset:-8%;transform:translateZ(-620px)scale(1.62)}.room-stage.stage-settled{animation:16s ease-in-out infinite alternate room-idle}.room-stage.arrive-zoom,.room-stage.arrive-zoomfar{transform-origin:81% 56%;animation:1.2s cubic-bezier(.16,1,.3,1) .1s both arrive-zoom}@keyframes arrive-zoom{0%{transform:scale(3.1)rotateY(-16deg)}to{transform:scale(1)rotateY(0)}}.room-stage.depart-zoom{transform-origin:94% 37%;transform-style:flat;perspective:1000px;animation:1.15s cubic-bezier(.55,0,.8,.2) forwards depart-zoom}@keyframes depart-zoom{0%{opacity:1;transform:scale(1)}80%{opacity:1}to{opacity:0;transform:scale(7)}}@property --stage-feather{syntax:"<percentage>";inherits:false;initial-value:150%}.room-stage.depart-back{transform-origin:64% 38%;transform-style:flat;perspective:1000px;-webkit-mask-image:radial-gradient(ellipse closest-side at 50% 50%, #000 calc(var(--stage-feather) - 55%), transparent var(--stage-feather));-webkit-mask-image:radial-gradient(ellipse closest-side at 50% 50%, #000 calc(var(--stage-feather) - 55%), transparent var(--stage-feather));mask-image:radial-gradient(ellipse closest-side at 50% 50%, #000 calc(var(--stage-feather) - 55%), transparent var(--stage-feather));animation:1.3s cubic-bezier(.45,.1,.3,1) forwards depart-back}@keyframes depart-back{0%{opacity:1;--stage-feather:140%;transform:scale(1)}12%{--stage-feather:100%}55%{opacity:1}90%{opacity:0}to{opacity:0;--stage-feather:84%;transform:scale(.45)}}.room-stage.arrive-back{transform-origin:64% 38%;animation:1.5s cubic-bezier(.16,1,.3,1) both arrive-back}@keyframes arrive-back{0%{transform:scale(1.2)}to{transform:scale(1)}}.room-stage.depart-forward{transform-origin:64% 38%;transform-style:flat;perspective:1000px;animation:1.3s cubic-bezier(.55,0,.8,.2) forwards depart-forward}@keyframes depart-forward{0%{opacity:1;transform:scale(1)}80%{opacity:1}to{opacity:0;transform:scale(3.2)}}.room-stage.arrive-forward{transform-origin:64% 38%;animation:1.3s cubic-bezier(.16,1,.3,1) .1s both arrive-forward}@keyframes arrive-forward{0%{transform:scale(.28)}to{transform:scale(1)}}.room-stage.depart-unzoom,.room-stage.depart-unzoomfar{transform-origin:81% 56%;transform-style:flat;perspective:1000px;animation:.9s cubic-bezier(.55,0,.8,.2) forwards depart-unzoom}@keyframes depart-unzoom{0%{opacity:1;transform:scale(1)}60%{opacity:1}to{opacity:0;transform:scale(2.6)}}.room-stage.arrive-unzoom{transform-origin:94% 37%;transform-style:flat;perspective:1000px;animation:1.3s cubic-bezier(.16,1,.3,1) 80ms both arrive-unzoom}@keyframes arrive-unzoom{0%{transform:scale(5)}to{transform:scale(1)}}.room-stage.depart-rise{animation:.9s cubic-bezier(.3,.7,.3,1) forwards depart-rise}@keyframes depart-rise{0%{opacity:1;transform:translateY(0)}80%{opacity:1}to{opacity:0;transform:translateY(58%)}}.room-stage.arrive-rise{animation:.95s cubic-bezier(.3,.7,.3,1) both arrive-rise}@keyframes arrive-rise{0%{transform:translateY(-58%)}to{transform:translateY(0)}}.room-stage.arrive-sink{animation:.95s cubic-bezier(.3,.7,.3,1) both arrive-sink}@keyframes arrive-sink{0%{transform:translateY(58%)}to{transform:translateY(0)}}.room-stage.depart-sink{animation:.9s cubic-bezier(.3,.7,.3,1) forwards depart-sink}@keyframes depart-sink{0%{opacity:1;transform:translateY(0)}80%{opacity:1}to{opacity:0;transform:translateY(-58%)}}.plane{transform:translateZ(calc(var(--z) * 1px)) scale(calc((1000 - var(--z)) / 1000));position:absolute;inset:-8%}.plane--top{height:46%;inset:-4% -8% auto}.plane--bottom{height:46%;inset:auto -8% -4%}.plane--left{width:40%;inset:-8% auto -8% -4%}.plane--right{width:40%;inset:-8% -4% -8% auto}.plane--top-left{width:24%;height:44%;inset:-4% auto auto -3%}.plane--top-right{width:24%;height:44%;inset:-4% -3% auto auto}.plane-skin{position:absolute;inset:0}.plate-svg{width:100%;height:100%;position:absolute;inset:0}.room-viewport--front .plane--left{-webkit-mask-image:linear-gradient(90deg,#000 34%,#0000 88%);mask-image:linear-gradient(90deg,#000 34%,#0000 88%)}.room-viewport--front .plane--right{-webkit-mask-image:linear-gradient(270deg,#000 34%,#0000 88%);mask-image:linear-gradient(270deg,#000 34%,#0000 88%)}.room-viewport--front .plane--top{-webkit-mask-image:linear-gradient(#000 30%,#0000 90%);mask-image:linear-gradient(#000 30%,#0000 90%)}.room-viewport--front .plane--top-left{-webkit-mask-image:linear-gradient(135deg,#000 42%,#0000 82%);mask-image:linear-gradient(135deg,#000 42%,#0000 82%)}.room-viewport--front .plane--top-right{-webkit-mask-image:linear-gradient(225deg,#000 42%,#0000 82%);mask-image:linear-gradient(225deg,#000 42%,#0000 82%)}.room-viewport--front .plane{opacity:.9}@media (width<=700px){.room-viewport--front .plane--top-left,.room-viewport--front .plane--top-right{display:none}}.room-veil{--veil-a:26%;--veil-b:68%;--veil-c:76%;--veil-d:52%;background:linear-gradient(180deg, transparent 0, color-mix(in srgb, var(--bg) var(--veil-a), transparent) 20%, color-mix(in srgb, var(--bg) var(--veil-b), transparent) 44%, color-mix(in srgb, var(--bg) var(--veil-c), transparent) 74%, color-mix(in srgb, var(--bg) var(--veil-d), transparent) 100%);transition:background .8s;position:absolute;inset:0}:root:not([data-daypart]) .room-veil,:root[data-daypart=day] .room-veil{--veil-a:10%;--veil-b:30%;--veil-c:34%;--veil-d:22%}:root[data-daypart=dawn] .room-veil,:root[data-daypart=dusk] .room-veil{--veil-a:18%;--veil-b:48%;--veil-c:54%;--veil-d:38%}:root{--room-wood:color-mix(in srgb, var(--shore) 62%, var(--gold));--room-frame:color-mix(in srgb, var(--shore) 80%, var(--text));--room-wall:color-mix(in srgb, var(--shore) 55%, var(--bg));--room-leaf:color-mix(in srgb, var(--teal) 72%, var(--sky-low));--room-clay:color-mix(in srgb, var(--rose) 55%, var(--gold));--room-paper:color-mix(in srgb, var(--surface) 85%, var(--gold));--room-slot:color-mix(in srgb, var(--bg) 70%, #000);--lh-body:color-mix(in srgb, var(--shore) 68%, var(--sky-low))}.sky-wash{background:linear-gradient(180deg, var(--sky-top), var(--sky-low));height:60%;transition:background .8s;position:absolute;inset:0 0 auto;-webkit-mask-image:linear-gradient(#000 78%,#0000);mask-image:linear-gradient(#000 78%,#0000)}.stars{opacity:0;background-size:340px 260px;transition:opacity .8s;position:absolute;inset:0 0 40%}.stars-a{background-image:radial-gradient(2px 2px at 12% 22%,#fffffff2,#0000 55%),radial-gradient(2.5px 2.5px at 57% 15%,#e9cd7af2,#0000 55%),radial-gradient(1.5px 1.5px at 71% 33%,#ffffffd9,#0000 55%),radial-gradient(2px 2px at 88% 20%,#fffc,#0000 55%),radial-gradient(1.5px 1.5px at 22% 55%,#ffffffa6,#0000 55%);animation:7s ease-in-out infinite alternate twinkle}.stars-b{background-image:radial-gradient(1.5px 1.5px at 34% 41%,#fffc,#0000 55%),radial-gradient(2px 2px at 46% 66%,#e9cd7ab3,#0000 55%),radial-gradient(1.5px 1.5px at 79% 58%,#ffffffb3,#0000 55%),radial-gradient(1px 1px at 63% 47%,#fff9,#0000 55%),radial-gradient(2px 2px at 5% 72%,#fff9,#0000 55%);animation:9.5s ease-in-out -4s infinite alternate twinkle}@keyframes twinkle{0%{opacity:var(--stars-lo,.35)}to{opacity:var(--stars-hi,1)}}:root[data-daypart=night] .stars{--stars-lo:.45;--stars-hi:1;opacity:1}:root[data-daypart=dusk] .stars{--stars-lo:.25;--stars-hi:.7;opacity:.7}:root[data-daypart=dawn] .stars{--stars-lo:.1;--stars-hi:.25;opacity:.25}:root:not([data-daypart]) .stars,:root[data-daypart=day] .stars{animation:none}.cloud{filter:blur(16px);background:var(--cloud,#ffffff80);opacity:.7;border-radius:50%;transition:background .8s;position:absolute}:root[data-daypart=night] .cloud{--cloud:#c8beeb0d}:root[data-daypart=dusk] .cloud{--cloud:#e9cdaa1a}:root[data-daypart=dawn] .cloud{--cloud:#fff0e68c}.cloud-1{width:30%;height:7%;animation:140s ease-in-out infinite alternate cloud-drift;top:8%;left:6%}.cloud-2{width:24%;height:5%;animation:180s ease-in-out -60s infinite alternate-reverse cloud-drift;top:17%;left:48%}.cloud-3{opacity:.45;width:34%;height:6%;animation:220s ease-in-out -120s infinite alternate cloud-drift;top:27%;left:22%}@keyframes cloud-drift{0%{transform:translate(-6vw)}to{transform:translate(6vw)}}.orb{background:radial-gradient(circle at 38% 35%, var(--orb), color-mix(in srgb, var(--orb) 72%, var(--sky-top)));width:54px;height:54px;box-shadow:0 0 44px 14px var(--orb-glow);border-radius:50%;transition:background .8s,box-shadow .8s;position:absolute;top:15%;right:12%}.orb--big{width:78px;height:78px;top:15%;left:22%;right:auto}.stage-dock .orb{top:14%;left:11%;right:auto}.stage-observatory .orb--big{left:auto;right:14%}.mushroom-glow{animation:7s ease-in-out infinite alternate halo-breathe}.orb-halo{background:radial-gradient(circle, var(--orb-glow), transparent 70%);border-radius:50%;animation:8s ease-in-out infinite alternate halo-breathe;position:absolute;inset:-46px}@keyframes halo-breathe{0%{opacity:.45;transform:scale(.92)}to{opacity:1;transform:scale(1.08)}}.water-wash{background:linear-gradient(180deg, var(--water) 0, color-mix(in srgb, var(--water) 55%, var(--bg)) 34%, color-mix(in srgb, var(--water) 22%, var(--bg)) 70%, transparent 100%);transition:background .8s;animation:16s ease-in-out infinite alternate water-breathe;position:absolute;inset:46% 0 0}@keyframes water-breathe{0%{transform:translateY(0)}to{transform:translateY(5px)}}.reflection{background:linear-gradient(180deg, var(--orb-glow), transparent 80%);filter:blur(9px);border-radius:50%;width:72px;height:26%;animation:5.5s ease-in-out infinite alternate shimmer;position:absolute;top:46%}.reflection--right{right:11%}.reflection--lighthouse{opacity:.8;width:54px;right:22%}.reflection--center{left:58%}@keyframes shimmer{0%{opacity:.5;transform:scaleX(.94)}to{opacity:1;transform:scaleX(1.05)}}.farshore{opacity:.85;width:100%;height:7%;position:absolute;top:40.5%;left:0;right:0}.beacon,.beacon-glow{animation:5s ease-in-out infinite beacon-blink}@keyframes beacon-blink{0%,58%,to{opacity:.12}70%,84%{opacity:1}}.mist{filter:blur(18px);background:radial-gradient(closest-side, var(--mist,#ebe4fa29), transparent);height:12%;transition:background .8s;position:absolute;left:-12%;right:-12%}:root:not([data-daypart]) .mist,:root[data-daypart=day] .mist,:root[data-daypart=dawn] .mist{--mist:#fffcf647}.mist-a{animation:90s ease-in-out infinite alternate mist-drift;top:42%}.mist-b{opacity:.75;animation:150s ease-in-out -45s infinite alternate-reverse mist-drift;top:51%}@keyframes mist-drift{0%{transform:translate(-5vw)scaleY(1)}to{transform:translate(5vw)scaleY(1.15)}}.motes{opacity:0;transition:opacity .8s;position:absolute;inset:46% 0 0}.motes--dust{opacity:.55;inset:18% 10% 30%}:root[data-daypart=night] .motes--fireflies{opacity:1}:root[data-daypart=dusk] .motes--fireflies{opacity:.7}:root[data-daypart=night] .motes--dust,:root[data-daypart=dusk] .motes--dust{opacity:.8}.fly{background:var(--gold-bright);width:4px;height:4px;box-shadow:0 0 8px 2px var(--orb-glow);animation:fly-wander var(--dur,18s) ease-in-out var(--delay,0s) infinite alternate, fly-glow 3.4s ease-in-out var(--delay,0s) infinite alternate;border-radius:50%;position:absolute}.motes--dust .fly{width:3px;height:3px;box-shadow:0 0 6px 1px var(--orb-glow)}.fly-1{--dur:21s;top:30%;left:12%}.fly-2{--dur:16s;--delay:-6s;top:55%;left:30%}.fly-3{--dur:24s;--delay:-11s;top:38%;left:55%}.fly-4{--dur:14s;--delay:-3s;top:62%;left:72%}.fly-5{--dur:19s;--delay:-9s;top:34%;left:88%}@keyframes fly-wander{0%{transform:translate(0)}25%{transform:translate(4vw,-3vh)}50%{transform:translate(-2vw,-6vh)}75%{transform:translate(3vw,-2vh)}to{transform:translate(-3vw,2vh)}}@keyframes fly-glow{0%{opacity:.15}to{opacity:1}}.rowboat{transform-box:fill-box;transform-origin:50%;animation:6.5s ease-in-out infinite alternate boat-bob}@keyframes boat-bob{0%{transform:rotate(-.9deg)translateY(0)}to{transform:rotate(.9deg)translateY(3px)}}.lantern-glow,.lantern-pane{animation:5s ease-in-out infinite lantern-flicker}@keyframes lantern-flicker{0%,to{opacity:1}13%{opacity:.78}24%{opacity:.95}46%{opacity:.8}62%{opacity:1}81%{opacity:.87}}.ripples-a{animation:9s ease-in-out infinite alternate ripple-drift}.ripples-b{animation:13s ease-in-out -5s infinite alternate-reverse ripple-drift}@keyframes ripple-drift{0%{transform:translate(-10px)}to{transform:translate(10px)}}.sway-slow{transform-origin:50% 0;animation:9s ease-in-out infinite alternate sway}@keyframes sway{0%{transform:rotate(-1.4deg)}to{transform:rotate(1.4deg)}}.spin-slow{transform-box:fill-box;transform-origin:50%;animation:46s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.scale-beam{transform-box:fill-box;transform-origin:50% 8%;animation:11s ease-in-out infinite alternate weigh}@keyframes weigh{0%{transform:rotate(-1.6deg)}to{transform:rotate(1.6deg)}}.beam-sweep{transform-box:fill-box;transform-origin:100%;animation:13s ease-in-out infinite alternate beam-sweep}@keyframes beam-sweep{0%{opacity:.16;transform:rotate(-6deg)}50%{opacity:.38}to{opacity:.2;transform:rotate(7deg)}}.sail-drift{animation:150s ease-in-out infinite alternate sail-drift}@keyframes sail-drift{0%{transform:translate(-7vw)}to{transform:translate(9vw)}}.reed-sway{transform-box:fill-box;transform-origin:50% 100%;animation:7.5s ease-in-out infinite alternate reed-sway}@keyframes reed-sway{0%{transform:rotate(-1.7deg)}to{transform:rotate(1.9deg)}}.tail-sway{transform-box:fill-box;transform-origin:8% 92%;animation:5.5s ease-in-out infinite alternate tail-sway}@keyframes tail-sway{0%{transform:rotate(-7deg)}to{transform:rotate(9deg)}}.gh-pool{background:radial-gradient(50% 45% at 50% 40%, var(--orb-glow), transparent 72%);animation:10s ease-in-out infinite alternate halo-breathe;position:absolute;inset:20% 15% 25%}.post-wall{background:radial-gradient(42% 34% at 76% 8%, color-mix(in srgb, var(--orb-glow) 70%, transparent), transparent 78%), linear-gradient(180deg, color-mix(in srgb, var(--gold) 10%, var(--bg)), var(--bg) 80%);transition:background .8s;position:absolute;inset:0}.desk-wall{background:repeating-linear-gradient(90deg, color-mix(in srgb, var(--room-wood) 30%, transparent) 0 88px, color-mix(in srgb, var(--room-wood) 44%, transparent) 88px 92px);opacity:.5;position:absolute;inset:0}.desk-glow{background:radial-gradient(46% 42% at 55% 65%, var(--orb-glow), transparent 74%);animation:9s ease-in-out infinite alternate halo-breathe;position:absolute;inset:30% 10% 10% 25%}@media (prefers-reduced-motion:reduce){.room-stage.arrive-zoom,.room-stage.arrive-zoomfar,.room-stage.arrive-unzoom,.room-stage.arrive-unzoomfar,.room-stage.arrive-back,.room-stage.arrive-sink,.room-stage.arrive-rise,.room-stage.arrive-forward,.room-stage.depart-zoom,.room-stage.depart-unzoom,.room-stage.depart-unzoomfar,.room-stage.depart-zoomfar,.room-stage.depart-back,.room-stage.depart-sink,.room-stage.depart-rise,.room-stage.depart-forward,.room-stage.stage-settled,.room-stage,.stars,.cloud,.orb-halo,.water-wash,.reflection,.beacon,.beacon-glow,.mist,.fly,.rowboat,.lantern-glow,.lantern-pane,.ripples-a,.ripples-b,.sway-slow,.spin-slow,.scale-beam,.beam-sweep,.sail-drift,.reed-sway,.tail-sway,.gh-pool,.desk-glow{animation:none}.sky-wash,.cloud,.water-wash,.room-veil,.gh-light,.post-wall{transition:none}}@media (width<=480px){.orb{width:46px;height:46px;top:20%;right:8%}.orb--big{width:60px;height:60px}.reflection--right{right:9%}.plane--left,.plane--right{width:52%}.room-viewport--front .plane--left{-webkit-mask-image:linear-gradient(90deg,#000 18%,#0000 62%);mask-image:linear-gradient(90deg,#000 18%,#0000 62%)}.room-viewport--front .plane--right{-webkit-mask-image:linear-gradient(270deg,#000 18%,#0000 62%);mask-image:linear-gradient(270deg,#000 18%,#0000 62%)}}.shore-world{z-index:0;pointer-events:none;position:fixed;inset:0}.shore-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.shore-world .room-veil{overflow:hidden;box-shadow:inset 0 0 14vmax #0a081833}.shore-world .room-veil:after{content:"";background:var(--grain) repeat;opacity:.055;mix-blend-mode:soft-light;pointer-events:none;background-size:128px 128px;animation:.7s steps(8,end) infinite film-grain;position:absolute;inset:-50%}@keyframes film-grain{0%,to{transform:translate(0)}12.5%{transform:translate(-2%,3%)}25%{transform:translate(3%,-1%)}37.5%{transform:translate(-1%,-3%)}50%{transform:translate(2%,2%)}62.5%{transform:translate(-3%,1%)}75%{transform:translate(1%,-2%)}87.5%{transform:translate(-2%,-1%)}}@media (prefers-reduced-motion:reduce){.shore-world .room-veil:after{animation:none}}
