@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Instrument+Serif:ital@0;1&display=swap');
:root{--night:#17201d;--ink:#202923;--paper:#f2ecdf;--paper2:#e8dfce;--moss:#42624e;--sage:#8fa58f;--clay:#b96c4b;--gold:#c3a66b;--line:rgba(41,56,46,.17);--shadow:0 30px 90px rgba(22,29,24,.13)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
.console{min-height:100svh;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}
.console button,.console input,.console textarea,.console select{font:inherit}
.console button{cursor:pointer}
.life-place{display:grid;grid-template-columns:210px 1fr;grid-template-rows:80px 27px auto auto;background-image:radial-gradient(circle at 78% 8%,rgba(255,255,255,.8),transparent 24%),linear-gradient(115deg,transparent 0 55%,rgba(106,124,102,.06) 55% 55.2%,transparent 55.2%)}
.place-rail{position:fixed;z-index:60;inset:0 auto 0 0;width:210px;padding:30px 20px 24px;display:flex;flex-direction:column;background:#1b2520;color:#e9e3d8;border-right:1px solid #35433b}
.brand{display:grid;grid-template-columns:auto 1fr;align-items:end;width:max-content;border:0;background:transparent;color:#f3eee4;text-align:left}
.brand b{font:400 31px/1 "Instrument Serif";letter-spacing:-.03em}
.brand i{margin:0 0 2px 7px;color:#aebb9f;font:500 9px "DM Sans";letter-spacing:.18em}
.brand span{grid-column:1/-1;margin-top:7px;color:#87968a;font-size:8px;letter-spacing:.16em;text-transform:uppercase}
.place-rail nav{display:grid;gap:2px;margin-top:68px}
.help-wrap{position:relative;display:block}
.place-rail nav button{width:100%;height:44px;padding:0 11px;display:flex;align-items:center;gap:15px;border:0;border-radius:2px;background:transparent;color:#829087;font-size:9px;font-weight:600;letter-spacing:.17em;text-align:left;transition:.2s}
.place-rail nav button small{color:#59675e;font-size:7px}
.place-rail nav button:hover{color:#f2eee5;background:#ffffff08}
.place-rail nav button.active{background:#e9e2d5;color:#1b2520;box-shadow:0 12px 35px #0003}
.place-rail nav button.active small{color:#9b654f}
.help-wrap:hover:after{content:attr(data-help);position:absolute;z-index:100;left:195px;top:0;width:240px;padding:13px;background:#18211d;color:#d8d3ca;font-size:10px;line-height:1.55;box-shadow:0 18px 50px #0005}
.rail-bottom{margin-top:auto}
.rail-bottom p{color:#7f8d84;font:italic 17px/1.25 "Instrument Serif"}
.rail-bottom a{margin-top:19px;padding-top:14px;display:flex;justify-content:space-between;border-top:1px solid #39463e;color:#baa48d;text-decoration:none;font-size:8px;letter-spacing:.13em}
.place-header{grid-column:2;grid-row:1;padding:0 max(28px,calc((100vw - 1340px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.place-header>div:first-child{display:grid;gap:5px}
.place-header span{color:#899184;font-size:8px;letter-spacing:.16em}
.place-header b{font:400 16px "Instrument Serif"}
.utilities{display:flex;align-items:center;gap:17px}
.save-state{color:#829080!important;font-size:7px!important}
.settings-trigger{height:32px;padding:0 12px;border:1px solid var(--line);background:transparent;color:#59645c;font-size:7px;letter-spacing:.11em}
.status-line{grid-column:2;grid-row:2;padding:0 max(28px,calc((100vw - 1340px)/2));display:flex;align-items:center;justify-content:space-between;color:#96998f;font-size:7px;letter-spacing:.1em}
.status-line i{color:#a16d55;font-style:normal}
.console-stage{grid-column:2;grid-row:3;width:min(1130px,calc(100% - 56px));margin:auto;padding:37px 0 100px}
.page{display:grid;gap:19px;animation:arrive .42s ease both}
@keyframes arrive{from{opacity:.25;transform:translateY(8px)}}
.morning-room{min-height:390px;padding:58px clamp(35px,6vw,84px);display:grid;grid-template-columns:1fr 220px;align-items:center;overflow:hidden;background:linear-gradient(105deg,rgba(18,31,24,.97),rgba(34,55,42,.88)),radial-gradient(circle at 80% 30%,#98a98b,transparent 35%);color:#f0ebe0;box-shadow:var(--shadow);position:relative}
.morning-room:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(112deg,transparent 0 57px,rgba(255,255,255,.018) 58px 59px)}
.morning-copy{position:relative}
.morning-copy p{margin:0 0 18px;color:#b8a77e;font-size:8px;letter-spacing:.22em}
.morning-copy h1{margin:0;font:400 clamp(48px,6vw,78px)/.94 "Instrument Serif";letter-spacing:-.035em}
.morning-copy span{max-width:520px;margin-top:23px;display:block;color:#aeb8ad;font-size:12px;line-height:1.75}
.breath-orb{position:relative;width:174px;height:174px;justify-self:end;display:grid;place-items:center;align-content:center;border:1px solid #99aa9666;border-radius:50%;box-shadow:inset 0 0 50px #d9e2cc0d,0 0 0 22px #ffffff05;animation:breathe 16s ease-in-out infinite}
.breath-orb:before{content:"";width:22px;height:22px;border:1px solid #c3af7b;border-radius:50%;box-shadow:0 0 35px #d9bd7666}
.breath-orb b{margin-top:14px;color:#d9c999;font-size:7px;letter-spacing:.19em}
.breath-orb small{width:120px;margin-top:6px;color:#829186;font-size:7px;text-align:center}
@keyframes breathe{0%,100%{transform:scale(.94)}42%,68%{transform:scale(1.03)}}
.capture-desk{margin-top:-58px;margin-left:clamp(18px,5vw,66px);width:calc(100% - clamp(36px,10vw,132px));position:relative;z-index:2;padding:29px 36px 0;background:#fbf7ee;box-shadow:0 22px 60px #27302926}
.capture-desk header{display:flex;justify-content:space-between;align-items:flex-start}
.capture-desk header small{color:#9a7b65;font-size:7px;letter-spacing:.18em}
.capture-desk h2{margin:5px 0 0;font:400 27px "Instrument Serif"}
.capture-desk header>span{color:#9c9e94;font-size:7px}
.capture-desk textarea{width:100%;min-height:220px;padding:28px 0;border:0;border-radius:0;outline:none;resize:none;overflow:hidden;background:repeating-linear-gradient(transparent 0 35px,#ded6c8 36px);color:#263129;font:400 17px/36px "DM Sans"}
.capture-desk textarea::placeholder{color:#a8a89e;font:italic 22px "Instrument Serif"}
.desk-edge{min-height:58px;margin:0 -36px;padding:0 23px 0 36px;display:flex;align-items:center;justify-content:space-between;background:#e9dfce}
.desk-edge span{color:#8a8f84;font-size:8px}
.desk-edge button{height:36px;padding:0 15px;border:0;background:#31493b;color:#f3eee4;font-size:7px;letter-spacing:.11em}
.desk-edge button:disabled{opacity:.35}
.desk-edge b{margin-left:10px}
.life-pulse{display:grid;grid-template-columns:repeat(3,1fr) 1.6fr;background:#ddd2bf}
.life-pulse article{min-height:112px;padding:20px 23px;border-right:1px solid #c9beaa;display:grid;align-content:center}
.life-pulse small{color:#8d7c67;font-size:7px;letter-spacing:.16em}
.life-pulse b{margin:4px 0;color:#35463b;font:400 27px "Instrument Serif"}
.life-pulse span{color:#7f847b;font-size:8px}
.pulse-line div{height:4px;margin:12px 0;background:#c4baa7}
.pulse-line i{height:100%;display:block;background:#4f7159}
.hero{padding:55px 30px;text-align:left;border-bottom:1px solid var(--line)}
.hero p,.work-card h2{margin:0;color:#9b654f;font-size:8px;font-weight:600;letter-spacing:.18em}
.hero h1{margin:9px 0 8px;max-width:800px;font:400 clamp(38px,5vw,62px)/1 "Instrument Serif";letter-spacing:-.025em}
.hero>span{color:#798077;font-size:11px}
.hero.compact{padding:42px 8px 28px}
.work-card{padding:30px;border:1px solid var(--line);background:rgba(250,247,238,.7);box-shadow:0 16px 50px rgba(44,47,39,.05)}
.work-card>header{margin-bottom:23px}
.work-card>header p{max-width:720px;margin:8px 0 0;color:#7c837a;font-size:10px;line-height:1.6}
.clarify-card{position:relative;padding:42px clamp(24px,5vw,60px);background:#efe6d7}
.clarify-card>div:first-child{position:absolute;top:-90px}
.work-card textarea,.work-card input,.work-card select,.spark-dock textarea,.settings-panel input,.settings-panel select{width:100%;padding:14px;border:1px solid #c8beac;outline:none;background:#f9f4e9;color:#263028}
.work-card textarea{min-height:150px;resize:none;overflow:hidden;font:14px/1.7 "DM Sans"}
.work-card textarea:focus,.work-card input:focus,.settings-panel input:focus{border-color:#657d68;box-shadow:0 0 0 3px #748f741a}
.work-card label,.settings-panel label{display:grid;gap:7px;margin:15px 0;color:#7b8178;font-size:8px;font-weight:600;letter-spacing:.11em}
.actions,.intake-buttons,.filter-row,.theme-switcher,.row-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.actions button,.intake-buttons button,.file-button,.filter-row button,.theme-switcher button,.row-actions button,.work-card>button,.command-grid button,.settings-panel button{min-height:38px;padding:0 14px;border:1px solid #b9b09f;background:transparent;color:#5c665e;font-size:7px;font-weight:600;letter-spacing:.1em}
.actions .primary,.primary{border-color:#324b3c!important;background:#324b3c!important;color:#f4eee2!important}
.actions button:disabled,.work-card button:disabled{opacity:.32;cursor:not-allowed}
.file-button{display:flex!important;align-items:center!important;margin:0!important}
.file-button input{display:none}
.listening{border-color:#a65943!important;color:#984b39!important}
.signals{display:flex;gap:8px;margin-bottom:15px}
.signals span{padding:7px 9px;border-bottom:1px solid #bcb2a1;color:#8a8d83;font-size:7px}
.signals b{margin-left:5px;color:#42624e}
.assistant-output,.proposal,.candidate{margin-top:17px;padding:20px;border-left:3px solid #59755f;background:#e4dac8}
.assistant-output b,.proposal>b,.candidate>b{color:#47604e;font-size:8px;letter-spacing:.1em}
.assistant-output p,.proposal p,.candidate p{font:400 18px/1.45 "Instrument Serif"}
.assistant-output small,.proposal span,.candidate span{color:#7d8278;font-size:8px}
.home-lower,.summary-grid,.review-grid,.command-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}
.theme-switcher{display:grid}
.theme-switcher button{justify-content:flex-start;text-align:left}
.theme-switcher button.active,.filter-row button.active{border-color:#4c6953;background:#4c6953;color:#f3eee4}
.progress{position:relative;height:44px;margin-top:17px;border:1px solid var(--line);overflow:hidden}
.progress i{position:absolute;inset:0 auto 0 0;background:#67816b}
.progress span{position:relative;z-index:1;height:100%;padding:0 12px;display:flex;align-items:center;font-size:9px}
.summary-grid article{padding:16px;border:1px solid var(--line)}
.summary-grid b{color:#58705e;font-size:8px}
.summary-grid p,.daily-task p,.command-grid p{color:#7b8279;font-size:11px;line-height:1.55}
.daily-task{text-align:left;padding:45px}
.daily-task h3,.command-grid h3{font:400 27px "Instrument Serif"}
.recovery-row,.day-task,.mission-entry{padding:14px 0;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line)}
.recovery-row div{display:flex;gap:5px}
.gate-message,.empty{color:#7b8279;font-size:10px}
.capture-list{display:grid;margin-top:15px}
.capture-row{padding:17px 0;border-top:1px solid var(--line)}
.capture-meta{display:flex;justify-content:space-between;gap:10px}
.capture-meta b{color:#9b654f;font-size:8px}
.capture-meta span{color:#82877f;font-size:8px}
.capture-row p{font:400 18px/1.45 "Instrument Serif"}
.row-actions button{min-height:30px;padding:0 9px}
.month-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:18px}
.month-toolbar h1{margin:0;font:400 28px "Instrument Serif";text-align:center}
.month-toolbar button{border:0;background:transparent;color:#55705d;font-size:8px}
.month-toolbar button:last-child{text-align:right}
.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.weekdays span{padding:8px;color:#8c8e84;font-size:7px;text-align:center}
.calendar>i,.calendar>button{min-height:72px;border:1px solid #d1c7b6;background:#f7f1e6}
.calendar>button{padding:9px;display:flex;justify-content:space-between;color:#777f76}
.calendar>button.selected{border-color:#3f604b;background:#e0e6dc;color:#26342b}
.calendar>button.today{box-shadow:inset 0 -3px #b37155}
.calendar button span{color:#55705d}
.day-task{align-items:flex-start}
.day-task span,.mission-entry span{color:#7b8279;font-size:8px}
.roar-status{display:grid;grid-template-columns:2fr repeat(3,1fr);border:1px solid var(--line)}
.roar-status div{padding:14px;border-right:1px solid var(--line)}
.roar-status dt{color:#8a8e84;font-size:7px}
.roar-status dd{margin:7px 0 0;font-size:10px}
.command-grid>.work-card{min-height:210px}
.command-grid article{padding:10px 0;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:10px}
.vision-page blockquote{padding:45px;text-align:center;color:#59685d;font:italic 24px "Instrument Serif"}
.vision-page cite{display:block;margin-top:8px;color:#9b654f;font:normal 8px "DM Sans"}
.mission-entry time{color:#9b654f;font-size:8px}
.mission-entry b{flex:1;font-size:11px}
.spark-fab{position:fixed;z-index:80;right:25px;bottom:22px;width:54px;height:54px;border:0;border-radius:50%;background:#b56b4e;color:#fff8ec;box-shadow:0 12px 34px #6b392c45}
.spark-dock{position:fixed;z-index:100;right:24px;bottom:87px;width:min(410px,calc(100% - 28px));padding:25px;border:1px solid #44564a;background:#202b24;color:#eee8dd;box-shadow:0 30px 100px #17201d66}
.spark-dock header{display:flex;justify-content:space-between}
.spark-dock header div{display:grid}
.spark-dock header b{color:#c7b889;font-size:9px}
.spark-dock header span,.spark-dock small{margin-top:4px;color:#8e9a91;font-size:7px}
.spark-dock header button{border:0;background:transparent;color:#fff;font-size:20px}
.spark-dock p{color:#a6afa7;font-size:11px}
.spark-dock textarea{margin-top:9px;resize:none;background:#17201b;color:#eee8dd;border-color:#46554a}
.modal{position:fixed;z-index:150;inset:0;display:flex;justify-content:flex-end}
.scrim{position:absolute;inset:0;border:0;background:#18201bbb}
.settings-panel{position:relative;width:min(520px,100%);padding:30px;overflow:auto;background:#f0e9dc;color:#263028;box-shadow:-20px 0 90px #17201d55}
.settings-panel>header{display:flex;justify-content:space-between}
.settings-panel h2{font:400 28px "Instrument Serif"}
.settings-panel>header button{border:0;background:transparent;font-size:22px}
.toggle{grid-template-columns:1fr auto!important;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}
.toggle input{width:18px!important}
.settings-panel details{margin-top:15px;padding:15px;border:1px solid var(--line)}
.settings-panel summary{color:#48604f;font-size:9px;cursor:pointer}
.settings-panel p{color:#737a72;font-size:11px;line-height:1.55}
.settings-panel a{color:#9b654f;font-size:9px}
.save-settings{width:100%;margin-top:18px}
.toast{position:fixed;z-index:200;top:20px;right:20px;padding:14px 18px;background:#26362c;color:#f2ede3;font-size:9px;box-shadow:0 15px 50px #17201d55}
.console-footer{grid-column:2;grid-row:4;padding:25px max(28px,calc((100vw - 1340px)/2));display:flex;justify-content:space-between;border-top:1px solid var(--line);color:#858a81;font-size:8px}
.console-footer b{color:#6c776d;font-weight:500}
.coach-note{position:fixed;z-index:260;width:min(360px,calc(100vw - 28px));padding:19px 44px 19px 19px;display:grid;grid-template-columns:34px 1fr;gap:13px;border:1px solid #d0c3ad;background:#fffaf0;color:#29342c;box-shadow:0 24px 80px #17201d42;animation:coach-in .22s ease both}
.coach-note:before{content:"";position:absolute;top:-7px;left:38px;width:12px;height:12px;rotate:45deg;border-left:1px solid #d0c3ad;border-top:1px solid #d0c3ad;background:#fffaf0}
.coach-note.left:before{left:auto;right:38px}
.coach-note>i{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#3f5e4a;color:#fff;font:italic 19px "Instrument Serif"}
.coach-note b{color:#9b654f;font-size:7px;letter-spacing:.17em}
.coach-note p{margin:5px 0 0;color:#4f5c53;font:400 15px/1.5 "Instrument Serif"}
.coach-note>button{position:absolute;top:9px;right:10px;border:0;background:transparent;color:#80877e;font-size:19px}
@keyframes coach-in{from{opacity:0;transform:translateY(-7px)}}
[data-coach]{-webkit-tap-highlight-color:rgba(73,98,79,.12)}
/* Familiar materials, used as quiet orientation rather than decoration. */
.home-page:after{content:"LIFE OS · FIELD NOTES";justify-self:end;margin:-7px 18px 8px 0;padding:7px 11px;border:1px solid #a8785f66;color:#a8785f;rotate:-2deg;font-size:6px;letter-spacing:.18em}
.today-page .daily-task{position:relative;background-image:linear-gradient(90deg,transparent 0 55px,#c9827666 56px 57px,transparent 58px),repeating-linear-gradient(transparent 0 31px,#d9cfbd 32px)}
.today-page .daily-task:before{content:"TODAY";position:absolute;right:24px;top:19px;padding:6px 10px;border:1px solid #9b654f;color:#9b654f;rotate:2deg;font-size:7px;letter-spacing:.16em}
.month-page>.work-card:first-of-type{position:relative;background-image:radial-gradient(circle at 13px 13px,#cfc4b1 2px,transparent 2.5px);background-size:26px 26px}
.review-page .review-grid:before{content:"REVIEW TAB";position:absolute;translate:0 -27px;padding:8px 14px 6px;background:#b76f51;color:#fff8ec;font-size:7px;letter-spacing:.15em}
.review-grid{position:relative}
.command-page .command-grid>.work-card:nth-child(odd){rotate:-.18deg}
.command-page .command-grid>.work-card:nth-child(even){rotate:.14deg}
.vision-page .work-card{background-image:linear-gradient(90deg,transparent 0 42px,#cf8b7d55 43px 44px,transparent 45px),repeating-linear-gradient(transparent 0 34px,#ddd2c0 35px)}
.vision-page blockquote:before{content:"✦";display:block;margin-bottom:12px;color:#b18c55;font-size:16px}
.theme-focus{--paper:#151b19;--paper2:#202824;--ink:#e8e2d7;--line:rgba(214,224,214,.14);background:radial-gradient(circle at 70% -5%,#33453b 0,transparent 30%),linear-gradient(135deg,#171e1b,#101513)}
.theme-focus .place-rail{background:#0d1210;border-color:#28312c}
.theme-focus .place-header,.theme-focus .status-line,.theme-focus .console-footer{color:#c7cec6}
.theme-focus .morning-room{background:linear-gradient(105deg,#0a0f0ddd,#15221df2),radial-gradient(circle at 80% 30%,#6c806e,transparent 35%)}
.theme-focus .capture-desk{background:#262d29;color:#eee8dd;box-shadow:0 24px 80px #0008}
.theme-focus .capture-desk textarea{background:repeating-linear-gradient(transparent 0 35px,#435047 36px);color:#f0ebe1}
.theme-focus .desk-edge{background:#313a35}
.theme-focus .desk-edge span{color:#a8b0a8}
.theme-focus .life-pulse{background:#232c27;color:#ece6dc}
.theme-focus .life-pulse article{border-color:#3d4841}
.theme-focus .life-pulse small,.theme-focus .life-pulse span{color:#9ba59e}
.theme-focus .life-pulse b{color:#e4ded3}
.theme-focus .work-card{background:#202824;color:#e8e2d7}
.theme-focus .work-card textarea,.theme-focus .work-card input,.theme-focus .work-card select{background:#151c18;border-color:#455148;color:#ede6db}
.theme-focus .clarify-card{background:#26302a}
.theme-focus .assistant-output,.theme-focus .proposal,.theme-focus .candidate{background:#18201c}
.theme-focus .calendar>i,.theme-focus .calendar>button{background:#1c2420;border-color:#39453e;color:#c4cbc4}
.theme-focus .hero>span,.theme-focus .work-card>header p,.theme-focus .command-grid p,.theme-focus .daily-task p{color:#a4aea6}
.theme-focus .today-page .daily-task,.theme-focus .vision-page .work-card{background-image:linear-gradient(90deg,transparent 0 55px,#9f665b66 56px 57px,transparent 58px),repeating-linear-gradient(transparent 0 31px,#3b4740 32px)}
.theme-sanctuary{--paper:#302620;--paper2:#3c2c25;--ink:#eee5d8;--line:rgba(239,219,196,.14);background-image:radial-gradient(circle at 75% 0,#8b4e3c66,transparent 32%),linear-gradient(#302620,#251e1a)}
.theme-sanctuary .place-rail{background:#241b18;border-color:#49342c}
.theme-sanctuary .place-header,.theme-sanctuary .status-line,.theme-sanctuary .console-footer{color:#d8cbbd}
.theme-sanctuary .morning-room{background:linear-gradient(105deg,#331f1bd9,#5a3429e8),radial-gradient(circle at 80% 30%,#d38a57,transparent 35%)}
.theme-sanctuary .work-card,.theme-sanctuary .capture-desk{background:#eadfce;color:#2c302a}
.theme-sanctuary .hero>span{color:#b9aa9b}
.theme-sanctuary .life-pulse{color:#29342c;background:#cbb7a0}
.theme-sanctuary .spark-fab{background:#cf7b4d;box-shadow:0 0 40px #e7894f66}
.theme-canvas{--paper:#f6f0e2;--paper2:#eae1d1;--ink:#263028;--line:rgba(41,56,46,.17);background:radial-gradient(circle at 78% 4%,#fff 0,transparent 27%),linear-gradient(120deg,#f7f1e4,#e9e1d1)}
.theme-canvas .place-rail{background:#465b4d;border-color:#607465}
.theme-canvas .morning-room{background:linear-gradient(105deg,#6c866fd9,#a1ae8ce6),radial-gradient(circle at 80% 30%,#e9d9a9,transparent 35%)}
.theme-canvas .morning-copy p{color:#fff3c9}
.theme-canvas .morning-copy span{color:#eef1e7}
.theme-canvas .capture-desk{background:#fffdf7;box-shadow:0 20px 60px #63584422}
.theme-canvas .life-pulse{background:#e2d7c3}
@media(max-width:900px){.life-place{display:block;padding-bottom:72px}.place-rail{inset:auto 0 0;width:auto;height:68px;padding:0 9px;display:block}.place-rail .brand,.rail-bottom{display:none}.place-rail nav{height:100%;margin:0;display:flex;justify-content:space-around}.place-rail nav button{height:100%;padding:0 7px;display:grid;place-items:center;align-content:center;gap:3px;font-size:7px}.place-rail nav button.active{box-shadow:none}.help-wrap:hover:after{display:none}.place-header{height:68px;padding:0 18px}.status-line{height:25px;padding:0 18px}.console-stage{width:min(100% - 26px,740px);padding-top:18px}.console-footer{padding:20px 18px 85px}.morning-room{min-height:350px;padding:45px 32px;grid-template-columns:1fr 130px}.breath-orb{width:120px;height:120px}.home-lower,.summary-grid,.review-grid,.command-grid{grid-template-columns:1fr}.life-pulse{grid-template-columns:1fr 1fr}.life-pulse article{border-bottom:1px solid #c9beaa}.spark-fab{bottom:84px}}
@media(max-width:560px){.place-header b{font-size:13px}.save-state{display:none}.settings-trigger{padding:0 8px}.morning-room{min-height:390px;padding:40px 25px;display:block}.morning-copy h1{font-size:52px}.morning-copy span{font-size:11px}.breath-orb{width:86px;height:86px;margin:34px 0 0 auto}.breath-orb small{display:none}.capture-desk{margin:-34px 12px 0;width:calc(100% - 24px);padding:24px 20px 0}.capture-desk textarea{min-height:260px}.desk-edge{margin:0 -20px;padding:10px 13px 10px 20px;gap:10px}.desk-edge span{max-width:130px}.life-pulse article{min-height:95px;padding:15px}.work-card,.clarify-card{padding:23px 18px}.hero{padding:38px 7px 25px}.hero h1{font-size:43px}.calendar>button,.calendar>i{min-height:48px;padding:5px}.weekdays,.calendar{gap:2px}.roar-status{grid-template-columns:1fr 1fr}.actions button{flex:1}.recovery-row{align-items:flex-start;display:grid}.capture-meta{display:grid}.console-footer{display:grid;gap:7px}.place-rail nav button small{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.actions .primary,
.primary {
  box-shadow: 0 8px 20px #283b3022;
}

.actions button:not(.primary):hover,
.intake-buttons button:hover,
.file-button:hover,
.row-actions button:hover {
  border-color: #536d59;
  background: #e4e9df;
  color: #26342b;
}

.actions button:focus-visible,
.intake-buttons button:focus-visible,
.file-button:focus-within,
.row-actions button:focus-visible {
  outline: 3px solid #c3926b;
  outline-offset: 3px;
}

.setting-note {
  margin: -4px 0 17px;
  padding: 10px 12px;
  border-left: 2px solid #9b765c;
  background: rgba(154, 118, 87, 0.07);
  color: #6f766e !important;
  font-size: 10px !important;
}

/* Architectural world merged around the working paper. */
.morning-room {
  min-height: 470px;
  grid-template-columns: minmax(0, 1fr) 175px;
  align-content: center;
  border-radius: 3px 3px 0 0;
  background:
    linear-gradient(104deg, rgba(35, 61, 55, 0.96) 0 56%, rgba(52, 83, 76, 0.84) 56% 100%),
    #365b53;
}

.place-architecture {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.place-architecture::before {
  content: "";
  position: absolute;
  inset: 0 44% 0 0;
  opacity: 0.43;
  background:
    linear-gradient(90deg, transparent 0 8%, rgba(255, 255, 255, 0.08) 8.2% 8.5%, transparent 8.7%),
    repeating-linear-gradient(0deg, transparent 0 72px, rgba(24, 35, 30, 0.16) 73px 74px),
    linear-gradient(105deg, #cbbda5, #a8987e);
  clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%);
}

.stone-course {
  position: absolute;
  left: 4%;
  width: 43%;
  height: 1px;
  background: rgba(77, 66, 52, 0.23);
  box-shadow: 0 1px rgba(255, 255, 255, 0.12);
}

.stone-course.one {
  top: 34%;
}

.stone-course.two {
  top: 68%;
}

.open-arch {
  position: absolute;
  right: 6%;
  bottom: -8%;
  width: 210px;
  height: 340px;
  border: 18px solid rgba(190, 178, 151, 0.5);
  border-bottom: 0;
  border-radius: 110px 110px 0 0;
  background:
    linear-gradient(180deg, rgba(232, 225, 194, 0.9), rgba(147, 177, 157, 0.72) 52%, rgba(63, 92, 72, 0.88));
  box-shadow:
    inset 23px 0 35px rgba(26, 50, 40, 0.2),
    -18px 0 35px rgba(16, 30, 25, 0.19);
}

.open-arch::before {
  content: "";
  position: absolute;
  left: 42%;
  top: 12%;
  width: 1px;
  height: 63%;
  rotate: 24deg;
  background: rgba(255, 250, 210, 0.75);
  box-shadow: 0 0 40px 14px rgba(255, 236, 176, 0.16);
}

.open-arch b {
  position: absolute;
  inset: auto 13% 10% 13%;
  height: 17%;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(43, 69, 51, 0.65), transparent 68%);
  filter: blur(4px);
}

.sun-cast {
  position: absolute;
  right: 5%;
  bottom: -15%;
  width: 48%;
  height: 40%;
  rotate: -8deg;
  opacity: 0.55;
  background: linear-gradient(90deg, transparent, rgba(244, 224, 170, 0.35), transparent);
  filter: blur(8px);
  animation: window-breathe 22s ease-in-out infinite alternate;
}

@keyframes window-breathe {
  from { opacity: 0.36; translate: -1.5% 0; }
  to { opacity: 0.62; translate: 1.5% 0; }
}

.morning-copy,
.breath-orb,
.room-guidance {
  z-index: 2;
}

.morning-copy {
  max-width: 650px;
  padding: 28px 32px 28px 38px;
  background: linear-gradient(90deg, rgba(21, 38, 32, 0.58), rgba(21, 38, 32, 0.12) 82%, transparent);
  backdrop-filter: blur(1px);
}

.room-guidance {
  position: absolute;
  left: 36px;
  bottom: 24px;
  display: flex;
  align-items: center;
  gap: 16px;
  color: rgba(238, 232, 218, 0.73);
}

.room-guidance > small {
  color: #d0bb85;
  font-size: 6px;
  letter-spacing: 0.19em;
}

.room-guidance > span {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 7px;
  letter-spacing: 0.08em;
}

.room-guidance span i {
  width: 17px;
  height: 17px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(235, 225, 203, 0.33);
  border-radius: 50%;
  font-style: normal;
}

.theme-focus .morning-room {
  grid-template-columns: minmax(0, 1fr) 150px;
  background: linear-gradient(105deg, #0b1210f2 0 64%, #18251ff2 64% 100%);
}

.theme-focus .place-architecture::before {
  opacity: 0.14;
}

.theme-focus .open-arch {
  opacity: 0.45;
  filter: saturate(0.6) brightness(0.64);
}

.theme-focus .sun-cast {
  display: none;
}

.theme-canvas .morning-room {
  grid-template-columns: minmax(0, 1fr) 210px;
  background: linear-gradient(105deg, rgba(91, 119, 99, 0.84) 0 51%, rgba(169, 139, 104, 0.74) 51% 100%);
}

.theme-canvas .place-architecture::before {
  opacity: 0.58;
  filter: brightness(1.1) saturate(0.84);
}

.theme-canvas .open-arch {
  width: 230px;
  filter: saturate(1.12) brightness(1.08);
}

.creative-materials {
  display: none;
}

/* Creative Canvas: studio confidence held inside editorial restraint. */
.theme-canvas .creative-materials {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
}

.theme-canvas .canvas-sun {
  position: absolute;
  right: 24%;
  top: -68px;
  width: 188px;
  height: 188px;
  border-radius: 50%;
  background: #e5b847;
  box-shadow:
    inset -24px -18px rgba(167, 87, 55, 0.12),
    0 0 0 14px rgba(255, 235, 180, 0.1);
  opacity: 0.82;
}

.theme-canvas .clay-stroke {
  position: absolute;
  right: 29%;
  bottom: 16%;
  width: 255px;
  height: 34px;
  border-radius: 62% 28% 71% 22%;
  rotate: -13deg;
  background: linear-gradient(90deg, transparent, #b85e42 7% 89%, transparent);
  box-shadow: 0 7px 15px rgba(86, 45, 35, 0.16);
}

.theme-canvas .clay-stroke::after {
  content: "";
  position: absolute;
  inset: 8px 22px 7px 38px;
  border-top: 1px solid rgba(255, 221, 193, 0.25);
  border-radius: 50%;
}

.theme-canvas .blue-cut {
  position: absolute;
  right: 3%;
  top: 9%;
  width: 122px;
  height: 152px;
  background: #244d67;
  opacity: 0.86;
  clip-path: polygon(18% 0, 100% 13%, 79% 100%, 0 76%);
  box-shadow: 0 18px 40px rgba(25, 51, 64, 0.22);
}

.theme-canvas .tape-one,
.theme-canvas .tape-two {
  position: absolute;
  width: 84px;
  height: 19px;
  border: 1px solid rgba(130, 109, 69, 0.12);
  background:
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.11) 0 4px, transparent 4px 7px),
    rgba(240, 216, 147, 0.63);
  box-shadow: 0 3px 7px rgba(77, 64, 41, 0.1);
}

.theme-canvas .tape-one {
  right: 39%;
  top: 19%;
  rotate: 18deg;
}

.theme-canvas .tape-two {
  right: 13%;
  bottom: 12%;
  rotate: -7deg;
}

.theme-canvas .creative-materials > b {
  position: absolute;
  right: 8.5%;
  top: 24%;
  z-index: 2;
  color: #f5ecd7;
  font: 600 9px/1.25 "DM Sans";
  letter-spacing: 0.17em;
  rotate: 4deg;
  text-align: right;
  text-shadow: 0 2px 8px rgba(16, 43, 57, 0.35);
}

.theme-canvas .morning-copy {
  max-width: 610px;
  border-left: 6px solid #b85e42;
  background: linear-gradient(90deg, rgba(35, 67, 54, 0.7), rgba(35, 67, 54, 0.18) 86%, transparent);
}

.theme-canvas .morning-copy h1 {
  max-width: 560px;
  font-size: clamp(51px, 6.6vw, 84px);
  line-height: 0.88;
}

.theme-canvas .breath-orb {
  border-radius: 44% 56% 61% 39% / 48% 38% 62% 52%;
  rotate: 3deg;
  border-color: rgba(255, 236, 196, 0.5);
  background: rgba(31, 71, 59, 0.12);
}

.theme-canvas .capture-desk {
  rotate: -0.18deg;
  border-top: 5px solid #244d67;
}

.theme-canvas .capture-desk::before {
  content: "IDEAS ARE WELCOME · DECISIONS STAY YOURS";
  position: absolute;
  right: 25px;
  top: -13px;
  padding: 7px 11px 5px;
  rotate: 1.5deg;
  background: #b85e42;
  color: #fff7e9;
  font-size: 6px;
  letter-spacing: 0.16em;
  box-shadow: 0 5px 12px rgba(73, 42, 33, 0.17);
}

.theme-canvas .life-pulse article:nth-child(1) {
  border-top: 4px solid #244d67;
}

.theme-canvas .life-pulse article:nth-child(2) {
  border-top: 4px solid #708965;
}

.theme-canvas .life-pulse article:nth-child(3) {
  border-top: 4px solid #b85e42;
}

.theme-canvas .life-pulse article:nth-child(4) {
  border-top: 4px solid #d1a33d;
}

.theme-canvas .clarify-card {
  position: relative;
  border-left: 7px solid #b85e42;
  background:
    linear-gradient(120deg, rgba(255, 255, 255, 0.28), transparent 45%),
    #ece1cc;
}

.theme-canvas .clarify-card::after {
  content: "KEEP THE ORIGINAL THOUGHT";
  position: absolute;
  right: 24px;
  top: 22px;
  color: rgba(35, 77, 103, 0.52);
  font-size: 6px;
  letter-spacing: 0.2em;
  rotate: 1deg;
}

.theme-canvas .work-card {
  border-radius: 2px 7px 3px 2px;
}

.theme-canvas .home-lower .work-card:first-child {
  transform: translateY(7px) rotate(-0.18deg);
}

.theme-canvas .home-lower .work-card:last-child {
  transform: translateY(-3px) rotate(0.2deg);
}

.theme-canvas .theme-switcher button.active {
  border-color: #244d67;
  background: linear-gradient(100deg, #244d67 0 72%, #b85e42 72% 100%);
}

.theme-canvas .spark-fab {
  border-radius: 41% 59% 53% 47% / 58% 44% 56% 42%;
  background: #b85e42;
  rotate: -3deg;
}

.protected-doors {
  display: grid;
  gap: 5px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #39463e;
}

.protected-doors button {
  width: 100%;
  padding: 9px 10px;
  border: 0;
  background: transparent;
  color: #9a8e7e;
  font-size: 7px;
  letter-spacing: 0.16em;
  text-align: left;
}

.protected-doors button.active {
  background: #ffffff0c;
  color: #eee5d8;
}

.utilities > button:not(.settings-trigger) {
  min-height: 32px;
  padding: 0 11px;
  border: 1px solid var(--line);
  background: transparent;
  color: inherit;
  font-size: 7px;
  letter-spacing: 0.11em;
}

.utilities .capture-trigger {
  border-color: #8e6c52 !important;
  background: #8e6c52 !important;
  color: #fff8ed !important;
}

.semantic-lanes {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-top: 18px;
}

.semantic-lanes button,
.not-now {
  min-height: 48px;
  padding: 10px;
  border: 1px solid #b9b09f;
  background: rgba(255, 252, 244, 0.5);
  color: #566157;
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 0.09em;
}

.semantic-lanes .primary {
  background: #314b3a;
}

.not-now {
  width: 100%;
  margin-top: 8px;
  border-style: dashed;
}

.placement-entry,
.soul-entry {
  padding: 14px 0;
  display: grid;
  grid-template-columns: 90px 1fr auto;
  gap: 12px;
  border-top: 1px solid var(--line);
}

.placement-entry b {
  color: #9b654f;
  font-size: 8px;
  text-transform: uppercase;
}

.placement-entry span {
  font: 16px/1.35 "Instrument Serif";
}

.placement-entry time {
  color: #82877f;
  font-size: 7px;
}

.cap-note {
  margin-top: 12px;
  padding: 10px;
  display: block;
  border-left: 3px solid #b66a4e;
  color: #894c39;
  font-size: 9px;
}

.soul-page {
  position: relative;
}

.soul-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.42;
  background:
    radial-gradient(circle at 82% 10%, rgba(192, 166, 104, 0.18), transparent 27%),
    linear-gradient(110deg, transparent 0 72%, rgba(74, 100, 82, 0.12) 72% 100%);
}

.soul-room-tabs {
  display: flex;
  gap: 7px;
  overflow: auto;
  padding: 10px 0 4px;
}

.soul-room-tabs button {
  flex: 0 0 auto;
  min-height: 39px;
  padding: 0 14px;
  border: 1px solid var(--line);
  background: transparent;
  color: #788077;
  font-size: 7px;
  letter-spacing: 0.1em;
}

.soul-room-tabs button.active {
  border-color: #617663;
  background: #617663;
  color: #fff8ec;
}

.soul-entry {
  grid-template-columns: 1fr;
}

.soul-entry p {
  margin: 0;
  font: 17px/1.5 "Instrument Serif";
}

.hideaway-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.hideaway-page .work-card {
  background:
    repeating-linear-gradient(transparent 0 34px, rgba(112, 125, 112, 0.08) 35px),
    rgba(250, 247, 238, 0.72);
}

.hideaway-page input {
  margin-bottom: 8px;
}

.habit-add {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 7px;
}

.habit-add button,
.habit-row button {
  border: 1px solid var(--line);
  background: transparent;
  color: inherit;
}

.habit-row {
  min-height: 40px;
  display: grid;
  grid-template-columns: 35px 1fr 35px;
  align-items: center;
  border-top: 1px solid var(--line);
}

.search-panel,
.capture-sheet {
  position: relative;
  width: min(720px, 100%);
  height: min(760px, 100%);
  margin: auto;
  padding: 30px;
  overflow: auto;
  background: #f2eadc;
  color: #273129;
  box-shadow: 0 35px 120px #15201988;
}

.capture-sheet {
  height: auto;
  max-height: 90svh;
}

.search-panel header,
.capture-sheet header {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

.search-panel header button,
.capture-sheet header button {
  border: 0;
  background: transparent;
  font-size: 23px;
}

.search-panel > input,
.capture-sheet textarea {
  width: 100%;
  padding: 16px;
  border: 1px solid #c5baa8;
  background: #fffaf0;
  color: #273129;
  font: 16px "DM Sans";
}

.search-results {
  display: grid;
  margin-top: 16px;
}

.search-results button {
  padding: 15px 4px;
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 15px;
  border: 0;
  border-top: 1px solid #d3c8b6;
  background: transparent;
  color: #273129;
  text-align: left;
}

.search-results button b {
  color: #9b654f;
  font-size: 8px;
  text-transform: uppercase;
}

.ai-preview {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
  margin-top: 12px;
}

.ai-preview span {
  padding: 12px;
  border: 1px dashed #b7ac9a;
  color: #6b746c;
  font-size: 8px;
  text-align: center;
}

.focus-layer {
  position: fixed;
  z-index: 240;
  inset: 0;
  padding: 25px;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 50% 30%, rgba(67, 94, 77, 0.36), transparent 35%),
    rgba(10, 16, 13, 0.94);
  color: #eee7dc;
}

.focus-layer > section {
  width: min(760px, 100%);
  padding: clamp(28px, 6vw, 70px);
  border: 1px solid #5c6a61;
  background: #17211c;
  text-align: center;
  box-shadow: 0 45px 140px #000a;
}

.focus-layer header {
  display: flex;
  justify-content: space-between;
}

.focus-layer header small {
  color: #c2aa74;
  letter-spacing: 0.18em;
}

.focus-layer header button {
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 22px;
}

.focus-layer h2 {
  margin: 45px auto 20px;
  max-width: 620px;
  font: 38px/1.08 "Instrument Serif";
}

.focus-clock {
  margin: 25px 0;
  font: 68px/1 "Instrument Serif";
  letter-spacing: -0.04em;
}

.focus-layer .actions {
  justify-content: center;
}

.vision-beacons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.mission-board {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid var(--line);
  background: rgba(250, 247, 238, 0.58);
}

.mission-board > div {
  min-height: 210px;
  padding: 22px;
  border-right: 1px solid var(--line);
}

.mission-board > div:last-child {
  border-right: 0;
}

.mission-board small {
  color: #9b654f;
  font-size: 8px;
  letter-spacing: 0.16em;
}

.mission-board p {
  padding: 10px 0;
  border-top: 1px solid var(--line);
  font-size: 10px;
}

/* Life Pulse: planner instruments, not flat metric boxes. */
.life-pulse {
  gap: 10px;
  padding: 10px;
  background: color-mix(in srgb, var(--paper2) 82%, #6d5a43 18%);
  box-shadow:
    inset 0 1px rgba(255, 255, 255, 0.34),
    inset 0 -1px rgba(67, 54, 39, 0.12),
    0 18px 45px rgba(40, 44, 37, 0.09);
  perspective: 900px;
}

.life-pulse article {
  min-height: 142px;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid rgba(74, 69, 57, 0.17);
  border-radius: 2px 5px 3px 2px;
  background:
    linear-gradient(112deg, rgba(255, 255, 255, 0.2), transparent 38%),
    repeating-linear-gradient(0deg, transparent 0 22px, rgba(72, 83, 72, 0.045) 23px),
    #e9dfcd;
  box-shadow:
    inset 0 0 0 4px rgba(255, 251, 241, 0.2),
    inset 0 -12px 25px rgba(88, 69, 44, 0.05),
    0 7px 14px rgba(49, 47, 39, 0.08);
  transform: translateZ(0);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.life-pulse article:nth-child(2) {
  transform: rotate(0.35deg);
}

.life-pulse article:nth-child(3) {
  transform: rotate(-0.3deg);
}

.life-pulse article:hover,
.life-pulse article:focus-within {
  z-index: 2;
  transform: translateY(-3px) rotate(0);
  box-shadow:
    inset 0 0 0 4px rgba(255, 251, 241, 0.25),
    0 15px 27px rgba(42, 45, 38, 0.14);
}

.life-pulse article::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(106deg, transparent 35%, rgba(255, 255, 255, 0.22) 48%, transparent 61%);
  translate: -120% 0;
  transition: translate 700ms ease;
}

.life-pulse article:hover::after {
  translate: 120% 0;
}

.life-pulse .pulse-mark {
  position: absolute;
  right: 14px;
  top: 13px;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(84, 95, 80, 0.25);
  border-radius: 50%;
  color: #687567;
  font: 600 7px/1 "DM Sans";
  letter-spacing: 0;
}

.life-pulse article > small {
  width: max-content;
  padding-bottom: 4px;
  border-bottom: 2px solid rgba(165, 114, 82, 0.42);
}

.life-pulse article > b {
  margin-top: 8px;
  text-shadow: 0 1px rgba(255, 255, 255, 0.55);
}

.life-pulse article > em {
  margin-top: 8px;
  color: #8a7a67;
  font: italic 11px/1.2 "Instrument Serif";
}

.pulse-kept {
  background-color: #e1e3d2 !important;
}

.pulse-kept > b {
  color: #45624d !important;
}

.pulse-captured {
  background-color: #e7d8c7 !important;
}

.pulse-line {
  padding-right: 28px !important;
}

.pulse-line > div {
  position: relative;
  height: 8px;
  margin: 15px 0 10px;
  border: 1px solid rgba(63, 75, 65, 0.18);
  border-radius: 10px;
  overflow: visible;
  background:
    repeating-linear-gradient(90deg, transparent 0 calc(10% - 1px), rgba(75, 82, 70, 0.13) calc(10% - 1px) 10%),
    rgba(87, 77, 59, 0.1);
}

.pulse-line > div > i {
  height: 100%;
  display: block;
  border-radius: inherit;
  background: linear-gradient(90deg, #59745e, #8da083);
  box-shadow: 0 0 12px rgba(75, 107, 82, 0.24);
  transition: width 500ms ease;
}

.pulse-line > div > b {
  position: absolute;
  top: 50%;
  width: 10px;
  height: 10px;
  border: 2px solid #f2ecdf;
  border-radius: 50%;
  translate: 0 -50%;
  background: #496451;
  box-shadow: 0 2px 5px rgba(30, 41, 33, 0.24);
}

.theme-focus .life-pulse {
  background: #111714;
  box-shadow: inset 0 1px #ffffff0a, 0 18px 55px #0007;
}

.theme-focus .life-pulse article {
  border-color: #465149;
  background:
    linear-gradient(112deg, #ffffff0a, transparent 38%),
    repeating-linear-gradient(0deg, transparent 0 22px, #ffffff08 23px),
    #242d28;
  box-shadow: inset 0 0 0 4px #ffffff05, 0 8px 20px #0005;
}

.theme-focus .life-pulse .pulse-kept {
  background-color: #29342b !important;
}

.theme-focus .life-pulse .pulse-captured {
  background-color: #312923 !important;
}

.theme-focus .life-pulse article > em {
  color: #9aa49c;
}

.theme-sanctuary .life-pulse {
  background: #4d342a;
}

.theme-sanctuary .life-pulse article {
  background-color: #d5c1aa;
  box-shadow: inset 0 0 0 4px #fff8e712, 0 9px 23px #2f1b1655;
}

@media (max-width: 720px) {
  .coach-note {
    position: fixed;
    left: 14px !important;
    top: auto !important;
    right: 14px;
    bottom: 84px;
    width: auto;
    padding: 20px 44px 20px 18px;
    border-radius: 3px;
  }

  .coach-note::before {
    display: none;
  }

  .coach-note p {
    font-size: 17px;
    line-height: 1.42;
  }

  .life-pulse {
    gap: 7px;
    padding: 7px;
  }

  .life-pulse article {
    min-height: 126px;
    padding: 17px;
  }

  .life-pulse .pulse-mark {
    right: 10px;
    top: 10px;
    width: 26px;
    height: 26px;
  }

  .morning-room,
  .theme-focus .morning-room,
  .theme-canvas .morning-room {
    min-height: 455px;
    display: block;
  }

  .place-architecture::before {
    inset: 0;
    opacity: 0.24;
    clip-path: none;
  }

  .open-arch,
  .theme-canvas .open-arch {
    right: -34px;
    width: 142px;
    height: 245px;
    border-width: 13px;
    opacity: 0.5;
  }

  .morning-copy {
    max-width: calc(100% - 28px);
    padding: 25px 18px;
  }

  .room-guidance {
    left: 24px;
    right: 20px;
    bottom: 20px;
    gap: 10px;
    flex-wrap: wrap;
  }

  .room-guidance > small {
    width: 100%;
  }

  .theme-canvas .canvas-sun {
    right: -28px;
    top: -38px;
    width: 128px;
    height: 128px;
  }

  .theme-canvas .blue-cut {
    right: -19px;
    top: 18%;
    width: 88px;
    height: 118px;
  }

  .theme-canvas .clay-stroke {
    right: 4%;
    bottom: 24%;
    width: 150px;
    opacity: 0.62;
  }

  .theme-canvas .tape-one {
    right: 25%;
  }

  .theme-canvas .creative-materials > b,
  .theme-canvas .tape-two {
    display: none;
  }

  .theme-canvas .morning-copy {
    max-width: calc(100% - 45px);
    border-left-width: 4px;
  }

  .theme-canvas .morning-copy h1 {
    font-size: 51px;
  }

  .theme-canvas .capture-desk::before,
  .theme-canvas .clarify-card::after {
    display: none;
  }

  .protected-doors {
    position: fixed;
    right: 10px;
    bottom: 76px;
    z-index: 75;
    margin: 0;
    padding: 4px;
    display: flex;
    border: 1px solid #4a584f;
    background: #1b2520;
    box-shadow: 0 10px 30px #17201d55;
  }

  .protected-doors .help-wrap {
    display: block;
  }

  .protected-doors button {
    width: auto;
    padding: 8px 10px;
  }

  .semantic-lanes {
    grid-template-columns: 1fr 1fr;
  }

  .placement-entry {
    grid-template-columns: 70px 1fr;
  }

  .placement-entry time {
    grid-column: 2;
  }

  .hideaway-grid {
    grid-template-columns: 1fr;
  }

  .search-panel,
  .capture-sheet {
    padding: 22px 18px 95px;
  }

  .search-results button {
    grid-template-columns: 85px 1fr;
  }

  .ai-preview {
    grid-template-columns: 1fr;
  }

  .vision-beacons,
  .mission-board {
    grid-template-columns: 1fr;
  }

  .mission-board > div {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .focus-layer {
    padding: 10px;
  }

  .focus-layer h2 {
    margin-top: 30px;
    font-size: 31px;
  }

  .focus-clock {
    font-size: 58px;
  }
}

/* --------------------------------------------------------------------------
   APP BEHAVIOR LAYER

   Paper remains the material; software becomes the behavior. Motion only
   explains a change of state, confirms an action, or keeps orientation.
   Reading surfaces stay still.
   -------------------------------------------------------------------------- */

.life-place {
  --app-ease: cubic-bezier(.22, .82, .28, 1);
  --app-spring: cubic-bezier(.2, 1.18, .32, 1);
}

/* A quiet activity rail makes navigation feel continuous without turning the
   planner into dashboard chrome. It restarts only when the room changes. */
.console-stage {
  position: relative;
  isolation: isolate;
  animation: app-room-open 420ms var(--app-ease) both;
}

.console-stage::before {
  content: "";
  position: fixed;
  z-index: 118;
  top: 0;
  left: 218px;
  width: calc(100vw - 218px);
  height: 2px;
  transform-origin: left;
  background: linear-gradient(90deg, #a36a4f, #d0ac70 55%, transparent);
  pointer-events: none;
  animation: app-route-trace 520ms var(--app-ease) both;
}

@keyframes app-route-trace {
  0% { opacity: 0; transform: scaleX(.04); }
  38% { opacity: .9; }
  100% { opacity: 0; transform: scaleX(1); }
}

@keyframes app-room-open {
  from { opacity: .25; translate: 0 10px; }
  to { opacity: 1; translate: 0 0; }
}

/* Navigation reads as a live controller. */
.place-rail nav button,
.protected-doors button {
  position: relative;
  overflow: hidden;
  transition:
    color 160ms ease,
    background-color 160ms ease,
    padding-left 220ms var(--app-ease);
}

.place-rail nav button::after,
.protected-doors button::after {
  content: "";
  position: absolute;
  inset: 11px auto 11px 0;
  width: 2px;
  border-radius: 2px;
  background: #d8b06e;
  opacity: 0;
  scale: 1 .2;
  transition: opacity 160ms ease, scale 240ms var(--app-spring);
}

.place-rail nav button.active::after,
.protected-doors button.active::after {
  opacity: 1;
  scale: 1;
}

.place-rail nav button:hover,
.protected-doors button:hover {
  padding-left: 4px;
}

.place-rail nav button:active,
.protected-doors button:active {
  translate: 1px 0;
}

.save-state::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  margin-right: 7px;
  border-radius: 50%;
  background: #739278;
  box-shadow: 0 0 0 0 rgba(115, 146, 120, .25);
  animation: app-saved-breath 4.8s ease-out infinite;
}

@keyframes app-saved-breath {
  8% { box-shadow: 0 0 0 5px rgba(115, 146, 120, 0); }
  9%, 100% { box-shadow: 0 0 0 0 rgba(115, 146, 120, 0); }
}

/* Interactive paper has a software response; passive paper remains still. */
.work-card,
.capture-desk,
.life-pulse article,
.calendar > button,
.capture-row,
.day-task,
.mission-entry {
  transition:
    border-color 180ms ease,
    box-shadow 220ms var(--app-ease),
    background-color 180ms ease,
    translate 220ms var(--app-ease);
}

.work-card:focus-within {
  z-index: 2;
  border-color: color-mix(in srgb, #5f7765 52%, transparent);
  box-shadow:
    0 22px 62px rgba(38, 45, 39, .11),
    0 0 0 1px rgba(255, 255, 255, .34) inset;
  translate: 0 -2px;
}

.capture-row:hover,
.day-task:hover,
.mission-entry:hover {
  background: color-mix(in srgb, currentColor 3%, transparent);
  translate: 3px 0;
}

.calendar > button:hover {
  z-index: 1;
  border-color: #78907c;
  box-shadow: 0 8px 22px rgba(42, 52, 44, .1);
  translate: 0 -2px;
}

.calendar > button:active {
  translate: 0 0;
  box-shadow: inset 0 2px 5px rgba(38, 46, 39, .12);
}

/* Every control answers the hand immediately. */
.life-place button,
.life-place a,
.file-button {
  -webkit-tap-highlight-color: transparent;
}

.actions button,
.intake-buttons button,
.file-button,
.filter-row button,
.theme-switcher button,
.row-actions button,
.work-card > button,
.command-grid button,
.settings-panel button,
.capture-trigger,
.settings-trigger,
.account-trigger,
.spark-fab {
  transition:
    translate 120ms ease,
    scale 120ms ease,
    box-shadow 180ms ease,
    border-color 160ms ease,
    background-color 160ms ease,
    color 160ms ease;
}

.actions button:hover,
.intake-buttons button:hover,
.file-button:hover,
.filter-row button:hover,
.theme-switcher button:hover,
.row-actions button:hover,
.work-card > button:hover,
.command-grid button:hover,
.settings-panel button:hover {
  border-color: #708273;
  box-shadow: 0 6px 17px rgba(36, 45, 38, .09);
  translate: 0 -1px;
}

.life-place button:active,
.life-place a:active,
.file-button:active {
  scale: .975;
  translate: 0 1px;
}

.life-place button:focus-visible,
.life-place a:focus-visible,
.file-button:focus-within {
  outline: 2px solid #8c654c;
  outline-offset: 3px;
}

.primary:hover,
.capture-trigger:hover {
  box-shadow:
    0 10px 25px rgba(38, 62, 47, .22),
    0 0 0 1px rgba(255, 255, 255, .16) inset !important;
}

/* Writing becomes a focused mode, not merely a white rectangle. */
.work-card textarea,
.work-card input,
.work-card select,
.capture-desk textarea {
  transition:
    min-height 280ms var(--app-ease),
    border-color 160ms ease,
    background-color 180ms ease,
    box-shadow 180ms ease;
}

.capture-desk:focus-within {
  box-shadow:
    0 30px 80px rgba(27, 37, 30, .2),
    0 0 0 1px rgba(255, 255, 255, .55) inset;
}

/* Data changing has visible continuity. */
.progress i,
.pulse-line i {
  transition: width 620ms var(--app-ease);
}

.capture-row,
.day-task,
.mission-entry {
  animation: app-item-settle 280ms var(--app-ease) both;
}

.capture-row:nth-child(2),
.day-task:nth-child(2),
.mission-entry:nth-child(2) { animation-delay: 35ms; }
.capture-row:nth-child(3),
.day-task:nth-child(3),
.mission-entry:nth-child(3) { animation-delay: 70ms; }
.capture-row:nth-child(n+4),
.day-task:nth-child(n+4),
.mission-entry:nth-child(n+4) { animation-delay: 95ms; }

@keyframes app-item-settle {
  from { opacity: 0; translate: -7px 0; }
}

/* Overlays belong to one spatial system and visibly come from their origin. */
.spark-dock {
  transform-origin: right bottom;
  animation: app-dock-open 260ms var(--app-spring) both;
}

.settings-panel {
  animation: app-panel-open 300ms var(--app-ease) both;
}

.scrim {
  animation: app-scrim-in 180ms ease both;
}

.toast {
  animation: app-toast-in 300ms var(--app-spring) both;
}

@keyframes app-dock-open {
  from { opacity: 0; scale: .96; translate: 10px 12px; }
}

@keyframes app-panel-open {
  from { translate: 28px 0; opacity: .4; }
}

@keyframes app-scrim-in {
  from { opacity: 0; }
}

@keyframes app-toast-in {
  from { opacity: 0; translate: 0 -10px; scale: .98; }
}

/* Ambient material movement is extremely slow and never touches reading
   surfaces. This gives the place air while the work remains stable. */
.morning-room::after {
  content: "";
  position: absolute;
  inset: -20%;
  pointer-events: none;
  background:
    radial-gradient(circle at 28% 38%, rgba(255, 238, 190, .09), transparent 23%),
    linear-gradient(110deg, transparent 35%, rgba(255, 255, 255, .055) 49%, transparent 63%);
  translate: -5% 0;
  animation: app-daylight 18s ease-in-out infinite alternate;
}

@keyframes app-daylight {
  to { translate: 7% 1%; }
}

@media (hover: none) {
  .place-rail nav button:hover,
  .protected-doors button:hover,
  .capture-row:hover,
  .day-task:hover,
  .mission-entry:hover,
  .calendar > button:hover,
  .actions button:hover,
  .intake-buttons button:hover,
  .file-button:hover,
  .filter-row button:hover,
  .theme-switcher button:hover,
  .row-actions button:hover,
  .work-card > button:hover,
  .command-grid button:hover,
  .settings-panel button:hover {
    translate: 0;
    box-shadow: none;
  }
}

@media (max-width: 900px) {
  .console-stage::before {
    left: 0;
    width: 100vw;
  }

  .place-rail nav button:hover {
    padding-left: 7px;
  }

  .place-rail nav button::after {
    inset: auto 18% 0;
    width: auto;
    height: 2px;
    scale: .2 1;
  }

  .place-rail nav button.active::after {
    scale: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .console-stage,
  .console-stage::before,
  .save-state::before,
  .capture-row,
  .day-task,
  .mission-entry,
  .spark-dock,
  .settings-panel,
  .scrim,
  .toast,
  .morning-room::after {
    animation: none !important;
  }

  .work-card:focus-within,
  .capture-row:hover,
  .day-task:hover,
  .mission-entry:hover,
  .calendar > button:hover {
    translate: 0;
  }
}

/* --------------------------------------------------------------------------
   HAMMER + CHISEL: CONTROL AND TYPE FOUNDATION

   No shading language is introduced here. This pass establishes unmistakable
   hierarchy, readable type, generous hit areas, and premium control geometry.
   -------------------------------------------------------------------------- */

.life-place {
  --control-ink: #21362d;
  --control-ink-soft: #52625a;
  --control-fill: #29483a;
  --control-fill-hover: #203c30;
  --control-paper: #fffaf0;
  --control-line: rgba(41, 63, 51, .34);
  --control-focus: #9c6b4d;
}

/* The smallest meaningful interface copy remains readable without zooming. */
.place-header span,
.status-line,
.save-state,
.work-card h2,
.hero p,
.work-card > header p,
.capture-desk header small,
.capture-desk header > span,
.life-pulse small,
.life-pulse span,
.life-pulse em,
.signals span,
.assistant-output b,
.assistant-output small,
.proposal > b,
.proposal span,
.candidate > b,
.candidate span,
.capture-meta b,
.capture-meta span,
.command-meta,
.command-page .command-row time,
.command-page .mission-board time,
.work-card label,
.settings-panel label,
.mission-key,
.gate-message,
.empty {
  font-size: clamp(11px, .78vw, 13px) !important;
  line-height: 1.45;
  letter-spacing: .035em;
}

.work-card > header p,
.hero > span,
.daily-task p,
.command-grid p,
.summary-grid p,
.capture-row small,
.settings-panel p {
  font-size: clamp(13px, .9vw, 15px) !important;
  line-height: 1.58;
}

.work-card h2,
.hero p,
.capture-desk header small {
  font-weight: 760;
  letter-spacing: .11em;
}

.capture-desk h2,
.work-card h3,
.daily-task h3,
.command-grid h3 {
  text-wrap: balance;
}

/* One control system: primary, secondary, utility, and compact filters. */
.actions button,
.intake-buttons button,
.file-button,
.theme-switcher button,
.row-actions button,
.work-card > button,
.command-grid button,
.settings-panel button,
.capture-trigger,
.settings-trigger,
.account-trigger,
.utilities > button,
.utilities > a,
.kit-tab,
.search-results button {
  min-height: 46px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid var(--control-line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--control-paper) 88%, transparent);
  color: var(--control-ink);
  font-family: "DM Sans", sans-serif;
  font-size: 12px !important;
  font-weight: 760;
  line-height: 1.15;
  letter-spacing: .055em;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
}

.actions .primary,
.primary,
.capture-trigger {
  min-height: 50px;
  padding-inline: 22px;
  border-color: var(--control-fill) !important;
  background: var(--control-fill) !important;
  color: #fffdf7 !important;
  font-weight: 800;
}

.actions .primary::after,
.capture-trigger::after,
.save-settings::after {
  content: "→";
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
}

.actions button:not(.primary)::after,
.theme-switcher button::after,
.work-card > button::after {
  content: "›";
  margin-left: auto;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
}

.filter-row button,
.row-actions button {
  min-height: 38px;
  padding-inline: 13px;
  border-radius: 999px;
  font-size: 11px !important;
}

.filter-row button::after,
.row-actions button::after,
.intake-buttons button::after,
.file-button::after {
  content: none;
}

.actions button:disabled,
.work-card button:disabled,
.desk-edge button:disabled {
  opacity: .46;
  filter: grayscale(.35);
}

.actions button:disabled::after,
.work-card button:disabled::after {
  opacity: .4;
}

/* Header utilities are clear without fighting the main work. */
.utilities {
  gap: 10px;
}

.utilities > button,
.utilities > a {
  min-height: 38px;
  padding-inline: 13px;
  border-radius: 7px;
  font-size: 11px !important;
}

.utilities .capture-trigger {
  min-height: 42px;
}

.utilities .capture-trigger::after {
  content: "+";
  order: -1;
  font-size: 17px;
}

.save-state {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  white-space: nowrap;
}

/* Guided breathing is now announced before it is touched. */
.pulse-exercise {
  width: clamp(190px, 16vw, 230px);
  height: clamp(190px, 16vw, 230px);
  padding: 27px 25px 24px;
  align-content: center;
  border: 2px solid rgba(218, 192, 132, .78);
  background:
    radial-gradient(circle at 50% 42%, rgba(255, 246, 214, .13), transparent 47%),
    rgba(18, 44, 33, .54);
  color: #fffaf0;
  box-shadow:
    inset 0 0 0 8px rgba(255, 255, 255, .035),
    0 0 0 1px rgba(255,255,255,.13),
    0 18px 46px rgba(6, 24, 17, .25);
  cursor: pointer;
}

.pulse-exercise .breath-kicker {
  position: absolute;
  top: 25px;
  left: 20px;
  right: 20px;
  color: #ead29a;
  font: 800 10px/1.2 "DM Sans", sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.pulse-exercise > i {
  width: 28px;
  height: 28px;
  margin-top: 18px;
  border: 2px solid #ead29a;
  background: rgba(255,255,255,.04);
}

.pulse-exercise > b {
  margin-top: 12px;
  color: #fffdf6;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .09em;
}

.pulse-exercise > strong {
  margin-top: 7px;
  color: #fff7df;
  font-size: 36px;
}

.pulse-exercise > small {
  width: auto;
  max-width: 170px;
  margin-top: 8px;
  color: rgba(255,255,255,.78);
  font: 500 11px/1.4 "DM Sans", sans-serif;
}

.pulse-exercise > em {
  margin-top: 10px;
  color: #efd9aa;
  font: normal 700 10px/1.3 "DM Sans", sans-serif;
  letter-spacing: .035em;
}

.pulse-exercise:hover {
  border-color: #f0d18d;
  box-shadow:
    inset 0 0 0 8px rgba(255, 255, 255, .045),
    0 0 0 5px rgba(232, 203, 139, .1),
    0 22px 52px rgba(6, 24, 17, .31);
}

.pulse-exercise:focus-visible {
  outline: 3px solid #fff8e8;
  outline-offset: 6px;
}

.pulse-exercise.running > strong {
  font-size: 46px;
}

/* The home metrics are doors, so they look actionable. */
.life-pulse article[role="button"] {
  position: relative;
  padding-bottom: 34px;
  border-bottom: 3px solid transparent;
}

.life-pulse article[role="button"]::after {
  content: "OPEN  →";
  position: absolute;
  right: 20px;
  bottom: 16px;
  color: #5c4435;
  font: 800 10px/1 "DM Sans", sans-serif;
  letter-spacing: .08em;
}

.life-pulse article[role="button"]:hover {
  z-index: 2;
  border-bottom-color: #86614a;
  background-color: rgba(255, 250, 239, .38);
  translate: 0 -3px;
  box-shadow: 0 16px 28px rgba(40, 43, 36, .13);
}

/* Close controls are recognizable icon controls, never bare floating glyphs. */
.modal header > button,
.spark-dock header > button,
.focus-layer header > button,
.kit-body header > button {
  width: 42px;
  min-width: 42px;
  height: 42px;
  min-height: 42px;
  padding: 0;
  border: 1px solid var(--control-line);
  border-radius: 50%;
  background: rgba(255,255,255,.34);
  font-size: 24px !important;
  line-height: 1;
}

@media (max-width: 900px) {
  .utilities > button:not(.capture-trigger),
  .utilities > a,
  .save-state {
    display: none;
  }

  .pulse-exercise {
    width: 180px;
    height: 180px;
    padding: 24px 18px 20px;
  }

  .pulse-exercise .breath-kicker {
    top: 18px;
  }

  .pulse-exercise > small {
    font-size: 10px;
  }
}

@media (max-width: 560px) {
  .pulse-exercise {
    width: min(100%, 250px);
    height: 190px;
    margin: 32px auto 0;
    border-radius: 24px;
  }

  .pulse-exercise > i {
    margin-top: 10px;
  }

  .pulse-exercise > em {
    display: block;
  }

  .actions,
  .intake-buttons {
    display: grid;
    grid-template-columns: 1fr;
  }

  .actions button,
  .intake-buttons button,
  .file-button {
    width: 100%;
    min-height: 50px;
  }

  .life-pulse article[role="button"]::after {
    right: 14px;
    bottom: 13px;
  }
}

/* --------------------------------------------------------------------------
   HOME INTERACTION ARCHITECTURE

   The guided breath owns one quiet pavilion. The arrival compass is a separate
   stateful tool. Neither competes with capture or masquerades as decoration.
   -------------------------------------------------------------------------- */

.morning-room {
  grid-template-columns: minmax(0, 1fr) minmax(180px, 240px);
}

.breath-pavilion {
  position: relative;
  min-height: 430px;
  padding: clamp(42px, 6vw, 78px);
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(300px, 1.1fr);
  align-items: center;
  gap: clamp(42px, 7vw, 105px);
  overflow: hidden;
  border: 1px solid rgba(203, 180, 128, .3);
  background:
    radial-gradient(circle at 76% 50%, rgba(221, 195, 131, .1), transparent 31%),
    linear-gradient(112deg, #102b23 0 48%, #17392e 100%);
  color: #f8f2e7;
  box-shadow: 0 30px 80px rgba(18, 35, 27, .22);
}

.breath-pavilion::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent 49.9%, rgba(235, 215, 167, .16) 50%, transparent 50.1%),
    repeating-radial-gradient(circle at 76% 50%, transparent 0 58px, rgba(236, 217, 171, .035) 59px 60px);
}

.breath-pavilion-copy,
.breath-pavilion-stage {
  position: relative;
  z-index: 1;
}

.breath-pavilion-copy > small,
.arrival-compass header small,
.arrival-response small {
  color: #d8b875;
  font: 800 11px/1.3 "DM Sans", sans-serif;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.breath-pavilion-copy h2 {
  max-width: 12ch;
  margin: 15px 0 17px;
  color: #fff9ed;
  font: 400 clamp(38px, 4.3vw, 60px)/.98 "Instrument Serif", serif;
  letter-spacing: -.025em;
  text-wrap: balance;
}

.breath-pavilion-copy > p {
  max-width: 49ch;
  margin: 0;
  color: rgba(244, 239, 228, .7);
  font-size: 14px;
  line-height: 1.7;
}

.breath-pavilion-copy ol {
  margin: 30px 0 0;
  padding: 0;
  display: flex;
  gap: 7px;
  list-style: none;
}

.breath-pavilion-copy li {
  min-width: 84px;
  padding: 13px 14px;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 9px;
  border-top: 1px solid rgba(229, 207, 158, .35);
}

.breath-pavilion-copy li b {
  color: #edcf8f;
  font: 400 26px/1 "Instrument Serif", serif;
}

.breath-pavilion-copy li span {
  color: rgba(255,255,255,.68);
  font-size: 10px;
  line-height: 1.25;
}

.breath-pavilion-stage {
  min-height: 310px;
  display: grid;
  place-items: center;
}

.breath-pavilion .pulse-exercise {
  width: 286px;
  height: 286px;
  margin: 0;
  border-width: 2px;
  background:
    radial-gradient(circle at 50% 43%, rgba(255, 239, 190, .15), transparent 44%),
    rgba(9, 30, 23, .66);
  box-shadow:
    inset 0 0 0 11px rgba(255, 255, 255, .025),
    0 0 0 18px rgba(223, 197, 137, .045),
    0 0 0 38px rgba(223, 197, 137, .025),
    0 30px 70px rgba(0, 15, 10, .35);
}

.breath-pavilion .pulse-exercise.running {
  box-shadow:
    inset 0 0 0 11px rgba(255, 255, 255, .03),
    0 0 0 18px rgba(223, 197, 137, .07),
    0 0 0 38px rgba(223, 197, 137, .035),
    0 32px 75px rgba(0, 15, 10, .4);
}

.breath-pavilion .pulse-exercise.phase-inhale {
  scale: 1.055;
}

.breath-pavilion .pulse-exercise.phase-exhale,
.breath-pavilion .pulse-exercise.phase-rest {
  scale: .965;
}

/* Arrival Compass: one choice changes one recommendation. */
.arrival-compass {
  padding: clamp(32px, 4vw, 54px);
  border: 1px solid rgba(75, 68, 53, .22);
  background: #eee4d3;
  color: #27382f;
}

.arrival-compass header {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(250px, .75fr);
  align-items: end;
  gap: 32px;
}

.arrival-compass header h2 {
  margin: 10px 0 0;
  font: 400 clamp(30px, 3.2vw, 45px)/1.05 "Instrument Serif", serif;
  letter-spacing: -.02em;
}

.arrival-compass header p {
  margin: 0;
  color: #687269;
  font-size: 13px;
  line-height: 1.6;
}

.arrival-options {
  margin-top: 34px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid rgba(62, 75, 65, .24);
}

.arrival-options button {
  min-height: 96px;
  padding: 18px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  border: 0;
  border-right: 1px solid rgba(62, 75, 65, .2);
  border-radius: 0;
  background: rgba(255, 251, 242, .42);
  color: #536158;
  text-align: left;
  cursor: pointer;
}

.arrival-options button:last-child {
  border-right: 0;
}

.arrival-options button i {
  color: #a26a4e;
  font: normal 800 10px/1 "DM Sans", sans-serif;
  letter-spacing: .08em;
}

.arrival-options button span {
  font: 400 18px/1.15 "Instrument Serif", serif;
}

.arrival-options button b {
  color: #7f8d82;
  font-size: 15px;
}

.arrival-options button:hover {
  background: rgba(255, 252, 246, .78);
}

.arrival-options button.selected {
  background: #315044;
  color: #fffaf0;
  box-shadow: inset 0 -4px #d0a66b;
}

.arrival-options button.selected i,
.arrival-options button.selected b {
  color: #e8c681;
}

.arrival-response {
  min-height: 112px;
  padding: 24px 0 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 28px;
}

.arrival-response p {
  max-width: 62ch;
  margin: 8px 0 0;
  color: #3f5047;
  font: 400 20px/1.35 "Instrument Serif", serif;
}

.arrival-response .primary {
  min-width: 220px;
}

.theme-focus .arrival-compass {
  border-color: #45534b;
  background: #202824;
  color: #eee7db;
}

.theme-focus .arrival-compass header p,
.theme-focus .arrival-response p {
  color: #aeb8b0;
}

.theme-focus .arrival-options {
  border-color: #4b5a51;
}

.theme-focus .arrival-options button {
  border-color: #4b5a51;
  background: #18201c;
  color: #cbd2cb;
}

.theme-focus .arrival-options button.selected {
  background: #526c5b;
  color: #fff;
}

@media (max-width: 900px) {
  .breath-pavilion {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .breath-pavilion-copy h2,
  .breath-pavilion-copy > p {
    margin-inline: auto;
  }

  .breath-pavilion-copy ol {
    justify-content: center;
  }

  .arrival-options {
    grid-template-columns: 1fr 1fr;
  }

  .arrival-options button:nth-child(2) {
    border-right: 0;
  }

  .arrival-options button:nth-child(-n+2) {
    border-bottom: 1px solid rgba(62, 75, 65, .2);
  }
}

@media (max-width: 620px) {
  .morning-room {
    display: block;
  }

  .breath-pavilion {
    min-height: 0;
    padding: 42px 22px 48px;
    gap: 26px;
  }

  .breath-pavilion::before {
    background: repeating-radial-gradient(circle at 50% 72%, transparent 0 48px, rgba(236, 217, 171, .035) 49px 50px);
  }

  .breath-pavilion-copy ol {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }

  .breath-pavilion-copy li {
    min-width: 0;
    padding-inline: 7px;
    display: grid;
    grid-template-columns: 1fr;
  }

  .breath-pavilion .pulse-exercise {
    width: min(250px, 78vw);
    height: min(250px, 78vw);
  }

  .arrival-compass {
    padding: 32px 20px;
  }

  .arrival-compass header,
  .arrival-response {
    grid-template-columns: 1fr;
  }

  .arrival-options {
    grid-template-columns: 1fr;
  }

  .arrival-options button {
    min-height: 72px;
    border-right: 0;
    border-bottom: 1px solid rgba(62, 75, 65, .2);
  }

  .arrival-options button:last-child {
    border-bottom: 0;
  }

  .arrival-response .primary {
    width: 100%;
    min-width: 0;
  }
}

/* App home: a working planner surface, never a landing page. */
.home-workspace {
  display: grid;
  gap: 14px;
}

.home-workspace::after {
  display: none;
}

.home-command {
  min-height: 168px;
  padding: clamp(28px, 4vw, 52px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  border: 1px solid rgba(237, 218, 192, .2);
  border-radius: 18px;
  background:
    linear-gradient(110deg, rgba(17, 40, 37, .98), rgba(31, 65, 61, .9)),
    #173c39;
  color: #f8f0df;
  box-shadow: 0 24px 70px rgba(16, 26, 23, .22);
}

.home-command small,
.home-primary small,
.home-sheet header small,
.home-capacity > small {
  color: #d6b77b;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .17em;
}

.home-command h1 {
  margin: 8px 0 3px;
  font: 400 clamp(42px, 5vw, 68px)/.95 "Instrument Serif";
}

.home-command p {
  margin: 0;
  color: #c9d1c9;
  font-size: 12px;
}

.home-command__capture {
  min-width: min(330px, 42%);
  min-height: 74px;
  padding: 13px 18px;
  display: flex;
  align-items: center;
  gap: 13px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 11px;
  background: rgba(255, 255, 255, .09);
  color: #fff;
  text-align: left;
  box-shadow: inset 0 1px rgba(255, 255, 255, .12);
}

.home-command__capture > i {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #c27b54;
  font: normal 24px/1 "Instrument Serif";
}

.home-command__capture b,
.home-command__capture small {
  display: block;
}

.home-command__capture b {
  font-size: 11px;
}

.home-command__capture small {
  margin-top: 4px;
  color: #cbd3cc;
  letter-spacing: 0;
  font-weight: 400;
}

.home-primary {
  min-height: 184px;
  padding: 26px 30px;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
  border: 1px solid #cbbca5;
  border-radius: 13px;
  background:
    linear-gradient(90deg, transparent 0 76px, rgba(188, 88, 76, .21) 77px 78px, transparent 79px),
    repeating-linear-gradient(0deg, transparent 0 35px, rgba(117, 143, 132, .17) 36px),
    #fffdf7;
  color: #20342f;
  box-shadow: 0 18px 48px rgba(29, 34, 28, .14);
}

.home-primary__number {
  align-self: start;
  color: #a76a4c;
  font: 400 30px "Instrument Serif";
}

.home-primary h2 {
  margin: 8px 0 5px;
  max-width: 760px;
  font: 400 clamp(27px, 3vw, 41px)/1.08 "Instrument Serif";
}

.home-primary p {
  margin: 0;
  color: #69766f;
  font-size: 10px;
}

.home-primary > button {
  min-height: 50px;
  padding-inline: 20px;
  border-radius: 8px;
}

.home-status {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.home-status button {
  min-height: 118px;
  padding: 20px;
  display: grid;
  align-content: start;
  gap: 4px;
  border: 1px solid rgba(230, 217, 198, .18);
  border-radius: 10px;
  background: rgba(25, 48, 45, .9);
  color: #f4eadb;
  text-align: left;
}

.home-status small {
  color: #d4b87e;
  font-size: 7px;
  letter-spacing: .14em;
}

.home-status b {
  margin-top: 8px;
  font: 400 31px "Instrument Serif";
}

.home-status b i {
  color: #9baca5;
  font: normal 11px "DM Sans";
}

.home-status span {
  color: #aebcb5;
  font-size: 8px;
}

.home-workgrid {
  display: grid;
  grid-template-columns: 1fr 1fr minmax(220px, .65fr);
  gap: 9px;
}

.home-sheet,
.home-capacity {
  min-height: 310px;
  padding: 25px;
  border: 1px solid #cfc2ae;
  border-radius: 9px 13px 7px 11px;
  background:
    repeating-linear-gradient(0deg, transparent 0 31px, rgba(118, 144, 132, .14) 32px),
    #fffdf8;
  color: #253630;
  box-shadow: 0 16px 38px rgba(31, 34, 29, .12);
}

.home-sheet--review {
  rotate: .12deg;
}

.home-sheet header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 15px;
  border-bottom: 1px solid #d9cdbc;
}

.home-sheet h2,
.home-capacity h2 {
  margin: 5px 0 0;
  font: 400 25px/1.05 "Instrument Serif";
}

.home-sheet header button,
.home-empty button {
  border: 0;
  background: transparent;
  color: #965f46;
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .08em;
}

.home-sheet ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.home-sheet li {
  min-height: 65px;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid #ddd2c1;
}

.home-sheet li > i {
  color: #aa7354;
  font: normal 15px "Instrument Serif";
}

.home-sheet li b,
.home-sheet li small {
  display: block;
}

.home-sheet li b {
  overflow: hidden;
  font: 400 14px/1.25 "Instrument Serif";
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-sheet li small {
  margin-top: 3px;
  color: #78817a;
  font-size: 7px;
  text-transform: capitalize;
}

.home-empty {
  min-height: 190px;
  display: grid;
  place-content: center;
  text-align: center;
}

.home-empty b {
  font: 400 20px "Instrument Serif";
}

.home-empty p {
  max-width: 270px;
  color: #6f7972;
  font: 12px/1.45 "Instrument Serif";
}

.home-capacity {
  background: linear-gradient(145deg, #efe6d7, #ded2bf);
}

.home-capacity > div {
  margin-top: 23px;
  display: grid;
  gap: 6px;
}

.home-capacity button {
  min-height: 42px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #bfb29f;
  border-radius: 6px;
  background: rgba(255, 255, 255, .35);
  color: #425149;
  font-size: 8px;
  letter-spacing: .1em;
}

.home-capacity button i {
  width: 10px;
  height: 10px;
  border: 1px solid #6d7e75;
  border-radius: 50%;
}

.home-capacity button.active {
  border-color: #31584f;
  background: #31584f;
  color: #fff;
  box-shadow: 0 8px 18px rgba(37, 69, 61, .2);
}

.home-capacity button.active i {
  border: 3px solid #fff;
}

.home-capacity p {
  color: #5e6962;
  font: 12px/1.5 "Instrument Serif";
}

.home-reset {
  border: 1px solid rgba(231, 217, 194, .19);
  border-radius: 10px;
  background: rgba(25, 45, 41, .82);
  color: #f3eadb;
}

.home-reset > summary {
  min-height: 68px;
  padding: 0 22px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  list-style: none;
}

.home-reset summary small,
.home-reset summary b {
  display: block;
}

.home-reset summary small {
  color: #d2b67d;
  font-size: 7px;
  letter-spacing: .15em;
}

.home-reset summary b {
  margin-top: 4px;
  font: 400 17px "Instrument Serif";
}

.home-reset > summary > i {
  font-style: normal;
}

.home-reset .breath-pavilion {
  margin: 0;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, .13);
  border-radius: 0;
}

/* Desk tools: purpose and state remain visible while the page is in use. */
.kit-tab em {
  color: #f1d391;
  font-size: 6px;
  font-style: normal;
  letter-spacing: .08em;
}

.tool-direction {
  margin: 2px 0 14px;
  padding: 12px;
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 12px;
  border: 1px solid rgba(226, 194, 130, .28);
  background: rgba(255, 255, 255, .055);
}

.tool-direction > span {
  display: grid;
  place-items: center;
  min-height: 42px;
  border: 1px solid #d7b975;
  color: #f1d698;
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .1em;
}

.tool-direction b {
  font: 400 17px "Instrument Serif";
}

.tool-direction p {
  margin: 3px 0 0;
  color: #bdb3a8;
  font-size: 8px;
  line-height: 1.45;
}

.writing-tools span b,
.writing-tools span small {
  display: block;
}

.writing-tools span b {
  font-size: 7px;
  font-weight: 600;
}

.writing-tools span small {
  margin-top: 3px;
  color: #d8bd7d;
  font-size: 5px;
}

.kit-actions {
  margin-top: 14px;
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 7px;
}

.kit-actions button {
  min-height: 44px;
  border: 1px solid rgba(255, 255, 255, .22);
  background: rgba(255, 255, 255, .06);
  color: #f3eadf;
  font-size: 7px;
  letter-spacing: .08em;
}

@media (max-width: 900px) {
  .home-workgrid {
    grid-template-columns: 1fr 1fr;
  }

  .home-capacity {
    grid-column: 1 / -1;
    min-height: auto;
  }
}

@media (max-width: 620px) {
  .home-workspace {
    gap: 10px;
  }

  .home-command {
    min-height: 178px;
    padding: 25px 20px;
    display: grid;
    gap: 18px;
    border-radius: 12px;
  }

  .home-command h1 {
    font-size: 45px;
  }

  .home-command__capture {
    width: 100%;
    min-width: 0;
    min-height: 62px;
  }

  .home-primary {
    min-height: 220px;
    padding: 23px 19px;
    grid-template-columns: 32px 1fr;
    align-items: start;
    gap: 10px;
  }

  .home-primary > button {
    grid-column: 1 / -1;
    width: 100%;
  }

  .home-status {
    grid-template-columns: 1fr;
  }

  .home-status button {
    min-height: 90px;
    grid-template-columns: 1fr auto;
    align-items: center;
  }

  .home-status button > span {
    grid-column: 1 / -1;
  }

  .home-workgrid {
    grid-template-columns: 1fr;
  }

  .home-capacity {
    grid-column: auto;
  }

  .home-sheet,
  .home-capacity {
    min-height: 0;
    padding: 21px 17px;
  }

  .kit-actions {
    grid-template-columns: 1fr;
  }
}

/* Opening hierarchy: one doorway first, full planner desk by choice. */
.arrival-wait {
  min-height: 74px;
  padding: 0 28px;
  display: flex;
  align-items: center;
  border-top: 1px solid rgba(64, 78, 68, .16);
  color: #69766d;
  font-size: 12px;
}

.full-desk {
  border: 1px solid rgba(77, 88, 77, .2);
  background: rgba(239, 231, 216, .72);
  box-shadow: 0 20px 55px rgba(29, 37, 31, .09);
}

.full-desk > summary {
  min-height: 92px;
  padding: 20px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  list-style: none;
  cursor: pointer;
  color: #2e4035;
}

.full-desk > summary::-webkit-details-marker { display: none; }
.full-desk > summary span { display: grid; gap: 7px; }
.full-desk > summary small {
  color: #8b6b55;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .16em;
}
.full-desk > summary b { font: 400 24px/1 "Instrument Serif"; }
.full-desk > summary > i {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(48, 67, 55, .34);
  border-radius: 50%;
  font: normal 22px/1 "DM Sans";
  transition: transform .25s ease, background .25s ease;
}
.full-desk[open] > summary > i {
  transform: rotate(45deg);
  background: #304337;
  color: #f5eee2;
}
.full-desk__inside {
  padding: 0 18px 18px;
  display: grid;
  gap: 18px;
}
.theme-focus .full-desk {
  border-color: rgba(222, 231, 222, .17);
  background: rgba(24, 31, 27, .82);
}
.theme-focus .full-desk > summary { color: #e8e2d8; }
.theme-focus .arrival-wait {
  border-color: rgba(223, 232, 223, .14);
  color: #aab5ad;
}
.settings-panel > header small {
  color: #8b6b55;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .16em;
}
.settings-panel .device-backup {
  border-color: rgba(50, 73, 59, .42);
  background: rgba(255, 252, 244, .72);
}
.device-trust {
  margin: 14px 0;
  padding: 14px 16px;
  display: grid;
  gap: 5px;
  border-left: 3px solid #4d6c57;
  background: rgba(69, 95, 76, .09);
}
.device-trust b {
  color: #35503f;
  font-size: 9px;
  letter-spacing: .09em;
}
.device-trust span {
  color: #69736b;
  font-size: 11px;
  line-height: 1.5;
}
.life-place button.account-trigger {
  appearance: none;
  cursor: pointer;
}

@media (max-width: 560px) {
  .full-desk > summary { min-height: 82px; padding: 17px 19px; }
  .full-desk__inside { padding: 0 8px 8px; }
  .arrival-wait { padding: 17px 20px; }
}

/* Phone shell: an app arrival, not the foot of a desktop website. */
.mobile-appbar,
.mobile-tabbar {
  display: none;
}

@media (max-width: 900px) {
  html,
  body {
    min-height: 100%;
    overscroll-behavior-y: none;
  }

  .life-place {
    min-height: 100svh;
    padding: calc(74px + env(safe-area-inset-top)) 0 calc(82px + env(safe-area-inset-bottom));
  }

  .life-place > .place-rail,
  .life-place > .place-header,
  .life-place > .status-line,
  .life-place > .console-footer {
    display: none;
  }

  .mobile-appbar {
    position: fixed;
    z-index: 120;
    inset: 0 0 auto;
    min-height: calc(64px + env(safe-area-inset-top));
    padding: env(safe-area-inset-top) 14px 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    border-bottom: 1px solid rgba(235, 222, 201, .15);
    background: rgba(16, 43, 43, .96);
    color: #f4ecdf;
    backdrop-filter: blur(20px) saturate(1.15);
  }

  .mobile-brand {
    width: 48px;
    height: 44px;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: auto auto;
    place-content: center;
    gap: 4px;
    border: 0 !important;
    background: transparent !important;
    color: #f3e9d8 !important;
  }

  .mobile-brand b {
    font: 400 18px/1 "Instrument Serif";
  }

  .mobile-brand i {
    align-self: end;
    color: #d4b166;
    font: normal 700 7px/1 "DM Sans";
    letter-spacing: .08em;
  }

  .mobile-appbar > div {
    min-width: 0;
    display: grid;
    gap: 3px;
  }

  .mobile-appbar > div small {
    color: #d8bd82;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .15em;
  }

  .mobile-appbar > div span {
    overflow: hidden;
    color: #abbab1;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mobile-capture {
    min-height: 40px !important;
    padding: 0 13px !important;
    border: 1px solid #d2ae68 !important;
    background: #d2ae68 !important;
    color: #173331 !important;
    font-size: 8px !important;
    font-weight: 900 !important;
    letter-spacing: .09em !important;
  }

  .mobile-tabbar {
    position: fixed;
    z-index: 125;
    inset: auto 0 0;
    min-height: calc(70px + env(safe-area-inset-bottom));
    padding: 7px 10px env(safe-area-inset-bottom);
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    border-top: 1px solid rgba(235, 222, 201, .14);
    background: rgba(14, 40, 40, .97);
    color: #90a39a;
    backdrop-filter: blur(22px) saturate(1.15);
  }

  .mobile-tabbar button {
    min-height: 57px !important;
    padding: 5px 4px !important;
    display: grid !important;
    place-items: center;
    align-content: center;
    gap: 4px;
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
    box-shadow: none !important;
  }

  .mobile-tabbar button i {
    font: normal 21px/1 "DM Sans";
  }

  .mobile-tabbar button span {
    color: inherit;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .04em;
  }

  .mobile-tabbar button.active {
    color: #f0cf8a !important;
  }

  .mobile-tabbar .mobile-tabbar__capture i {
    width: 37px;
    height: 37px;
    margin-top: -20px;
    display: grid;
    place-items: center;
    border: 2px solid #102b2b;
    border-radius: 50%;
    background: #d3ad63;
    color: #173331;
    box-shadow: 0 7px 20px rgba(0, 0, 0, .3);
  }

  .console-stage {
    width: 100%;
    padding: 0 12px 28px;
  }

  .spark-fab {
    display: none;
  }

  .mobile-rooms {
    align-items: end;
  }

  .mobile-rooms > section {
    position: relative;
    width: 100%;
    max-height: 89svh;
    padding: 25px 17px calc(22px + env(safe-area-inset-bottom));
    overflow: auto;
    border-radius: 24px 24px 0 0;
    background: #efe6d7;
    color: #25342b;
    box-shadow: 0 -25px 80px rgba(7, 24, 22, .38);
  }

  .mobile-rooms > section > header {
    display: flex;
    justify-content: space-between;
    gap: 15px;
  }

  .mobile-rooms header small {
    color: #986b4e;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .15em;
  }

  .mobile-rooms header h2 {
    margin: 7px 0 4px;
    font: 400 34px/1 "Instrument Serif";
  }

  .mobile-rooms header p {
    margin: 0;
    color: #68736b;
    font-size: 11px;
  }

  .mobile-rooms header > button {
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    border: 1px solid #b8ad9b;
    background: transparent;
    color: #3d4d43;
    font-size: 22px;
  }

  .mobile-rooms nav {
    margin-top: 20px;
    display: grid;
  }

  .mobile-rooms nav button {
    min-height: 68px;
    padding: 11px 5px !important;
    display: grid !important;
    grid-template-columns: 30px minmax(0, 1fr) 24px;
    gap: 11px;
    align-items: center;
    border: 0 !important;
    border-top: 1px solid #cfc3b1 !important;
    background: transparent !important;
    color: #314139 !important;
    text-align: left;
  }

  .mobile-rooms nav button > i {
    color: #9e7658;
    font: normal 9px "DM Sans";
  }

  .mobile-rooms nav button > span {
    display: grid;
    gap: 3px;
  }

  .mobile-rooms nav button b {
    font-size: 11px;
    letter-spacing: .09em;
  }

  .mobile-rooms nav button small {
    overflow: hidden;
    color: #748078;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mobile-rooms nav button > em {
    color: #9b7454;
    font: normal 17px "Instrument Serif";
  }

  .mobile-rooms nav button.active {
    background: rgba(75, 103, 83, .09) !important;
  }

  .mobile-rooms footer {
    margin-top: 12px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .mobile-rooms footer button,
  .mobile-rooms footer a {
    min-height: 48px;
    padding: 0 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #9f8e78;
    background: transparent;
    color: #405045;
    text-decoration: none;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .08em;
  }
}

.pulse-page {
  display: grid;
  gap: 22px;
}

.pulse-room-note {
  width: min(760px, 100%);
  margin: 0 auto;
  padding: 24px 28px;
  border-left: 2px solid rgba(181, 132, 79, .5);
  background: rgba(247, 242, 230, .76);
}

.pulse-room-note small {
  color: #94623f;
  font: 800 9px/1.2 "DM Sans", sans-serif;
  letter-spacing: .15em;
}

.pulse-room-note p {
  margin: 8px 0 0;
  color: #53645b;
  font: 400 16px/1.6 "Instrument Serif", serif;
}

.pulse-control {
  display: grid;
  justify-items: center;
  gap: 18px;
}

.pulse-controls {
  display: flex;
  gap: 8px;
}

.pulse-controls button {
  min-height: 44px;
  padding: 0 17px;
  border: 1px solid rgba(231, 210, 162, .3);
  border-radius: 999px;
  background: rgba(246, 236, 210, .08);
  color: #f1dfba;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
}

@media (max-width: 560px) {
  .home-page {
    gap: 12px;
  }

  .home-page .morning-room {
    min-height: 246px;
    padding: 29px 23px;
    border-radius: 0 0 18px 18px;
  }

  .home-page .morning-copy p {
    margin-bottom: 12px;
    font-size: 8px;
  }

  .home-page .morning-copy h1 {
    max-width: 290px;
    font-size: 43px;
    line-height: .94;
  }

  .home-page .morning-copy span {
    max-width: 300px;
    margin-top: 16px;
    font-size: 12px;
    line-height: 1.55;
  }

  .home-page .room-guidance {
    display: none;
  }

  .home-page .arrival-compass {
    margin-top: 0;
    padding: 22px 17px 0;
    border-radius: 16px;
  }

  .home-page .arrival-compass header h2 {
    font-size: 30px;
  }

  .home-page .arrival-compass header p {
    font-size: 11px;
  }

  .home-page .arrival-options {
    grid-template-columns: 1fr;
  }

  .home-page .arrival-options button,
  .home-page .arrival-options button:nth-child(2),
  .home-page .arrival-options button:nth-child(-n+2) {
    min-height: 58px;
    border: 0;
    border-top: 1px solid rgba(61, 75, 65, .17);
  }

  .home-page .arrival-response {
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 16px;
    padding: 19px 0 18px;
  }

  .home-page .arrival-response .primary {
    width: 100%;
    min-height: 52px;
  }

  .capture-desk {
    margin: 0;
    width: 100%;
  }
}

/* --------------------------------------------------------------------------
   PAGE ROOMS — one family of materials, eight different jobs.
   The reference board is used as spatial direction, not copied decoration.
   -------------------------------------------------------------------------- */

.page:not(.home-page) {
  isolation: isolate;
}

.page:not(.home-page) > .work-card,
.page:not(.home-page) > .command-grid,
.page:not(.home-page) > .mission-board,
.page:not(.home-page) > .vision-beacons,
.page:not(.home-page) > .hideaway-grid,
.page:not(.home-page) > blockquote,
.page:not(.home-page) > .soul-room-tabs {
  position: relative;
  z-index: 2;
}

/* Today / The Arena — a ring-bound daily spread, mission on the left,
   execution on the right, with a real scratch-writing lane. */
.today-page {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 18px;
  background:
    radial-gradient(ellipse at 50% 7px, #8b765f 0 3px, transparent 3.7px) 50% 0/54px 24px repeat-y,
    linear-gradient(90deg, transparent calc(50% - 23px), rgba(68, 57, 44, .08) calc(50% - 22px), rgba(255,255,255,.5) 50%, rgba(68,57,44,.08) calc(50% + 22px), transparent calc(50% + 23px)),
    linear-gradient(90deg, transparent 0 47px, rgba(181,104,91,.1) 48px 49px, transparent 50px),
    #eee5d5;
}

.today-page::before {
  content: "";
  position: absolute;
  z-index: 5;
  left: calc(50% - 8px);
  top: 112px;
  bottom: 38px;
  width: 16px;
  pointer-events: none;
  background:
    radial-gradient(ellipse at center, transparent 0 4px, #89745d 4.5px 5.5px, #d9c8ab 6px 7px, transparent 7.5px) 50% 0/16px 54px repeat-y;
  filter: drop-shadow(1px 2px 1px rgba(45,36,28,.18));
}

.today-page > .hero {
  grid-column: 1/-1;
}

.today-page > .daily-task {
  grid-column: 1/6;
  grid-row: span 1;
  min-height: 270px;
  margin-right: 9px;
  padding-left: 68px;
  background:
    linear-gradient(90deg, transparent 0 49px, rgba(190,100,92,.34) 50px 52px, transparent 53px),
    repeating-linear-gradient(0deg, transparent 0 31px, rgba(117,132,119,.2) 32px),
    #f8f1e3;
}

.today-page > .daily-task::after {
  content: "BREATHE. FOCUS. FINISH.";
  position: absolute;
  left: 68px;
  bottom: 28px;
  color: #92745c;
  font: italic 12px "Instrument Serif";
  letter-spacing: .04em;
}

.today-page > .work-card:has(.signals) {
  grid-column: 7/-1;
  min-height: 270px;
  background:
    radial-gradient(circle at 11px 11px, rgba(79,94,82,.12) 1.2px, transparent 1.5px) 0 0/22px 22px,
    #f4ecdd;
}

.today-page > .work-card:not(.daily-task):not(:has(.signals)) {
  grid-column: 1/-1;
}

.today-page .proposal {
  border-left: 4px solid #b48958;
  box-shadow: 8px 9px 0 rgba(189,155,94,.12);
}

.today-page .capture-list {
  columns: 2 310px;
  column-gap: 18px;
}

.today-page .capture-row {
  break-inside: avoid;
  margin-bottom: 13px;
}

/* Month — broad desk calendar plus a vertical upcoming-events folio. */
.month-page {
  grid-template-columns: minmax(0, 2fr) minmax(270px, .72fr);
  align-items: start;
  background:
    linear-gradient(90deg, rgba(98,72,50,.045) 0 1px, transparent 1px) 0 0/36px 100%,
    linear-gradient(0deg, rgba(98,72,50,.025) 0 1px, transparent 1px) 0 0/100% 36px,
    #e9ddca;
}

.month-page > .month-calendar-sheet {
  grid-column: 1;
  grid-row: 1/3;
  padding: 28px;
  border-top: 7px solid #395d5e;
  box-shadow: 9px 12px 0 rgba(83,64,43,.08);
}

.month-page > .month-day-sheet {
  grid-column: 2;
  grid-row: 1;
  border-top: 7px solid #b58957;
}

.month-page > .month-roar-sheet {
  grid-column: 2;
  grid-row: 2;
  border-top: 7px solid #486c61;
}

.month-page .calendar {
  padding: 8px;
  border: 1px solid rgba(80,70,56,.14);
  background: rgba(255,250,239,.5);
}

.month-page .calendar > button {
  min-height: 84px;
  align-content: start;
  text-align: left;
  box-shadow: inset 0 -1px rgba(72,66,55,.09), inset -1px 0 rgba(72,66,55,.07);
}

.month-page .calendar > button.selected {
  outline: 2px solid #b38855;
  outline-offset: -4px;
  background: #f4e5ca;
}

.month-page .day-task {
  position: relative;
  margin-top: 10px;
  padding: 14px 12px 14px 19px;
  border: 0;
  background: #f4e3a7;
  box-shadow: 4px 5px 10px rgba(70,55,35,.12);
  rotate: -.35deg;
}

/* Review — an actual sorting table. The current truth is the paper at center;
   destinations read as individual place cards, history as the side file. */
.review-page {
  grid-template-columns: minmax(0, 1.7fr) minmax(250px, .6fr);
  align-items: start;
  padding-bottom: 70px !important;
  background:
    linear-gradient(93deg, rgba(76,47,30,.18), transparent 9% 91%, rgba(76,47,30,.14)),
    repeating-linear-gradient(90deg, rgba(80,51,32,.035) 0 1px, transparent 1px 47px),
    #947155;
}

.review-page > .hero {
  grid-column: 1/-1;
  color: #283a35;
  background: #d9c8aa;
}

.review-page > .review-fragment,
.review-page > .work-card:has(.semantic-lanes) {
  grid-column: 1;
  min-height: 470px;
  margin: 14px;
  padding: 50px clamp(24px,5vw,72px);
  border: 10px solid rgba(255,250,238,.55);
  background:
    linear-gradient(90deg, transparent 0 42px, rgba(190,95,86,.27) 43px 45px, transparent 46px),
    repeating-linear-gradient(0deg, transparent 0 33px, rgba(106,124,111,.17) 34px),
    #f6edda;
  box-shadow: 0 18px 45px rgba(44,28,18,.3);
  rotate: -.22deg;
}

.review-page > .review-fragment::before,
.review-page > .work-card:has(.semantic-lanes)::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -25px;
  width: 96px;
  height: 32px;
  translate: -50% 0;
  border: 5px solid #6d655b;
  border-bottom: 12px solid #83786a;
  border-radius: 7px 7px 2px 2px;
  background: #b8ad99;
  box-shadow: 0 4px 5px rgba(30,24,19,.25);
}

.review-page > .work-card:last-child {
  grid-column: 2;
  max-height: 610px;
  overflow: auto;
  border-top: 7px solid #274d4b;
  background: #e1d2b9;
}

.review-page .semantic-lanes {
  grid-template-columns: repeat(4, minmax(0,1fr));
}

.review-page .semantic-lanes button {
  min-height: 84px;
  padding: 28px 8px 10px;
  position: relative;
  border: 0;
  border-radius: 3px;
  background: #efe2c7;
  box-shadow: 3px 5px 10px rgba(56,38,25,.16);
}

.review-page .semantic-lanes button:nth-child(3n+1) { background: #ecd2bf; }
.review-page .semantic-lanes button:nth-child(3n+2) { background: #dce3c7; }
.review-page .semantic-lanes button:nth-child(3n) { background: #d3e0dd; }
.review-page .semantic-lanes .primary { background: #e6c889; color: #31463c; }

/* Command — dense by purpose, but separated into physical mission cards. */
.command-page {
  background:
    radial-gradient(circle at 90% 4%, rgba(196,158,87,.11), transparent 20%),
    linear-gradient(120deg,#173b3b,#0d2d31);
}

.command-page > .hero {
  color: #f4ead8;
  background:
    linear-gradient(90deg, rgba(215,180,103,.14), transparent),
    #163c3e;
}

.command-page > .hero p,
.command-page > .hero span {
  color: #d4bf92;
}

.command-page .command-grid {
  gap: 13px;
}

.command-page .command-grid > .work-card {
  min-height: 230px;
  border: 1px solid rgba(71,59,46,.22);
  border-top: 6px solid #b48956;
  background:
    linear-gradient(115deg, rgba(255,255,255,.2), transparent 42%),
    #eadfca;
  box-shadow: 7px 9px 0 rgba(4,29,29,.22);
}

.command-page .mission-board {
  gap: 10px;
  padding: 10px;
  border: 0;
  background: #102f31;
}

.command-page .mission-board > div {
  border: 1px solid #ffffff18;
  background: #e7dbc6;
  color: #2d3933;
}

.command-page .mission-board > div:nth-child(1) { border-top: 6px solid #507d5f; }
.command-page .mission-board > div:nth-child(2) { border-top: 6px solid #a76651; }
.command-page .mission-board > div:nth-child(3) { border-top: 6px solid #b69a5e; }

/* Vision — archival scrapbook: the statement is a journal page, the horizon
   beacons are saved cards, and the log reads like evidence kept over time. */
.vision-page {
  grid-template-columns: minmax(280px,.85fr) minmax(0,1.5fr);
  align-items: start;
  background:
    linear-gradient(90deg, transparent 0 51px, rgba(175,91,82,.13) 52px 54px, transparent 55px),
    #dfd0b7;
}

.vision-page > .hero {
  grid-column: 1/-1;
}

.vision-page > .hero + .work-card {
  grid-column: 1;
  grid-row: 2/4;
  min-height: 560px;
  padding: 42px 30px 30px 55px;
  background:
    linear-gradient(90deg, transparent 0 37px, rgba(183,91,80,.3) 38px 40px, transparent 41px),
    repeating-linear-gradient(0deg, transparent 0 34px, rgba(104,119,103,.18) 35px),
    #f2e8d4;
  box-shadow: 12px 15px 0 rgba(83,62,41,.1);
}

.vision-page > .hero + .work-card::after {
  content: "";
  position: absolute;
  right: 17px;
  bottom: 18px;
  width: 75px;
  height: 110px;
  border: 6px solid #f6e8ce;
  background:
    linear-gradient(180deg,rgba(255,223,156,.25),transparent),
    linear-gradient(135deg,#8fb0ae,#526f61);
  box-shadow: 4px 6px 10px rgba(52,38,24,.16);
  rotate: 2deg;
}

.vision-page > .vision-beacons {
  grid-column: 2;
  grid-row: 2;
}

.vision-page > .vision-beacons + .work-card {
  grid-column: 2;
}

.vision-page > blockquote {
  grid-column: 1/-1;
}

.vision-page .vision-beacons .work-card {
  min-height: 185px;
  border-top: 5px solid #b58e54;
  background: #eee2ce;
}

/* Soul — layered, protected journal. Tabs are physical dividers; the active
   room is intentionally softer and more intimate than the planning rooms. */
.soul-page {
  padding: 42px clamp(20px,5vw,70px) 68px !important;
  background:
    linear-gradient(90deg, transparent 0 62px, rgba(182,94,84,.13) 63px 65px, transparent 66px),
    repeating-linear-gradient(0deg, transparent 0 34px, rgba(103,123,105,.09) 35px),
    #e7dac5;
  box-shadow:
    -14px 12px 0 #8c704f,
    -21px 19px 0 #486558,
    0 32px 75px rgba(39,31,23,.2);
}

.soul-page > .hero {
  margin-left: -70px;
  margin-right: -70px;
  background: rgba(244,235,216,.72);
}

.soul-page .soul-room-tabs {
  overflow: visible;
  align-items: end;
  border-bottom: 1px solid rgba(80,69,54,.2);
}

.soul-page .soul-room-tabs button {
  min-height: 48px;
  margin-bottom: -1px;
  border-radius: 7px 7px 0 0;
  border-bottom-color: #dfd1bb;
  background: #d7c5a8;
  color: #56655b;
}

.soul-page .soul-room-tabs button:nth-child(2) { background: #d4d9be; }
.soul-page .soul-room-tabs button:nth-child(3) { background: #edcf86; }
.soul-page .soul-room-tabs button:nth-child(4) { background: #c9d8d4; }
.soul-page .soul-room-tabs button:nth-child(5) { background: #dac7b2; }
.soul-page .soul-room-tabs button.active {
  translate: 0 -5px;
  background: #f3e9d6;
  color: #294439;
  box-shadow: 0 -6px 13px rgba(73,57,40,.1);
}

.soul-page > .work-card {
  min-height: 520px;
  padding: 48px clamp(22px,5vw,68px);
  border: 0;
  background: rgba(246,238,221,.86);
  box-shadow: inset 0 0 0 1px rgba(104,89,70,.13);
}

.soul-page > .work-card::after {
  content: "You are loved.";
  position: absolute;
  right: 34px;
  bottom: 25px;
  padding: 19px 16px;
  background: #e6ca76;
  color: #665231;
  font: italic 16px "Instrument Serif";
  box-shadow: 5px 6px 12px rgba(64,48,31,.14);
  rotate: 2deg;
}

/* Hideaway — personal binder with one clear week, habits, and a dot-grid
   free-notes sheet. It is useful before it is decorative. */
.hideaway-page {
  padding: 34px !important;
  background:
    radial-gradient(ellipse at 15px 12px,#9a8064 0 3px,transparent 3.7px) 5px 0/30px 54px repeat-y,
    linear-gradient(90deg,transparent 0 52px,rgba(91,70,48,.11) 53px 55px,transparent 56px),
    #dccbb1;
}

.hideaway-page > .hero {
  margin-left: -34px;
  margin-right: -34px;
}

.hideaway-page > .work-card:nth-of-type(1) {
  border-top: 6px solid #c29b50;
}

.hideaway-page .hideaway-grid .work-card:nth-child(1) {
  border-top: 6px solid #4f7560;
}

.hideaway-page .hideaway-grid .work-card:nth-child(2) {
  border-top: 6px solid #b77750;
}

.hideaway-page > .work-card,
.hideaway-page .hideaway-grid > .work-card {
  background:
    radial-gradient(circle at 11px 11px, rgba(72,91,77,.12) 1.2px, transparent 1.5px) 0 0/22px 22px,
    #f3ead8;
  box-shadow: 5px 7px 0 rgba(85,64,42,.08);
}

.hideaway-page .habit-row {
  border-top-style: dashed;
}

/* Deep Focus keeps every room legible and materially dark without turning
   cream paper into glowing white cards. */
.theme-focus .page:not(.home-page) {
  border-color: #46544b;
  background-color: #18211d;
  box-shadow: inset 0 0 0 1px #ffffff08, 0 28px 70px #0006;
}

.theme-focus .review-page,
.theme-focus .command-page {
  background-color: #10201e;
}

.theme-focus .review-page > .work-card,
.theme-focus .command-page .mission-board > div,
.theme-focus .vision-page > .hero + .work-card,
.theme-focus .soul-page > .work-card,
.theme-focus .hideaway-page > .work-card,
.theme-focus .hideaway-page .work-card {
  background-color: #222c27;
  color: #ebe3d7;
}

/* Creative Canvas goes beyond palette: every room receives a controlled
   studio gesture that fits its purpose. */
.theme-canvas .today-page::after {
  background: #b85e42;
  box-shadow: 0 5px 0 #244d67;
}

.theme-canvas .month-page > .month-calendar-sheet {
  border-top-color: #244d67;
  box-shadow: 12px 13px 0 rgba(229,184,71,.28);
}

.theme-canvas .review-page > .review-fragment,
.theme-canvas .review-page > .work-card:has(.semantic-lanes) {
  border-color: #f0d27d;
  box-shadow: -13px 16px 0 #244d67, 15px 27px 45px rgba(44,28,18,.25);
}

.theme-canvas .command-page .command-grid > .work-card:nth-child(2) {
  translate: 0 -11px;
  border-top-color: #b85e42;
}

.theme-canvas .vision-page > .hero + .work-card {
  box-shadow: -11px 14px 0 #b85e42, 12px 28px 0 rgba(36,77,103,.2);
}

.theme-canvas .soul-page {
  box-shadow: -13px 12px 0 #b85e42,-22px 21px 0 #244d67,0 32px 75px rgba(39,31,23,.2);
}

.theme-canvas .hideaway-page {
  box-shadow: -9px 10px 0 #d1a33d, 11px 22px 0 rgba(36,77,103,.22);
}

@media (max-width: 980px) {
  .today-page,
  .month-page,
  .review-page,
  .vision-page {
    grid-template-columns: 1fr;
  }

  .today-page::before {
    display: none;
  }

  .today-page > *,
  .today-page > .daily-task,
  .today-page > .work-card:has(.signals),
  .today-page > .work-card:not(.daily-task):not(:has(.signals)),
  .month-page > .work-card,
  .month-page > .month-calendar-sheet,
  .month-page > .month-day-sheet,
  .month-page > .month-roar-sheet,
  .review-page > .hero,
  .review-page > .review-fragment,
  .review-page > .work-card:has(.semantic-lanes),
  .review-page > .work-card:last-child,
  .vision-page > .hero,
  .vision-page > .hero + .work-card,
  .vision-page > .vision-beacons,
  .vision-page > .vision-beacons + .work-card,
  .vision-page > blockquote {
    grid-column: 1;
    grid-row: auto;
  }

  .today-page > .daily-task {
    margin-right: 0;
  }

  .month-page .calendar > button {
    min-height: 62px;
  }

  .review-page > .work-card:last-child {
    max-height: none;
  }

  .soul-page > .hero {
    margin-left: -20px;
    margin-right: -20px;
  }
}

@media (max-width: 620px) {
  .review-page .semantic-lanes {
    grid-template-columns: 1fr 1fr;
  }

  .review-page .semantic-lanes button {
    min-height: 68px;
  }

  .today-page .capture-list {
    columns: 1;
  }

  .soul-page,
  .hideaway-page {
    padding: 20px 13px 40px !important;
    box-shadow: none;
  }

  .soul-page .soul-room-tabs {
    overflow-x: auto;
  }

  .soul-page > .work-card::after {
    position: relative;
    right: auto;
    bottom: auto;
    width: max-content;
    margin: 22px 0 0 auto;
    display: block;
  }
}

/* Brinks pass: readable text, unmistakable controls, and consistent alignment. */
.life-place button,
.life-place .file-button,
.life-place a.account-trigger {
  cursor: pointer;
}

.life-place button:not(.scrim):not(.post-author),
.life-place .file-button,
.life-place a.account-trigger {
  border-radius: 3px;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, translate 160ms ease, box-shadow 160ms ease;
}

.life-place button:not(:disabled):not(.scrim):hover,
.life-place .file-button:hover,
.life-place a.account-trigger:hover {
  translate: 0 -1px;
  box-shadow: 0 5px 12px rgba(30,40,33,.13);
}

.life-place button:disabled {
  opacity: .46;
  cursor: not-allowed;
}

.life-place button:focus-visible,
.life-place a:focus-visible,
.life-place input:focus-visible,
.life-place textarea:focus-visible,
.life-place select:focus-visible,
.life-place summary:focus-visible {
  outline: 3px solid #c59364;
  outline-offset: 3px;
}

.utilities > button,
.account-trigger,
.settings-trigger {
  min-height: 36px;
  padding: 0 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb,var(--line) 70%,#70553e 30%);
  background: color-mix(in srgb,var(--paper) 14%,transparent);
  color: inherit;
  font-size: 9px !important;
  font-weight: 700;
  letter-spacing: .1em;
  text-decoration: none;
}

.account-trigger {
  border-color: #9d7958 !important;
  color: #9d7958 !important;
}

.capture-trigger {
  border-width: 2px !important;
}

.work-card > header p,
.hero > span,
.daily-task p,
.command-grid p,
.gate-message,
.capture-row small,
.setting-note,
.settings-panel p {
  font-size: max(11px, .72rem) !important;
  line-height: 1.55 !important;
}

.work-card label,
.settings-panel label,
.capture-meta span,
.placement-entry time,
.mission-entry span,
.day-task span {
  font-size: max(10px, .68rem);
}

.actions button,
.intake-buttons button,
.file-button,
.row-actions button,
.filter-row button,
.semantic-lanes button,
.not-now {
  min-height: 42px;
  border-width: 1px;
  font-size: max(9px, .64rem);
  font-weight: 700;
}

.actions button:not(.primary),
.intake-buttons button,
.row-actions button,
.filter-row button {
  background: rgba(250,247,238,.72);
  color: #3e5146;
  box-shadow: inset 0 0 0 1px rgba(67,80,69,.08);
}

.theme-focus .actions button:not(.primary),
.theme-focus .intake-buttons button,
.theme-focus .row-actions button,
.theme-focus .filter-row button {
  border-color: #66766b;
  background: #202a25;
  color: #e9e4da;
}

.theme-sanctuary .work-card,
.theme-sanctuary .capture-desk,
.theme-canvas .work-card {
  --control-ink: #29352e;
}

.theme-sanctuary .work-card input,
.theme-sanctuary .work-card textarea,
.theme-sanctuary .work-card select,
.theme-canvas .work-card input,
.theme-canvas .work-card textarea,
.theme-canvas .work-card select {
  color: var(--control-ink);
}

.theme-sanctuary .work-card input::placeholder,
.theme-sanctuary .work-card textarea::placeholder,
.theme-canvas .work-card input::placeholder,
.theme-canvas .work-card textarea::placeholder {
  color: #68746c;
  opacity: 1;
}

.settings-panel {
  scrollbar-gutter: stable;
}

.settings-panel details {
  border-color: #afa38f;
  background: rgba(255,250,240,.48);
}

.settings-panel summary {
  min-height: 28px;
  display: flex;
  align-items: center;
  font-size: 10px;
  font-weight: 700;
}

@media (max-width: 760px) {
  .utilities {
    gap: 5px;
  }

  .utilities .save-state,
  .utilities > button:first-of-type {
    display: none;
  }

  .utilities > button,
  .account-trigger,
  .settings-trigger {
    min-height: 38px;
    padding: 0 9px;
    font-size: 8px !important;
  }
}

/* TOTAL BRILLIANCE — stable shell, calm entry, and contained binder geometry. */
@media (min-width: 761px) {
  .life-place {
    grid-template-rows: 80px auto auto;
  }

  .place-header {
    grid-row: 1;
    min-width: 0;
  }

  .console-stage {
    grid-row: 2;
    position: relative;
  }
}

.place-header .utilities {
  gap: 9px;
}

.place-header .utilities button,
.room-help-entry,
.system-rail button {
  border: 1px solid rgba(105, 121, 108, .3);
  background: rgba(255, 252, 245, .1);
  color: inherit;
  letter-spacing: .1em;
}

.place-header .capture-trigger {
  border-color: #b58a55;
  background: #b58a55;
  color: #172f2c;
}

.system-rail {
  display: grid;
  gap: 5px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #39463e;
}

.system-rail button {
  min-height: 44px;
  padding: 8px 9px;
  display: grid;
  gap: 2px;
  text-align: left;
}

.system-rail span {
  color: #d7c8b7;
  font-size: 7px;
  font-weight: 700;
}

.system-rail small {
  color: #7f9186;
  font-size: 7px;
}

.room-help-entry {
  position: absolute;
  z-index: 12;
  top: 8px;
  right: 0;
  min-height: 32px;
  padding: 0 11px;
  color: #6d766e;
  font-size: 7px;
  font-weight: 700;
}

.today-page {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.today-page::before {
  z-index: 1;
  pointer-events: none;
}

.today-page > * {
  position: relative;
  z-index: 2;
  min-width: 0;
}

.today-page > .hero {
  z-index: 3;
}

.captured-items-sheet {
  grid-column: 1 / -1;
  min-width: 0;
  overflow: hidden;
}

.captured-items-sheet .capture-list,
.captured-items-sheet .capture-row,
.captured-items-sheet .capture-row p {
  min-width: 0;
  overflow-wrap: anywhere;
}

@media (max-width: 760px) {
  .mobile-appbar__actions {
    display: flex !important;
    align-items: center;
    gap: 5px;
  }

  .mobile-appbar__actions > button {
    min-height: 40px;
    padding: 0 9px;
    border: 1px solid rgba(229, 214, 186, .3);
    background: transparent;
    color: #efe5d4;
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .08em;
  }

  .room-help-entry {
    top: 3px;
    right: 4px;
  }

  .today-page {
    overflow: clip;
  }
}

/* The planner is a working object: a quiet desk, a pencil case, and one loose
   sheet for every room. These pieces are functional and never cover the work. */
.console-stage {
  position: relative;
}

.page:not(.home-page) {
  position: relative;
  padding: 22px clamp(10px, 2vw, 25px) 42px;
  border: 1px solid color-mix(in srgb, var(--line) 82%, #79664c 18%);
  border-radius: 5px 3px 4px 6px;
  background:
    linear-gradient(90deg, transparent 0 47px, rgba(181, 104, 91, 0.1) 48px 49px, transparent 50px),
    repeating-linear-gradient(0deg, transparent 0 31px, rgba(90, 103, 89, 0.025) 32px),
    color-mix(in srgb, var(--paper) 96%, #fff 4%);
  box-shadow:
    inset 20px 0 34px rgba(72, 58, 39, 0.025),
    inset -1px 0 rgba(255, 255, 255, 0.5),
    0 24px 60px rgba(45, 42, 34, 0.1);
}

.page:not(.home-page)::after {
  content: "";
  position: absolute;
  inset: auto 18px -5px 28px;
  height: 7px;
  z-index: -1;
  border-radius: 0 0 55% 46%;
  background: color-mix(in srgb, var(--paper2) 90%, #766149 10%);
  box-shadow: 0 4px 10px rgba(40, 36, 29, 0.1);
  rotate: -0.12deg;
}

.page:not(.home-page) > .hero {
  position: relative;
  margin: -22px clamp(-25px, -2vw, -10px) 4px;
  padding-left: clamp(26px, 5vw, 64px);
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(108deg, rgba(255,255,255,.18), transparent 45%),
    color-mix(in srgb, var(--paper2) 88%, #9b765b 12%);
}

.page:not(.home-page) > .hero::after {
  content: attr(data-page-mark);
  position: absolute;
  right: 25px;
  bottom: -13px;
  width: 62px;
  height: 25px;
  background: rgba(221, 197, 131, 0.56);
  box-shadow: 0 3px 7px rgba(66, 52, 34, 0.09);
  rotate: -2deg;
}

[data-page="today"] .page > .hero::after { content: "TODAY"; }
[data-page="month"] .page > .hero::after { content: "MONTH"; }
[data-page="review"] .page > .hero::after { content: "REVIEW"; }
[data-page="command"] .page > .hero::after { content: "COMMAND"; }
[data-page="vision"] .page > .hero::after { content: "VISION"; }
[data-page="soul"] .page > .hero::after { content: "SOUL"; }
[data-page="hideaway"] .page > .hero::after { content: "WEEKLY PLANNER"; }

.planner-kit {
  position: fixed;
  z-index: 170;
  right: 0;
  top: 23%;
  display: flex;
  align-items: flex-start;
  pointer-events: none;
}

.planner-kit > * {
  pointer-events: auto;
}

.kit-tab {
  width: 39px;
  min-height: 154px;
  padding: 13px 8px;
  display: grid;
  place-items: center;
  align-content: space-between;
  border: 1px solid #9a755d;
  border-right: 0;
  border-radius: 8px 0 0 8px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.13), transparent 45%),
    #8b5e47;
  color: #fff7ea;
  box-shadow: -7px 10px 24px rgba(42, 35, 28, 0.2);
}

.kit-tab i {
  width: 11px;
  height: 29px;
  border-radius: 7px 7px 2px 2px;
  background: #d9b55e;
  box-shadow: inset 0 -6px #3c566f, 0 1px 3px #372e2870;
}

.kit-tab span {
  writing-mode: vertical-rl;
  rotate: 180deg;
  font-size: 7px;
  letter-spacing: .17em;
}

.kit-body {
  width: min(490px, calc(100vw - 50px));
  max-height: 73svh;
  padding: 28px;
  overflow: auto;
  border: 1px solid #80624e;
  border-right: 0;
  background:
    linear-gradient(116deg, rgba(255,255,255,.1), transparent 38%),
    #3f352e;
  color: #f2eadf;
  box-shadow: -28px 28px 80px rgba(25, 22, 18, .38);
  animation: pencil-case-open .25s ease both;
}

@keyframes pencil-case-open {
  from { opacity: 0; translate: 18px 0; }
}

.kit-body > header {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

.kit-body small {
  color: #d5b676;
  font-size: 7px;
  letter-spacing: .18em;
}

.kit-body h2 {
  margin: 5px 0 20px;
  font: 29px/1 "Instrument Serif";
}

.kit-body > header button {
  width: 34px;
  height: 34px;
  border: 1px solid #ffffff2b;
  border-radius: 50%;
  background: transparent;
  color: #fff;
  font-size: 19px;
}

.writing-tools {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 7px;
  margin-bottom: 20px;
}

.writing-tools button {
  min-width: 0;
  padding: 10px 5px;
  display: grid;
  place-items: center;
  gap: 9px;
  border: 1px solid #ffffff1f;
  background: #ffffff08;
  color: #cfc5b8;
}

.writing-tools button.active {
  border-color: #dabd7b;
  background: #ffffff12;
  color: #fff8eb;
  box-shadow: inset 0 -3px #dabd7b;
}

.writing-tools button i {
  width: 10px;
  height: 64px;
  display: block;
  border-radius: 6px 6px 2px 2px;
  background: #d2a856;
  box-shadow: inset 0 -12px #d4cbb8, inset 0 -16px #38332d;
}

.writing-tools .ink i {
  width: 8px;
  background: linear-gradient(90deg,#173b58,#356784,#173b58);
  box-shadow: inset 0 -10px #b9a77d;
}

.writing-tools .marker i {
  width: 16px;
  border-radius: 3px;
  background: #dfc54a;
  box-shadow: inset 0 -12px #5d5240;
}

.writing-tools .crayon i {
  width: 13px;
  height: 55px;
  margin-top: 9px;
  border-radius: 7px 7px 2px 2px;
  background: repeating-linear-gradient(0deg,#b35b48 0 9px,#d6b46f 9px 11px);
  box-shadow: none;
}

.writing-tools span {
  min-height: 24px;
  font-size: 6px;
  line-height: 1.35;
  letter-spacing: .07em;
}

.loose-leaf {
  position: relative;
  padding: 26px 24px 12px 42px;
  border-radius: 1px 3px 5px 2px;
  background:
    linear-gradient(90deg, transparent 0 29px, rgba(187, 88, 81, .31) 30px 31px, transparent 32px),
    repeating-linear-gradient(0deg, transparent 0 27px, #ccd8cc 28px),
    #faf7ed;
  color: #29342d;
  box-shadow: 0 13px 32px #1f1a1666;
  rotate: -.22deg;
}

.binder-holes {
  position: absolute;
  left: 8px;
  inset-block: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.binder-holes i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #3f352e;
  box-shadow: inset 1px 1px 2px #191512;
}

.loose-leaf textarea {
  width: 100%;
  min-height: 235px;
  padding: 7px 0 0;
  border: 0;
  resize: vertical;
  outline: 0;
  background: transparent;
  color: #34423a;
  font: 18px/28px "Instrument Serif";
}

.loose-leaf .desk-note--ink { color: #244b69; }
.loose-leaf .desk-note--marker { caret-color: #b89222; }
.loose-leaf .desk-note--crayon { color: #9b4e3e; font-weight: 500; }

.loose-leaf footer {
  padding: 11px 0 0;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid #cdc5b7;
  color: #747a72;
  font-size: 7px;
}

.loose-leaf footer button {
  border: 0;
  background: transparent;
  color: #8f604b;
  font-size: 7px;
  letter-spacing: .1em;
}

.kit-law {
  margin: 16px 0 0;
  color: #aaa095;
  font: italic 12px/1.45 "Instrument Serif";
}

/* Creative Canvas is a studio-planner, not a beige theme with brighter ink. */
.theme-canvas .page:not(.home-page) {
  border-color: #9e8269;
  background:
    radial-gradient(circle at 17px 17px, rgba(36, 77, 103, .16) 1.5px, transparent 1.7px) 0 0/24px 24px,
    linear-gradient(90deg, transparent 0 48px, rgba(184, 94, 66, .2) 49px 51px, transparent 52px),
    #f3ead8;
  box-shadow: -7px 13px 0 #244d67, 0 30px 70px rgba(49, 52, 43, .14);
  rotate: -.08deg;
}

.theme-canvas .page:not(.home-page) > .hero {
  margin-left: -42px;
  margin-right: 18%;
  border: 0;
  border-left: 9px solid #b85e42;
  background:
    linear-gradient(102deg, rgba(255,255,255,.2), transparent),
    #d9cba9;
  box-shadow: 12px 11px 0 rgba(229, 184, 71, .28);
  rotate: -.55deg;
}

.theme-canvas .page:not(.home-page) > .hero::before {
  content: "";
  position: absolute;
  right: -92px;
  top: 24px;
  width: 110px;
  height: 68px;
  z-index: -1;
  background: #244d67;
  clip-path: polygon(9% 8%,100% 0,83% 91%,0 100%);
}

.theme-canvas .page:not(.home-page) > .work-card:nth-of-type(even),
.theme-canvas .vision-beacons .work-card:nth-child(odd) {
  rotate: .35deg;
  border-top: 5px solid #d1a33d;
}

.theme-canvas .page:not(.home-page) > .work-card:nth-of-type(odd),
.theme-canvas .vision-beacons .work-card:nth-child(even) {
  rotate: -.3deg;
  border-left: 6px solid #b85e42;
}

.theme-canvas .semantic-lanes button:nth-child(3n+1),
.theme-canvas .filter-row button:nth-child(3n+1) { border-bottom: 3px solid #244d67; }
.theme-canvas .semantic-lanes button:nth-child(3n+2),
.theme-canvas .filter-row button:nth-child(3n+2) { border-bottom: 3px solid #b85e42; }
.theme-canvas .semantic-lanes button:nth-child(3n),
.theme-canvas .filter-row button:nth-child(3n) { border-bottom: 3px solid #d1a33d; }

.theme-canvas .planner-kit .kit-tab {
  background: linear-gradient(90deg,#173b52,#285b78);
}

.theme-canvas .kit-body {
  background:
    linear-gradient(118deg, transparent 0 72%, rgba(184,94,66,.18) 72%),
    #29463b;
}

/* Visual foundation directory: every page is an inhabited workstation.
   These quiet physical cues sit behind the work and change by room and theme. */
.room-furniture {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.room-furniture__label {
  position: absolute;
  z-index: 4;
  right: 25px;
  top: 18px;
  min-width: 158px;
  padding: 9px 12px 8px;
  display: grid;
  gap: 3px;
  border: 1px solid rgba(88, 72, 52, .16);
  background: rgba(244, 234, 215, .76);
  color: #45534a;
  box-shadow: 4px 5px 12px rgba(58, 45, 31, .08);
  backdrop-filter: blur(8px);
}

.room-furniture__label b {
  font-size: 7px;
  letter-spacing: .16em;
}

.room-furniture__label i {
  color: #797b70;
  font: italic 11px/1.2 "Instrument Serif";
}

.furniture-piece {
  position: absolute;
  display: block;
}

/* Today: binder hardware, a sharpened pencil, and a restrained page marker. */
.room-furniture--today .furniture-piece--one {
  left: calc(50% - 11px);
  top: 128px;
  bottom: 48px;
  width: 22px;
  background:
    radial-gradient(circle, transparent 0 4px, #8e7a63 4.5px 5.5px, #d9c7a9 6px 7px, transparent 7.5px) 50% 0/20px 54px repeat-y;
  filter: drop-shadow(2px 3px 1px rgba(43, 34, 25, .16));
}

.room-furniture--today .furniture-piece--two {
  right: 34px;
  bottom: 54px;
  width: 9px;
  height: 178px;
  border-radius: 6px 6px 2px 2px;
  rotate: 39deg;
  background: linear-gradient(90deg, #b48135 0 18%, #e3bd65 19% 70%, #8a5c2b 71% 86%, #3b332d 87%);
  box-shadow: 5px 8px 12px rgba(60, 46, 31, .13);
}

.room-furniture--today .furniture-piece--three {
  left: 31px;
  top: 165px;
  width: 65px;
  height: 19px;
  rotate: -3deg;
  background: rgba(218, 190, 116, .45);
  box-shadow: 2px 3px 5px rgba(74, 55, 35, .07);
}

/* Month: calendar blotter, clipped upcoming folio, and a movable note. */
.room-furniture--month .furniture-piece--one {
  inset: 76px 26% 36px 18px;
  border: 1px solid rgba(78, 63, 46, .09);
  background: rgba(246, 239, 224, .24);
  box-shadow: 0 20px 50px rgba(72, 54, 35, .07);
}

.room-furniture--month .furniture-piece--two {
  right: 34px;
  top: 91px;
  width: 104px;
  height: 20px;
  border: 4px solid rgba(89, 78, 64, .6);
  border-bottom: 0;
  border-radius: 24px 24px 0 0;
  rotate: 3deg;
}

.room-furniture--month .furniture-piece--three {
  right: 7%;
  bottom: 32px;
  width: 124px;
  height: 96px;
  rotate: 2deg;
  background:
    repeating-linear-gradient(0deg, transparent 0 20px, rgba(119, 125, 104, .17) 21px),
    #edcf7e;
  box-shadow: 6px 8px 15px rgba(61, 48, 32, .12);
}

/* Review: wood desk, clipboard lip, and the cup-ring left by real use. */
.room-furniture--review .furniture-piece--one {
  inset: 64px 0 0;
  background:
    linear-gradient(90deg, rgba(55, 34, 22, .08), transparent 14% 86%, rgba(55, 34, 22, .08)),
    repeating-linear-gradient(90deg, transparent 0 63px, rgba(73, 45, 27, .045) 64px 65px);
}

.room-furniture--review .furniture-piece--two {
  right: 45px;
  top: 92px;
  width: 82px;
  height: 82px;
  border: 8px double rgba(87, 64, 43, .26);
  border-radius: 50%;
  box-shadow: 0 0 0 12px rgba(238, 221, 187, .13);
}

.room-furniture--review .furniture-piece--three {
  left: 38%;
  top: 100px;
  width: 112px;
  height: 26px;
  border-radius: 8px 8px 2px 2px;
  background: linear-gradient(#a69a87, #6e665c);
  box-shadow: 0 5px 8px rgba(35, 26, 20, .2);
}

/* Command: a deep slate operations wall with a brass hanging rail. */
.room-furniture--command .room-furniture__label {
  border-color: rgba(212, 181, 113, .22);
  background: rgba(12, 39, 40, .72);
  color: #eee4d0;
}

.room-furniture--command .room-furniture__label i {
  color: #cbb581;
}

.room-furniture--command .furniture-piece--one {
  inset: 0;
  opacity: .33;
  background:
    linear-gradient(90deg, transparent 0 49.8%, rgba(209, 177, 103, .13) 50%, transparent 50.2%),
    linear-gradient(0deg, transparent 0 49.8%, rgba(255,255,255,.035) 50%, transparent 50.2%);
  background-size: 380px 100%, 100% 250px;
}

.room-furniture--command .furniture-piece--two {
  right: 5%;
  top: -17px;
  width: 3px;
  height: 164px;
  background: #b99d5e;
  box-shadow: 0 0 0 1px #f0d99555, 0 8px 17px #0007;
}

.room-furniture--command .furniture-piece--three {
  right: calc(5% - 9px);
  top: 132px;
  width: 22px;
  height: 8px;
  border-radius: 50%;
  background: #d1b56e;
  box-shadow: 0 4px 12px #0008;
}

/* Vision: archive ribbon, pinned photograph, and preserved horizon line. */
.room-furniture--vision .furniture-piece--one {
  right: 5%;
  top: 112px;
  width: 165px;
  height: 220px;
  rotate: 2deg;
  border: 8px solid #eee0c5;
  background:
    linear-gradient(180deg, rgba(242, 206, 133, .17), transparent 38%),
    linear-gradient(145deg, #87a6a4, #4b6959 55%, #d8bd82);
  box-shadow: 7px 11px 24px rgba(53, 39, 25, .18);
}

.room-furniture--vision .furniture-piece--two {
  right: calc(5% + 48px);
  top: 101px;
  width: 70px;
  height: 21px;
  rotate: -5deg;
  background: rgba(221, 190, 112, .61);
}

.room-furniture--vision .furniture-piece--three {
  left: 25px;
  bottom: 26px;
  width: 32%;
  height: 3px;
  background: linear-gradient(90deg, #af704e, #d6b56e, transparent);
}

/* Soul: stacked journals, a brass clip, and a quiet pressed leaf. */
.room-furniture--soul .furniture-piece--one {
  left: -15px;
  right: -15px;
  bottom: -16px;
  height: 36px;
  background: #405f52;
  box-shadow: 0 -9px 0 #9b7550, 0 -15px 0 #d3bd92;
}

.room-furniture--soul .furniture-piece--two {
  right: 46px;
  top: 86px;
  width: 16px;
  height: 66px;
  border: 3px solid #a48750;
  border-bottom: 0;
  border-radius: 10px 10px 0 0;
  rotate: 8deg;
}

.room-furniture--soul .furniture-piece--three {
  right: 38px;
  bottom: 38px;
  width: 62px;
  height: 104px;
  opacity: .24;
  border-left: 2px solid #56705d;
  border-radius: 50%;
  rotate: 26deg;
  box-shadow: -13px 7px 0 -11px #56705d, -25px 25px 0 -23px #56705d;
}

/* Hideaway: ring binding, tabbed divider, and a sticky encouragement. */
.room-furniture--hideaway .furniture-piece--one {
  left: 17px;
  top: 110px;
  bottom: 35px;
  width: 25px;
  background:
    radial-gradient(ellipse, transparent 0 5px, #8f765d 5.5px 7px, transparent 7.5px) 0 0/24px 54px repeat-y;
}

.room-furniture--hideaway .furniture-piece--two {
  right: -1px;
  top: 178px;
  width: 36px;
  height: 126px;
  border-radius: 7px 0 0 7px;
  background: #bd7753;
  box-shadow: -4px 5px 8px rgba(64, 48, 32, .12);
}

.room-furniture--hideaway .furniture-piece--three {
  right: 50px;
  bottom: 42px;
  width: 112px;
  min-height: 82px;
  rotate: -2deg;
  background: #e9cb73;
  box-shadow: 5px 6px 11px rgba(65, 48, 31, .13);
}

/* The three worlds alter atmosphere, not information architecture. */
.theme-focus .room-furniture {
  filter: saturate(.56) brightness(.74);
  opacity: .66;
}

.theme-focus .room-furniture__label {
  border-color: rgba(192, 207, 198, .18);
  background: rgba(21, 34, 30, .84);
  color: #e8e5dc;
}

.theme-focus .room-furniture__label i {
  color: #a9b8ae;
}

.theme-canvas .room-furniture__label {
  border-left: 5px solid #b85e42;
  background: rgba(240, 223, 192, .82);
  box-shadow: 6px 7px 0 rgba(36, 77, 103, .2);
  rotate: .7deg;
}

.theme-canvas .room-furniture .furniture-piece--three {
  filter: saturate(1.16);
}

/* Large writing surfaces remain visually calm and reveal the complete thought. */
.page:not(.home-page) textarea,
.capture-sheet textarea,
.search-panel input {
  font-size: clamp(16px, 1.15vw, 19px);
  line-height: 1.65;
}

.page:not(.home-page) textarea {
  min-height: clamp(210px, 29vh, 430px);
  scrollbar-gutter: stable;
}

.life-place textarea.writing-expanded,
.life-place textarea.writing-resting {
  transition:
    height 260ms cubic-bezier(.2,.8,.2,1),
    box-shadow 180ms ease,
    border-color 180ms ease;
}

.life-place textarea.writing-resting {
  overscroll-behavior: contain;
}

.life-place textarea.writing-expanded {
  position: relative;
  z-index: 3;
}

.review-page .review-fragment textarea,
.vision-page > .work-card textarea,
.soul-page > .work-card textarea,
.hideaway-page .work-card textarea {
  background-color: rgba(255, 252, 244, .42);
}

@media (max-width: 720px) {
  .page:not(.home-page) {
    padding: 15px 12px 32px;
    border-left: 0;
    border-right: 0;
  }

  .page:not(.home-page) > .hero,
  .theme-canvas .page:not(.home-page) > .hero {
    margin: -15px -12px 4px;
    padding-left: 24px;
    rotate: 0deg;
  }

  .theme-canvas .page:not(.home-page) {
    box-shadow: 0 9px 0 #244d67, 0 24px 55px rgba(49,52,43,.13);
    rotate: 0deg;
  }

  .planner-kit {
    top: auto;
    right: 8px;
    bottom: 148px;
  }

  .kit-tab {
    width: 42px;
    min-height: 128px;
  }

  .kit-body {
    position: fixed;
    inset: 68px 0 68px;
    width: 100%;
    max-height: none;
    padding: 23px 18px 90px;
    border: 0;
  }

  .writing-tools {
    gap: 4px;
  }

  .room-furniture__label {
    position: relative;
    z-index: 4;
    inset: auto;
    width: max-content;
    max-width: calc(100% - 30px);
    margin: 12px 15px 4px auto;
  }

  .room-furniture .furniture-piece {
    opacity: .45;
  }

  .room-furniture--today .furniture-piece--one,
  .room-furniture--review .furniture-piece--three,
  .room-furniture--vision .furniture-piece--one {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .life-pulse article,
  .life-pulse article::after,
  .pulse-line > div > i,
  .sun-cast {
    transition: none;
    animation: none;
  }
}

/* The pulse is something the user can feel and operate, not four dead metrics. */
.pulse-exercise {
  appearance: none;
  padding: 0;
  color: inherit;
  font: inherit;
  cursor: pointer;
  transition:
    scale 500ms cubic-bezier(.2,.8,.2,1),
    border-color 350ms ease,
    background-color 350ms ease,
    box-shadow 500ms ease;
}

.pulse-exercise:hover,
.pulse-exercise:focus-visible {
  border-color: rgba(224, 199, 136, .72);
  box-shadow:
    inset 0 0 50px rgba(217, 226, 204, .06),
    0 0 0 22px rgba(255,255,255,.045),
    0 16px 36px rgba(15, 28, 22, .22);
}

.pulse-exercise:focus-visible {
  outline: 3px solid #d0a96a;
  outline-offset: 6px;
}

.pulse-exercise > strong {
  margin-top: 5px;
  color: #fff4d7;
  font: 35px/1 "Instrument Serif", serif;
  font-weight: 400;
}

.pulse-exercise.running {
  animation: none;
}

.pulse-exercise.running > i {
  animation: pulse-center 2s ease-in-out infinite;
}

.pulse-exercise.phase-inhale {
  scale: 1.06;
  background-color: rgba(111, 144, 120, .12);
}

.pulse-exercise.phase-hold {
  scale: 1.06;
  border-color: rgba(224, 199, 136, .68);
}

.pulse-exercise.phase-exhale {
  scale: .95;
  background-color: rgba(61, 85, 72, .14);
}

.pulse-exercise.phase-rest {
  scale: .95;
  opacity: .9;
}

@keyframes pulse-center {
  50% { box-shadow: 0 0 42px 11px rgba(217, 189, 118, .23); }
}

.life-pulse article[role="button"] {
  cursor: pointer;
  outline: none;
}

.life-pulse article[role="button"]:focus-visible {
  z-index: 3;
  border-color: #9b765c;
  box-shadow:
    inset 0 0 0 4px rgba(255, 251, 241, .25),
    0 0 0 3px #f6efe1,
    0 0 0 6px #9b765c,
    0 15px 27px rgba(42,45,38,.14);
  transform: translateY(-3px) rotate(0);
}

.life-pulse article[role="button"]:active {
  transform: translateY(0) scale(.985);
}

/* Every room arrives as a place being opened. Blocks settle at different
   moments, then retain only a nearly invisible change in light and depth. */
.page:not(.home-page) > .work-card,
.page:not(.home-page) > .command-grid > .work-card,
.page:not(.home-page) > .vision-beacons > .work-card,
.page:not(.home-page) > .hideaway-grid > .work-card,
.page:not(.home-page) > .mission-board > div {
  animation:
    inhabited-arrival 560ms cubic-bezier(.2,.8,.2,1) both,
    inhabited-depth 11s ease-in-out 800ms infinite alternate;
}

.page:not(.home-page) > :nth-child(3),
.page:not(.home-page) > .command-grid > :nth-child(2),
.page:not(.home-page) > .vision-beacons > :nth-child(2),
.page:not(.home-page) > .hideaway-grid > :nth-child(2),
.page:not(.home-page) > .mission-board > :nth-child(2) {
  animation-delay: 90ms, 1.6s;
}

.page:not(.home-page) > :nth-child(4),
.page:not(.home-page) > .command-grid > :nth-child(3),
.page:not(.home-page) > .vision-beacons > :nth-child(3),
.page:not(.home-page) > .mission-board > :nth-child(3) {
  animation-delay: 150ms, 2.4s;
}

.page:not(.home-page) > :nth-child(5),
.page:not(.home-page) > .command-grid > :nth-child(4),
.page:not(.home-page) > .vision-beacons > :nth-child(4) {
  animation-delay: 210ms, 3.2s;
}

.page:not(.home-page) button:not(:disabled),
.page:not(.home-page) summary,
.calendar > button {
  transition:
    translate 150ms ease,
    scale 150ms ease,
    border-color 180ms ease,
    background-color 180ms ease,
    box-shadow 180ms ease;
}

.page:not(.home-page) button:not(:disabled):hover,
.page:not(.home-page) summary:hover,
.calendar > button:hover {
  translate: 0 -1px;
}

.page:not(.home-page) button:not(:disabled):active,
.calendar > button:active {
  translate: 0 1px;
  scale: .99;
}

@keyframes inhabited-arrival {
  from { opacity: .35; translate: 0 7px; }
  to { opacity: 1; translate: 0 0; }
}

@keyframes inhabited-depth {
  from { filter: brightness(1); }
  to { filter: brightness(1.012); }
}

@media (prefers-reduced-motion: reduce) {
  .pulse-exercise,
  .pulse-exercise.running > i,
  .page:not(.home-page) > .work-card,
  .page:not(.home-page) > .command-grid > .work-card,
  .page:not(.home-page) > .vision-beacons > .work-card,
  .page:not(.home-page) > .hideaway-grid > .work-card,
  .page:not(.home-page) > .mission-board > div {
    animation: none;
    transition: none;
  }

  .life-place textarea.writing-expanded,
  .life-place textarea.writing-resting {
    transition: none;
  }

  .pulse-exercise.phase-inhale,
  .pulse-exercise.phase-hold,
  .pulse-exercise.phase-exhale,
  .pulse-exercise.phase-rest {
    scale: 1;
  }
}

/* Home writing sheet — unmistakably white paper in every atmosphere. */
.life-place .capture-desk,
.theme-sanctuary .capture-desk,
.theme-focus .capture-desk,
.theme-canvas .capture-desk {
  isolation: isolate;
  border: 1px solid rgba(111, 96, 76, .18);
  border-top-color: rgba(255, 255, 255, .92);
  background:
    radial-gradient(ellipse at 18% 11%, rgba(143, 124, 94, .035), transparent 28%),
    radial-gradient(ellipse at 82% 72%, rgba(143, 124, 94, .025), transparent 32%),
    repeating-linear-gradient(93deg, rgba(92, 76, 54, .012) 0 1px, transparent 1px 5px),
    #fffef9;
  color: #273129;
  box-shadow:
    0 2px 0 rgba(255, 255, 255, .8),
    0 20px 55px rgba(42, 34, 25, .19),
    8px 10px 0 rgba(225, 215, 197, .52);
}

.life-place .capture-desk::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: auto 7px -8px 12px;
  height: 13px;
  border-radius: 0 0 54% 46%;
  background: #f1ecdf;
  box-shadow: 0 5px 9px rgba(47, 37, 26, .09);
  rotate: -.15deg;
}

.life-place .capture-desk header {
  padding-bottom: 17px;
  border-bottom: 1px solid rgba(117, 108, 91, .12);
}

.life-place .capture-desk header small {
  color: #7f6755;
}

.life-place .capture-desk h2 {
  color: #253129;
  font-size: clamp(29px, 3vw, 37px);
}

.life-place .capture-desk header > span {
  color: #69746c;
}

.life-place .capture-desk textarea,
.theme-focus .capture-desk textarea {
  min-height: 300px;
  padding: 25px 14px 25px 54px;
  border-left: 0;
  background:
    linear-gradient(90deg, transparent 0 37px, rgba(195, 95, 88, .24) 38px 40px, transparent 41px),
    repeating-linear-gradient(0deg, transparent 0 38px, rgba(113, 137, 130, .23) 39px 40px),
    rgba(255, 254, 249, .74);
  color: #25342c;
  caret-color: #8a513d;
  font: 400 clamp(17px, 1.35vw, 20px)/40px "DM Sans";
  text-shadow: none;
}

.life-place .capture-desk textarea::placeholder,
.theme-focus .capture-desk textarea::placeholder {
  color: #757c75;
  opacity: 1;
}

.life-place .capture-desk textarea:focus {
  box-shadow: inset 4px 0 #c17c69;
}

.life-place .capture-desk .desk-edge,
.theme-focus .capture-desk .desk-edge {
  border-top: 1px solid rgba(107, 94, 76, .15);
  background:
    linear-gradient(90deg, rgba(247, 242, 231, .96), rgba(234, 226, 210, .96));
}

.life-place .capture-desk .desk-edge span,
.theme-focus .capture-desk .desk-edge span {
  color: #646f67;
}

@media (max-width: 560px) {
  .life-place .capture-desk textarea,
  .theme-focus .capture-desk textarea {
    min-height: 330px;
    padding-left: 39px;
    background:
      linear-gradient(90deg, transparent 0 27px, rgba(195, 95, 88, .23) 28px 30px, transparent 31px),
      repeating-linear-gradient(0deg, transparent 0 38px, rgba(113, 137, 130, .22) 39px 40px),
      rgba(255, 254, 249, .78);
  }
}

/* Binder rebuild — one measured system, never stacked decorative rings. */
.today-page {
  --binder-gap: 58px;
  column-gap: var(--binder-gap);
  background:
    linear-gradient(90deg,
      #eee4d3 0 calc(50% - 30px),
      #d8c9b2 calc(50% - 29px),
      #f6efe3 calc(50% - 18px),
      #bfae96 calc(50% - 2px),
      #f6efe3 calc(50% + 18px),
      #d8c9b2 calc(50% + 29px),
      #eee4d3 calc(50% + 30px) 100%);
  box-shadow:
    inset 16px 0 26px rgba(79, 62, 42, .035),
    inset -16px 0 26px rgba(79, 62, 42, .035),
    0 28px 65px rgba(48, 37, 26, .12);
}

.today-page::before {
  left: calc(50% - 29px);
  top: 112px;
  bottom: 42px;
  width: 58px;
  z-index: 8;
  background:
    /* dark punched holes in both sheets */
    radial-gradient(circle at 8px 27px, #6b5d4d 0 3px, #d7c7ad 3.5px 5px, transparent 5.5px) 0 0/58px 62px repeat-y,
    radial-gradient(circle at 50px 27px, #6b5d4d 0 3px, #d7c7ad 3.5px 5px, transparent 5.5px) 0 0/58px 62px repeat-y,
    /* continuous metal loops connecting each pair of holes */
    radial-gradient(ellipse 22px 13px at 50% 27px,
      transparent 0 12px,
      #f4eee4 12.5px 14px,
      #8d8172 14.5px 16px,
      #d9d0c3 16.5px 18px,
      transparent 18.5px) 0 0/58px 62px repeat-y,
    linear-gradient(90deg,
      transparent 0 24px,
      rgba(65, 54, 43, .22) 25px,
      #bcb2a6 26px 28px,
      #f4f0e9 29px 31px,
      #8d8377 32px 34px,
      rgba(65, 54, 43, .18) 35px,
      transparent 36px);
  filter: drop-shadow(2px 3px 2px rgba(48, 38, 28, .23));
}

.today-page .room-furniture--today .furniture-piece--one {
  display: none;
}

.today-page > .daily-task {
  grid-column: 1/7;
  margin-right: 0;
  border-right: 1px solid rgba(93, 74, 52, .13);
  box-shadow:
    inset -18px 0 24px rgba(79, 61, 41, .055),
    4px 7px 13px rgba(62, 49, 34, .07);
}

.today-page > .work-card:has(.signals) {
  grid-column: 7/-1;
  border-left: 1px solid rgba(93, 74, 52, .13);
  box-shadow:
    inset 18px 0 24px rgba(79, 61, 41, .055),
    -4px 7px 13px rgba(62, 49, 34, .07);
}

.today-page .daily-task .mission-draft {
  width: 100%;
  min-height: 118px;
  margin: 18px 0 4px;
  padding: 13px 10px 11px 56px;
  resize: vertical;
  overflow: auto;
  border: 0;
  border-radius: 0;
  background:
    linear-gradient(90deg, transparent 0 39px, rgba(189, 91, 84, .32) 40px 42px, transparent 43px),
    repeating-linear-gradient(0deg, transparent 0 31px, rgba(109, 129, 112, .22) 32px),
    rgba(255, 253, 246, .4);
  color: #26352d;
  font: 18px/32px "Instrument Serif";
  scrollbar-gutter: stable;
}

.today-page .daily-task .mission-draft::placeholder {
  color: #7f847c;
  opacity: 1;
}

.today-page .daily-task .mission-draft:focus {
  outline: 3px solid rgba(169, 116, 80, .35);
  outline-offset: 3px;
}

.daily-queue {
  display: grid;
  gap: 6px;
  margin: 17px 0 4px;
}

.daily-queue span {
  min-height: 30px;
  padding: 6px 9px;
  display: flex;
  align-items: center;
  gap: 9px;
  border-bottom: 1px solid rgba(91, 79, 63, .13);
  color: #6f776f;
  font-size: 9px;
}

.daily-queue span.current {
  color: #34483b;
  font-weight: 700;
}

.daily-queue i {
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  border: 1px solid #a89578;
  border-radius: 50%;
  color: #87664f;
  font-size: 7px;
  font-style: normal;
}

.mission-key {
  margin-top: 11px;
  display: block;
  color: #727a72;
  font-size: 8px;
  letter-spacing: .04em;
}

/* Contextual help should read as one paper card, never a dark box behind it. */
.life-place .coach-note {
  border-color: rgba(137, 113, 82, .28);
  background:
    linear-gradient(118deg, rgba(255,255,255,.72), transparent 46%),
    #fffaf0;
  box-shadow:
    0 2px 3px rgba(52, 43, 32, .08),
    0 10px 24px rgba(52, 43, 32, .12);
  filter: drop-shadow(0 1px 0 rgba(255,255,255,.72));
}

.life-place .coach-note::before {
  border-color: rgba(137, 113, 82, .28);
  background: #fffaf0;
  box-shadow: -2px -2px 3px rgba(52, 43, 32, .025);
}

.theme-focus .coach-note {
  border-color: rgba(197, 184, 159, .28);
  background:
    linear-gradient(118deg, rgba(255,255,255,.035), transparent 46%),
    #252d29;
  color: #eee8dd;
  box-shadow:
    0 2px 3px rgba(0, 0, 0, .12),
    0 10px 24px rgba(0, 0, 0, .2);
  filter: none;
}

.theme-focus .coach-note::before {
  border-color: rgba(197, 184, 159, .28);
  background: #252d29;
}

.theme-focus .coach-note p {
  color: #d9d4ca;
}

/* Installed-app runtime feedback: present only when the platform needs it. */
.app-runtime {
  position: fixed;
  z-index: 310;
  left: 50%;
  top: 12px;
  translate: -50% 0;
  display: flex;
  align-items: center;
  gap: 7px;
  pointer-events: none;
}

.app-runtime > * {
  pointer-events: auto;
}

.runtime-offline,
.runtime-install,
.runtime-update {
  min-height: 34px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(210, 190, 154, .28);
  border-radius: 999px !important;
  background: rgba(25, 36, 30, .94);
  color: #f3ebdd;
  box-shadow: 0 8px 22px rgba(18, 25, 21, .22);
  backdrop-filter: blur(14px);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .11em;
  white-space: nowrap;
}

.runtime-offline i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #cf8d5e;
  box-shadow: 0 0 0 4px rgba(207, 141, 94, .14);
}

.runtime-install {
  border-color: rgba(211, 183, 112, .52);
  background: #315044;
}

.runtime-update {
  background: #765541;
}

@media (display-mode: standalone) {
  .life-place {
    min-height: 100dvh;
  }
}

@media (max-width: 620px) {
  .app-runtime {
    top: auto;
    bottom: 78px;
    max-width: calc(100vw - 24px);
  }

  .runtime-offline,
  .runtime-install,
  .runtime-update {
    min-height: 39px;
    padding-inline: 12px;
    font-size: 7px;
  }
}

/* Command is an operations room: exact alignment, no floating decoration. */
.command-page .room-furniture--command .furniture-piece {
  display: none;
}

.command-page .room-furniture--command .room-furniture__label {
  right: 24px;
  top: 20px;
  min-width: 176px;
  border: 1px solid rgba(211, 181, 113, .26);
  background: #143638;
  box-shadow: 0 5px 14px rgba(3, 24, 25, .24);
  rotate: 0deg;
}

.command-page .command-grid {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 14px;
  padding: 0;
  align-items: stretch;
}

.command-page .command-grid > .work-card,
.theme-canvas .command-page .command-grid > .work-card,
.command-page .command-grid > .work-card:nth-child(odd),
.command-page .command-grid > .work-card:nth-child(even) {
  min-width: 0;
  min-height: 238px;
  translate: 0;
  rotate: 0deg;
  border: 1px solid rgba(73, 61, 46, .2);
  border-top: 5px solid #a98955;
  background:
    linear-gradient(115deg, rgba(255,255,255,.18), transparent 38%),
    #e9deca;
  box-shadow: 0 8px 18px rgba(3, 24, 25, .18);
}

.command-page .command-best {
  border-top-color: #567662 !important;
}

.command-page .command-decisions {
  border-top-color: #a76651 !important;
}

.command-page .command-moves {
  border-top-color: #496968 !important;
}

.command-page .command-grid > .work-card > button,
.command-page .command-grid article button {
  border-color: #879487;
  background: rgba(255, 252, 244, .62);
  color: #33473a;
}

.command-page .command-grid article {
  align-items: center;
  gap: 12px;
}

.command-page .command-grid article span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.command-page .mission-board {
  margin-top: 2px;
  padding: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  border: 1px solid rgba(210, 181, 115, .14);
  background: #123234;
  box-shadow: inset 0 1px rgba(255,255,255,.035);
}

.command-page .mission-board > div {
  min-width: 0;
  min-height: 180px;
  padding: 20px;
  box-shadow: none;
}

.theme-focus .command-page .command-grid > .work-card {
  border-color: #45534b;
  background: #222c27;
  color: #ebe3d7;
  box-shadow: 0 8px 18px rgba(0,0,0,.24);
}

.theme-focus .command-page .command-grid > .work-card > button,
.theme-focus .command-page .command-grid article button {
  border-color: #68796e;
  background: #18211d;
  color: #e6e2d8;
}

@media (max-width: 820px) {
  .command-page .command-grid {
    grid-template-columns: 1fr;
  }

  .command-page .mission-board {
    grid-template-columns: 1fr;
  }

  .command-page .mission-board > div {
    min-height: 128px;
  }
}

/* Command final pass: one stable operations surface with no floating props,
   mystery gaps, or competing card treatments. */
.command-page {
  overflow: clip;
}

.command-page .room-furniture--command {
  display: none;
}

.command-page > .hero {
  padding-right: clamp(28px, 5vw, 72px);
  color: #f4ead8;
  background:
    linear-gradient(108deg, rgba(202, 169, 103, .14), transparent 48%),
    #15383a;
}

.command-page > .hero h1 {
  max-width: 880px;
}

.command-page .command-grid {
  margin-top: 18px;
}

.command-page .command-grid > .work-card {
  display: flex;
  flex-direction: column;
  min-height: 250px;
  overflow: hidden;
}

.command-page .command-grid > .work-card > header {
  min-height: 62px;
}

.command-page .command-grid > .work-card > button {
  width: 100%;
  min-height: 44px;
  margin-top: auto;
}

.command-page .command-grid .actions {
  margin-top: auto;
  padding-top: 18px;
}

.command-page .command-grid .actions button {
  min-height: 44px;
}

.command-page .command-grid h3 {
  margin: 18px 0 6px;
  max-width: 34ch;
  color: #263b35;
  font: 27px/1.15 "Instrument Serif", serif;
  font-weight: 400;
  overflow-wrap: anywhere;
}

.command-page .command-meta {
  color: #6f766d;
  font-size: 8px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.command-page .command-row {
  min-height: 42px;
  padding: 10px 0;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  border-top: 1px solid rgba(76, 68, 54, .14);
}

.command-page .command-row:first-of-type {
  margin-top: 12px;
}

.command-page .command-row time,
.command-page .mission-board time {
  color: #875b40;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.command-page .command-row span {
  min-width: 0;
  color: #34443d;
  font-size: 11px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.command-page .decision-count {
  margin-top: 12px;
  color: #8c5847;
  font: 62px/1 "Instrument Serif", serif;
  font-weight: 400;
}

.command-page .command-empty {
  margin: 18px 0;
  padding: 14px 0;
  border-top: 1px solid rgba(76, 68, 54, .14);
  color: #717970;
  font: italic 15px/1.45 "Instrument Serif", serif;
}

.command-page .mission-board p.command-empty {
  border-top: 0;
  color: #70786f;
  font-size: 13px;
}

.command-page .mission-board p {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  color: #35443d;
  overflow-wrap: anywhere;
}

.theme-focus .command-page .command-grid h3,
.theme-focus .command-page .command-row span {
  color: #ebe3d7;
}

.theme-focus .command-page .command-meta,
.theme-focus .command-page .command-empty {
  color: #aeb8b0;
}

@media (max-width: 620px) {
  .command-page > .hero {
    padding-right: 22px;
  }

  .command-page .command-grid > .work-card {
    min-height: 0;
  }

  .command-page .command-grid .actions {
    display: grid;
  }

  .command-page .mission-board {
    padding: 8px;
  }
}

/* Alignment law: product controls participate in layout; decoration never
   competes with content. This intentionally overrides the earlier prototype
   offsets without flattening each room's material identity. */
.console-stage > .planner-kit {
  position: relative;
  z-index: 6;
  inset: auto;
  width: 100%;
  margin: 0 0 14px;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  pointer-events: auto;
}

.console-stage > .planner-kit .kit-tab {
  width: 158px;
  min-height: 42px;
  padding: 7px 12px;
  display: flex;
  justify-content: center;
  gap: 10px;
  border-right: 1px solid #9a755d;
  border-radius: 7px;
}

.console-stage > .planner-kit .kit-tab i {
  width: 27px;
  height: 9px;
}

.console-stage > .planner-kit .kit-tab span {
  writing-mode: horizontal-tb;
  rotate: 0deg;
}

.console-stage > .planner-kit .kit-body {
  width: min(490px, 100%);
  max-height: min(72svh, 720px);
  border-right: 1px solid #80624e;
  border-radius: 7px 0 7px 7px;
}

.page:not(.home-page) {
  overflow: clip;
}

.page:not(.home-page) > *,
.command-grid > *,
.vision-beacons > *,
.hideaway-grid > *,
.home-lower > * {
  min-width: 0;
}

.page:not(.home-page) .work-card,
.page:not(.home-page) .mission-board > div {
  overflow-wrap: anywhere;
}

.room-furniture {
  z-index: 0;
  opacity: .24;
}

.room-furniture__label {
  display: none;
}

.page:not(.home-page) > .hero,
.page:not(.home-page) > .work-card,
.page:not(.home-page) > .command-grid,
.page:not(.home-page) > .mission-board,
.page:not(.home-page) > .vision-beacons,
.page:not(.home-page) > .hideaway-grid,
.page:not(.home-page) > blockquote,
.page:not(.home-page) > .soul-room-tabs {
  z-index: 2;
}

.theme-canvas .page:not(.home-page) {
  rotate: 0deg;
}

.theme-canvas .page:not(.home-page) > .hero {
  margin-left: clamp(-25px, -2vw, -10px);
  margin-right: clamp(-25px, -2vw, -10px);
  rotate: 0deg;
}

.theme-canvas .page:not(.home-page) > .work-card:nth-of-type(even),
.theme-canvas .page:not(.home-page) > .work-card:nth-of-type(odd),
.theme-canvas .vision-beacons .work-card:nth-child(odd),
.theme-canvas .vision-beacons .work-card:nth-child(even) {
  rotate: 0deg;
}

.coach-note {
  position: fixed;
  inset: auto 22px 22px auto !important;
  width: min(360px, calc(100vw - 44px));
  max-height: min(260px, calc(100svh - 120px));
  overflow: auto;
}

.coach-note::before {
  display: none;
}

.app-runtime {
  left: auto;
  right: 18px;
  top: 91px;
  translate: 0;
  max-width: calc(100vw - 240px);
  justify-content: flex-end;
  flex-wrap: wrap;
}

.toast {
  top: 116px;
  right: 22px;
  max-width: min(410px, calc(100vw - 44px));
}

@media (max-width: 900px) {
  .console-stage > .planner-kit {
    padding-inline: 0;
  }

  .console-stage > .planner-kit .kit-body {
    width: 100%;
  }

  .app-runtime {
    top: 80px;
    right: 12px;
    max-width: calc(100vw - 24px);
  }
}

@media (max-width: 620px) {
  .console-stage > .planner-kit {
    display: grid;
    justify-items: end;
  }

  .console-stage > .planner-kit .kit-tab {
    width: 146px;
  }

  .console-stage > .planner-kit .kit-body {
    border-radius: 7px;
  }

  .coach-note {
    inset: auto 12px 82px 12px !important;
    width: auto;
    max-height: 34svh;
  }

  .app-runtime {
    inset: auto 12px 82px auto;
  }

  .toast {
    top: 104px;
    right: 12px;
    left: 12px;
    max-width: none;
  }
}

.theme-focus .today-page .daily-task .mission-draft {
  background:
    linear-gradient(90deg, transparent 0 39px, rgba(187, 105, 94, .36) 40px 42px, transparent 43px),
    repeating-linear-gradient(0deg, transparent 0 31px, rgba(158, 176, 163, .17) 32px),
    rgba(22, 30, 26, .66);
  color: #eee8dd;
}

.today-page > .hero {
  z-index: 10;
}

.today-page > .hero::before {
  content: "";
  position: absolute;
  left: calc(50% - 29px);
  bottom: -22px;
  width: 58px;
  height: 22px;
  background: linear-gradient(90deg, #d8c9b2, #f7f1e7 32% 68%, #d8c9b2);
  clip-path: polygon(0 0, 100% 0, 82% 100%, 18% 100%);
}

/* Hideaway uses a left-side personal binder, aligned to its actual page edge. */
.hideaway-page {
  padding-left: 72px !important;
  background:
    linear-gradient(90deg,
      #8b7259 0 15px,
      #c3b195 16px 35px,
      #f1e8d8 36px 51px,
      #dccbb1 52px 100%);
}

.hideaway-page .room-furniture--hideaway .furniture-piece--one {
  left: 15px;
  top: 122px;
  bottom: 38px;
  width: 46px;
  background:
    radial-gradient(circle at 36px 27px, #6b5b49 0 3px, #e0d0b5 3.5px 5px, transparent 5.5px) 0 0/46px 58px repeat-y,
    radial-gradient(ellipse 19px 12px at 26px 27px,
      transparent 0 10px,
      #eee8de 10.5px 12px,
      #897d6f 12.5px 14px,
      #d7cec1 14.5px 16px,
      transparent 16.5px) 0 0/46px 58px repeat-y;
  filter: drop-shadow(2px 3px 1px rgba(53, 42, 31, .22));
}

.hideaway-page .room-furniture--hideaway .furniture-piece--two {
  right: -1px;
  top: 184px;
  width: 42px;
  height: 118px;
  border: 1px solid rgba(95, 59, 42, .2);
  border-right: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.22), transparent 42%),
    #b86f4f;
}

.theme-focus .today-page::before,
.theme-focus .hideaway-page .room-furniture--hideaway .furniture-piece--one {
  filter: saturate(.48) brightness(.75) drop-shadow(2px 3px 2px rgba(0, 0, 0, .45));
}

@media (max-width: 980px) {
  .today-page {
    --binder-gap: 18px;
    column-gap: 18px;
    background:
      linear-gradient(90deg, #eee4d3, #f7f0e4 48%, #e1d3bf 49% 51%, #f7f0e4 52%, #eee4d3);
  }

  .today-page::before,
  .today-page > .hero::before {
    display: none;
  }

  .today-page > .daily-task,
  .today-page > .work-card:has(.signals) {
    grid-column: 1;
    border-inline: 0;
    box-shadow: 0 7px 14px rgba(62, 49, 34, .07);
  }
}

@media (max-width: 620px) {
  .hideaway-page {
    padding-left: 42px !important;
    background:
      linear-gradient(90deg, #9b8166 0 9px, #d5c4a9 10px 25px, #eee3d2 26px 34px, #dccbb1 35px 100%);
  }

  .hideaway-page .room-furniture--hideaway .furniture-piece--one {
    left: 3px;
    width: 34px;
    background:
      radial-gradient(circle at 27px 27px, #6b5b49 0 2.5px, #e0d0b5 3px 4.5px, transparent 5px) 0 0/34px 54px repeat-y,
      radial-gradient(ellipse 15px 10px at 19px 27px, transparent 0 8px, #eee8de 8.5px 10px, #897d6f 10.5px 12px, transparent 12.5px) 0 0/34px 54px repeat-y;
  }
}

/* LIFE OS ELITE PASS 1 — shared geometry and accepted Campfire material. */
:root {
  --life-os-viewport: 100svh;
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
}

@supports (height: 100dvh) {
  :root { --life-os-viewport: 100dvh; }
}

.life-place {
  --campfire-deep-forest: #102b28;
  --campfire-forest: #173a35;
  --campfire-moss-boundary: rgba(202, 224, 207, .2);
  --campfire-glass: rgba(16, 42, 38, .76);
  --campfire-ember: #e39a61;
  --campfire-ember-edge: rgba(235, 165, 105, .48);
  --campfire-clearing-light: rgba(238, 244, 234, .1);
  --campfire-foreground: #edf2e9;
  --campfire-muted: #a7bbb0;
  --campfire-shadow: 0 24px 68px rgba(6, 22, 20, .28);
  --campfire-focus: rgba(243, 184, 122, .32);
  min-height: var(--life-os-viewport);
}

/* Only the already-green operational fields receive Campfire material.
   Social mechanics, flames, participants, and GLITCH language stay excluded. */
.home-status button,
.spark-dock,
.month-roar-sheet,
.roar-status,
.assistant-output,
.proposal,
.candidate,
.device-trust {
  border-color: var(--campfire-moss-boundary);
  background:
    linear-gradient(135deg, var(--campfire-clearing-light), transparent 45%),
    var(--campfire-glass);
  color: var(--campfire-foreground);
  box-shadow: var(--campfire-shadow);
  backdrop-filter: blur(10px) saturate(1.04);
}

.home-status button {
  border-left: 2px solid var(--campfire-ember-edge);
}

.home-status button small,
.month-roar-sheet .work-card > header h2,
.assistant-output b,
.proposal > b,
.candidate > b,
.device-trust b {
  color: var(--campfire-ember);
}

.home-status span,
.home-status b i,
.month-roar-sheet p,
.roar-status dt,
.assistant-output small,
.proposal span,
.candidate span,
.device-trust span {
  color: var(--campfire-muted);
}

.home-status button:focus-visible,
.spark-dock button:focus-visible,
.month-roar-sheet button:focus-visible,
.assistant-output button:focus-visible,
.proposal button:focus-visible,
.candidate button:focus-visible {
  outline: 3px solid var(--campfire-focus);
  outline-offset: 3px;
}

@supports not (backdrop-filter: blur(1px)) {
  .home-status button,
  .spark-dock,
  .month-roar-sheet,
  .roar-status,
  .assistant-output,
  .proposal,
  .candidate,
  .device-trust {
    background: var(--campfire-deep-forest);
  }
}

@media (prefers-reduced-transparency: reduce) {
  .home-status button,
  .spark-dock,
  .month-roar-sheet,
  .roar-status,
  .assistant-output,
  .proposal,
  .candidate,
  .device-trust {
    background: var(--campfire-deep-forest);
    backdrop-filter: none;
  }
}

/* One ruled-paper contract. Text metrics and rules move as one system. */
.life-os-paper-field,
.work-card textarea.life-os-paper-field,
.loose-leaf textarea.life-os-paper-field {
  --paper-font-size: 1.0625rem;
  --paper-line-height: 2rem;
  --paper-pad-top: 1.25rem;
  --paper-baseline-offset: 1.34rem;
  --paper-pad-inline: clamp(1rem, 3vw, 1.75rem);
  --paper-rule: rgba(62, 88, 76, .17);
  --paper-margin-rule: rgba(192, 101, 78, .3);
  --paper-surface: #fffdf8;
  width: 100%;
  min-height: 20rem;
  max-height: 62dvh;
  padding:
    var(--paper-pad-top)
    var(--paper-pad-inline)
    2rem
    max(3rem, calc(var(--paper-pad-inline) + 1.75rem));
  border: 1px solid rgba(46, 62, 52, .18);
  border-radius: 1rem;
  color: #2d2a24;
  background-color: var(--paper-surface);
  background-image:
    linear-gradient(to right, transparent 0, transparent 2.25rem, var(--paper-margin-rule) 2.25rem, var(--paper-margin-rule) calc(2.25rem + 1px), transparent calc(2.25rem + 1px)),
    repeating-linear-gradient(to bottom, transparent 0, transparent var(--paper-baseline-offset), var(--paper-rule) var(--paper-baseline-offset), var(--paper-rule) calc(var(--paper-baseline-offset) + 1px), transparent calc(var(--paper-baseline-offset) + 1px), transparent var(--paper-line-height));
  background-position: 0 0, 0 var(--paper-pad-top);
  background-attachment: local;
  background-repeat: no-repeat, repeat;
  background-size: 100% 100%, 100% var(--paper-line-height);
  font-family: "Instrument Serif", Georgia, serif;
  font-size: var(--paper-font-size);
  font-weight: 400;
  line-height: var(--paper-line-height);
  text-align: left;
  caret-color: #bd704f;
  resize: vertical;
  overflow: auto;
  outline: none;
}

.life-os-paper-field::placeholder {
  color: rgba(57, 67, 61, .53);
  opacity: 1;
  font: inherit;
  line-height: inherit;
}

.life-os-paper-field:focus-visible {
  border-color: rgba(190, 109, 75, .72);
  box-shadow: 0 0 0 3px rgba(190, 109, 75, .17), 0 20px 56px rgba(24, 19, 13, .12);
}

[data-theme="focus"] .life-os-paper-field {
  --paper-surface: #e9eef0;
  --paper-rule: rgba(35, 76, 81, .17);
  color: #16272a;
}

[data-theme="canvas"] .life-os-paper-field {
  --paper-surface: #f4e8cd;
  --paper-rule: rgba(103, 74, 34, .18);
  color: #34291e;
}

.loose-leaf .life-os-paper-field {
  min-height: 235px;
  margin: 0;
  border: 0;
  border-radius: 0;
}

/* Compact environment control restores all themes without crowding Home. */
.environment-dock {
  position: fixed;
  z-index: 94;
  right: 18px;
  top: 118px;
}

.environment-dock__trigger {
  min-width: 154px;
  min-height: 48px;
  padding: 7px 11px;
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid var(--campfire-moss-boundary);
  border-radius: 24px;
  background: var(--campfire-glass);
  color: var(--campfire-foreground);
  box-shadow: 0 12px 32px rgba(8, 25, 22, .2);
  backdrop-filter: blur(10px);
}

.environment-dock__trigger > i {
  width: 28px;
  height: 28px;
  border: 1px solid rgba(255, 255, 255, .45);
  border-radius: 50%;
  background: linear-gradient(135deg, #e8d2ac 0 48%, #315e59 50%);
}

.environment-dock__trigger span,
.environment-dock__trigger b,
.environment-dock__trigger small {
  display: block;
  text-align: left;
}

.environment-dock__trigger b { font-size: 8px; }
.environment-dock__trigger small { margin-top: 3px; color: var(--campfire-muted); font-size: 6px; }

.environment-dock__panel {
  width: min(430px, calc(100vw - 28px));
  margin-top: 7px;
  padding: 22px;
  border: 1px solid var(--campfire-moss-boundary);
  border-radius: 22px 7px 22px 22px;
  background: rgba(15, 40, 36, .96);
  color: var(--campfire-foreground);
  box-shadow: var(--campfire-shadow);
}

.environment-dock__panel > header {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.environment-dock__panel header small,
.settings-environments > span {
  color: var(--campfire-ember);
  font-size: 7px;
  letter-spacing: .14em;
}

.environment-dock__panel h2 {
  margin: 5px 0 15px;
  font: 400 25px/1 "Instrument Serif";
}

.environment-dock__panel header button {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
  background: transparent;
  color: #fff;
}

.theme-previews,
.settings-environments {
  display: grid;
  gap: 7px;
}

.theme-preview {
  min-height: 66px;
  padding: 9px;
  display: grid;
  grid-template-columns: 70px 1fr;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 9px;
  background: rgba(255,255,255,.05);
  color: inherit;
  text-align: left;
}

.theme-preview > i {
  height: 44px;
  border-radius: 6px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.2);
}

.theme-preview--sanctuary > i { background: linear-gradient(135deg,#ead8bb,#6b8277 55%,#173e3b); }
.theme-preview--focus > i { background: linear-gradient(135deg,#576268,#1c292c 55%,#081214); }
.theme-preview--canvas > i { background: linear-gradient(135deg,#d98f69,#c7d2aa 52%,#6d745e); }
.theme-preview.active { border-color: var(--campfire-ember); box-shadow: inset 3px 0 var(--campfire-ember); }
.theme-preview b,.theme-preview small { display: block; }
.theme-preview b { font-size: 9px; }
.theme-preview small { margin-top: 4px; color: var(--campfire-muted); font-size: 7px; line-height: 1.35; }

.environment-dock__panel label {
  margin-top: 14px;
  display: grid;
  gap: 6px;
  color: var(--campfire-muted);
  font-size: 7px;
  letter-spacing: .12em;
}

.environment-dock__panel select {
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 7px;
  background: #173a35;
  color: #fff;
}

.room-help-trigger {
  width: 100%;
  min-height: 46px;
  margin-top: 12px;
  border: 1px solid var(--campfire-ember-edge);
  border-radius: 7px;
  background: rgba(116, 70, 43, .35);
  color: #f7d6b5;
  font-weight: 700;
}

.room-help-trigger span { margin-left: 7px; }

.settings-environments {
  margin: 18px 0;
}

.settings-environments .theme-preview {
  color: #2f3932;
  border-color: #c4b8a6;
}

.settings-environments .theme-preview small { color: #727a72; }

.room-help > section {
  width: min(650px, calc(100% - 28px));
  max-height: min(760px, calc(var(--life-os-viewport) - 28px));
  overflow: auto;
  padding: 32px;
  border-radius: 18px;
  background: #f5eddf;
  color: #27362f;
  box-shadow: 0 35px 110px rgba(10, 26, 22, .35);
}

.room-help header {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

.room-help header small,
.room-help dt {
  color: #a86649;
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .15em;
}

.room-help h2 {
  margin: 7px 0 22px;
  font: 400 32px/1.05 "Instrument Serif";
}

.room-help header button {
  width: 44px;
  height: 44px;
  border: 1px solid #c8bcab;
  border-radius: 50%;
  background: transparent;
}

.room-help dl { margin: 0 0 22px; }
.room-help dl > div { padding: 15px 0; border-top: 1px solid #d8ccbb; }
.room-help dd { margin: 6px 0 0; font: 15px/1.55 "Instrument Serif"; }
.room-help > section > button { min-height: 48px; padding-inline: 18px; }

/* Room condition changes atmosphere only; it never changes stored work. */
[data-room-condition="lamp-on"] { filter: sepia(.06) brightness(1.035); }
[data-room-condition="fire"] { --campfire-glass: rgba(39, 43, 31, .82); --campfire-ember: #f2a15d; }
[data-room-condition="quiet-room"] { filter: saturate(.72) brightness(.88); }
[data-room-condition="stay-close"] .console-stage { max-width: 1040px; }
[data-room-condition="focus"] .environment-dock:not(.open),[data-room-condition="focus"] .status-line { opacity: .66; }
[data-room-condition="evening"] { filter: brightness(.88) saturate(.86); }

@media (max-width: 760px) {
  .life-os-paper-field,
  .work-card textarea.life-os-paper-field,
  .loose-leaf textarea.life-os-paper-field {
    --paper-font-size: 1rem;
    --paper-line-height: 1.875rem;
    --paper-pad-top: 1rem;
    --paper-baseline-offset: 1.24rem;
    min-height: 42dvh;
    max-height: 62dvh;
    border-radius: .875rem;
  }

  .environment-dock {
    right: 10px;
    top: calc(78px + var(--safe-top));
  }

  .environment-dock__trigger {
    min-width: 48px;
    width: 48px;
    padding: 8px;
  }

  .environment-dock__trigger > span { display: none; }

  .environment-dock__panel {
    position: fixed;
    left: 10px;
    right: 10px;
    top: auto;
    bottom: calc(76px + var(--safe-bottom));
    width: auto;
    max-height: calc(var(--life-os-viewport) - 108px - var(--safe-bottom));
    overflow: auto;
    border-radius: 18px;
  }

  .home-status button,
  .spark-dock,
  .month-roar-sheet,
  .roar-status,
  .assistant-output,
  .proposal,
  .candidate,
  .device-trust,
  .environment-dock__trigger {
    backdrop-filter: none;
  }

  .room-help {
    align-items: end;
  }

  .room-help > section {
    width: 100%;
    max-height: calc(var(--life-os-viewport) - var(--safe-top) - 18px);
    padding: 26px 20px calc(24px + var(--safe-bottom));
    border-radius: 22px 22px 0 0;
  }

  .console input,
  .console textarea,
  .console select {
    font-size: max(16px, 1em);
  }
}
/* Final geometry authority for the execution-order shell and planner binder. */
.today-page {
  position: relative;
  max-width: 100%;
  overflow: clip;
  isolation: isolate;
}

/* Universal capture media stays explicit, local, and visibly reviewable. */
.capture-inputs{display:grid;gap:12px;margin-top:14px}.capture-inputs>button,.photo-intake>.file-button{min-height:46px;justify-content:center;border:1px solid rgba(47,77,67,.28);border-radius:10px;background:rgba(255,255,255,.62);color:#173c36;font-weight:750;letter-spacing:.08em}.photo-intake{display:grid;gap:9px}.photo-intake>small{color:#65736d;font-size:10px;line-height:1.5}.photo-intake>p{margin:0;color:#923f34;font-size:11px}.photo-review{display:grid;grid-template-columns:76px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px;border:1px solid rgba(47,77,67,.22);border-radius:12px;background:rgba(255,255,255,.68)}.photo-review img{width:76px;height:60px;object-fit:cover;border-radius:8px}.photo-review span{display:grid;min-width:0}.photo-review b,.photo-review small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-review b{color:#193d37;font-size:11px}.photo-review small{margin-top:4px;color:#6d7772;font-size:9px}.photo-review button{min-height:38px;padding:0 11px;border:1px solid rgba(47,77,67,.3);border-radius:8px;background:#f7f1e5;color:#274a43;font-size:9px;font-weight:700}.photo-review .primary{background:#173c36;color:#fffaf0}

@media(max-width:700px){.photo-review{grid-template-columns:62px 1fr}.photo-review img{width:62px;height:54px}.photo-review button{width:100%;grid-column:1/-1}}

.calendar-bridge{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.calendar-bridge>button,.calendar-bridge>section>a{min-height:42px;padding:0 14px;display:inline-flex;align-items:center;border:1px solid #527064;border-radius:8px;background:#f7f1e5;color:#21483f;font-size:9px;font-weight:750;letter-spacing:.08em;text-decoration:none}.calendar-bridge>section{margin-top:12px;padding:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:1px solid rgba(48,76,66,.25);border-radius:12px;background:rgba(250,247,239,.94);box-shadow:0 18px 45px rgba(26,48,42,.1)}.calendar-bridge header,.calendar-bridge>section>p,.calendar-bridge>section>a,.calendar-bridge .actions{grid-column:1/-1}.calendar-bridge header{display:flex;justify-content:space-between;gap:15px}.calendar-bridge header h3{margin:4px 0 0;font:24px/1.1 "Instrument Serif"}.calendar-bridge header small{color:#976046;font-size:8px;letter-spacing:.12em}.calendar-bridge header>button{border:0;background:transparent;font-size:20px}.calendar-bridge label{display:grid;gap:6px;color:#61706a;font-size:8px;font-weight:700;letter-spacing:.08em}.calendar-bridge input,.calendar-bridge select,.calendar-bridge textarea{width:100%;min-height:42px;padding:10px;border:1px solid #c7beaf;border-radius:7px;background:#fffdf7;color:#20362f;font:14px "DM Sans"}.calendar-bridge textarea{min-height:90px;grid-column:1/-1}@media(max-width:700px){.calendar-bridge>section{grid-template-columns:1fr}.calendar-bridge label{grid-column:1/-1}}
.reminder-approval{position:relative;margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}.reminder-approval>section{width:100%;padding:18px;border:1px solid rgba(92,70,42,.22);border-radius:14px;background:rgba(255,253,246,.96);box-shadow:0 16px 34px rgba(29,39,34,.16)}.reminder-approval>section h3{margin:5px 0 8px}.reminder-approval>section p{max-width:60ch}.reminder-approval>section label{display:grid;gap:7px;margin-top:14px;font-size:10px;letter-spacing:.1em}.reminder-approval>section select{min-height:44px;padding:9px 12px;border:1px solid var(--line);background:#fffdf7;color:var(--ink)}
.spark-consent{margin:14px 0;padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:9px;border:1px solid rgba(255,255,255,.2);border-radius:12px}.spark-consent legend{padding:0 6px;font-size:8px;letter-spacing:.13em}.spark-consent label{display:flex;align-items:center;gap:7px;font-size:10px}.spark-preview,.spark-candidate{margin:10px 0;padding:13px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(255,255,255,.07)}.spark-preview b,.spark-candidate>small{font-size:8px;letter-spacing:.11em}.spark-preview p,.spark-candidate p{margin:5px 0;font-size:12px;line-height:1.5}.spark-candidate{max-height:42svh;overflow:auto}.spark-candidate section{padding:9px 0;border-top:1px solid rgba(255,255,255,.12)}.spark-candidate section>b{font-family:"Instrument Serif";font-size:17px}.spark-status{padding:10px;border-radius:8px;background:rgba(255,255,255,.1)}

.today-page::before {
  z-index: 1 !important;
  pointer-events: none;
}

.today-page > * {
  position: relative;
  z-index: 2;
  min-width: 0;
}

.today-page > .hero {
  z-index: 3;
}

.captured-items-sheet {
  grid-column: 1 / -1;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.console-stage,
.console-stage > *,
.page,
.work-card {
  min-width: 0;
  max-width: 100%;
}

@media (min-width: 761px) {
  .life-place {
    overflow-x: clip;
  }
}

@media (max-width: 760px) {
  .today-page {
    overflow: clip;
  }
}

@media (max-width: 620px) {
  .soul-page .soul-room-tabs {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    overflow: visible;
    border-bottom: 0;
  }

  .soul-page .soul-room-tabs button {
    width: 100%;
    min-width: 0;
    min-height: 50px;
    margin: 0;
    padding: 8px 10px;
    white-space: normal;
    overflow-wrap: anywhere;
    border-radius: 7px;
  }

  .soul-page .soul-room-tabs button.active {
    translate: 0;
    box-shadow: inset 4px 0 #a66b4c;
  }

  .soul-page .soul-room-tabs button:last-child {
    grid-column: 1 / -1;
  }
}

/* LIFE OS V3 entrance — the opening is an inhabited app world, not a document. */
.console[data-page="home"] {
  min-height: 100svh;
  background:
    linear-gradient(90deg, rgba(5, 17, 16, .58), rgba(6, 16, 18, .18) 48%, rgba(7, 15, 17, .26)),
    url("/life-os-home-sunrise-v3.png") center / cover fixed;
}

.console[data-page="home"]::after {
  content: "";
  position: fixed;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 83% 15%, rgba(255, 208, 126, .22), transparent 26%),
    linear-gradient(180deg, rgba(4, 13, 14, .08), rgba(3, 12, 12, .32));
}

.console[data-page="home"] .place-rail,
.console[data-page="home"] .place-header {
  z-index: 3;
  color: #f8f4ea;
  border-color: rgba(255, 255, 255, .14);
  background: rgba(7, 23, 22, .58);
  backdrop-filter: blur(22px) saturate(116%);
}

.console[data-page="home"] .place-header span,
.console[data-page="home"] .place-header b {
  color: #f7f1e5;
}

.console[data-page="home"] .place-header .utilities button {
  color: #fff;
  border-color: rgba(255, 255, 255, .28);
  background: rgba(9, 24, 23, .36);
}

.console[data-page="home"] .console-stage {
  position: relative;
  z-index: 1;
  width: min(1180px, calc(100% - 44px));
  min-height: calc(100svh - 107px);
  margin: 0 auto;
  padding: clamp(38px, 6vh, 76px) 0 52px;
}

.home-page.home-world {
  position: relative;
  min-height: calc(100svh - 170px);
  display: grid;
  grid-template-columns: minmax(320px, 1.05fr) minmax(330px, .8fr);
  grid-template-rows: auto auto 1fr auto;
  align-content: center;
  gap: 18px 28px;
  color: #fffaf0;
  text-shadow: 0 2px 24px rgba(2, 10, 10, .3);
}

.home-page.home-world::after { display: none; }
.home-world__light {
  position: absolute;
  inset: -80px -50px;
  pointer-events: none;
  background: radial-gradient(circle at 17% 44%, rgba(7, 22, 20, .5), transparent 50%);
}

.home-world__welcome,
.home-world__focus,
.home-world__updates,
.home-world__actions,
.home-world__privacy {
  position: relative;
  z-index: 1;
}

.home-world__welcome {
  align-self: end;
  padding: 10px 4px 12px;
}

.home-world__welcome > small {
  color: #f0c980;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .18em;
}

.home-world__welcome h1 {
  margin: 14px 0 8px;
  max-width: 640px;
  color: #fffaf0;
  font: 400 clamp(64px, 7.4vw, 112px)/.84 "Instrument Serif", Georgia, serif;
  letter-spacing: -.055em;
}

.home-world__welcome p {
  margin: 0;
  color: rgba(255, 250, 240, .82);
  font-size: 16px;
}

.home-world__focus,
.home-world__updates {
  border: 1px solid rgba(255, 255, 255, .21);
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(9, 27, 24, .74), rgba(11, 24, 24, .54));
  box-shadow: inset 0 1px rgba(255, 255, 255, .12), 0 24px 70px rgba(2, 9, 9, .24);
  backdrop-filter: blur(20px) saturate(118%);
}

.home-world__focus {
  grid-column: 1;
  padding: 20px;
}

.home-world__focus > header,
.home-world__updates > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 4px 12px;
  color: rgba(255, 255, 255, .7);
  font-size: 10px;
  letter-spacing: .13em;
}

.home-world__focus > header i {
  color: #efca85;
  font-style: normal;
}

.home-world__focus > button {
  width: 100%;
  min-height: 118px;
  padding: 18px;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 18px;
  color: #fff;
  background: linear-gradient(120deg, rgba(255, 255, 255, .17), rgba(255, 255, 255, .07));
  box-shadow: inset 0 1px rgba(255, 255, 255, .14);
  text-align: left;
}

.home-world__focus-mark {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #15251e;
  background: linear-gradient(145deg, #ffd98a, #d98a42);
  box-shadow: 0 10px 28px rgba(229, 154, 74, .28);
  font-style: normal;
  font-size: 22px;
}

.home-world__focus button > span {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.home-world__focus button small {
  color: #efc87e;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .13em;
}

.home-world__focus button b {
  overflow: hidden;
  color: #fff;
  font: 400 clamp(24px, 2.4vw, 38px)/1.08 "Instrument Serif", Georgia, serif;
  text-overflow: ellipsis;
}

.home-world__focus button em {
  color: rgba(255, 255, 255, .66);
  font-size: 11px;
  font-style: normal;
}

.home-world__focus button > strong {
  color: #ffd28a;
  font-size: 26px;
  font-weight: 400;
}

.home-world__updates {
  grid-column: 2;
  grid-row: 1 / span 3;
  align-self: center;
  padding: 20px;
}

.home-world__updates > header small {
  color: rgba(255, 255, 255, .48);
  font-size: 9px;
  letter-spacing: 0;
}

.home-world__updates > button,
.home-world__updates > a {
  width: 100%;
  min-height: 88px;
  padding: 14px 6px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, .13);
  color: #fff;
  background: transparent;
  text-align: left;
  text-decoration: none;
}

.home-world__updates > :is(button, a) > i {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 50%;
  color: #ffcf82;
  background: rgba(255, 255, 255, .09);
  font-style: normal;
}

.home-world__updates > :is(button, a) > span {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.home-world__updates b {
  color: #fff;
  font-size: 14px;
}

.home-world__updates small {
  color: rgba(255, 255, 255, .59);
  font-size: 11px;
}

.home-world__updates strong {
  color: rgba(255, 255, 255, .72);
  font-size: 20px;
  font-weight: 400;
}

.home-world__actions {
  grid-column: 1;
  display: grid;
  grid-template-columns: 1.7fr repeat(3, .65fr);
  gap: 8px;
}

.home-world__actions button {
  min-height: 66px;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 18px;
  color: #fff;
  background: rgba(7, 22, 21, .64);
  backdrop-filter: blur(18px);
}

.home-world__actions .home-world__open {
  justify-content: space-between;
  padding-inline: 22px;
  color: #17241e;
  background: linear-gradient(100deg, #f1b760, #e28b43);
  border-color: rgba(255, 227, 178, .72);
  font-weight: 800;
}

.home-world__actions button i {
  color: #f3c87d;
  font-size: 17px;
  font-style: normal;
}

.home-world__actions button span {
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .04em;
}

.home-world__privacy {
  grid-column: 1 / -1;
  justify-self: center;
  margin: 5px 0 0;
  color: rgba(255, 255, 255, .62);
  font-size: 10px;
}

@media (max-width: 900px) {
  .console[data-page="home"] {
    background-position: 58% center;
  }

  .console[data-page="home"] .console-stage {
    width: 100%;
    min-height: calc(100svh - 68px);
    padding: 0;
  }

  .home-page.home-world {
    min-height: calc(100svh - 68px);
    padding: calc(34px + var(--safe-top)) 18px calc(94px + var(--safe-bottom));
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto auto;
    align-content: end;
    gap: 12px;
  }

  .home-world__welcome {
    padding-bottom: 8px;
  }

  .home-world__welcome h1 {
    margin-top: 9px;
    font-size: clamp(54px, 16vw, 78px);
  }

  .home-world__welcome p {
    font-size: 13px;
  }

  .home-world__focus,
  .home-world__updates,
  .home-world__actions,
  .home-world__privacy {
    grid-column: 1;
    grid-row: auto;
  }

  .home-world__focus,
  .home-world__updates {
    padding: 14px;
    border-radius: 20px;
    backdrop-filter: blur(14px);
  }

  .home-world__focus > button {
    min-height: 88px;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    padding: 12px;
  }

  .home-world__focus-mark {
    width: 42px;
    height: 42px;
    font-size: 17px;
  }

  .home-world__focus button b {
    font-size: 24px;
  }

  .home-world__updates {
    display: none;
  }

  .home-world__actions {
    grid-template-columns: 1.55fr repeat(3, .65fr);
  }

  .home-world__actions button {
    min-height: 58px;
    padding: 8px;
    border-radius: 16px;
  }

  .home-world__actions button span {
    font-size: 9px;
  }

  .home-world__actions button:not(.home-world__open) span {
    display: none;
  }

  .home-world__privacy {
    padding-inline: 20px;
    text-align: center;
  }
}

@media (max-width: 390px), (max-height: 720px) {
  .home-page.home-world {
    padding-top: calc(22px + var(--safe-top));
    gap: 9px;
  }

  .home-world__welcome h1 {
    font-size: 52px;
  }

  .home-world__focus > header {
    padding-bottom: 8px;
  }

  .home-world__focus > button {
    min-height: 80px;
  }

  .home-world__privacy {
    display: none;
  }
}
.today-capacity{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.45fr);align-items:center;gap:24px;margin:0 0 18px;padding:18px 22px;border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);border-radius:18px;background:color-mix(in srgb,var(--paper) 91%,transparent);box-shadow:0 14px 36px rgba(25,35,31,.08)}
.today-capacity div{display:grid;gap:4px}.today-capacity small{font-size:.68rem;letter-spacing:.15em;font-weight:800}.today-capacity b{font-family:var(--serif);font-size:1.25rem}.today-capacity span{font-size:.78rem;opacity:.72}.today-capacity progress{width:100%;height:10px;accent-color:var(--accent)}.today-capacity.over progress{accent-color:#a65e42}
.duration-choice{border:0;padding:0;margin:16px 0;display:flex;flex-wrap:wrap;gap:8px}.duration-choice legend{width:100%;margin-bottom:8px;font-size:.76rem;font-weight:750}.duration-choice button{min-height:44px;padding:0 16px;border-radius:999px}.duration-choice button.active{background:var(--deep);color:var(--paper)}
.capacity-warning{margin:10px 0;padding:12px 14px;border-left:3px solid #a65e42;background:rgba(166,94,66,.09);font-size:.84rem}
@media(max-width:700px){.today-capacity{grid-template-columns:1fr;gap:12px}.duration-choice button{flex:1 1 calc(50% - 8px)}}

/* Human-electric LIFE OS: familiar planner controls inside warm future material. */
.console.theme-sanctuary{--paper:#f7f5ef;--paper2:#e9efeb;--ink:#25312f;--line:rgba(37,49,47,.14);--moss:#4e7566;--sage:#8fc3ab;--clay:#c88964;--gold:#b48749;background:radial-gradient(circle at 14% 9%,rgba(229,180,93,.34),transparent 27%),radial-gradient(circle at 86% 12%,rgba(143,195,171,.38),transparent 30%),linear-gradient(135deg,#dfe8e3,#f7f3eb 58%,#cbdad4)}
.theme-sanctuary .place-rail{background:linear-gradient(180deg,rgba(37,66,58,.95),rgba(45,82,69,.9));border-color:rgba(255,255,255,.16);box-shadow:16px 0 55px rgba(44,67,61,.12)}.theme-sanctuary .place-rail nav button{color:rgba(247,250,245,.68)}.theme-sanctuary .place-rail nav button small{color:rgba(230,239,232,.43)}.theme-sanctuary .place-rail nav button.active{background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(221,232,226,.62));color:#25312f;box-shadow:inset 0 1px rgba(255,255,255,.86),0 16px 42px rgba(17,42,35,.2)}
.theme-sanctuary .place-header,.theme-sanctuary .status-line{color:#25312f;background:rgba(247,250,245,.28);backdrop-filter:blur(18px) saturate(112%)}.theme-sanctuary .place-header span,.theme-sanctuary .status-line{color:#66766f}.theme-sanctuary .settings-trigger{border-color:rgba(37,49,47,.15);background:rgba(255,255,255,.34);color:#35554a;border-radius:999px}
.theme-sanctuary .morning-room{color:#25312f;background:linear-gradient(115deg,rgba(255,253,248,.78),rgba(221,235,227,.61)),radial-gradient(circle at 82% 25%,rgba(229,180,93,.48),transparent 34%);border:1px solid rgba(255,255,255,.72);border-radius:32px;box-shadow:inset 0 1px rgba(255,255,255,.88),0 30px 84px rgba(44,67,61,.16);backdrop-filter:blur(24px) saturate(118%)}.theme-sanctuary .morning-copy p{color:#876735}.theme-sanctuary .morning-copy span{color:#5e6e68}.theme-sanctuary .breath-orb{border-color:rgba(78,117,102,.3);box-shadow:inset 0 1px rgba(255,255,255,.8),0 18px 45px rgba(78,117,102,.13)}.theme-sanctuary .breath-orb b,.theme-sanctuary .breath-orb small{color:#4e7566}
.theme-sanctuary .capture-desk,.theme-sanctuary .work-card,.theme-sanctuary .clarify-card{background:linear-gradient(145deg,rgba(255,255,255,.76),rgba(229,238,233,.58));color:#25312f;border:1px solid rgba(255,255,255,.76);border-radius:22px;box-shadow:inset 0 1px rgba(255,255,255,.84),0 24px 70px rgba(44,67,61,.12);backdrop-filter:blur(20px) saturate(114%)}.theme-sanctuary .capture-desk{border-radius:28px 28px 11px 28px}.theme-sanctuary .desk-edge{background:rgba(221,232,226,.74);border-radius:0 0 11px 28px}.theme-sanctuary .life-pulse{color:#25312f;background:rgba(221,232,226,.72);border:1px solid rgba(255,255,255,.55);border-radius:22px;overflow:hidden}.theme-sanctuary .life-pulse b{color:#355548}.theme-sanctuary .life-pulse small,.theme-sanctuary .life-pulse span{color:#687870}
.theme-sanctuary .work-card textarea,.theme-sanctuary .work-card input,.theme-sanctuary .work-card select{background:rgba(255,253,248,.68);border-color:rgba(37,49,47,.17);color:#25312f}.theme-sanctuary .assistant-output,.theme-sanctuary .proposal,.theme-sanctuary .candidate{background:rgba(221,232,226,.72)}.theme-sanctuary .calendar>i,.theme-sanctuary .calendar>button{background:rgba(255,253,248,.65);border-color:rgba(37,49,47,.13);color:#50645b}.theme-sanctuary .calendar>button.selected{background:rgba(143,195,171,.32);border-color:#4e7566}.theme-sanctuary .spark-fab{background:linear-gradient(145deg,#c88964,#a9674c);box-shadow:inset 0 1px rgba(255,255,255,.28),0 16px 42px rgba(122,72,52,.28)}
.console-footer{display:none!important}.life-place{grid-template-rows:80px 27px auto}.console-stage{padding-bottom:110px}.console button:active{transform:translateY(1px) scale(.985)}.console button:focus-visible,.console input:focus-visible,.console textarea:focus-visible,.console select:focus-visible{outline:3px solid rgba(79,130,108,.28);outline-offset:2px}
@media(max-width:900px){.theme-sanctuary .morning-room{border-radius:24px}.theme-sanctuary .capture-desk{border-radius:24px 24px 9px 24px}}

/* LIFE OS Home owns its world. Theme materials may tint controls, never erase the place. */
body .console[data-page="home"] {
  background:
    linear-gradient(90deg, rgba(4, 15, 14, .72), rgba(5, 15, 16, .14) 52%, rgba(5, 13, 14, .3)),
    linear-gradient(180deg, rgba(6, 16, 17, .04), rgba(5, 13, 14, .36)),
    url("/life-os-home-sunrise-v3.png") center / cover fixed !important;
}

body .console[data-page="home"] .console-stage {
  background: transparent;
}

.home-page.home-world {
  grid-template-rows: auto auto auto auto;
}

.home-world__actions {
  align-self: start;
}

.home-world__actions button {
  height: 66px;
  min-height: 66px;
}

@media (max-width: 900px) {
  body .console[data-page="home"] {
    background-position: 58% center !important;
    background-attachment: scroll !important;
  }

  .home-world__actions button {
    height: 58px;
    min-height: 58px;
  }
}
