/* Adapted from the inspected room-design visual reference, with new fallback markup.
   No legacy controller, account/ownership behavior, or storage interface is imported. */
:root{--rail:#eeeee6;--hero:#ebece0;--rail-width:224px}
body{font-size:15px;line-height:1.6}
a{color:var(--accent);text-underline-offset:4px}
header.room-rail{position:fixed;inset:0 auto 0 0;width:var(--rail-width);max-width:none;margin:0;padding:32px 24px;background:var(--rail);border:0;border-right:1px solid var(--line);display:block;z-index:10}
.brand{display:flex;align-items:center;gap:12px;font:23px/1.05 Georgia,serif;letter-spacing:-.035em;color:var(--ink)}
.brand-mark{display:grid;place-items:center;width:40px;height:47px;flex:none;background:var(--accent);color:var(--primary-text);border-radius:16px 16px 5px 5px;font:italic 29px Georgia,serif}
.brand-caption{display:block;font:8px/1.6 system-ui,sans-serif;letter-spacing:.1em;margin-top:12px;color:var(--muted)}
.rail-note{position:absolute;bottom:24px;left:24px;right:20px;font-size:12px;line-height:1.7;color:var(--muted);margin:0}.rail-note span{display:block;font-size:10px;margin-top:6px}
.room-nav{position:fixed;top:152px;left:16px;width:192px;max-height:calc(100dvh - 280px);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:3px;padding:0;z-index:11}
.room-nav a{display:flex;align-items:center;gap:11px;min-height:42px;padding:9px 12px;border-radius:7px;text-decoration:none;color:var(--ink);font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.room-nav a>span{font:19px Georgia,serif;width:19px;text-align:center;flex:none;color:var(--muted)}
.room-nav a:hover{background:var(--button)}.room-nav a[aria-current=page]{background:var(--button-hover);font-weight:700}
.practice-nav{border-block:1px solid var(--line);padding:14px 0;margin:13px 0}.nav-label{font-size:9px;letter-spacing:.13em;font-weight:750;padding:0 12px;margin:0 0 7px;color:var(--muted)}
main{max-width:1440px;margin:0 auto 0 var(--rail-width);padding:32px clamp(24px,4vw,64px) 44px;min-height:calc(100vh - 84px)}
footer{max-width:none;margin-left:var(--rail-width);padding:24px 40px;font-size:11px;background:var(--paper)}
.skip-link{position:fixed;left:240px;z-index:100}.skip-link:focus{top:8px}
.route-status{font-size:11px;margin:0 0 18px;min-height:18px;color:var(--muted)}.route-status:empty{display:none}
#main:focus,#home-title:focus,#room-view-heading:focus{outline:none}
.intro{position:relative;isolation:isolate;max-width:none;display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:24px;padding:32px 36px;background:var(--hero);border:1px solid var(--line);border-radius:16px;min-height:336px;margin:0 0 26px;overflow:hidden}
.intro h1{font-size:clamp(36px,3.8vw,56px);line-height:1.12;margin:16px 0 20px;letter-spacing:-.04em}.intro h1 em{color:var(--emphasis)}
.welcome-copy{position:relative;z-index:2}.welcome-copy>p:last-of-type{max-width:420px;font-size:14px;color:var(--muted)}
.welcome-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:24px}.welcome-actions a{font-size:12px}.desk-primary{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--accent);color:var(--primary-text);text-decoration:none;border-radius:7px;padding:13px 18px;min-height:46px;font-weight:650}
.desk-primary:hover{background:var(--primary-hover)}.desk-primary span{font-size:18px}
.desk-art{position:relative;height:260px;width:260px;max-width:100%;justify-self:center;isolation:isolate;margin-bottom:40px}
.glass-window{position:absolute;inset:0 8px 10px;border:3px solid var(--line);border-radius:140px 140px 0 0;background:linear-gradient(90deg,transparent 49%,var(--line) 49% 50%,transparent 50%),linear-gradient(0deg,transparent 35%,var(--line) 35% 36%,transparent 36% 66%,var(--line) 66% 67%,transparent 67%);opacity:.8;z-index:-1}
.desk-art img{position:absolute;inset:-28px -36px;width:calc(100% + 72px);height:calc(100% + 42px);object-fit:contain;transform:scaleX(-1);pointer-events:none}
.desk-art>span{position:absolute;top:calc(100% + 24px);left:0;right:0;text-align:center;font-size:8px;letter-spacing:.15em;color:var(--muted)}
.room-note{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding:4px 0 25px;margin-bottom:30px}.room-note h2{font-size:22px;margin:0 0 5px}.room-note p{font-size:12px;max-width:490px;margin:0}.room-note .eyebrow{font-size:9px;margin:0 0 5px}.room-note>.text-link{flex:none;font-size:12px}
.section-head{align-items:center;margin-bottom:20px}.section-head h2{font-size:30px;margin:0}.section-head .eyebrow{margin:0 0 8px}
.mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 24px}
.mode-grid a{position:relative;display:block;min-width:0;min-height:164px;padding:20px;background:var(--white);border:1px solid var(--line);border-radius:11px;text-decoration:none;color:var(--ink);box-shadow:var(--card-shadow)}
.mode-grid a:hover{background:var(--soft);border-color:var(--field-border)}.mode-grid strong,.mode-grid small,.mode-number{display:block}
.mode-grid strong{font:normal 24px/1.2 Georgia,serif;letter-spacing:-.02em;margin:16px 0 8px}.mode-grid small{font-size:12px;line-height:1.5;max-width:200px;color:var(--muted)}.mode-number{font-size:8px;letter-spacing:.11em;padding-right:18px;color:var(--muted)}.mode-arrow{position:absolute;top:15px;right:17px;font-size:19px;color:var(--muted)}
.home-footnote{padding:18px 0;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.home-footnote>span{font-size:8px;letter-spacing:.14em;font-weight:700}.home-footnote p{max-width:780px;margin:8px 0 0}
.view-heading{padding:4px 0 24px;max-width:none}.view-heading h1{font-size:38px;margin:8px 0 10px;line-height:1.15}.view-heading>p:last-child{font-size:13px;max-width:650px;margin:0;color:var(--muted)}.view-heading .eyebrow{font-size:9px}
.card{border-radius:12px;padding:24px;min-width:0;overflow-wrap:anywhere}
.workspace{grid-template-columns:minmax(0,1fr) 244px;gap:24px;align-items:start}
.workspace .desk{padding:0;min-width:0;overflow:hidden;background:var(--white)}
.desk-page-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 22px;border-bottom:1px solid var(--line)}.desk-page-heading .eyebrow{margin:0;font-size:8px}.pill{font-size:10px;color:var(--muted)}
.desk .section-head{padding:22px 24px 0;margin-bottom:18px}.desk .section-head h2{font-size:24px}.text-link{font-size:12px}
.desk>label{margin:12px 24px 6px;font-size:12px}.desk>input{width:calc(100% - 48px);margin:0 24px 10px;font-size:20px;font-family:Georgia,serif;background:transparent;border-width:0 0 1px;border-radius:0;padding:8px 0}
.workspace #draft{border:0;border-radius:0;width:100%;padding:14px 24px 28px;min-height:55vh;font:18px/1.9 Georgia,serif;outline-offset:-4px;background:var(--field);color:var(--ink)}
.desk .editor-foot{padding:12px 24px;margin:0;border-top:1px solid var(--line);font-size:11px}.desk>#sprint-change{margin:12px 24px}
.desk .save-area{margin:0;padding:22px 24px;background:var(--soft);border-top:1px solid var(--line)}.save-area h3{font-size:21px}.save-area>p{font-size:12px}.save-area .status{font-size:13px}.save-area .fine{font-size:11px}.save-area button,.save-area .file-button{font-size:12px}
.workspace aside{display:block;min-width:0}.workspace aside .card{padding:22px 18px;margin-bottom:16px}.workspace aside h2{font-size:24px;margin:4px 0 16px}.timer .eyebrow{font-size:8px;margin:0 0 6px}.timer{background:var(--soft)}
.clock{font-size:54px;margin:16px 0;font-variant-numeric:tabular-nums}.timer .actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.timer #start,.timer #next-phase{grid-column:1/-1}.timer .actions button{padding:10px 6px;font-size:12px}.timer label{font-size:11px}.timer input{font-size:14px}.timer .fine{font-size:11px}.timer .status{font-size:12px}
.session-options>summary,.device-guidance>summary{font-size:12px;min-height:36px;font-weight:650}.practice-picker{max-width:none;padding:0;margin:16px 0 0;border:0;border-radius:0;background:transparent}.practice-picker h2{font-size:20px}.practice-picker label,.practice-picker p,.practice-picker .status{font-size:11px}.practice-picker select{font-size:13px}.practice-picker .check-label{align-items:flex-start}.check-label input{margin-top:4px}.device-guidance section{margin-top:16px}.device-guidance p,.device-guidance label{font-size:12px}.device-guidance select{font-size:13px}
.project-library,.writing-backup{max-width:100%;margin:0 0 24px}.project-library>summary,.writing-backup>summary{font-size:27px;line-height:1.3;padding-bottom:8px}.project-library .actions,.writing-backup .actions{margin:16px 0}.project-library>p,.writing-backup>p{font-size:13px;max-width:800px}.project-library select{font-size:14px}
.settings-view{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:22px;align-items:start}.settings-card h2{font-size:30px}.settings-card p{max-width:600px}.appearance-options{margin-top:20px;padding-top:18px}.appearance-options summary{font-size:14px}.appearance-options label{font-size:13px}.quiet-card{background:var(--soft)}.quiet-card h3{font-size:24px}
.about-view h2{font-size:30px}.about-view .card>p{max-width:800px;font-size:14px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:30px 0 20px}.help-grid h3{font-size:23px}.help-grid p{font-size:13px}.scope{margin-top:28px;padding-bottom:0}.scope p{font-size:13px}.scope summary{font-size:14px;min-height:44px}
button,.file-button{border-radius:7px;min-height:42px}.eyebrow{letter-spacing:.15em}input,textarea,select{max-width:100%}
body[data-room-theme="greenhouse"]{--rail:#e5e5d7;--hero:#f5f4e8;background-image:linear-gradient(110deg,#f9f6ebdd,#edf0e1bd),repeating-linear-gradient(90deg,transparent 0 178px,#a2b39a75 179px 182px,transparent 183px 360px),repeating-linear-gradient(0deg,transparent 0 218px,#a2b39a55 219px 222px,transparent 223px 440px)}
body[data-room-theme="greenhouse"] .intro{background:linear-gradient(100deg,#faf7ec 0%,#f6f4e8 53%,#e9eedb 100%);box-shadow:inset 0 0 0 5px #fffff7,0 10px 28px #49543a12}
body[data-room-theme="greenhouse"][data-room-art="on"]::before{background-size:360px auto;background-position:left -170px bottom -160px;opacity:.65}
body[data-room-theme="midnight"]{--rail:#101a2bf5;--hero:#14243a;background-color:#101a2b}
body[data-room-theme="midnight"][data-room-art="on"]{background-image:linear-gradient(#101a2b25,#101a2b45),url('assets/midnight-observatory-room.png');background-size:cover;background-position:center top;background-attachment:fixed;background-repeat:no-repeat}
body[data-room-theme="midnight"][data-room-art="on"]::before{background-image:none}
body[data-room-theme="midnight"] .intro{background:linear-gradient(90deg,#101a2bf5 0%,#142035ed 43%,#14203555 72%,#14203518 100%);border-color:#a88c5f;box-shadow:inset 0 0 0 4px #c6a16b0c,0 6px 25px #0004}
body[data-room-theme="midnight"] .welcome-copy{background:#101a2bef;box-shadow:0 0 0 12px #101a2bef;border-radius:6px}
body[data-room-theme="midnight"] .desk-art{visibility:hidden}
body[data-room-theme="midnight"] .room-note,body[data-room-theme="midnight"] .home-footnote,body[data-room-theme="midnight"] .view-heading,body[data-room-theme="midnight"] .route-status{background:#101a2bef;box-shadow:0 0 0 10px #101a2bef;border-radius:10px}
body[data-room-theme="midnight"] .room-note{border-color:var(--line)}
body[data-room-theme="midnight"] .practice-section>.section-head{background:#101a2bf2;box-shadow:0 0 0 10px #101a2bf2;border-radius:10px}
body[data-room-theme="midnight"] .brand-mark{border-radius:50%;background:#263c55;color:#dfca94;border:1px solid #af9869}
body[data-room-theme="midnight"] .room-nav a[aria-current=page]{background:#cdb582;color:#152338}body[data-room-theme="midnight"] .room-nav a[aria-current=page]>span{color:#152338}
body[data-room-theme="midnight"] .workspace .desk{--ink:#223247;--muted:#526073;--white:#faf4e6;--field:#faf4e6;--soft:#eae3d4;--line:#b8ad91;--accent:#354d68;--primary-text:#ffffff;--primary-hover:#23394f;--button:#eae3d4;--button-hover:#ddd4be;--field-border:#718092;--placeholder:#526073;--focus:#354d68;color:var(--ink)}
body[data-room-art="off"] .desk-art{visibility:hidden}body[data-room-art="off"]::before{background-image:none}
body[data-room-theme="midnight"][data-room-art="off"]{background-image:none}
@media(min-width:1700px){main{max-width:1500px}}
@media(max-width:1200px) and (min-width:1000px){:root{--rail-width:204px}.room-nav{width:172px}header.room-rail{padding-inline:20px}main{padding:28px}.intro{padding:26px}.desk-art{width:220px;height:240px}.mode-grid a{padding:17px}.mode-grid strong{font-size:22px}.workspace{grid-template-columns:minmax(0,1fr) 220px;gap:16px}.room-note>.text-link{max-width:130px;flex:0 0 auto}}
@media(max-width:999px){header.room-rail{position:static;width:auto;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:20px}.brand-mark{width:34px;height:38px;font-size:25px}.brand-caption{display:none}.rail-note{position:static;max-width:200px;font-size:11px}.rail-note span{font-size:9px}.room-nav{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 6px;width:auto;max-height:none;padding:10px 20px;background:var(--rail);border-bottom:1px solid var(--line)}.room-nav>a{justify-content:center}.practice-nav{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px;border-block:1px solid var(--line);margin:5px 0;padding:7px 0}.practice-nav .nav-label{display:none}.practice-nav a{flex:1 1 125px;font-size:12px;min-height:40px;justify-content:center}.room-nav>.nav-label{display:none}.room-nav>a[data-room-route=settings],.room-nav>a[data-room-route=about]{justify-content:flex-start;font-size:12px}.room-nav>a[data-room-route=about]{grid-column:2/-1}main,footer{margin-left:0}main{padding:24px}.skip-link{left:16px}.intro h1{font-size:43px}.workspace{grid-template-columns:minmax(0,1fr) 230px;gap:18px}.room-note>.text-link{max-width:150px;flex:0 0 auto}}
@media(max-width:760px){.workspace{display:flex;flex-direction:column;gap:18px}.workspace .desk{width:100%;order:2}.workspace aside{width:100%;order:1;display:grid;grid-template-columns:1fr 1fr;gap:12px}.workspace aside .timer{grid-column:1/-1;margin:0;padding:16px 18px}.timer .eyebrow,.timer h2{display:none}.timer #phase-label{margin:0 0 8px}.timer #timer-controls{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;align-items:center}.timer #minutes-label{grid-column:1;font-size:11px;margin:0}.timer #minutes{grid-column:1;grid-row:2;font-size:16px;margin:4px 0 10px;padding:7px 10px}.timer #clock{grid-column:2;grid-row:1/3;font-size:44px;text-align:center;margin:0}.timer .actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.timer .actions button{min-height:44px;overflow-wrap:normal}.timer #start,.timer #next-phase{grid-column:auto}.timer .status{margin:12px 0 6px}.timer .fine{margin:0;font-size:10px}.workspace aside .session-options,.workspace aside .device-guidance{margin:0;padding:13px 15px}.workspace aside .session-options[open],.workspace aside .device-guidance[open]{grid-column:1/-1}.workspace #draft{min-height:50svh;font-size:18px}.settings-view{grid-template-columns:1fr}}
@media(max-width:700px){main{padding:20px 16px 35px}.intro{grid-template-columns:1fr;padding:27px 23px;min-height:0}.intro h1{font-size:41px}.desk-art{display:none}.welcome-copy>p:last-of-type{font-size:13px}.welcome-actions{gap:16px}.welcome-actions .desk-primary{width:100%}.room-note{display:block;padding-bottom:20px;margin-bottom:25px}.room-note>.text-link{display:inline-block;max-width:none;margin-top:14px}.mode-grid{grid-template-columns:1fr 1fr;gap:10px}.mode-grid a{min-height:156px;padding:16px 13px}.mode-grid strong{font-size:22px}.mode-grid small{font-size:11px}.mode-number{font-size:7px;letter-spacing:.08em}.mode-arrow{font-size:16px;right:10px;top:10px}.practice-section .section-head>.fine{display:none}.practice-section h2{font-size:28px}.view-heading h1{font-size:32px}.view-heading .eyebrow{display:none}.desk-page-heading{padding:12px 16px}.desk .section-head{padding:20px 20px 0}.desk .section-head h2{font-size:22px}.desk>label{margin-inline:20px}.desk>input{margin-inline:20px;width:calc(100% - 40px)}.workspace #draft{padding:16px 20px 28px}.desk .editor-foot{padding:12px 20px}.desk .save-area{padding:18px 20px}.help-grid{grid-template-columns:1fr;gap:16px}.card{padding:20px}.room-nav{padding:8px 12px}.room-nav a{font-size:12px;gap:7px;padding:9px 7px;min-height:44px}.room-nav a>span{font-size:17px;width:17px}.rail-note{max-width:145px}.room-nav>a[data-room-route=backups]{font-size:11px}.project-library>summary,.writing-backup>summary{font-size:25px}.actions>button,.actions>.file-button{min-width:0;overflow-wrap:anywhere}input,select,textarea,.practice-picker select,.device-guidance select{font-size:16px}footer{padding:20px;font-size:10px}}
@media(max-width:380px){.mode-grid{grid-template-columns:1fr}.mode-grid a{min-height:132px}.intro h1{font-size:35px}.room-nav>a>span{display:none}.workspace aside{grid-template-columns:1fr}.desk-page-heading{flex-wrap:wrap;gap:4px}.timer #clock{font-size:39px}.rail-note{display:none}}
@media(max-height:700px) and (min-width:1000px){header.room-rail{padding-top:20px}.room-nav{top:126px;max-height:calc(100dvh - 140px)}.rail-note{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(forced-colors:active){.desk-art,body::before{display:none}body,.intro,header.room-rail,.room-nav,.room-note,.card,.mode-grid a,.view-heading,footer{background:Canvas!important;color:CanvasText!important}.room-nav a[aria-current=page]{outline:2px solid Highlight}.brand-mark{color:CanvasText;background:Canvas;border:1px solid CanvasText}}
