/* style.css */
:root{--bg:#f4f6f8;--panel:#fff;--ink:#14212b;--muted:#586773;--border:#dfe5e9;--accent:#185e4e;--accent-bg:#e4f2eb;--nav:#111c25;--on-nav:#ecf5f2;--blue:#235ece;--error:#b33235;--radius:20px;--text:17px;--vh:100dvh;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;font-size:var(--text);line-height:1.65;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #6c97e3;outline-offset:3px}button:active{filter:brightness(.93)}a{color:var(--blue)}h1,h2,h3,p{margin:0}h1{font-size:1.75rem;line-height:1.25;letter-spacing:-.035em}h2{font-size:1.2rem;line-height:1.4}h3{font-size:1rem}small,.small{font-size:.82rem;color:var(--muted)}.muted{color:var(--muted)}.eyebrow{font-size:.72rem;letter-spacing:.14em;font-weight:650;text-transform:uppercase}.icon{width:22px;height:22px;display:block;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.brand-mark{width:42px;height:42px;display:grid;place-items:center;background:var(--nav);color:#d3f3e6;border-radius:13px;font-size:26px;font-weight:650;flex-shrink:0}.brand{display:flex;align-items:center;gap:12px}.brand strong{font-size:1.12rem;letter-spacing:.12em}.brand small{display:block;font-size:.65rem;letter-spacing:.12em}.app-shell{max-width:1440px;min-height:var(--vh);margin:auto;display:grid;grid-template-columns:235px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:var(--vh);background:var(--nav);color:var(--on-nav);padding:34px 20px;display:flex;flex-direction:column}.sidebar .brand-mark{background:#24372f}.sidebar .brand small{color:#b9c9c2}.desktop-nav{display:grid;gap:6px;margin-top:46px}.nav-link{border:0;background:transparent;color:inherit;border-radius:12px;display:flex;align-items:center;gap:13px;text-align:left;min-height:50px;padding:10px 15px}.nav-link.active{background:#284135;color:#d5f4e7}.desktop-nav .nav-link:hover{background:#24333c}.sidebar-footer{margin-top:auto;color:#b9c9c2;font-size:.75rem;display:grid;gap:8px}.status-dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:#50806f;margin-right:6px}.online .status-dot{background:#88dcb5}.offline .status-dot{background:#cd8559}.workspace{min-width:0}.topbar{height:88px;padding:22px 40px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);background:var(--bg)}.topbar .mobile-brand{display:none}.connection{font-size:.78rem;color:var(--muted)}.topbar .date{font-size:.82rem;color:var(--muted)}.page{padding:36px 40px 60px;max-width:1000px;margin:0 auto}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px}.hero p{margin-top:9px;color:var(--muted)}.primary,.secondary,.ghost,.danger{min-height:46px;border-radius:12px;padding:10px 18px;border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:550;text-decoration:none}.primary{background:var(--accent);color:white;border-color:var(--accent)}.secondary{background:var(--panel);color:var(--ink)}.ghost{background:transparent;border-color:transparent;color:var(--muted)}.danger{color:var(--error);background:var(--panel)}.square{width:46px;min-width:46px;padding:10px}.daily-card{background:var(--nav);color:var(--on-nav);border-radius:var(--radius);padding:27px 30px;display:flex;align-items:center;gap:24px;margin-bottom:34px}.daily-card .daily-symbol{height:58px;width:58px;border:1px solid #42564e;border-radius:18px;display:grid;place-items:center;color:#a9d8c5;flex-shrink:0}.daily-card .daily-symbol .icon{width:27px;height:27px}.daily-card .eyebrow{color:#b5cbc1;margin-bottom:6px}.daily-card p{color:#c6d3cd;font-size:.84rem;margin-top:5px}.daily-card .arrow{margin-left:auto;color:#bfd8cc}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:26px 0 14px}.list{display:grid;gap:10px}.thread-row{width:100%;display:flex;align-items:center;gap:15px;background:var(--panel);color:var(--ink);border:1px solid var(--border);border-radius:15px;text-align:left;padding:17px 20px;min-height:88px}.thread-row:hover{border-color:#9dbab0}.thread-icon{width:42px;height:42px;display:grid;place-items:center;background:var(--bg);border-radius:12px;color:var(--muted);flex-shrink:0}.row-body{min-width:0;flex:1}.row-body strong{display:block;overflow-wrap:anywhere;font-weight:600}.row-meta{display:flex;align-items:center;gap:10px;font-size:.75rem;color:var(--muted);margin-top:4px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.project-card{padding:24px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);text-align:left;color:var(--ink);min-height:155px;display:flex;flex-direction:column;align-items:flex-start;gap:15px}.project-card .project-top{display:flex;width:100%;align-items:center;justify-content:space-between}.project-card h2{font-size:1.1rem}.project-card p{font-size:.8rem;color:var(--muted)}.badge{font-size:.72rem;padding:3px 9px;border-radius:20px;background:var(--accent-bg);color:var(--accent);white-space:nowrap}.notice{padding:14px 17px;border-left:3px solid #75988b;background:var(--accent-bg);font-size:.82rem;margin:18px 0;color:var(--ink);overflow-wrap:anywhere}.setting-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin:18px 0}.setting-card p{color:var(--muted);margin:9px 0 17px;font-size:.85rem}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0}.setting-row+.setting-row{border-top:1px solid var(--border)}.field{display:grid;gap:7px;margin:16px 0}.field input,.field select,.field textarea,.search{min-height:48px;border:1px solid var(--border);border-radius:11px;padding:11px 14px;background:var(--panel);color:var(--ink);width:100%;font-size:1rem}.field textarea{min-height:130px;resize:vertical}.search-wrap{margin:20px 0}.segmented{display:flex;gap:8px}.segmented button{min-height:44px;min-width:44px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--ink)}.segmented button.active{background:var(--accent);color:white;border-color:var(--accent)}.empty{padding:32px 12px;color:var(--muted);text-align:center}.error-box{padding:22px;border:1px solid var(--error);border-radius:16px;background:var(--panel)}.error-box p{margin:12px 0;overflow-wrap:anywhere}.mobile-nav{display:none}.loading{min-height:80vh;display:grid;place-content:center;justify-items:center;gap:18px}.pair-page{max-width:450px;padding:50px 24px;margin:0 auto}.pair-page h1{margin-top:30px}.pair-page p{margin:15px 0;color:var(--muted)}.pair-page .primary{width:100%}#toast{position:fixed;left:50%;bottom:calc(100px + env(safe-area-inset-bottom));transform:translateX(-50%);max-width:min(90vw,600px);background:var(--nav);color:var(--on-nav);border-radius:12px;padding:13px 18px;z-index:30;display:none;font-size:.85rem}#toast.visible{display:block}dialog{border:1px solid var(--border);border-radius:22px;background:var(--panel);color:var(--ink);max-width:min(94vw,560px);width:100%;padding:26px}dialog::backdrop{background:rgba(0,0,0,.5)}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;margin-top:20px}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.qr{display:block;width:220px;max-width:100%;margin:20px auto}.wrap{overflow-wrap:anywhere}.chat-view{height:calc(var(--vh) - 88px);display:flex;flex-direction:column;min-height:350px}.chat-header{display:flex;align-items:center;gap:12px;padding:15px 32px;background:var(--panel);border-bottom:1px solid var(--border);flex-shrink:0}.chat-header h1{font-size:1rem;letter-spacing:0;overflow-wrap:anywhere}.chat-header small{display:block}.chat-header .chat-title{flex:1;min-width:0}.messages{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:25px 32px;scroll-behavior:smooth}.message{max-width:800px;margin:0 auto 28px;min-width:0}.message-label{font-size:.73rem;letter-spacing:.06em;color:var(--muted);margin-bottom:8px;display:flex;gap:8px;align-items:center}.message.user{display:flex;flex-direction:column;align-items:flex-end}.message.user .bubble{background:var(--accent-bg);border-radius:18px 18px 5px 18px;padding:14px 18px;max-width:90%;white-space:pre-wrap;overflow-wrap:anywhere}.message.assistant .bubble{font-size:1rem;overflow-wrap:anywhere}.message.assistant p{margin:12px 0}.message.assistant li{margin:7px 0}.message.assistant h1{font-size:1.35rem;letter-spacing:0;margin:20px 0 12px}.message.assistant h2{margin:20px 0 12px}.message.assistant pre{overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:15px;font-size:.84rem}.message.assistant code{font-size:.87em}.message.assistant table{display:block;max-width:100%;overflow:auto;border-collapse:collapse;font-size:.85rem}.message.assistant td,.message.assistant th{padding:8px;border:1px solid var(--border)}.message.assistant img{max-width:100%}.message.commentary{font-size:.85rem;color:var(--muted)}.composer-wrap{flex-shrink:0;padding:13px 32px 22px;background:var(--bg);border-top:1px solid var(--border)}.composer{max-width:800px;margin:auto;background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:12px}.composer textarea{width:100%;border:0;resize:none;background:transparent;color:var(--ink);min-height:52px;max-height:180px;outline:none;padding:5px 6px;font-size:1rem;line-height:1.6}.composer textarea:focus-visible{outline:none}.composer:focus-within{border-color:#6b9c87;box-shadow:0 0 0 2px var(--accent-bg)}.composer-actions{display:flex;align-items:center;gap:8px}.composer-actions .hint{font-size:.71rem;color:var(--muted);flex:1}.composer-actions .primary{min-height:44px;padding:8px 15px}.chat-footnote{font-size:.7rem;color:var(--muted);text-align:center;max-width:800px;margin:6px auto 0}.approval{background:var(--panel);border:1px solid #d0a665;border-radius:14px;padding:18px;margin:12px auto;max-width:800px}.approval pre{white-space:pre-wrap;overflow-wrap:anywhere}.file-editor{width:100%;min-height:50vh;font-family:ui-monospace,Consolas,monospace;font-size:16px;line-height:1.6;border:1px solid var(--border);border-radius:12px;background:var(--panel);color:var(--ink);padding:16px;margin-top:16px;resize:vertical}.file-crumb{font-size:.82rem;color:var(--muted);overflow-wrap:anywhere;margin:12px 0}.notification-row{background:var(--panel);border-bottom:1px solid var(--border);padding:20px;width:100%;border-top:0;border-left:0;border-right:0;text-align:left;color:var(--ink)}.notification-row p{font-size:.85rem;color:var(--muted);margin:6px 0;overflow-wrap:anywhere}.back-row{display:flex;align-items:center;gap:10px;margin-bottom:24px}.back-row h1{font-size:1.4rem}.spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:800px){.app-shell{display:block}.sidebar{display:none}.topbar{height:76px;padding:14px 20px;padding-top:max(14px,env(safe-area-inset-top))}.topbar .mobile-brand{display:flex}.topbar .date{display:none}.topbar .connection{font-size:.68rem}.page{padding:28px 20px calc(100px + env(safe-area-inset-bottom))}.hero{align-items:flex-start;margin-bottom:23px}.hero h1{font-size:1.6rem}.hero .primary{padding:10px 13px;white-space:nowrap}.hero p{font-size:.86rem}.daily-card{padding:22px 20px;gap:15px;margin-bottom:28px}.daily-card .daily-symbol{width:44px;height:44px;border-radius:13px}.daily-card h2{font-size:1rem}.daily-card .arrow{display:none}.project-grid{gap:12px}.project-card{padding:19px;min-height:145px}.thread-row{padding:15px 14px;gap:12px}.thread-icon{width:36px;height:36px}.row-meta{font-size:.68rem;gap:8px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--panel);border-top:1px solid var(--border);padding:7px 8px calc(7px + env(safe-area-inset-bottom));z-index:10}.mobile-nav button{flex:1;border:0;background:transparent;color:var(--muted);display:flex;align-items:center;flex-direction:column;gap:3px;min-height:48px;font-size:.66rem;padding:4px;border-radius:10px}.mobile-nav button.active{color:var(--accent);background:var(--accent-bg)}.chat-view{height:calc(var(--vh) - 76px)}.chat-header{padding:11px 16px}.messages{padding:20px 18px}.composer-wrap{padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.message.user .bubble{max-width:95%}.chat-footnote{font-size:.64rem}.chat-active .mobile-nav{display:none}.setting-card{padding:20px}.setting-row{flex-wrap:wrap}.notification-row{padding:18px 0}.topbar .brand-mark{width:36px;height:36px;font-size:23px}.topbar .brand strong{font-size:1rem}.pair-page{padding-top:45px}dialog{padding:22px}.composer-actions .hint{font-size:.65rem}}
@media(max-width:370px){.project-grid{grid-template-columns:1fr}.hero{flex-wrap:wrap}.topbar{padding-left:15px;padding-right:15px}.connection{max-width:125px;text-align:right}.page{padding-left:16px;padding-right:16px}.daily-card .daily-symbol{display:none}}
@media(prefers-color-scheme:dark){:root{--bg:#111820;--panel:#1b252e;--ink:#e5edf2;--muted:#b0bdc8;--border:#35424d;--accent:#9cdbc2;--accent-bg:#243c33;--nav:#0c1319;--on-nav:#e6f4ec;--blue:#98bbff;--error:#ff989a;color-scheme:dark}.primary{color:#10251b}.badge{color:#bde8d7}.daily-card{border:1px solid #35424d}.thread-row:hover{border-color:#749b8e}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#thread-list{margin-top:14px}

/* ios.css */
:root{--bg:#000;--panel:#1c1c1e;--surface:#2c2c2e;--ink:#f5f5f7;--muted:#a0a0a8;--border:#38383a;--accent:#0a84ff;--accent-bg:#102b47;--nav:#111113;--on-nav:#f5f5f7;--blue:#64adff;--error:#ff6961;--green:#32d583;--radius:18px;color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Microsoft YaHei",sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}
button{transition:background .15s,opacity .15s;touch-action:manipulation}button:active{opacity:.72;filter:none}h1{font-size:2rem;font-weight:700;line-height:1.16;letter-spacing:-.035em}h2{font-size:1.1rem;font-weight:600}small,.small{font-size:.78rem}.icon{width:23px;height:23px}.brand-mark{width:36px;height:36px;background:var(--accent);color:#fff;border-radius:10px;font-size:25px}.brand strong{font-size:1rem;letter-spacing:.02em}.brand small{font-size:.68rem;letter-spacing:0;margin-top:1px}.app-shell{grid-template-columns:230px minmax(0,1fr)}.sidebar{background:var(--nav);padding:32px 18px;border-right:1px solid #222225}.sidebar .brand-mark{background:var(--accent)}.sidebar .brand small{color:var(--muted)}.desktop-nav{gap:5px;margin-top:35px}.nav-link{color:var(--muted);border-radius:11px;gap:12px;min-height:48px;padding:10px 14px}.nav-link.active{background:#25374c;color:#d5eaff}.desktop-nav .nav-link:hover{background:var(--surface)}.sidebar-footer{color:var(--muted);font-size:.72rem}.online .status-dot{background:var(--green)}.topbar{height:72px;padding:19px 40px;background:var(--bg);border:0}.connection{font-size:.72rem}.topbar .date{font-size:.78rem}.page{padding:20px 40px 60px;max-width:930px}.hero{align-items:center;margin-bottom:22px}.hero p{margin-top:8px;font-size:.84rem}.primary,.secondary,.ghost,.danger{border:0;border-radius:12px}.primary{background:var(--accent);color:#fff}.secondary{background:var(--surface);color:var(--ink)}.ghost{color:var(--blue)}.danger{color:var(--error);background:var(--surface)}.square{width:44px;min-width:44px;min-height:44px}.full{width:100%}.compose-new{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:0;background:var(--panel);color:var(--blue)}.compose-new .icon{width:25px;height:25px}.daily-card{width:100%;text-align:left;background:var(--panel);color:var(--ink);border:1px solid #29292c;border-radius:18px;padding:19px 18px;gap:14px;margin:20px 0 27px}.daily-symbol{height:45px;width:45px;display:grid;place-items:center;background:#133050;border-radius:12px;color:var(--blue);flex-shrink:0}.daily-copy{flex:1;min-width:0}.daily-copy>.muted{font-size:.78rem;display:block;margin-top:6px}.daily-card>.icon{width:15px;color:var(--muted)}.section-head{margin:25px 2px 12px}.section-head h2{font-size:.9rem;color:var(--muted);font-weight:500}.list{gap:1px}.grouped{border-radius:18px;overflow:hidden;background:var(--panel)}.thread-row{border:0;border-radius:0;padding:17px 16px;min-height:86px;position:relative;gap:13px}.thread-row:not(:last-child):after{content:'';position:absolute;height:1px;background:#333337;bottom:0;left:68px;right:16px}.thread-row:hover{background:var(--surface)}.thread-icon{width:39px;height:39px;background:#303033;border-radius:12px;color:#c6c6cd}.row-title{display:flex;gap:12px;align-items:center;justify-content:space-between;min-width:0}.row-title strong{font-size:.92rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.row-title time{color:var(--muted);font-size:.68rem;white-space:nowrap}.row-meta{gap:7px;font-size:.77rem;margin-top:5px;overflow:hidden;text-overflow:ellipsis}.thread-row>.icon{width:12px;height:18px;color:#84848d}.small-dot{width:3px;height:3px;border-radius:50%;background:var(--muted)}.project-grid{gap:14px}.project-card{padding:22px;border:0;min-height:157px;gap:22px}.project-top{color:var(--blue)}.project-card h2{font-size:1.05rem}.project-card p{font-size:.77rem;margin-top:5px}.badge{font-size:.67rem;padding:4px 8px;border-radius:7px;background:#303034;color:#b8b8c1;line-height:1.25}.notice{border:0;border-radius:14px}.setting-card{border:0;border-radius:18px;padding:23px;margin:16px 0}.setting-card p{font-size:.8rem;line-height:1.7}.setting-row{font-size:.87rem}.field input,.field select,.field textarea{background:var(--surface)}.search-wrap{position:relative;margin:0}.search-wrap>.icon{position:absolute;left:13px;top:11px;width:20px;height:20px;color:var(--muted)}.search{background:var(--panel);border:0;padding:10px 13px 10px 42px;min-height:43px;font-size:.94rem}.search::placeholder{color:#93939c}.segmented{gap:3px;background:#39393d;padding:3px;border-radius:10px}.segmented button{min-height:44px;min-width:44px;padding:5px 11px;border:0;border-radius:8px;background:transparent;font-size:.82rem}.segmented button.active{background:#636369;color:#fff}.empty{font-size:.87rem}#toast{background:#3b3b40;color:#fff;border-radius:14px;font-size:.82rem;z-index:50}dialog{border-radius:25px;background:var(--panel);max-height:90dvh;padding:25px}dialog::backdrop{background:rgba(0,0,0,.65);backdrop-filter:blur(6px)}.qr{border-radius:14px}.sheet-handle{width:36px;height:5px;background:#5a5a60;border-radius:10px;margin:-10px auto 18px}.sheet-subtitle{color:var(--muted);font-size:.83rem;margin:3px 0 18px}.install-steps{padding-left:24px}.install-steps>li{padding:0 0 22px 5px}.install-steps p{font-size:.83rem;color:var(--muted);line-height:1.7;margin-top:7px}.install-steps details{font-size:.8rem;margin-top:12px}.install-steps a{font-size:.85rem}.chat-view{height:calc(var(--vh) - 72px);min-height:280px}.chat-header{background:#151517;border-color:#29292c;padding:12px 30px}.chat-header h1{font-size:.95rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header small{font-size:.65rem;margin-top:3px}.messages{min-height:0}.message{max-width:780px}.message-label{font-size:.7rem}.message.user .bubble{background:var(--accent);color:#fff;border-radius:20px 20px 5px 20px;padding:12px 16px;line-height:1.65}.message.assistant .bubble{line-height:1.75}.composer-wrap{background:#151517;border-color:#29292c}.composer{border-color:#3d3d42;border-radius:22px;padding:10px 10px 9px}.composer textarea{min-height:49px;max-height:160px;padding:5px 8px}.composer:focus-within{border-color:var(--blue);box-shadow:none}.composer-actions .hint{font-size:.7rem}.composer-actions .primary{min-height:44px;padding:8px 13px;border-radius:22px;font-size:.82rem}.composer-actions .primary .icon{width:17px}.composer-actions #voice{background:var(--surface);border-radius:50%;color:var(--ink)}.chat-footnote{font-size:.67rem}.notification-row{border:0;border-bottom:1px solid var(--border)}.notification-row p{font-size:.82rem}
.voice-sheet{max-width:490px;text-align:center}.voice-sheet .dialog-header{text-align:left}.voice-engine{display:inline-flex;align-items:center;gap:6px;margin:8px auto;color:var(--muted);font-size:.74rem}.voice-engine:before{content:'';width:6px;height:6px;background:var(--green);border-radius:50%}.voice-stage{padding:24px 0 15px}.voice-timer{font-size:2.35rem;font-weight:300;letter-spacing:.03em;font-variant-numeric:tabular-nums}.voice-wave{height:56px;display:flex;align-items:center;justify-content:center;gap:5px;margin:22px 0}.voice-wave i{display:block;width:4px;height:7px;background:var(--accent);border-radius:4px;transition:height .08s}.voice-help{font-size:.84rem;color:var(--muted);min-height:28px}.hold-record{width:100%;min-height:68px;border:1px solid #48484d;border-radius:18px;background:var(--surface);color:var(--ink);font-size:1rem;font-weight:600;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;margin:12px 0}.hold-record.recording{background:var(--accent);border-color:var(--accent);color:white}.hold-record.canceling{background:#62272b;border-color:#b1454e}.voice-sheet .record-toggle{margin:4px auto 0;font-size:.8rem;min-height:44px}.voice-preview{width:100%;min-height:150px;resize:vertical;background:#2c2c2e;color:var(--ink);border:1px solid var(--border);border-radius:14px;padding:15px;line-height:1.7;font-size:1rem;margin:16px 0}.voice-error{color:var(--error);font-size:.84rem;margin:14px 0}.voice-retry{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.voice-preview-label{display:block;text-align:left;font-size:.85rem;color:var(--muted);margin-top:18px}#voice-dialog [hidden]{display:none!important}.voice-privacy{font-size:.72rem;color:var(--muted);margin:15px 0 3px;line-height:1.6}
@media(max-width:800px){.topbar{height:calc(59px + env(safe-area-inset-top));padding:10px 20px;padding-top:calc(10px + env(safe-area-inset-top))}.topbar .connection{font-size:.64rem}.topbar .brand-mark{width:30px;height:30px;border-radius:9px;font-size:21px}.brand{gap:9px}.topbar .brand strong{font-size:.86rem}.brand small{display:none}.page{padding:20px 18px calc(96px + env(safe-area-inset-bottom))}.hero{align-items:center;margin-bottom:20px}.hero h1{font-size:2rem}.hero p{font-size:.8rem;margin-top:7px}.daily-card{padding:17px 15px;margin-top:18px}.daily-copy .row-title strong{font-size:.87rem}.daily-copy>.muted{font-size:.73rem}.daily-symbol{width:41px;height:41px}.thread-row{padding:16px 13px;min-height:82px;gap:11px}.thread-row:not(:last-child):after{left:63px;right:13px}.thread-icon{width:38px;height:38px}.row-title{gap:7px}.row-title strong{font-size:.9rem}.row-title time{font-size:.63rem}.row-meta{font-size:.74rem}.project-grid{gap:13px}.project-card{padding:20px;min-height:155px}.mobile-nav{background:rgba(24,24,26,.92);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-color:#303035;padding:6px 8px calc(6px + env(safe-area-inset-bottom))}.mobile-nav button{background:transparent;color:#a2a2ab;gap:3px;min-height:48px;font-size:.61rem;padding:5px 3px;border-radius:0}.mobile-nav button.active{color:var(--blue);background:transparent}.mobile-nav .icon{width:24px;height:24px}.chat-view{height:calc(var(--vh) - 59px - env(safe-area-inset-top))}.chat-header{padding:8px 10px}.messages{padding:20px 17px}.composer-wrap{padding:10px 12px calc(9px + env(safe-area-inset-bottom))}.chat-footnote{font-size:.61rem}.setting-card{padding:20px}.notification-row{padding:18px}dialog{width:100%;max-width:100%;max-height:90dvh;border-radius:26px 26px 0 0;margin:auto 0 0;padding:22px 22px calc(24px + env(safe-area-inset-bottom));border:0;border-top:1px solid #424247}.voice-sheet{max-width:100%;padding-left:24px;padding-right:24px}.composer-actions .hint{font-size:.65rem}.compose-new{width:44px;height:44px}.install-steps{padding-left:20px}}
@media(max-width:370px){.row-title time{display:none}.daily-card{gap:10px}.daily-copy>.muted{font-size:.67rem}.topbar .connection{font-size:.6rem}.composer-actions .hint{font-size:.6rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.list{grid-template-columns:minmax(0,1fr)}.thread-row{min-width:0;max-width:100%}.row-title{min-width:0}.row-title strong{flex:1}.row-title time{flex-shrink:0}.daily-card .row-title strong{flex:1}
.pair-mode{display:inline-block;margin-top:24px}.pair-page h1{margin-top:18px}.pair-page .pair-code-input,.pair-code-output{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:16px;letter-spacing:.01em}.pair-page .pair-error{color:var(--error)}.pair-link-details{margin-top:18px}.pair-link-details summary{padding:12px 0;min-height:44px;color:var(--muted);font-size:.83rem}
.chat-filter-note{font-size:.72rem;color:var(--muted);text-align:center;margin:10px 0 22px}.push-actions{display:flex;flex-wrap:wrap;gap:8px}.chat-attachments{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;max-width:620px;width:100%;margin:14px 0}.chat-picture{margin:0;min-width:0}.chat-picture button{display:block;padding:0;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--panel);width:100%;min-height:80px}.chat-picture img{display:block;max-width:100%;width:100%;height:auto;max-height:480px;object-fit:contain}.chat-picture figcaption{font-size:.7rem;color:var(--muted);margin-top:6px;overflow-wrap:anywhere}.image-unavailable,.image-failure{font-size:.8rem;color:var(--muted);padding:12px;background:var(--panel);border-radius:10px}.image-gallery{width:96vw;max-width:1200px;height:94dvh;max-height:94dvh;padding:0;border-radius:16px;overflow:hidden;background:#0b0b0d}.image-gallery[open]{display:flex;flex-direction:column}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);min-height:60px}.gallery-toolbar span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.85rem}.gallery-toolbar button,.gallery-controls button,.gallery-controls a{min-height:44px;padding:9px 14px;border:0;border-radius:10px;background:var(--surface);color:var(--ink);text-decoration:none;white-space:nowrap;font-size:.8rem}.gallery-stage{flex:1;overflow:auto;min-height:0;display:grid;align-items:center;justify-items:center;touch-action:pan-x pan-y pinch-zoom}.gallery-stage img{max-width:100%;max-height:100%;object-fit:contain}.image-gallery.zoomed .gallery-stage{display:block}.image-gallery.zoomed img{max-height:none}.gallery-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;padding:12px}.gallery-error{padding:24px;color:var(--muted)}@media(max-width:800px){.image-gallery{height:calc(100dvh - env(safe-area-inset-top));max-height:100dvh;width:100vw;max-width:100vw;border-radius:0;margin:0;padding-bottom:env(safe-area-inset-bottom)}.gallery-controls{gap:6px}.gallery-controls button,.gallery-controls a{padding:9px 12px}.chat-picture img{max-height:380px}}
.push-last-result{padding:13px 15px;margin:12px 0;border:1px solid var(--border);border-radius:12px;font-size:.82rem}.push-last-result p{margin:7px 0!important}

.delivery-status{border:1px solid var(--border);border-radius:14px;padding:12px 14px;margin-bottom:10px;background:var(--panel);font-size:.8rem;line-height:1.6}.delivery-status[hidden]{display:none}.delivery-status p{margin:0 0 8px}.delivery-actions{display:flex;gap:8px;flex-wrap:wrap}.delivery-actions button{min-height:44px;font-size:.8rem;padding:8px 12px}.delivery-status summary{min-height:44px;padding:10px 0;color:var(--muted);cursor:pointer}.delivery-original{white-space:pre-wrap;overflow-wrap:anywhere;max-height:120px;overflow:auto;padding:8px 0}

/* life.css */
.life-tabs{display:flex;gap:3px;background:var(--panel);border-radius:12px;padding:4px;margin-bottom:22px}.life-tabs button{flex:1;border:0;background:transparent;color:var(--muted);min-height:44px;border-radius:9px;font-size:.85rem}.life-tabs button.active{background:#3b3b40;color:var(--ink)}.life-intro{display:flex;align-items:flex-start;gap:12px;padding:18px;background:var(--panel);border-radius:17px;margin-bottom:22px}.life-intro>span{color:var(--blue);padding-top:3px}.life-intro p{font-size:.82rem;line-height:1.7;color:var(--muted)}.life-entry{margin-bottom:23px;padding-bottom:20px;border-bottom:1px solid var(--border)}.life-entry-time{font-size:.68rem;color:var(--muted);margin-bottom:10px}.life-user-text{background:#1b3451;color:#eef6ff;padding:13px 16px;border-radius:17px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.95rem;line-height:1.65}.life-reply{margin:15px 2px;line-height:1.75;font-size:.92rem;overflow-wrap:anywhere}.life-reply p{margin:10px 0}.life-followup{font-size:.87rem;color:var(--blue);margin:10px 0}.life-tags{display:flex;flex-wrap:wrap;gap:7px}.life-tags button{border:0;border-radius:9px;min-height:36px;padding:7px 10px;background:#20362b;color:#b1e1c3;font-size:.72rem}.sync-hint{font-size:.67rem;color:var(--muted);margin:8px 0}.entry-actions{display:flex;justify-content:flex-end;margin-top:6px}.entry-actions .ghost{font-size:.72rem;min-height:40px;padding:8px 10px;color:var(--muted)}.life-working{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:.82rem;padding:15px 0}.life-composer{position:sticky;bottom:18px;background:#252528;border:1px solid #44444a;padding:11px;border-radius:20px;margin-top:24px;z-index:5}.life-composer textarea{display:block;min-height:75px;max-height:200px;width:100%;background:transparent;color:var(--ink);border:0;resize:vertical;padding:7px;font-size:1rem;line-height:1.55}.life-composer .hint{flex:1;font-size:.72rem;color:var(--muted)}.manager-summary{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.manager-summary>div{padding:18px;background:var(--panel);border-radius:16px}.manager-summary strong{display:block;font-size:1.6rem;margin-top:4px;font-variant-numeric:tabular-nums}.manager-summary small{font-size:.73rem;font-weight:400}.decision-card,.record-card,.report-card{background:var(--panel);padding:19px;border-radius:17px;margin:13px 0}.decision-card .section-head{margin:0 0 12px}.decision-card>p{font-size:.83rem;line-height:1.7;margin:12px 0;color:var(--muted)}.decision-card .decision-recommendation{color:var(--ink)}.decision-options{display:grid;gap:8px}.decision-options button{background:#2c2c31;color:var(--ink);border:1px solid #44444a;border-radius:12px;text-align:left;padding:13px;min-height:70px}.decision-options button[aria-pressed=true]{border-color:var(--blue);background:#173652}.decision-options span{display:block;font-size:.77rem;color:var(--muted);margin-top:5px}.topic-chips{display:flex;gap:8px;flex-wrap:wrap}.topic-chips button{border:1px solid var(--border);border-radius:18px;padding:8px 13px;min-height:42px;color:var(--muted);background:var(--panel);font-size:.77rem}.topic-chips button.active{color:#d4e8ff;border-color:var(--blue);background:#153658}.topic-chips span{opacity:.8}.record-card>p{font-size:.9rem;line-height:1.7;margin:14px 0}.record-card summary{font-size:.75rem;color:var(--muted);min-height:40px;padding:10px 0}.record-card blockquote{font-size:.8rem;color:var(--muted);margin:6px 0;padding-left:12px;border-left:2px solid #58585f;white-space:pre-wrap}.record-card>.ghost{font-size:.75rem;min-height:40px;padding-left:0}.report-card summary{min-height:44px;padding:9px 0;font-size:.85rem}.life-page .section-head .ghost{font-size:.76rem}.life-page .section-head .icon{width:16px}
@media(max-width:800px){.life-composer{bottom:calc(68px + env(safe-area-inset-bottom));}.life-page{padding-bottom:calc(110px + env(safe-area-inset-bottom))}.life-composer .hint{font-size:.64rem}.life-tabs{margin-bottom:18px}.life-tabs button{font-size:.8rem}.manager-summary{gap:12px}.manager-summary>div{padding:16px}}
.baseline-fold{background:var(--panel);border-radius:14px;padding:12px 16px;margin-bottom:22px}.baseline-fold>summary{font-size:.78rem;color:var(--muted);padding:10px 0;min-height:44px}.baseline-fold .life-entry:first-of-type{margin-top:16px}

body.life-screen{position:fixed;inset:0;overflow:hidden;overscroll-behavior:none}body.life-screen #app{position:absolute;top:var(--chat-top,0px);left:0;right:0;height:var(--chat-height,100dvh);overflow:hidden}body.life-screen .app-shell{height:100%;min-height:0}body.life-screen .workspace{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}body.life-screen .topbar{flex-shrink:0}.life-talk-page{width:100%;display:flex;flex-direction:column;min-height:0;flex:1;padding:0!important;overflow:hidden}.life-talk-page>.life-page-header{flex-shrink:0;padding:24px 32px 0}.life-page-header .hero{margin-bottom:16px}.life-page-header .hero p{display:none}.life-page-header .life-tabs{margin-bottom:12px}.life-message-list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scroll-behavior:auto;padding:12px 32px}.life-composer-wrap{position:relative;flex-shrink:0;padding:8px 32px 20px;background:#111113;border-top:1px solid var(--border)}.life-composer-wrap .life-composer{position:static;max-width:800px;margin:0 auto;background:var(--panel);border-radius:24px;padding:8px 9px}.life-composer textarea{min-height:34px;max-height:128px;padding:5px 6px;line-height:1.5;resize:none;font-size:1rem}.life-composer .composer-actions{justify-content:space-between;padding-top:3px}.life-composer .square{width:44px;height:44px;border-radius:50%;background:var(--surface);color:var(--ink)}.life-composer #life-send{width:44px;height:44px;min-width:44px;padding:0;display:grid;place-items:center;border-radius:50%;flex-shrink:0}.life-composer #life-send .icon{width:20px;height:20px}.life-composer #life-send:disabled{background:#303034;color:#929299;opacity:1;border-color:transparent}.life-user-text{background:var(--accent);color:#fff;border-radius:20px 20px 5px 20px;width:fit-content;max-width:94%;margin-left:auto}.life-entry{border:0;margin-bottom:24px;padding:0}.life-entry-time{text-align:center;margin:12px 0;font-size:.65rem}.life-reply{margin:16px 0}.life-working{font-size:.75rem}.life-entry .entry-actions .ghost{min-height:44px}.life-screen .life-page-header .hero h1{font-size:1.5rem}@media(max-width:800px){body.life-screen .topbar{display:none}.life-screen .life-page-header{padding:calc(12px + env(safe-area-inset-top)) 18px 0}.life-screen .life-message-list{padding:10px 16px}.life-screen .life-composer-wrap{padding:8px 10px 10px;margin-bottom:calc(66px + env(safe-area-inset-bottom))}.life-screen.keyboard-open .mobile-nav{display:none}.life-screen.keyboard-open .life-composer-wrap{margin-bottom:0;padding-bottom:4px}.life-screen .life-tabs button{font-size:.76rem}.life-screen .life-page-header .hero{margin-bottom:10px}.life-screen .life-page-header .compose-new{width:40px;height:44px}}

.life-older{display:block;margin:0 auto 16px;min-height:44px;font-size:.78rem}

/* chat-native.css */
.choice-card{border:1px solid var(--border);border-radius:22px;padding:20px;background:var(--panel)}.choice-heading{margin-bottom:18px}.choice-kicker{font-size:.72rem;color:var(--blue);font-weight:600}.choice-heading h3{font-size:1.04rem;margin-top:4px}.choice-card fieldset{border:0;padding:0;margin:0 0 20px;min-width:0}.choice-card legend{font-size:.92rem;line-height:1.6;margin-bottom:12px;padding:0;font-weight:600}.choice-option{display:flex;align-items:center;position:relative;gap:12px;border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:14px;margin-top:8px;min-height:58px;cursor:pointer;transition:background .15s,border-color .15s}.choice-option input{position:absolute;opacity:0;width:1px;height:1px}.choice-option:has(:checked){border-color:var(--blue);background:#152c44}.choice-option:has(:focus-visible){outline:3px solid var(--blue);outline-offset:2px}.choice-copy{flex:1;min-width:0}.choice-copy strong{display:block;font-size:.86rem;font-weight:600}.choice-copy>span{display:block;font-size:.76rem;color:var(--muted);line-height:1.6;margin-top:4px}.choice-check{width:22px;height:22px;border:1.5px solid #93939c;border-radius:50%;flex-shrink:0}.choice-option:has(:checked) .choice-check{background:var(--blue);border-color:var(--blue)}.choice-option:has(:checked) .choice-check:after{content:'✓';display:block;color:white;font-size:16px;line-height:20px;text-align:center}.choice-detail{display:block;margin-top:12px}.choice-detail>span{display:block;font-size:.76rem;color:var(--muted);margin:0 0 7px}.choice-detail input{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:12px;padding:12px;width:100%;font-size:16px;min-height:48px}.choice-error{color:var(--error);font-size:.82rem;margin:8px 0}.choice-caption{font-size:.7rem;color:var(--muted);text-align:center;margin-top:10px}.choice-card button[type=submit]{min-height:48px;border-radius:14px}.composer-tools{display:flex;gap:8px}.composer-tools .square{width:44px;height:44px;border-radius:50%;background:var(--surface);color:var(--ink)}.composer textarea{min-height:44px}.composer-actions{gap:10px}.composer-actions .hint{line-height:1.35}.attachment-tray{display:flex;overflow-x:auto;gap:10px;padding:8px 6px 12px;scrollbar-width:thin}.attachment-tray[hidden],.attachment-note[hidden]{display:none}.attachment-thumb{position:relative;flex:0 0 100px;width:100px;height:110px;border-radius:13px;background:var(--surface);overflow:hidden;border:1px solid var(--border)}.attachment-thumb img,.attachment-thumb video{width:100%;height:100%;object-fit:cover}.attachment-remove{position:absolute;right:0;top:0;width:44px;height:44px;border:0;border-radius:0 0 0 12px;background:rgba(0,0,0,.65);color:white;font-size:25px;line-height:1}.attachment-kind{position:absolute;left:6px;top:6px;background:rgba(0,0,0,.7);padding:2px 5px;border-radius:5px;font-size:11px;color:white}.attachment-name{position:absolute;bottom:0;left:0;right:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;background:rgba(0,0,0,.72);font-size:11px;padding:4px;color:white}.attachment-progress{position:absolute;inset:44px 0 20px;background:rgba(0,0,0,.8);color:white;font-size:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1.4;overflow:auto}.attachment-progress button{background:var(--accent);color:white;border:0;min-height:32px;padding:4px 8px;border-radius:8px;font-size:12px}.attachment-note{font-size:.7rem;color:var(--muted);margin:0 6px 8px}.attachment-menu{display:grid;gap:8px;margin-top:20px}.attachment-menu-row{position:relative;display:flex;gap:15px;align-items:center;background:var(--surface);border-radius:16px;padding:17px 16px;min-height:76px;cursor:pointer;overflow:hidden}.attachment-menu-row>.icon{width:27px;height:27px;color:var(--blue)}.attachment-menu-row span{display:grid;gap:3px}.attachment-menu-row strong{font-size:.9rem;font-weight:600}.attachment-menu-row small{font-size:.73rem}.attachment-menu-row input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.attachment-menu-row:focus-within{outline:3px solid var(--blue);outline-offset:2px}.attachment-limit{text-align:center;font-size:.7rem;margin-top:15px}.chat-video{margin:0;min-width:0}.chat-video video{display:block;width:100%;max-height:420px;border-radius:16px;background:#141416;aspect-ratio:16/10}.chat-video figcaption{font-size:.72rem;color:var(--muted);margin-top:6px}.chat-video a{display:inline-block;padding:10px 0;min-height:44px}.chat-picture figcaption{font-size:.72rem}.choice-option:active,.attachment-menu-row:active{filter:brightness(1.15)}@media(max-width:420px){.choice-card{padding:16px}.composer-actions .hint{font-size:.63rem}.composer-actions .primary{padding:8px 12px}.chat-footnote{font-size:.6rem}}@media(max-height:500px){.composer-wrap{max-height:60vh;overflow:auto}}@media(prefers-reduced-motion:reduce){.choice-option{transition:none}}

/* chat-flow.css */
body.chat-screen{position:fixed;inset:0;overflow:hidden;overscroll-behavior:none}body.chat-screen #app{position:absolute;top:var(--chat-top,0px);left:0;right:0;height:var(--chat-height,100dvh);overflow:hidden}body.chat-screen .app-shell{height:100%;min-height:0}body.chat-screen .workspace{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}body.chat-screen .topbar{flex-shrink:0}body.chat-screen .chat-view{height:auto;min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden}body.chat-screen .messages{flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;overflow-anchor:none;-webkit-overflow-scrolling:touch;scroll-padding-block:20px}body.chat-screen .chat-header{flex-shrink:0}body.chat-screen .composer-wrap{flex-shrink:0;padding-top:8px}.chat-subtitle{display:flex;align-items:center;gap:5px}.chat-subtitle:before{content:'';width:5px;height:5px;border-radius:50%;background:var(--green)}.chat-model-button{border:0;background:transparent;color:var(--muted);min-height:36px;padding:5px 6px;max-width:100%;font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.composer-meta{display:flex;align-items:center;justify-content:space-between;max-width:800px;margin:0 auto;gap:8px}.composer-hint{font-size:.65rem;color:var(--muted)}.composer-hint:empty{display:none}.composer textarea{min-height:34px!important;max-height:128px!important;line-height:1.5;padding:5px 6px}.composer-actions .hint{font-size:.66rem}.composer-wrap .chat-footnote{display:none}.composer{padding:8px 9px;border-radius:24px}.composer-actions{padding-top:3px}.send-label{min-width:30px}.message.local-message{margin-top:16px}.local-message .bubble{white-space:pre-wrap}.message-delivery{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-height:32px;font-size:.7rem;color:var(--muted);margin-top:4px}.message-delivery button{border:0;background:transparent;color:var(--blue);font-size:.72rem;min-height:44px;padding:6px 8px}.message-delivery .failure{color:var(--error)}.tiny-spinner{display:inline-block;width:12px;height:12px;border:1.5px solid var(--border);border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}.generation-status{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:.78rem;padding:10px 0 22px}.thinking-dots{display:inline-flex;gap:3px}.thinking-dots i{width:5px;height:5px;border-radius:50%;background:var(--blue);animation:thinking-pulse 1.2s infinite}.thinking-dots i:nth-child(2){animation-delay:.15s}.thinking-dots i:nth-child(3){animation-delay:.3s}.turn-stop{margin-left:auto;min-height:44px;min-width:44px;border:1px solid var(--border);border-radius:14px;background:var(--panel);color:var(--ink);font-size:.75rem;padding:8px 12px}.options-caption{font-size:.8rem;color:var(--muted);margin:12px 0 20px}.options-loading{padding:20px;font-size:.85rem}.delivery-status{display:none!important}.message-error{color:var(--error);font-size:.78rem;padding:8px 0}.pending-attachments-label{font-size:.75rem;color:inherit;opacity:.85;margin-top:6px}.new-message-jump{position:absolute;bottom:180px;right:20px;z-index:5;border:1px solid var(--border);background:var(--panel);color:var(--ink);border-radius:20px;min-height:44px;padding:8px 14px}.chat-active .topbar .connection{font-size:.65rem}@keyframes thinking-pulse{0%,60%,100%{opacity:.35}30%{opacity:1}}@media(max-width:800px){body.chat-screen .topbar{display:none}body.chat-screen .chat-header{padding-top:calc(8px + env(safe-area-inset-top));background:#111113}body.chat-screen .composer-wrap{padding:8px 10px max(4px,env(safe-area-inset-bottom));background:#111113}.keyboard-open .composer-wrap{padding-bottom:4px!important}.chat-header small{font-size:.67rem}.chat-title h1{font-size:1rem}.composer-meta{padding:0 4px}.messages{padding-bottom:12px!important}.chat-model-button{min-height:32px}}@media(prefers-reduced-motion:reduce){.thinking-dots i,.tiny-spinner{animation:none}}
/* The viewer floats inside the screen's safe areas, including iPhone cutouts. */
.image-gallery[open]{inset:24px;margin:auto;width:min(1000px,calc(100vw - 48px));height:calc(100dvh - 48px);max-height:900px;border:1px solid var(--border);border-radius:22px;padding:0;background:#111113;box-shadow:0 16px 60px rgba(0,0,0,.45)}.image-gallery .gallery-toolbar{padding:12px 14px;gap:8px;flex-shrink:0}.image-gallery .gallery-stage{padding:12px;min-height:0}.image-gallery .gallery-stage img{border-radius:10px}.image-gallery .gallery-controls{padding:12px;flex-shrink:0;background:#19191c}.image-gallery .gallery-controls button,.image-gallery .gallery-controls a{min-height:44px}.image-gallery.zoomed .gallery-stage{padding:0}.image-gallery::backdrop{background:rgba(0,0,0,.86);backdrop-filter:blur(12px)}@media(max-width:800px){.image-gallery[open]{top:calc(env(safe-area-inset-top) + 12px);bottom:calc(env(safe-area-inset-bottom) + 12px);left:12px;right:12px;inset-inline:12px;width:auto;height:auto;max-height:none;max-width:none;margin:0;border-radius:20px;padding:0}.image-gallery .gallery-toolbar{padding:10px 12px}.image-gallery .gallery-toolbar span{font-size:.78rem}.image-gallery .gallery-controls{gap:6px;padding:10px 8px}.image-gallery .gallery-controls button,.image-gallery .gallery-controls a{font-size:.75rem;padding:8px 10px}}

.composer-wrap{position:relative}.composer-actions{justify-content:space-between}.composer-actions #send{width:44px;height:44px;min-width:44px;padding:0;display:grid;place-items:center;border-radius:50%;flex-shrink:0}.composer-actions #send .icon{width:20px;height:20px}.composer-actions #send:disabled{background:#303034;color:#929299;opacity:1;border-color:transparent}.jump-bottom{position:absolute;right:18px;top:-56px;z-index:5;width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid #48484e;border-radius:50%;background:#27272b;color:#ededf0;box-shadow:0 3px 12px rgba(0,0,0,.28)}.jump-bottom[hidden]{display:none}.jump-bottom .icon{width:21px;height:21px}

body.chat-screen .messages{scroll-behavior:auto}

.nav-icon-wrap,.thread-icon,.daily-symbol{position:relative}.unread-dot{display:inline-block;width:8px;height:8px;min-width:8px;flex-shrink:0;border-radius:50%;background:#ff453a}.unread-dot[hidden]{display:none!important}.nav-icon-wrap>.unread-dot{position:absolute;top:-2px;right:-4px;box-shadow:0 0 0 2px var(--panel)}.thread-icon>.unread-dot,.daily-symbol>.unread-dot{position:absolute;top:-2px;right:-2px;box-shadow:0 0 0 2px var(--panel)}.notification-row strong{display:flex;align-items:center;gap:9px}.notification-row.is-unread{background:#222226}.thread-row.has-unread .row-title strong{color:#fff}

/* daily.css */
.daily-page{max-width:850px}.daily-hero{padding:8px 0 23px;border-bottom:1px solid var(--border);margin-bottom:22px}.daily-eyebrow{font-size:.65rem;letter-spacing:.2em;color:var(--muted);margin-bottom:14px}.daily-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.daily-title-row h1{font-size:1.65rem;line-height:1.25;letter-spacing:-.03em}.daily-date-row{display:flex;gap:16px;color:var(--muted);font-size:.76rem;margin-top:14px;align-items:center;flex-wrap:wrap}.daily-date-row time{color:var(--ink);font-variant-numeric:tabular-nums}.daily-asof{font-size:.7rem;color:var(--muted);margin-top:10px}.daily-lead{background:linear-gradient(140deg,#242429,#18181c);border:1px solid #38383f;padding:22px;border-radius:20px}.daily-label{font-size:.7rem;color:#c9c9d0}.daily-lead>p{font-size:.97rem;line-height:1.8;margin:10px 0}.daily-lead ol{margin:16px 0 0;padding-left:22px;font-size:.8rem;line-height:1.8;color:#d1d1d8}.daily-lead li+li{margin-top:8px}.digest-categories{display:flex;gap:8px;overflow-x:auto;padding:20px 0 10px;scrollbar-width:none}.finance{--category:#dfbc77;--category-bg:#30271b}.ai{--category:#baa6f9;--category-bg:#29213b}.work{--category:#88bbf6;--category-bg:#1d2b3c}.life{--category:#8dd9bd;--category-bg:#1a3029}.watch{--category:#efa887;--category-bg:#35241f}.digest-chip{color:var(--category);background:var(--category-bg);border:1px solid transparent;border-radius:20px;white-space:nowrap;font-size:.73rem;min-height:44px;padding:8px 15px}.digest-section{margin-top:26px;scroll-margin-top:18px}.digest-section>h2{display:flex;align-items:center;gap:10px;font-size:1.03rem;margin-bottom:14px;color:var(--category)}.digest-section h2 small{margin-left:auto;font-size:.65rem;color:var(--muted);font-weight:400}.category-line{width:4px;height:18px;border-radius:3px;background:var(--category)}.digest-card{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:20px;margin:12px 0}.digest-meta{display:flex;gap:8px;color:var(--category);font-size:.66rem;margin-bottom:10px}.digest-meta span{background:var(--category-bg);padding:3px 8px;border-radius:6px}.digest-card h3{font-size:1rem;line-height:1.6;letter-spacing:-.01em}.digest-card>p{margin-top:10px;color:#c5c5ce;line-height:1.8;font-size:.84rem}.digest-relevance,.digest-action{margin-top:14px;font-size:.81rem;line-height:1.75}.digest-relevance>span,.digest-action>span{display:block;font-size:.68rem;color:var(--muted);margin-bottom:3px}.digest-action{border-left:2px solid var(--category);padding-left:11px}.digest-sources{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:10px;margin-top:16px}.digest-sources a{font-size:.68rem;color:var(--muted);text-decoration:none;min-height:30px;padding:4px 0;overflow-wrap:anywhere}.digest-empty{font-size:.8rem;color:var(--muted);background:var(--panel);padding:18px;border-radius:14px}.digest-gaps{margin:26px 0;background:var(--panel);border-radius:15px;padding:14px 18px}.digest-gaps summary{min-height:44px;display:list-item;padding:10px 0;font-size:.8rem;color:var(--muted)}.digest-gaps p{font-size:.75rem;line-height:1.7;margin:8px 0;color:var(--muted)}.daily-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 0}.daily-footer label{font-size:.75rem;color:var(--muted)}.daily-footer select{margin-left:10px;color:var(--ink);background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:10px;font-size:16px}.daily-legacy{font-size:.86rem;line-height:1.9}.daily-legacy p{margin:12px 0}.brand-mark.brand-symbol{background:transparent;padding:0;overflow:hidden}.brand-symbol img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.brand-symbol:before,.brand-symbol:after{display:none!important}@media(max-width:800px){.daily-page{padding-top:20px}.daily-title-row h1{font-size:1.5rem}.daily-lead{padding:18px}.digest-card{padding:18px}.digest-categories{margin-right:-18px;padding-right:18px}}

/* theme.css */
/* Shared dark theme. Category colors belong to the digest, not navigation. */
:root{
  --bg:#101114;--panel:#1b1d22;--surface:#272a31;--ink:#f2f3f5;
  --muted:#adb1bc;--border:#343841;--accent:#246fcb;--accent-bg:#213249;
  --nav:#15161a;--on-nav:#f2f3f5;--blue:#8bbcff;--error:#ff8d87;
  --radius:18px;--tabbar-height:72px;--page-gutter:20px;
  --composer-bg:#202227;--control-border:#41454e;--control-ink:#c5cbd5;
}
body{background:var(--bg);letter-spacing:.005em}
button{line-height:1.35;transition:background-color .16s,color .16s,opacity .16s}
button:active{opacity:.78}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
h1{font-size:1.75rem;letter-spacing:-.03em;font-weight:650;line-height:1.3}
h2{font-size:1.05rem;line-height:1.5}
.page{width:100%;max-width:920px;padding:24px 36px 56px}
.hero{margin-bottom:24px;gap:16px;align-items:center}
.hero p{font-size:.82rem;line-height:1.6;color:var(--muted);margin-top:7px}
.primary,.secondary,.ghost,.danger{min-height:44px;font-weight:550}
.primary{background:var(--accent);color:#fff}
.secondary{background:var(--surface)}
.ghost{color:var(--blue)}
.icon{stroke-width:1.65}
.topbar{height:72px;background:transparent;padding:14px 36px}
.topbar-actions{display:flex;align-items:center;gap:12px;margin-left:auto}
.topbar-actions .square{color:var(--muted);background:var(--panel);border-radius:14px}
.connection{font-size:.72rem;white-space:nowrap}
.connection::before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;margin-right:6px;background:#8d919b;vertical-align:middle}
.connection.online::before{background:#7acda5}
.connection.offline::before{background:#f0b179}
.brand strong{letter-spacing:.01em;font-size:1rem;font-weight:650}
.brand small{font-size:.7rem;letter-spacing:0;color:var(--muted)}
.sidebar{padding:28px 18px;border-color:#292c32}
.desktop-nav .nav-link{border-radius:13px;min-height:48px}
.desktop-nav .nav-link.active{background:var(--accent-bg);color:#dcecff}
.desktop-nav .nav-link:hover{background:var(--surface)}
.desktop-nav .nav-link[data-page=settings]{margin-top:20px}
.sidebar-footer{font-size:.72rem;line-height:1.6}
.search-wrap{margin:0}
.search{border:1px solid #2d3038;border-radius:14px;min-height:46px;background:var(--panel);font-size:1rem}
.search::placeholder{color:#a0a5b1}
.compose-new{background:var(--surface);border-radius:14px;color:var(--blue);width:46px;height:46px}
.daily-card{background:linear-gradient(115deg,#23262d,#1b1d22);border-color:#373a43;border-radius:18px;padding:18px;margin:18px 0 25px}
.daily-card .daily-symbol{width:44px;height:44px;border:0;background:#332e24;color:#d9bf92;border-radius:13px}
.daily-card .row-title strong{font-size:.92rem;line-height:1.5}
.daily-card .badge{color:#d9bf92;background:#302b23;font-size:.7rem}
.daily-copy>.muted{font-size:.76rem;line-height:1.6}
.section-head{margin:24px 2px 12px}
.section-head h2{font-size:.82rem;font-weight:550}
.grouped,.notification-list{border:1px solid #292d35;border-radius:18px;overflow:hidden;background:var(--panel)}
.thread-row{min-height:84px;padding:16px;gap:12px;background:var(--panel)}
.thread-row:not(:last-child):after{left:66px;right:16px;background:#30343b}
.thread-icon{width:38px;height:38px;background:#292d34;border-radius:12px;color:#c0c7d3}
.row-title strong{font-size:.9rem;font-weight:550;line-height:1.45}
.row-title time{font-size:.72rem}
.row-meta{font-size:.73rem;line-height:1.5;margin-top:5px}
.project-card{background:var(--panel);border:1px solid #30343b;border-radius:18px;min-height:144px;padding:20px}
.project-card h2{font-size:1rem}.project-card p{font-size:.78rem}
.badge{font-size:.7rem;line-height:1.4;background:var(--surface);color:#c4c9d3}
.chat-header{background:var(--nav)!important;border-color:#2d3038;padding:10px 24px}
.chat-header small{font-size:.72rem;line-height:1.5}
.chat-title h1{font-size:1rem;line-height:1.4}
.messages{padding:24px}
.message{max-width:740px;margin-bottom:24px}
.message-label{font-size:.7rem;line-height:1.5;color:#a8adba;margin-bottom:7px;letter-spacing:0}
.message.user .message-label{display:none}
.message.user .bubble,.life-user-text{background:#263c57;color:#f2f5fa;border:1px solid #344961;border-radius:19px 19px 6px 19px;padding:12px 16px;line-height:1.65}
.message.assistant .bubble{line-height:1.78}
.message.assistant .bubble>p:first-child{margin-top:0}
.message.assistant .bubble>p:last-child{margin-bottom:0}
.message.commentary{padding:1px 0 1px 13px;border-left:2px solid #3a4658;color:#b1b8c4;font-size:.84rem}
.message.commentary .message-label{font-size:.68rem;color:#97a5ba}
.message-actions{display:flex;gap:6px;margin-top:5px}
.message-actions .square{width:44px;height:44px;min-height:44px;color:#a2aab8;padding:12px}
.message-actions .icon{width:18px;height:18px}
.message-actions .square:hover{background:var(--surface)}
.composer-wrap,.life-composer-wrap{background:var(--nav)!important;border-color:#2d3038}
.composer,.life-composer-wrap .life-composer{background:#22252b;border:1px solid #3b404a;border-radius:22px;padding:9px 10px}
.composer:focus-within,.life-composer:focus-within{border-color:#769dcc;box-shadow:none}
.composer textarea,.life-composer textarea{font-size:1rem;color:var(--ink)}
.composer textarea::placeholder,.life-composer textarea::placeholder{color:#a0a6b3}
.composer-tools .square,.life-composer .square{background:#2f343d;color:#cbd2dd;border-radius:50%}
.composer-actions #send:disabled,.life-composer #life-send:disabled{background:#30353e;color:#929aa8}
.chat-model-button{min-height:44px;font-size:.73rem;color:#b1b9c8;padding:7px 8px}
.composer-meta{min-height:44px}
.jump-bottom{background:#2b3039;border-color:#49515f;box-shadow:0 4px 15px #0004;color:#e7ecf4}
.life-page-header .life-tabs{background:#1d2026;border:1px solid #313640;padding:4px;border-radius:13px}
.life-tabs button{font-size:.8rem;min-height:44px}
.life-tabs button.active{background:#343b47;color:#f1f4f9;box-shadow:0 1px 3px #0003}
.life-entry-time{font-size:.7rem;color:#a0a6b2;margin:18px 0 12px}
.life-reply{font-size:.96rem;line-height:1.8}
.life-tags button{min-height:44px;border-radius:10px;background:#24312b;color:#b7d9c4;font-size:.72rem}
.entry-actions{margin-top:4px;justify-content:flex-start}
.entry-actions .square{color:#a0a7b5;width:44px;height:44px;padding:12px}
.entry-menu{display:grid;gap:10px;margin-top:20px}
.sync-hint{font-size:.71rem;line-height:1.6}
.manager-summary>div,.decision-card,.record-card,.report-card{border:1px solid #30343b}
.topic-chips button{min-height:44px;font-size:.76rem}
.read-all{font-size:.78rem;white-space:nowrap;padding:10px 4px}
.notification-row{padding:18px 20px!important;background:var(--panel)}
.notification-row.is-unread{background:#222831}
.notification-row strong{font-size:.9rem;line-height:1.5;font-weight:550}
.notification-row p{font-size:.8rem;line-height:1.7;margin:8px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.notification-row small{font-size:.7rem;color:#a1a9b6}
.notification-row:last-child{border-bottom:0}
.setting-card{padding:22px;border-radius:18px;background:var(--panel);border:1px solid #30343b}
.setting-card p{font-size:.8rem;line-height:1.7}
.setting-row{font-size:.87rem;min-height:52px}
.daily-page{max-width:820px}
.daily-hero{margin-bottom:20px;padding-bottom:22px}
.daily-eyebrow{font-size:.68rem;letter-spacing:.17em;color:#b2a995}
.daily-title-row h1{font-size:1.65rem;line-height:1.35;letter-spacing:-.02em}
.daily-asof{font-size:.73rem;line-height:1.6}
.daily-lead{background:#20242b;border-color:#3a404b;padding:22px}
.daily-lead>p{font-size:1rem;line-height:1.8}
.daily-lead ol{font-size:.83rem;line-height:1.8}
.digest-categories{position:sticky;top:0;z-index:4;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;padding:12px 0;margin:10px 0 0;background:var(--bg)}
.digest-chip{min-width:0;padding:8px 5px;font-size:.78rem;border-radius:12px;border:1px solid #ffffff0a;min-height:44px}
.digest-section{scroll-margin-top:82px;margin-top:28px}
.digest-section>h2{font-size:1rem;line-height:1.6}
.digest-card{padding:21px;background:var(--panel);border-color:#303640}
.digest-card h3{font-size:1rem;line-height:1.6;font-weight:600}
.digest-card>p,.digest-relevance,.digest-action{font-size:.87rem;line-height:1.85}
.digest-card>p{color:#c1c7d1}
.digest-meta{font-size:.71rem;flex-wrap:wrap;line-height:1.5}
.digest-relevance>span,.digest-action>span{font-size:.73rem;color:#aab2c0}
.digest-sources a{min-height:44px;font-size:.73rem;display:inline-flex;align-items:center;line-height:1.6}
.daily-footer .secondary{min-height:48px}
.choice-card{border-color:#374454}
.choice-copy>span{font-size:.78rem;line-height:1.65}
.choice-caption{font-size:.71rem}
.attachment-note{font-size:.72rem;line-height:1.6}
.attachment-progress button{min-height:44px}
.gallery-toolbar button,.gallery-controls button,.gallery-controls a{min-height:44px}
#toast{bottom:calc(var(--tabbar-height) + 18px + env(safe-area-inset-bottom));background:#353b46;color:#f6f7fa;font-size:.82rem;box-shadow:0 5px 25px #0005;max-width:min(88vw,480px);line-height:1.6}
@media(max-width:800px){
  .page{padding:20px var(--page-gutter) calc(var(--tabbar-height) + 28px + env(safe-area-inset-bottom))}
  .topbar{height:calc(64px + env(safe-area-inset-top));padding:calc(10px + env(safe-area-inset-top)) var(--page-gutter) 10px}
  .topbar .brand-mark{width:32px;height:32px;border-radius:10px}
  .topbar .brand strong{font-size:.9rem}
  .topbar-actions{gap:10px}.topbar .connection{font-size:.7rem;max-width:105px;overflow:hidden;text-overflow:ellipsis}
  .topbar-actions .square{background:transparent;padding:10px}
  .hero h1{font-size:1.75rem}.hero p{font-size:.8rem}
  .daily-card{padding:17px 15px;gap:12px}
  .daily-copy>.muted{font-size:.74rem}
  .thread-row{padding:16px 14px;min-height:84px}
  .row-title strong{font-size:.89rem}.row-meta{font-size:.72rem}
  .mobile-nav{height:calc(var(--tabbar-height) + env(safe-area-inset-bottom));padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:rgba(22,24,29,.96);border-color:#303640;align-items:stretch}
  .mobile-nav .nav-link{font-size:.65rem;gap:2px;color:#abb2bf;min-height:56px;padding:2px}
  .mobile-nav .nav-icon-wrap{width:44px;height:30px;border-radius:11px;display:grid;place-items:center}
  .mobile-nav .nav-link.active{background:transparent;color:#b8d7ff}
  .mobile-nav .nav-link.active .nav-icon-wrap{background:#253b57}
  .mobile-nav .icon{width:22px;height:22px}
  .nav-icon-wrap>.unread-dot{top:1px;right:5px}
  .chat-header{padding:10px 10px}.messages{padding:20px 18px}
  body.chat-screen .composer-wrap{padding:9px 12px max(4px,env(safe-area-inset-bottom))}
  .message{margin-bottom:23px}.message.user .bubble{max-width:92%}
  .life-screen .life-message-list{padding:10px 18px}
  .life-screen .life-page-header{padding-left:20px;padding-right:20px}
  .life-screen .life-composer-wrap{margin-bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom));padding:9px 12px 10px}
  .life-screen .life-page-header .hero h1{font-size:1.5rem}
  .daily-page{padding-top:20px}.daily-title-row h1{font-size:1.55rem}
  .digest-categories{top:env(safe-area-inset-top);margin-right:0;padding-right:0;gap:6px}
  .digest-card,.daily-lead{padding:18px}
  .digest-section{scroll-margin-top:calc(80px + env(safe-area-inset-top))}
  .project-grid{gap:12px}.project-card{padding:18px}
  dialog:not(.image-gallery){max-width:100%;width:100%;max-height:88dvh;margin:auto 0 0;border-radius:24px 24px 0 0;padding:22px 20px calc(20px + env(safe-area-inset-bottom));background:#202329;border-top:1px solid #454d5b}
}
@media(max-width:360px){:root{--page-gutter:16px}.topbar .connection{max-width:74px}.digest-chip{font-size:.73rem}.row-title time{display:block}.project-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){button{transition:none}}

.settings-details{padding-top:12px;padding-bottom:12px}.settings-details>summary{min-height:44px;padding:12px 0;cursor:pointer;font-size:.93rem;font-weight:550}.settings-details[open]>summary{margin-bottom:6px}.settings-details>summary::marker{color:var(--muted)}
.connection-extra{border-top:1px solid var(--border);margin-top:18px;padding-top:18px;padding-bottom:10px}.connection-extra h3{font-size:.85rem}.connection-extra a{font-size:.76rem}

/* Shared message rhythm and quiet, reachable secondary actions. */
:root{color-scheme:dark}
.message.user .bubble,.life-user-text{background:#29323f;border-color:#364252;border-radius:20px 20px 6px 20px}
.message-actions{align-items:center;gap:8px;margin-top:4px;min-height:44px}
.message-actions.user-actions{justify-content:flex-end;margin-left:auto;margin-bottom:6px}
.message-actions .square{width:44px;min-width:44px;height:44px;min-height:44px;padding:12px;border-radius:12px;color:var(--muted)}
.message-actions .square[aria-pressed=true]{background:var(--accent-bg);color:var(--blue)}
.message.user{margin-bottom:16px}
.life-entry .life-reply{margin:14px 0 4px}
.life-user-text,.life-reply{font-size:1rem}
.life-reply pre{max-width:100%;overflow:auto;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:12px;font-size:.84rem}
.life-reply table{display:block;max-width:100%;overflow:auto;border-collapse:collapse;font-size:.85rem}
.life-reply td,.life-reply th{padding:8px;border:1px solid var(--border)}
.life-entry .life-reply>p:first-child{margin-top:0}
.life-entry .life-reply>p:last-child{margin-bottom:0}
.life-entry .life-tags:empty{display:none}
.life-message-list>*,.life-message-list #life-feed>.life-entry{max-width:740px;margin-left:auto;margin-right:auto}
.life-page:not(.life-talk-page) .life-page-header .hero>.square{display:none}
.chat-title h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-header>.square{color:var(--control-ink)}
.choice-card{border-color:var(--border);padding:18px;border-radius:20px}
.choice-heading{margin-bottom:10px}
.choice-kicker{font-size:.73rem;font-weight:500;color:var(--muted)}
.choice-card legend{font-size:1rem;font-weight:550;line-height:1.65;margin-bottom:8px}
.choice-option{border-color:transparent;background:var(--surface);padding:14px;border-radius:14px}
.choice-option:has(:checked){background:var(--accent-bg);border-color:var(--blue)}
.choice-option:has(:checked) .choice-check:after{color:#15202d}
.choice-copy strong{font-weight:550}
.choice-error:empty{display:none}
.choice-card fieldset{margin-bottom:16px}
.choice-detail{margin-top:14px}
.life-page-header .hero h1{font-weight:600;letter-spacing:-.02em}
.messages,.life-message-list,.model-list{scrollbar-width:thin;scrollbar-color:var(--control-border) transparent}
.messages:focus-visible,.life-message-list:focus-visible{outline-offset:-3px}
@media(max-width:800px){
 body.chat-screen .chat-header{padding-top:calc(8px + env(safe-area-inset-top))!important}
 .life-screen .life-page-header{padding-top:calc(8px + env(safe-area-inset-top))}
 .life-screen .life-page-header .hero{margin-bottom:6px}
 .life-page-header .life-tabs{margin-bottom:8px}
 .message-label{font-size:.72rem}
 .life-entry-time{font-size:.72rem;margin:16px 0}
 .mobile-nav .nav-link{font-size:12px;font-weight:500}
 .mobile-nav .nav-link.active{color:var(--blue)}
 .mobile-nav .nav-link.active .nav-icon-wrap{background:transparent}
 .mobile-nav .nav-link.active .icon{stroke-width:2.1}
 .message-actions.user-actions{margin-top:2px}
 .choice-card{padding:16px}
}

/* voice-digest.css */
.voice-inline{display:flex;align-items:center;gap:8px;color:var(--muted);padding:2px 6px 8px;min-height:44px;font-size:.75rem;line-height:1.5;flex-wrap:wrap;border-bottom:1px solid var(--border);margin-bottom:6px}.voice-inline[hidden]{display:none}.voice-inline>span:not(.recording-led):not(.tiny-spinner){flex:1}.voice-inline time{font-variant-numeric:tabular-nums;font-size:.88rem;color:var(--ink)}.voice-inline button{background:transparent;border:0;color:var(--blue);min-height:44px;padding:8px;font-size:.75rem}.recording-led{width:7px;height:7px;border-radius:50%;background:#ff857f;flex-shrink:0}.composer-tools .is-recording,.life-composer .is-recording{background:#713939;color:#fff}.is-recording .icon{fill:currentColor;stroke:none}.update-card{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.update-card p{margin-bottom:0}.update-card .secondary{white-space:nowrap;font-size:.83rem}.daily-eyebrow{display:flex;justify-content:space-between;align-items:center}.daily-eyebrow>span{letter-spacing:0;color:var(--muted);font-size:.7rem}.daily-hero .daily-title-row h1{font-size:1.65rem;line-height:1.45;max-width:25em;font-weight:650}.daily-brief{border:0;border-left:3px solid #c5a779;border-radius:4px 16px 16px 4px;background:#22242a;padding:16px 18px}.daily-brief>p{font-size:.98rem;line-height:1.75;margin-bottom:0}.manager-detail{margin-top:7px}.manager-detail summary{font-size:.72rem;min-height:44px;padding:12px 0;color:var(--muted);cursor:pointer}.manager-detail p{font-size:.82rem;line-height:1.85;color:var(--muted)}.digest-focus{margin-top:26px}.digest-focus-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.digest-focus-heading h2{font-size:1.1rem;font-weight:650;color:var(--ink)}.digest-focus-heading>span{font-size:.7rem;color:var(--muted)}.focus-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.focus-card{min-width:0;padding:18px;background:var(--panel);border:1px solid #383d47;border-radius:18px;position:relative;overflow:hidden}.focus-card:before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--category)}.focus-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.focus-index{font-size:.76rem;color:#929aaa;font-variant-numeric:tabular-nums}.focus-signal{padding:5px 9px;border-radius:8px;background:var(--category-bg);color:var(--category);font-size:.75rem;font-weight:600}.focus-card h3{font-size:1.02rem;line-height:1.55;letter-spacing:-.02em;font-weight:650}.focus-reason{color:var(--muted);font-size:.78rem;line-height:1.65;margin-top:7px}.focus-next{font-size:.83rem;line-height:1.75;color:#e1e6ef;margin-top:13px;padding-top:11px;border-top:1px solid #353b46}.digest-compact{padding-bottom:8px}.digest-compact .digest-takeaway{font-size:.89rem;color:#ccd3df;line-height:1.75;margin-top:8px}.digest-detail{margin-top:8px}.digest-detail>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;min-height:48px;font-size:.76rem;color:var(--blue);list-style:none}.digest-detail>summary::-webkit-details-marker{display:none}.digest-detail>summary:after{content:'＋';font-size:18px}.digest-detail[open]>summary:after{content:'−'}.digest-detail>summary>span{font-size:.66rem;color:var(--muted);margin-left:auto}.digest-detail-body{padding:2px 0 10px;border-top:1px solid var(--border)}.digest-detail-body .digest-relevance p,.digest-detail-body .digest-action p{font-size:.82rem;line-height:1.8}.digest-meta .signal-strong{border:1px solid var(--category);font-weight:600}.digest-categories{margin-top:16px}.digest-section>h2{font-size:.95rem}.digest-section .digest-empty{font-size:.76rem;padding:14px}@media(max-width:800px){.focus-cards{grid-template-columns:1fr;gap:11px}.focus-card{padding:16px 18px}.focus-top{margin-bottom:6px}.focus-card h3{font-size:1rem}.focus-next{margin-top:9px;padding-top:9px}.daily-hero .daily-title-row h1{font-size:1.5rem}.voice-inline{font-size:.72rem}.update-card{gap:12px}.daily-page .daily-hero{margin-bottom:16px;padding-bottom:18px}}

@media(max-width:800px){.focus-top{float:right;margin:0 0 4px 12px}.focus-index{display:none}.focus-card h3{margin-right:48px}.focus-next{border-top:0;margin-top:6px;padding-top:0;clear:both}.focus-card{padding:15px 17px}.focus-cards{gap:9px}}

/* composer.css */
.mobile-composer{padding:8px 10px 10px!important;border-radius:25px!important;background:#22252c!important}.composer-model-row{display:flex;align-items:center;margin:-1px 0 7px;min-width:0}.model-pill{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-height:44px;border:0;border-radius:12px;background:transparent;color:#c8d3e2;padding:8px 10px;font-size:14px;text-align:left;cursor:pointer}.model-pill:hover,.model-pill:active{background:#303846}.model-pill>[data-model-label]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-pill>.icon{width:16px;height:16px;flex-shrink:0;color:#9caec6}.model-status-dot{height:7px;width:7px;border-radius:50%;background:#92b8ec;flex-shrink:0}.mobile-composer textarea{min-height:45px!important;max-height:132px!important;padding:6px 9px 9px!important;line-height:1.65;font-size:17px!important;resize:none;display:block;width:100%}.mobile-composer textarea[hidden]{display:none!important}.mobile-composer .voice-pad{width:100%;min-height:82px;border:1px solid #586577;border-radius:18px;display:flex;justify-content:center;align-items:center;gap:13px;color:#eef4fc;background:#344257;touch-action:manipulation;font-size:18px;font-weight:600;letter-spacing:.02em;padding:18px 12px;transition:background .15s,border-color .15s}.mobile-composer .voice-pad[hidden]{display:none!important}.voice-pad .icon{width:26px;height:26px;stroke-width:2}.voice-pad.is-recording{background:#573c45;color:#ffece9;border-color:#ca9191}.voice-pad.is-recording .icon{fill:none;stroke:currentColor}.voice-pad .record-stop-icon{fill:currentColor!important;stroke:none!important}.voice-pad:disabled{opacity:1;background:#303742;color:#aeb9ca}.mobile-composer .voice-inline{padding:4px 6px 0;border:0;margin:0;min-height:44px;font-size:13px}.mobile-composer .voice-inline[hidden]{display:none}.compose-toolbar{display:flex;align-items:center;gap:10px;padding-top:10px!important}.toolbar-spacer{flex:1}.input-mode-button,.attachment-button,.mobile-composer .composer-send{width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;padding:0!important;display:grid!important;place-items:center!important;border-radius:50%!important;border:0;background:#303740;color:#dde7f5;flex-shrink:0}.input-mode-button .icon,.attachment-button .icon{width:26px;height:26px}.input-mode-button[aria-pressed=true]{background:#38485e;color:#dceaff}.mobile-composer .composer-send{background:#2e7bd8!important;color:#fff!important}.mobile-composer .composer-send .icon{width:23px!important;height:23px!important}.mobile-composer .composer-send:disabled{background:#323942!important;color:#94a2b4!important}.attachment-menu{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.attachment-menu-row{flex-direction:column;justify-content:center;text-align:center;min-height:118px;padding:16px 8px;border:1px solid #3e4857;border-radius:18px}.attachment-menu-row>.icon{width:32px;height:32px;margin-bottom:8px}.attachment-menu-row span{gap:0}.attachment-menu-row strong{font-size:15px}.attachment-menu-row small{display:none}.model-sheet .model-search{width:100%;min-height:48px;background:#2b3039;border:1px solid #465264;color:var(--ink);border-radius:13px;padding:10px 13px;font-size:16px;margin:18px 0 12px}.model-list{display:grid;gap:8px;max-height:38dvh;overflow:auto;padding:3px;scrollbar-width:thin}.model-option{position:relative;display:flex;gap:12px;align-items:center;min-height:60px;padding:12px 14px;border:1px solid #3b4554;border-radius:14px;background:#292f38;cursor:pointer}.model-option:has(:checked){border-color:#8cbfff;background:#253f60}.model-option input{width:20px;height:20px;accent-color:#8cbfff;flex-shrink:0}.model-option span{display:grid;gap:4px;min-width:0}.model-option strong{font-size:16px;font-weight:550;overflow-wrap:anywhere}.model-option small{font-size:12px;color:#abb8ca}.effort-heading{font-size:.82rem;color:var(--muted);margin:20px 0 10px}.effort-options{display:flex;flex-wrap:wrap;gap:8px}.effort-option{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:48px;padding:9px 12px;border:1px solid #465263;border-radius:12px;background:#29303a;cursor:pointer}.effort-option:has(:checked){background:#28496d;border-color:#8dbaf1;color:#dcecff}.effort-option input{position:absolute;opacity:0;width:1px;height:1px}.effort-option:has(:focus-visible){outline:2px solid var(--blue);outline-offset:3px}.model-sheet .model-save{margin-top:20px;border-radius:16px;min-height:52px}.model-no-match{padding:18px;color:var(--muted);font-size:.82rem}.life-photo-grid{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin:10px 0}.life-photo-grid button{background:var(--panel);border:1px solid var(--border);border-radius:16px;overflow:hidden;padding:0;width:140px;max-width:45%;min-height:80px}.life-photo-grid img{display:block;width:100%;height:140px;object-fit:cover}.life-photo-grid video{display:block;width:100%;max-height:240px;border-radius:16px}.life-photo-grid .daily-video{width:100%}@media(max-width:800px){body.chat-screen .composer-wrap,.life-screen .life-composer-wrap{padding-left:12px;padding-right:12px}.mobile-composer{padding:6px 10px 10px!important}.mobile-composer .voice-pad{min-height:80px}.attachment-menu{gap:9px}.attachment-menu-row{min-height:110px}.model-sheet .model-list{max-height:36dvh}.model-pill{font-size:14px}.model-sheet .dialog-header h2{font-size:1.12rem}}@media(max-width:360px){.compose-toolbar{gap:8px}.input-mode-button,.attachment-button,.mobile-composer .composer-send{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important}.mobile-composer .voice-pad{font-size:17px}.attachment-menu-row strong{font-size:13px}}@media(prefers-reduced-motion:reduce){.mobile-composer .voice-pad{transition:none}}

@media(max-height:500px) and (max-width:1000px){body.chat-screen .app-shell,body.life-screen .app-shell{display:block}body.chat-screen .sidebar,body.life-screen .sidebar,body.chat-screen .topbar,body.life-screen .topbar{display:none!important}body.chat-screen .chat-header{padding:6px 10px!important}body.chat-screen .composer-wrap{max-height:none;overflow:visible;padding:6px 12px max(4px,env(safe-area-inset-bottom))}.mobile-composer .voice-pad{min-height:64px;padding:12px}.composer-model-row{margin-bottom:2px}.compose-toolbar{padding-top:6px!important}body.life-screen .life-page-header{display:flex;align-items:center;gap:12px;padding:4px 16px!important}body.life-screen .life-page-header .hero{margin:0}body.life-screen .life-page-header .hero h1{font-size:1rem}body.life-screen .life-page-header .hero>.ghost{display:none}body.life-screen .life-tabs{flex:1;margin:0}body.life-screen .life-composer-wrap{margin-bottom:0;padding:6px 12px}body.life-screen .mobile-nav{display:none}}

/* Live microphone energy: no decorative/fake wave while silent. */
.voice-wave-live{display:flex;justify-content:center;align-items:center;gap:4px;height:28px;margin:0;overflow:hidden;pointer-events:none;user-select:none;-webkit-user-select:none}
.voice-wave-live[hidden]{display:none!important}
.voice-wave-live i{display:block;flex:0 0 3px;height:28px;border-radius:3px;background:#f3c8cf;transform:scaleY(.08);transform-origin:center;transition:transform 60ms linear}
button,button *{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
button{touch-action:manipulation}
.voice-pad>*{pointer-events:none}
@media(max-height:500px){.voice-wave-live{height:25px;margin-bottom:5px}.voice-wave-live i{height:24px}}
@media(prefers-reduced-motion:reduce){.voice-wave-live i{transition:none}}

/* A single tool row keeps the conversation visible on smaller phones. */
.mobile-composer{background:var(--composer-bg)!important;border-color:var(--control-border);padding:10px!important;border-radius:24px!important}
.mobile-composer textarea{font-size:1rem!important;min-height:46px!important;padding:4px 8px 10px!important}
.mobile-composer .compose-toolbar{gap:8px;justify-content:flex-start;padding-top:4px!important}
.mobile-composer .model-pill{flex:1;min-width:0;max-width:none;justify-content:center;padding:8px 2px;font-size:12px;color:var(--muted);gap:4px}
.mobile-composer .model-pill>.icon{width:13px;height:13px;color:var(--muted)}
.mobile-composer .input-mode-button,.mobile-composer .attachment-button{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;background:transparent;color:var(--control-ink)}
.mobile-composer .input-mode-button:hover,.mobile-composer .attachment-button:hover{background:var(--surface)}
.mobile-composer .input-mode-button .icon,.mobile-composer .attachment-button .icon{width:24px;height:24px}
.mobile-composer .composer-send{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;background:var(--accent)!important}
.mobile-composer .composer-send:disabled{background:var(--surface)!important;color:var(--muted)!important}
.mobile-composer.voice-mode .composer-send{display:none!important}
.mobile-composer.voice-mode .model-pill{flex:0 1 auto;margin-left:auto;padding-inline:10px}
.mobile-composer .voice-pad{background:var(--surface);border-color:var(--control-border);color:var(--ink);font-size:1rem;letter-spacing:0;flex-direction:column;min-height:88px;padding:12px;gap:6px}
.voice-pad-copy{display:flex;align-items:center;justify-content:center;gap:10px}
.voice-pad.is-recording .voice-pad-copy{font-size:14px;line-height:20px;font-weight:500}
.voice-pad.is-recording .voice-pad-copy .icon{width:18px;height:18px}
.mobile-composer .voice-pad.is-recording{background:#4e3038;border-color:#c78489;color:#ffece9}
.mobile-composer .voice-pad:disabled{background:var(--surface);color:var(--muted)}
.mobile-composer .voice-wave-live{margin:0;width:100%;flex-shrink:0}
.model-option{border-color:transparent;background:var(--surface)}
.model-option:has(:checked){border-color:var(--blue);background:var(--accent-bg)}
.model-option,.effort-option,.choice-option,.attachment-menu-row{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
@media(max-width:360px){.mobile-composer .model-pill{font-size:11px}.mobile-composer .compose-toolbar{gap:6px}}
@media(max-height:500px){.mobile-composer .voice-pad{min-height:76px;padding:8px;gap:4px}.voice-wave-live{height:24px}}

/* gallery.css */
/* One viewer for normal and expanded viewing. Never leave for a bare image URL. */
.image-gallery{
 --viewer-top:0px;--viewer-left:0px;--viewer-width:100vw;--viewer-height:100dvh;
 --viewer-safe-top:max(14px,env(safe-area-inset-top));
 --viewer-safe-bottom:max(14px,env(safe-area-inset-bottom));
 --viewer-safe-left:max(12px,env(safe-area-inset-left));
 --viewer-safe-right:max(12px,env(safe-area-inset-right));
}
dialog.image-gallery[open]{
 position:fixed;box-sizing:border-box;display:flex;flex-direction:column;
 inset:auto;inset-inline:auto;margin:0;
 top:calc(var(--viewer-top) + var(--viewer-safe-top));
 left:calc(var(--viewer-left) + var(--viewer-safe-left));
 width:calc(var(--viewer-width) - var(--viewer-safe-left) - var(--viewer-safe-right));
 height:calc(var(--viewer-height) - var(--viewer-safe-top) - var(--viewer-safe-bottom));
 max-width:none;max-height:none;min-width:0;min-height:0;padding:0;overflow:hidden;
 background:#111318;color:#f1f4f9;border:1px solid #3a424f;border-radius:22px;
 box-shadow:0 18px 70px #0008;
}
dialog.image-gallery.gallery-expanded[open]{
 top:var(--viewer-top);left:var(--viewer-left);width:var(--viewer-width);height:var(--viewer-height);
 padding:var(--viewer-safe-top) var(--viewer-safe-right) var(--viewer-safe-bottom) var(--viewer-safe-left);
 border:0;border-radius:0;box-shadow:none;background:#090b0f;
}
.image-gallery .gallery-toolbar{position:relative;z-index:2;display:flex;align-items:center;gap:12px;min-height:72px;flex:0 0 auto;padding:12px 14px;border-bottom:1px solid #303743;background:#171b23}
.image-gallery .gallery-toolbar>#gallery-title{display:block;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;line-height:1.6;color:#e4e9f1}
.image-gallery #gallery-title small{display:block;font-size:12px;color:#a7b3c6;font-variant-numeric:tabular-nums}
.image-gallery .gallery-close{min-height:48px;min-width:88px;flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #48566b;background:#2f3b4f;border-radius:14px;color:#fff;font-size:15px;padding:10px 12px;white-space:nowrap}
.image-gallery .gallery-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.image-gallery .gallery-close span{font-size:15px;color:inherit}
.image-gallery .gallery-stage{display:flex;align-items:center;justify-content:center;position:relative;flex:1 1 0;min-height:0;min-width:0;overflow:auto;padding:12px;touch-action:pan-x pan-y pinch-zoom;overscroll-behavior:contain}
.image-gallery #gallery-picture{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;border-radius:10px}
.image-gallery #gallery-picture[hidden],.image-gallery .gallery-error[hidden]{display:none}
.image-gallery.zoomed .gallery-stage{display:block;padding:0}
.image-gallery.zoomed #gallery-picture{width:200%;height:auto;max-width:none;max-height:none;border-radius:0}
.image-gallery .gallery-controls{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;flex:0 0 auto;padding:12px;border-top:1px solid #303743;background:#171b23}
.image-gallery .gallery-controls button{flex:1;min-height:48px;min-width:54px;max-width:170px;padding:10px 8px;font-size:14px;border-radius:13px;border:1px solid #3a4658;background:#293344;color:#e2eaf7;white-space:nowrap}
.image-gallery .gallery-controls button:disabled{opacity:.4}
.image-gallery .gallery-error{color:#bfc8d6;font-size:15px;line-height:1.75;padding:24px;text-align:center}
.image-gallery::backdrop{background:#000d;backdrop-filter:blur(12px)}
@media(min-width:1050px){dialog.image-gallery:not(.gallery-expanded)[open]{width:min(1000px,calc(var(--viewer-width) - 64px));left:calc(var(--viewer-left) + (var(--viewer-width) - min(1000px,calc(var(--viewer-width) - 64px)))/2)}}
@media(max-height:450px){.image-gallery .gallery-toolbar{min-height:58px;padding:5px 10px}.image-gallery .gallery-controls{padding:6px 10px}.image-gallery .gallery-stage{padding:8px}}

/* reading.css */
.reading-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:10px 0;border-bottom:1px solid var(--border);font-size:.9rem}
.reading-row>span{flex-shrink:0}.reading-row select{max-width:62%;min-width:130px;min-height:44px;padding:8px 28px 8px 10px;border:0;border-radius:10px;color:var(--ink);background:var(--surface);font-size:16px;text-align:right}
.reading-sheet form{margin-top:16px}.reading-note{font-size:.75rem;line-height:1.7;color:var(--muted);margin:16px 0 20px}.reading-actions{display:flex;gap:12px}.reading-actions button{flex:1;min-height:48px}
.reading-card .setting-row{padding:4px 0}.reading-card .secondary{font-size:.8rem}.reading-card p{margin-bottom:0}
.message-actions .square[aria-busy=true] .icon{display:none}.message-actions .square[aria-busy=true]:after{content:'';width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}
#natural-options[hidden],#system-options[hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){.message-actions .square[aria-busy=true]:after{animation:none}}

/* mobile-shell.css */
/* The list scrolls inside the app; navigation/composers occupy separate rows. */
@media (max-width:800px), (max-height:500px) and (max-width:1000px){
 html:has(body.app-ready){height:100%;overflow:hidden;overscroll-behavior:none}
 body.app-ready{position:fixed;inset:0;margin:0;overflow:hidden;overscroll-behavior:none}
 body.app-ready #app{position:fixed;inset:auto 0;top:0;height:100dvh;overflow:hidden}
 body.app-ready.chat-screen #app,body.app-ready.life-screen #app{top:var(--chat-top,0px);height:var(--chat-height,100dvh)}
 body.app-ready .app-shell{height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;overflow:hidden}
 body.app-ready .sidebar{display:none}
 body.app-ready .workspace{min-height:0;height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:none;-webkit-overflow-scrolling:touch}
 body.app-ready .page{padding-bottom:28px}
 body.app-ready .mobile-nav{position:static;inset:auto;min-width:0;flex-shrink:0;display:flex;z-index:10}
 body.app-ready.chat-screen .mobile-nav,body.app-ready.life-screen.keyboard-open .mobile-nav{display:none}
 body.app-ready.chat-screen .workspace,body.app-ready.life-screen .workspace{display:flex;flex-direction:column;overflow:hidden}
 body.app-ready .chat-view,body.app-ready .life-talk-page{flex:1;min-height:0;overflow:hidden}
 body.app-ready .messages,body.app-ready .life-message-list{min-height:0;flex:1;overflow-y:auto;overscroll-behavior-y:none;overflow-anchor:none;-webkit-overflow-scrolling:touch}
 body.app-ready .composer-wrap,body.app-ready .life-composer-wrap{flex:0 0 auto;overflow:visible;max-height:none;position:relative}
 body.app-ready.life-screen .life-composer-wrap{margin-bottom:0}
}
@media(max-height:500px) and (max-width:1000px){body.app-ready.life-screen .mobile-nav{display:none}}

/* investments.css */
.investment-page{max-width:880px}.investment-page .hero{align-items:center}.investment-page h1{font-size:1.65rem}.weigh-eyebrow{font-size:11px;letter-spacing:.1em;color:#d5bc91;margin-bottom:10px}.weigh-today{padding:24px;border:1px solid #554a36;border-radius:22px;background:linear-gradient(140deg,#292820,#1c1e23)}.weigh-today h2{font-size:1.2rem;line-height:1.5;font-weight:600}.weigh-today p{font-size:.88rem;color:#d3d0c7;line-height:1.8;margin:12px 0 18px}.weigh-today small{color:var(--muted);font-size:.7rem}.weigh-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px 0;border-top:1px solid #ffffff15}.weigh-stats div{display:grid;gap:7px}.weigh-stats strong{font-size:1.65rem;font-weight:550;font-variant-numeric:tabular-nums}.weigh-stats span{font-size:.74rem;color:var(--muted)}.weigh-update{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;font-size:.68rem;color:var(--muted);min-height:54px;gap:4px}.weigh-update .ghost{font-size:.72rem;padding:8px 0}.weigh-cash{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:18px 20px;border:1px solid var(--border);border-radius:18px;background:var(--panel);margin:10px 0 26px}.weigh-cash>div{display:grid;gap:6px;min-width:0}.weigh-cash span{font-size:.76rem;color:var(--muted)}.weigh-cash strong{font-size:1.2rem;font-variant-numeric:tabular-nums;font-weight:550}.weigh-cash small{font-size:.65rem;line-height:1.7;color:var(--muted)}.weigh-cash .ghost{font-size:.72rem;padding:8px 0;flex-shrink:0}.weigh-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}.weigh-section-head h2{font-size:1rem}.weigh-section-head small,.weigh-muted{font-size:.72rem;color:var(--muted);line-height:1.6}.weigh-filters{display:flex;gap:6px;margin:12px 0}.weigh-filters button{flex:1;border:0;background:var(--panel);color:var(--muted);min-height:44px;border-radius:12px;font-size:.82rem}.weigh-filters button.active{background:#343027;color:#f0d5a4}.weigh-search{padding-left:14px;margin-bottom:14px}.weigh-stock-list{display:grid;gap:10px}.weigh-stock{display:flex;flex-direction:column;gap:16px;width:100%;padding:18px;border:1px solid #30343b;background:var(--panel);border-radius:18px;color:var(--ink);text-align:left}.weigh-stock-top{display:flex;justify-content:space-between;gap:12px}.weigh-stock-name{display:grid;gap:7px;min-width:0}.weigh-stock-name strong{font-size:.94rem;font-weight:550;overflow-wrap:anywhere}.weigh-stock-name small{font-size:.68rem;color:var(--muted)}.weigh-price{display:grid;gap:7px;text-align:right;flex-shrink:0;align-content:start}.weigh-price strong{font-size:.94rem;font-weight:500;font-variant-numeric:tabular-nums}.weigh-price small{font-size:.65rem;color:var(--muted)}.weigh-stock-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.weigh-stock-bottom>span:last-child{font-size:.65rem;color:var(--muted)}.weigh-badge{display:inline-flex;border-radius:8px;padding:5px 8px;font-size:.69rem;background:#2c3139;color:#bfc9d7;line-height:1.4}.weigh-badge.wait{background:#333024;color:#dec89c}.weigh-badge.conditional{background:#263e33;color:#a3dbc0}.weigh-badge.verify{background:#402c30;color:#f2b5ba}.weigh-badge.stale{background:#34303c;color:#ccc0dc}.weigh-note{font-size:.72rem;line-height:1.8;color:var(--muted);margin:18px 0}.weigh-details{border-top:1px solid var(--border);margin:14px 0 0;padding:4px 0}.weigh-details>summary{font-size:.78rem;min-height:48px;padding:12px 0;cursor:pointer;line-height:1.7;color:var(--muted)}.weigh-details p{font-size:.78rem!important;line-height:1.8;margin:10px 0!important}.weigh-detail-hero{padding:20px;background:var(--panel);border-radius:20px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.weigh-detail-hero>div{display:grid;gap:8px}.weigh-detail-hero span{font-size:.74rem;color:var(--muted)}.weigh-detail-hero strong{font-size:1.85rem;font-weight:500;font-variant-numeric:tabular-nums}.weigh-detail-hero small{font-size:.69rem;color:var(--muted)}.weigh-section{padding:22px;background:var(--panel);border:1px solid #30343b;border-radius:18px;margin-top:16px}.weigh-section h2{font-size:1rem;margin-bottom:14px}.weigh-section h3{font-size:.83rem;font-weight:550;margin:12px 0 7px}.weigh-section p,.weigh-section li{font-size:.86rem;line-height:1.85;color:#c4cad4}.weigh-section ul{padding-left:20px;margin:10px 0}.weigh-section li{margin:6px 0}.weigh-section>small{font-size:.7rem;line-height:1.6;color:var(--muted)}.weigh-lot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--border);font-size:.8rem}.weigh-lot:first-of-type{border-top:0}.weigh-lot span{display:grid;gap:5px}.weigh-lot small{font-size:.68rem;color:var(--muted)}.weigh-lot strong{font-size:.9rem;font-weight:500;white-space:nowrap}.weigh-scenarios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.weigh-scenarios>div{padding:14px 8px;background:var(--surface);border-radius:12px;display:grid;gap:9px;text-align:center}.weigh-scenarios span{font-size:.73rem;color:var(--muted)}.weigh-scenarios strong{font-size:.92rem;font-weight:500;font-variant-numeric:tabular-nums}.weigh-threshold{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:16px 0}.weigh-threshold span{font-size:.76rem;color:var(--muted)}.weigh-threshold strong{font-size:1rem;color:#d9c29b;font-weight:550}.weigh-analysis{margin:16px 0}.weigh-metrics{margin:6px 0}.weigh-metrics>div{display:flex;justify-content:space-between;align-items:start;gap:16px;padding:11px 0;border-bottom:1px solid var(--border);font-size:.77rem;line-height:1.7}.weigh-metrics dt{color:var(--muted)}.weigh-metrics dt small{display:block;font-size:.65rem}.weigh-metrics dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.weigh-sources a{display:block;min-height:44px;padding:10px 0;font-size:.8rem}.weigh-daily-entry{border:1px solid #514735;background:#23231f;border-radius:18px;padding:18px;margin:18px 0}.weigh-daily-entry h2{font-size:1rem}.weigh-daily-entry p{font-size:.83rem;color:var(--muted);line-height:1.8;margin:10px 0}.weigh-daily-entry button{width:100%;font-size:.82rem}.inbox-button{position:relative}.inbox-button>.unread-dot{position:absolute;top:7px;right:7px}.life-header-actions{display:flex;gap:4px}.life-header-actions .square{color:var(--muted)}
@media(max-width:800px){.investment-page{padding-left:16px;padding-right:16px}.weigh-today{padding:20px}.weigh-cash{padding:16px}.weigh-section{padding:18px}.weigh-stock{padding:16px}.investment-page .back-row{gap:4px}.investment-page .back-row h1{font-size:1.3rem}.weigh-scenarios strong{font-size:.87rem}.weigh-eyebrow{font-size:10px}.topbar-actions{gap:2px}}
@media(max-width:360px){.weigh-stock-bottom>span:last-child{font-size:.62rem}.weigh-cash{align-items:start;flex-direction:column}.weigh-scenarios{gap:5px}.weigh-scenarios>div{padding:12px 4px}.weigh-scenarios strong{font-size:.79rem}}

/* rebalance.css */
.rebalance-entry{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#232a2c;border:1px solid #3e5055;border-radius:18px;padding:18px;width:100%;text-align:left;color:var(--ink);margin:14px 0 24px}.rebalance-entry span{display:grid;gap:7px}.rebalance-entry strong{font-size:.95rem;font-weight:550}.rebalance-entry small{font-size:.73rem;line-height:1.6;color:#b9c8cd}.rebalance-entry>.icon{flex-shrink:0;color:#a9c9d2}
.allocation-list{display:grid;gap:12px}.allocation-row{padding:0 0 16px;border-bottom:1px solid var(--border)}.allocation-row:last-child{border:0;padding-bottom:0}.allocation-title,.allocation-values{display:flex;justify-content:space-between;align-items:center;gap:10px}.allocation-title h3{margin:0;font-size:.85rem}.allocation-values{margin:12px 0 8px}.allocation-values strong{font-size:1.2rem;font-weight:550;font-variant-numeric:tabular-nums}.allocation-values span{font-size:.7rem;color:var(--muted)}.allocation-row meter{appearance:none;display:block;width:100%;height:7px;border:0;border-radius:5px;overflow:hidden;background:#32373e}.allocation-row meter::-webkit-meter-bar{background:#32373e;border:0;border-radius:5px}.allocation-row meter::-webkit-meter-optimum-value{background:#91b4b9}.allocation-row meter::-moz-meter-bar{background:#91b4b9}.allocation-row small{display:block;font-size:.68rem;color:var(--muted);margin:8px 0}.allocation-row p{font-size:.75rem!important;line-height:1.75!important}.rebalance-warning{color:#e6c59b!important}.rebalance-cash-result{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0;padding:16px;border-radius:14px;background:var(--surface)}.rebalance-cash-result span{font-size:.82rem;color:var(--muted)}.rebalance-cash-result strong{font-size:1.35rem;font-weight:500}.stress-row{border-bottom:1px solid var(--border);padding:12px 0}.stress-row:last-of-type{border:0}.stress-row h3{margin:0 0 10px}.stress-row>strong{color:#e6b4ae;font-size:1.15rem;font-variant-numeric:tabular-nums;font-weight:550}.stress-row>strong span{font-size:.82rem;color:var(--muted)}.stress-row p{font-size:.72rem!important;margin:9px 0}.rebalance-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.rebalance-fields .field{font-size:.78rem;min-width:0}.rebalance-fields input{min-width:0}.rebalance-security{display:flex;align-items:center;gap:12px;min-height:52px;padding:12px 0;width:100%;background:transparent;border:0;color:var(--ink);text-align:left;font-size:.87rem}.rebalance-security strong{margin-left:auto;font-weight:500}.rebalance-page .weigh-section>p{margin:10px 0}.rebalance-page .choice-error:empty{display:none}.rebalance-page .weigh-note{font-size:.74rem}
@media(max-width:500px){.rebalance-fields{grid-template-columns:1fr}.allocation-title{flex-wrap:wrap}.allocation-values{gap:6px}.allocation-values span{font-size:.66rem}.rebalance-page .weigh-section{padding:18px 16px}}

/* investment-visuals.css */
.iv-page{--iv-gold:#d8c09a;--iv-cyan:#9abcc4;--iv-red:#e4a8a3;--iv-line:#333940}
.iv-icon{display:block;width:22px;height:22px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.iv-page .hero{margin-bottom:18px}.iv-page .hero h1{font-size:1.65rem}.iv-page .weigh-eyebrow{font-size:12px;letter-spacing:.02em;margin-bottom:6px}
.iv-fold{margin:12px 0 0;background:var(--panel);border:1px solid var(--iv-line,var(--border));border-radius:16px;overflow:hidden}
.iv-fold>summary{display:flex;align-items:center;gap:12px;min-height:60px;padding:14px 16px;cursor:pointer;list-style:none;color:var(--ink);font-size:.87rem;touch-action:manipulation;-webkit-user-select:none;user-select:none}
.iv-fold>summary::-webkit-details-marker,.iv-allocation-row>summary::-webkit-details-marker,.iv-stress-row>summary::-webkit-details-marker{display:none}
.iv-fold-glyph{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;color:var(--iv-cyan,#9abcc4);background:#293139;flex-shrink:0}
.iv-fold-title{flex:1;min-width:0}.iv-fold-meta{font-size:.72rem;color:var(--muted);text-align:right;max-width:44%;overflow-wrap:anywhere}
.iv-fold>summary>.iv-icon:last-child,.iv-allocation-row>summary>.iv-icon,.iv-stress-row>summary>.iv-icon{width:16px;height:16px;color:var(--muted);transition:transform .16s}
.iv-fold[open]>summary>.iv-icon:last-child,.iv-allocation-row[open]>summary>.iv-icon,.iv-stress-row[open]>summary>.iv-icon{transform:rotate(180deg)}
.iv-fold-body{padding:0 16px 16px;border-top:1px solid transparent}.iv-fold[open]>.iv-fold-body{border-top-color:var(--iv-line,var(--border));padding-top:12px}
.iv-fold-body p,.iv-fold-body li{font-size:.82rem;line-height:1.8;color:#c4cad4}.iv-fold-body p{margin:8px 0 12px}.iv-fold-body ul{padding-left:20px}.iv-fold-body h3{font-size:.84rem;font-weight:550;margin:14px 0 8px}.iv-fold-body small{color:var(--muted);font-size:.7rem;line-height:1.7}.iv-fold-body .iv-fold{background:#20232a;margin-top:10px}.iv-fold-body .iv-fold>summary{padding:10px 12px;font-size:.78rem}
.iv-today{padding:18px 20px!important;border-color:#4b4436;background:linear-gradient(135deg,#25261f,#1c1f25)}
.iv-card-kicker{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--muted);font-size:.73rem}
.iv-status{display:inline-flex;gap:5px;align-items:center;color:var(--iv-gold);font-size:.76rem}.iv-status .iv-icon{width:16px;height:16px}
.iv-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:20px 0 16px}.iv-metric{display:grid;gap:8px;justify-items:center;min-width:0}.iv-metric>.iv-icon{width:20px;height:20px;color:var(--iv-gold)}.iv-metric>strong{font-size:1.75rem;font-weight:550;font-variant-numeric:tabular-nums;line-height:1.3}.iv-metric>span{font-size:.72rem;color:var(--muted)}
.iv-status-line{display:flex;align-items:center;gap:7px;font-size:.71rem;color:var(--muted);line-height:1.7;padding:10px 0}.iv-status-line .iv-icon{width:15px;height:15px}.iv-today>.iv-status-line{border-top:1px solid #ffffff14;justify-content:center;padding:10px 0 0}.iv-today>.iv-fold{background:transparent;border:0;border-top:1px solid #ffffff12;border-radius:0;margin:9px 0 0}.iv-today>.iv-fold>summary{min-height:44px;padding:7px 0;font-size:.73rem}.iv-today .iv-fold-glyph{background:none;width:20px;height:20px}.iv-today .iv-fold-glyph .iv-icon{width:17px;height:17px}.iv-today .iv-fold-body{padding:8px 0 2px}.iv-today .iv-fold p{margin:6px 0;font-size:.79rem}
.iv-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 2px}
.iv-quick-card{position:relative;display:grid;grid-template-columns:1fr auto;gap:8px;align-content:start;min-width:0;padding:16px;border:1px solid #343e44;background:#1e252a;border-radius:16px;text-align:left;color:var(--ink);min-height:108px}
.iv-quick-card>.iv-icon:first-child{color:var(--iv-cyan);width:22px;height:22px}.iv-quick-card>span{grid-column:1/-1;color:var(--muted);font-size:.73rem}.iv-quick-card>strong{grid-column:1/-1;font-size:1.12rem;font-weight:550;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.iv-quick-card>strong>small{font-size:.74rem;color:var(--muted);font-weight:400}.iv-quick-card>.iv-icon:last-child:not(:first-child){position:absolute;right:14px;top:19px;width:14px;height:14px;color:var(--muted)}
.iv-list-caption{font-size:.69rem;color:var(--muted);margin:-2px 0 12px}.iv-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 12px}.iv-section-heading h2{font-size:.95rem;margin:0}
.iv-stock{display:flex;flex-direction:row;gap:12px;align-items:center;padding:15px!important;border-radius:16px;min-height:104px}
.iv-stock-symbol{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#293039;color:#b3c4d5;flex-shrink:0}.iv-stock-symbol .iv-icon{width:20px;height:20px}.iv-stock-copy{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.iv-stock-copy>strong{font-size:.86rem;font-weight:550;line-height:1.45;overflow-wrap:anywhere}.iv-stock-copy>small{font-size:.67rem;color:var(--muted)}.iv-stock-copy>.weigh-badge{align-self:flex-start;font-size:.63rem;padding:3px 6px}.iv-stock-numbers{display:grid;gap:7px;text-align:right;flex-shrink:0}.iv-stock-numbers strong{font-size:.88rem;font-weight:500;font-variant-numeric:tabular-nums}.iv-stock-numbers small{font-size:.65rem;color:var(--muted)}.iv-stock>.iv-icon{width:12px;height:12px;color:var(--muted)}
.iv-section{padding:18px!important}.iv-section .weigh-section-head h2{display:flex;align-items:center;gap:8px;margin:0;font-size:.92rem}.iv-section .weigh-section-head h2 .iv-icon{width:20px;height:20px;color:var(--iv-cyan)}.iv-mini-label{font-size:.68rem;color:var(--muted);line-height:1.6}
.iv-section>.iv-fold{background:transparent;border:0;border-top:1px solid var(--iv-line);border-radius:0;margin:16px 0 0}.iv-section>.iv-fold>summary{padding:10px 0;font-size:.76rem;min-height:48px}.iv-section>.iv-fold .iv-fold-glyph{width:26px;height:26px;background:none}.iv-section>.iv-fold .iv-fold-glyph .iv-icon{width:18px;height:18px}.iv-section>.iv-fold>.iv-fold-body{padding-left:0;padding-right:0;padding-bottom:0}
.iv-value-comparison{display:grid;gap:13px}.iv-value-row>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.iv-value-row span{font-size:.75rem;color:var(--muted)}.iv-value-row strong{font-size:.87rem;font-weight:500;font-variant-numeric:tabular-nums}.iv-value-row.current strong{font-size:1.03rem;color:#eff4fb}.iv-value-row.threshold strong{color:var(--iv-gold)}
.iv-value-bar{display:block;width:100%;height:6px;border-radius:6px;overflow:hidden}.iv-bar-track{fill:#30363e}.iv-bar-actual{fill:var(--iv-cyan,#9abcc4)}.iv-value-row.current .iv-bar-actual{fill:#9dbfee}.iv-value-row.threshold .iv-bar-actual,.iv-value-bar.gold .iv-bar-actual{fill:var(--iv-gold,#d8c09a)}.iv-value-row.scenario .iv-bar-actual{fill:#7e8b9c}.iv-value-bar.red .iv-bar-actual{fill:var(--iv-red,#e4a8a3)}
.iv-value-row.current .iv-value-bar .iv-bar-actual{fill:#9dbfee}
.iv-margin-pair{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 0}.iv-margin-pair>div{display:grid;gap:8px;flex:1;text-align:center;min-width:0}.iv-margin-pair span:not(.iv-versus){font-size:.73rem;color:var(--muted)}.iv-margin-pair strong{font-size:1.25rem;font-weight:550;font-variant-numeric:tabular-nums}.iv-versus{color:#737c87;font-size:1.25rem}.iv-margin-pair+.iv-status-line{justify-content:center;font-size:.68rem}
.iv-context-strip{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;font-size:.65rem;color:var(--muted);margin:-8px 0 12px}.iv-context-strip>span{display:flex;gap:4px;align-items:center}.iv-context-strip .iv-icon{width:14px;height:14px}
.iv-flag{display:flex;align-items:center;gap:7px;padding:11px 14px;border-radius:12px;background:#2c2921;color:#d9c199;font-size:.72rem;line-height:1.6;margin:8px 0 14px}.iv-flag.warning{background:#39292c;color:#efb8b7}
.iv-allocation{margin-top:12px}.iv-chart-legend{display:flex;gap:14px;align-items:center;font-size:.66rem;color:var(--muted);margin:-2px 0 6px}.iv-chart-legend>span{display:flex;align-items:center;gap:5px}.iv-chart-legend i{display:inline-block;width:16px;height:5px;border-radius:3px;background:var(--iv-cyan)}.iv-chart-legend b{display:inline-block;width:2px;height:11px;background:var(--iv-gold)}.iv-chart-legend small{margin-left:auto;font-size:.65rem}
.iv-allocation-row{border-bottom:1px solid var(--iv-line)}.iv-allocation-row:last-child{border-bottom:0}.iv-allocation-row>summary{display:flex;align-items:center;gap:10px;padding:16px 0;list-style:none;cursor:pointer;touch-action:manipulation}.iv-allocation-glyph{display:grid;place-items:center;width:30px;height:34px;flex-shrink:0;color:var(--iv-cyan)}.iv-allocation-glyph .iv-icon{width:21px;height:21px}.iv-allocation-main{display:grid;gap:7px;min-width:0;flex:1}.iv-allocation-heading{display:flex;gap:8px;align-items:center;justify-content:space-between}.iv-allocation-heading>strong{font-size:.81rem;font-weight:550}.iv-allocation-heading>span{font-size:.84rem;font-variant-numeric:tabular-nums;white-space:nowrap}.iv-allocation-heading i{font-style:normal;color:var(--muted);font-size:.72rem}.iv-weight-bar{display:block;width:100%;height:12px;overflow:visible}.iv-bar-target{stroke:var(--iv-gold);stroke-width:2;vector-effect:non-scaling-stroke}.iv-allocation-drift{display:flex;align-items:center;gap:4px;font-size:.65rem;color:var(--muted)}.iv-allocation-drift .iv-icon{width:12px;height:12px}.iv-allocation-row.over .iv-allocation-drift{color:var(--iv-red)}.iv-allocation-row.over .iv-bar-actual{fill:#d8a29b}.iv-allocation-row.balanced .iv-allocation-drift{color:#a9cbb7}.iv-allocation-row>.iv-fold-body{padding:0 0 12px 40px}.iv-allocation-row>.iv-fold-body p{font-size:.75rem}
.iv-money-flow{display:flex;align-items:center;gap:14px;padding:8px 0}.iv-money-flow>div{display:grid;flex:1;gap:8px;text-align:center;min-width:0}.iv-money-flow span{font-size:.72rem;color:var(--muted)}.iv-money-flow strong{font-size:1.15rem;font-weight:550;font-variant-numeric:tabular-nums}.iv-money-flow>.iv-icon{width:18px;height:18px;color:var(--muted)}
.iv-stress-row{border-bottom:1px solid var(--iv-line)}.iv-stress-row:last-child{border:0}.iv-stress-row>summary{display:flex;align-items:center;gap:14px;list-style:none;cursor:pointer;padding:13px 0;min-height:80px}.iv-stress-row>summary>span{display:grid;gap:9px;min-width:0;flex:1}.iv-stress-title{font-size:.78rem;color:var(--muted)}.iv-stress-row strong{font-size:1.03rem;font-weight:550;font-variant-numeric:tabular-nums;color:var(--iv-red)}.iv-stress-row strong small{font-size:.75rem;color:var(--muted)}.iv-stress-row>.iv-fold-body{padding:0 0 12px}.iv-stress-row>.iv-fold-body p{font-size:.75rem}
.iv-digest-summary{margin-top:12px}.iv-digest-summary>summary{min-height:44px;cursor:pointer;font-size:.75rem;color:var(--muted);padding:10px 0}.iv-digest-stats{display:flex;gap:14px;justify-content:space-between;align-items:center;font-size:.72rem;color:var(--muted);margin:13px 0}.iv-digest-stats strong{color:var(--ink);font-size:1.2rem;font-weight:550;display:block}.iv-digest-card .weigh-section-head h2{display:flex;align-items:center;gap:8px;margin:0}.iv-digest-card .weigh-section-head .icon{width:19px;height:19px}
@media(max-width:360px){.iv-stock{gap:8px;padding:12px!important}.iv-stock-symbol{width:27px;height:30px}.iv-stock-copy>strong{font-size:.8rem}.iv-stock-numbers strong{font-size:.8rem}.iv-stock>.iv-icon{display:none}.iv-quick-card{padding:13px}.iv-quick-card strong{font-size:.98rem}.iv-today{padding:16px!important}.iv-section{padding:16px 13px!important}.iv-allocation-row>summary{gap:6px}.iv-allocation-glyph{width:25px}.iv-allocation-heading{gap:4px}.iv-allocation-heading strong{font-size:.74rem}.iv-allocation-heading>span{font-size:.77rem}.iv-allocation-heading i{font-size:.66rem}.iv-allocation-row>.iv-fold-body{padding-left:0}.iv-context-strip{font-size:.61rem;gap:5px}.iv-fold>summary{padding:12px;gap:8px}.iv-fold-meta{font-size:.65rem}.iv-fold-title{font-size:.8rem}.iv-quick-grid{gap:8px}}
@media(prefers-reduced-motion:reduce){.iv-fold>summary>.iv-icon:last-child,.iv-allocation-row>summary>.iv-icon,.iv-stress-row>summary>.iv-icon{transition:none}}

/* retirement.css */
.iv-income-entry{display:flex;gap:14px;align-items:center;width:100%;border:1px solid #3d4942;background:#202b25;color:var(--ink);border-radius:16px;padding:16px;margin:12px 0;text-align:left;min-height:78px}.iv-income-entry>.iv-icon{color:#a8cbb1}.iv-income-entry>span{display:grid;gap:6px;flex:1}.iv-income-entry strong{font-size:.9rem;font-weight:550}.iv-income-entry small{font-size:.7rem;color:var(--muted)}.iv-income-entry>b{font-size:1rem;font-weight:550;font-variant-numeric:tabular-nums}
.income-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 8px}.income-pair>div{display:grid;gap:10px;min-width:0}.income-pair span{color:var(--muted);font-size:.71rem}.income-pair strong{font-size:1.25rem;font-weight:550;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.retirement-income .income-hero{font-size:2.4rem;font-weight:500;margin:18px 0;font-variant-numeric:tabular-nums}.income-hero small{font-size:.8rem;color:var(--muted)}.income-cover{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.71rem;color:var(--muted);margin-bottom:8px}.retirement-income .iv-bar-actual{fill:#a4cbb1}.retire-estimate{display:flex;align-items:baseline;gap:10px;margin:20px 0}.retire-estimate>strong{font-size:2.2rem;font-weight:500;font-variant-numeric:tabular-nums}.retire-estimate>span{font-size:.8rem;color:var(--muted)}.retire-progress-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;color:var(--muted);font-size:.68rem;margin-bottom:8px}.retire-scenarios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0 0}.retire-scenarios>div{display:grid;gap:8px;text-align:center;min-width:0;padding:13px 7px;background:var(--surface);border-radius:13px}.retire-scenarios span{font-size:.68rem;color:var(--muted)}.retire-scenarios strong{font-size:1rem;font-weight:550;font-variant-numeric:tabular-nums}.retire-scenarios small{font-size:.61rem;color:var(--muted);line-height:1.5}
.retirement-curve{display:block;width:100%;height:auto;overflow:visible}.retirement-curve text{font:11px system-ui;fill:#abb3c0}.retire-grid{stroke:#343b43;stroke-width:1}.retire-line,.retire-target{fill:none;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}.retire-target{stroke:#d6bc90;stroke-dasharray:5 5}.retire-line.line-0{stroke:#afbacb}.retire-line.line-1{stroke:#9cbdec}.retire-line.line-2{stroke:#95c5a8}.retire-legend{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;font-size:.65rem;color:var(--muted)}.retire-legend span:before{content:'';display:inline-block;vertical-align:middle;width:14px;height:3px;background:#afbacb;margin-right:5px}.retire-legend .line-1:before{background:#9cbdec}.retire-legend .line-2:before{background:#95c5a8}.retire-legend .target:before{height:0;border-top:2px dashed #d6bc90;background:none}
.iv-form-details{border-top:1px solid var(--border);margin-top:12px}.iv-form-details>summary{font-size:.78rem;line-height:1.7;cursor:pointer;min-height:48px;padding:12px 0;color:var(--muted)}.retire-checkbox{display:flex;gap:10px;align-items:center;min-height:48px;font-size:.8rem;line-height:1.7}.retire-checkbox input{width:20px;height:20px;flex-shrink:0;accent-color:#99bfab}.retire-tool{border-top:1px solid var(--border);padding:12px 0}.retire-tool a{display:block;min-height:44px;padding:10px 0;font-size:.9rem}.retire-tool small{display:block}.retire-income-row{display:flex;align-items:center;gap:10px;width:100%;padding:16px 13px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:var(--panel);color:var(--ink);text-align:left;min-height:80px}.retire-income-row>span{display:grid;gap:7px;min-width:0}.retire-income-row>span:first-child{flex:1}.retire-income-row>span:nth-child(2){text-align:right}.retire-income-row strong{font-size:.8rem;font-weight:500;line-height:1.5}.retire-income-row small{font-size:.63rem;color:var(--muted);line-height:1.5}.retire-income-row>.iv-icon{width:13px;height:13px;color:var(--muted)}.iv-stock-numbers .income-yield{color:#b4cfbd;font-size:.63rem}.retirement-page .choice-error:empty{display:none}
@media(max-width:360px){.retire-estimate>strong{font-size:1.8rem}.income-pair strong{font-size:1.1rem}.retire-scenarios{gap:5px}.retire-scenarios strong{font-size:.85rem}.retire-scenarios small{font-size:.57rem}.iv-income-entry{padding:13px;gap:10px}.iv-income-entry>b{font-size:.9rem}.retire-income-row{padding:14px 10px}}

/* finance-dashboard.css */
.finance-dashboard{border:1px solid #404940;background:linear-gradient(140deg,#252b25,#1c2228);border-radius:20px;padding:18px 16px;margin:12px 0 18px}.finance-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.finance-kpi{border:0;background:transparent;color:var(--ink);padding:6px 0;display:grid;gap:8px;justify-items:start;text-align:left;min-width:0}.finance-kpi>.iv-icon{width:20px;height:20px;color:#a7c8b1}.finance-kpi>span{font-size:.72rem;color:#c2cbd1}.finance-kpi>strong{font-size:1.25rem;line-height:1.3;font-weight:550;font-variant-numeric:tabular-nums;white-space:nowrap}.finance-kpi em{font-size:.7rem;font-style:normal;font-weight:400;color:var(--muted);margin-left:3px}.finance-kpi small{font-size:.57rem;line-height:1.6;color:var(--muted)}.finance-kpi-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:.62rem;line-height:1.6;color:var(--muted);padding:16px 0 12px}.finance-progress{display:grid;grid-template-columns:1fr 16px;width:100%;border:0;border-top:1px solid #ffffff14;background:transparent;color:var(--muted);padding:12px 0 0;gap:8px;text-align:left}.finance-progress>span{font-size:.68rem}.finance-progress strong{color:#bed7c3;font-weight:500}.finance-progress>.iv-weight-bar{grid-column:1;width:100%}.finance-progress>.iv-icon:last-child{grid-column:2;grid-row:1/3;width:13px;height:13px;align-self:center}.finance-dashboard>.iv-fold{margin:6px 0 0;background:transparent;border:0;border-radius:0}.finance-dashboard>.iv-fold>summary{min-height:44px;padding:8px 0;font-size:.7rem}.finance-dashboard .iv-fold-glyph{width:17px;height:17px;background:none}.finance-dashboard .iv-fold-glyph>.iv-icon{width:15px;height:15px}.finance-dashboard .iv-fold-body{padding-left:0;padding-right:0}
.finance-allocation-body{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;align-items:center;margin:12px 0 18px}.allocation-donut{display:block;width:120px;height:120px}.allocation-donut text{font:500 24px system-ui;fill:var(--ink)}.allocation-donut text.donut-caption{font:10px system-ui;fill:var(--muted)}.allocation-legend{display:grid;gap:3px}.allocation-legend>button{display:flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--ink);min-height:36px;padding:4px 0;text-align:left;font-size:.68rem}.allocation-legend>button>i{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:var(--asset-color)}.allocation-legend>button>span{flex:1;color:var(--muted)}.allocation-legend>button>strong{font-size:.72rem;font-weight:500;font-variant-numeric:tabular-nums}.allocation-legend>button:active{background:var(--surface)}.asset-core{--asset-color:#91b9ec;--asset-bg:#243247}.asset-business{--asset-color:#b5a4dc;--asset-bg:#302b40}.asset-satellite{--asset-color:#e3ad83;--asset-bg:#3b3027}.asset-gold{--asset-color:#d7c087;--asset-bg:#373126}.asset-liquidity{--asset-color:#95c8b5;--asset-bg:#253a31}.asset-complex{--asset-color:#c397a3;--asset-bg:#382b33}.asset-class-tag{display:inline-flex;align-items:center;width:fit-content;color:var(--asset-color);background:var(--asset-bg);border-radius:5px;padding:2px 5px;font-size:.6rem;line-height:1.4}.iv-stock-symbol[class*="asset-"]{color:var(--asset-color);background:var(--asset-bg)}.iv-stock-states{display:flex;gap:5px;flex-wrap:wrap;align-items:center}.iv-stock-states .weigh-badge{font-size:.6rem;padding:2px 5px}.asset-filter-active{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:.73rem;color:var(--muted)}.asset-filter-active .ghost{margin-left:auto;min-height:44px;font-size:.73rem}
@media(max-width:360px){.finance-dashboard{padding:15px 12px}.finance-kpis{gap:7px}.finance-kpi>strong{font-size:1.02rem}.finance-kpi>span{font-size:.68rem}.finance-kpi small{font-size:.54rem}.finance-kpi-foot{font-size:.57rem}.finance-allocation-body{grid-template-columns:98px minmax(0,1fr);gap:10px}.allocation-donut{width:98px;height:98px}.allocation-legend>button{font-size:.64rem}.allocation-legend>button>strong{font-size:.68rem}}
@media(pointer:coarse){.allocation-legend>button{min-height:44px}}
.asset-filter-active[hidden]{display:none!important}

/* archive.css */
.archive-gold{--archive-accent:#dcc18c;--archive-bg:#342f24}.archive-green{--archive-accent:#9bd0ac;--archive-bg:#25382c}.archive-blue{--archive-accent:#9dbfec;--archive-bg:#253248}.archive-purple{--archive-accent:#c2afe8;--archive-bg:#332c43}.archive-orange{--archive-accent:#e3b08c;--archive-bg:#3d3027}
.archive-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 18px}.archive-heading>div{display:flex;align-items:baseline;gap:9px}.archive-heading strong{font-size:1.9rem;font-weight:550;font-variant-numeric:tabular-nums}.archive-heading span{font-size:.78rem;color:var(--muted)}.archive-heading .ghost{font-size:.78rem}.archive-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.archive-category{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;background:var(--archive-bg);color:var(--archive-accent);border:1px solid transparent;padding:16px;border-radius:16px;text-align:left;min-height:98px}.archive-category.selected{border-color:var(--archive-accent)}.archive-category-icon{width:32px;height:30px;display:grid;place-items:start}.archive-category-icon>.icon{width:23px;height:23px}.archive-category>span:nth-child(2){grid-column:1/-1;grid-row:2;font-size:.82rem;line-height:1.5}.archive-category>strong{grid-column:2;grid-row:1;font-size:1.4rem;font-weight:500;font-variant-numeric:tabular-nums}.archive-section-head{margin-top:24px}.archive-records{display:grid;gap:12px}.archive-record{background:var(--panel);border:1px solid #343842;border-left:3px solid var(--archive-accent);border-radius:16px;overflow:hidden}.archive-record>summary{padding:16px 15px;list-style:none;cursor:pointer;min-height:100px;touch-action:manipulation}.archive-record>summary::-webkit-details-marker{display:none}.archive-record-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:.66rem}.archive-record-meta>span{display:flex;align-items:center;gap:6px;color:var(--archive-accent)}.archive-record-meta .icon{width:15px;height:15px}.archive-record-meta time{color:var(--muted)}.archive-record>summary>strong{font-size:.88rem;font-weight:500;line-height:1.75;display:block;overflow-wrap:anywhere}.archive-record-state{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;color:var(--muted);font-size:.67rem}.archive-record-state .icon{width:14px;height:14px;transition:transform .15s}.archive-record[open] .archive-record-state .icon{transform:rotate(90deg)}.archive-record-body{padding:0 15px 14px;border-top:1px solid var(--border)}.archive-record-body h3{font-size:.8rem;margin:14px 0 8px;color:var(--muted);font-weight:500}.archive-record-body blockquote{margin:10px 0;padding:10px 12px;border-left:2px solid var(--archive-accent);font-size:.83rem;line-height:1.8;background:var(--archive-bg);color:#d6dbe2;white-space:pre-wrap;overflow-wrap:anywhere}.archive-record-body p{font-size:.8rem;line-height:1.8;margin:12px 0}.archive-record-body .ghost{font-size:.75rem;min-height:44px;padding-left:0}
.life-tags button[data-life-topic=finance]{background:#342f24;color:#dcc18c}.life-tags button[data-life-topic=health]{background:#25382c;color:#9bd0ac}.life-tags button[data-life-topic=career]{background:#253248;color:#9dbfec}.life-tags button[data-life-topic=life]{background:#332c43;color:#c2afe8}
.life-page:not(.life-talk-page) .life-header-actions{display:none}
@media(max-width:360px){.archive-category{padding:13px;gap:8px}.archive-category>span:nth-child(2){font-size:.76rem}.archive-record-meta{font-size:.61rem}.archive-record>summary{padding:14px 12px}}
@media(prefers-reduced-motion:reduce){.archive-record-state .icon{transition:none}}

/* income-plan.css */
.income-advice-entry{display:flex;align-items:center;gap:12px;border:1px solid #415045;background:#22302a;border-radius:16px;padding:17px;color:var(--ink);width:100%;text-align:left;margin:14px 0;min-height:78px}.income-advice-entry>span{flex:1;display:grid;gap:7px}.income-advice-entry strong{font-size:.93rem;font-weight:550}.income-advice-entry small{font-size:.7rem;color:var(--muted)}.income-advice-entry>.iv-icon{color:#aecab8}
.dashboard-advice-link{display:flex;align-items:center;gap:9px;width:100%;min-height:44px;border:0;background:transparent;color:#bdd8c6;padding:10px 0;font-size:.74rem;text-align:left;margin-top:6px}.dashboard-advice-link>.iv-icon{width:17px;height:17px}.dashboard-advice-link>.iv-icon:last-child{margin-left:auto;width:13px;height:13px}
.retire-threshold-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;border-bottom:1px solid var(--border)}.retire-threshold-row:last-of-type{border-bottom:0}.retire-threshold-row span{font-size:.79rem;color:var(--muted)}.retire-threshold-row strong{font-size:1.06rem;font-weight:550;font-variant-numeric:tabular-nums}.advice-change{border-bottom:1px solid var(--border)}.advice-change>summary{display:flex;gap:12px;align-items:center;justify-content:space-between;list-style:none;min-height:80px;cursor:pointer}.advice-change>summary::-webkit-details-marker{display:none}.advice-change>summary>span{font-size:.8rem;line-height:1.7}.advice-change>summary strong{font-weight:550;white-space:nowrap;font-size:1.18rem;text-align:right;color:#b6cfc1}.advice-change small{display:block;color:var(--muted);font-size:.6rem;font-weight:400;margin-top:5px}.advice-change>.iv-fold-body{padding-left:0;padding-right:0}
.history-periods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.history-periods>div{background:var(--surface);border-radius:11px;padding:12px 5px;text-align:center;display:grid;gap:8px}.history-periods span{font-size:.72rem;color:var(--muted)}.history-periods strong{font-size:.9rem;font-weight:550;font-variant-numeric:tabular-nums}.history-periods small{font-size:.55rem;color:var(--muted);line-height:1.5}
.probability-chart{width:100%;height:auto;display:block;overflow:visible;margin:14px 0}.probability-chart text{font:10px system-ui;fill:#a9b2c0}.risk-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.risk-p10{stroke:#dba8a4;stroke-dasharray:3 2}.risk-p50,.risk-index{stroke:#9dbde8}.risk-p90{stroke:#a3c7ae;stroke-dasharray:7 2}.risk-target{stroke:#d7bc8e;stroke-dasharray:2 5}.risk-outcomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.risk-outcomes>div{display:grid;gap:8px;padding:12px 5px;text-align:center;background:var(--surface);border-radius:12px}.risk-outcomes span{font-size:.68rem;color:var(--muted)}.risk-outcomes strong{font-size:1rem;font-weight:550;font-variant-numeric:tabular-nums}.risk-legend{display:flex;gap:11px;flex-wrap:wrap;font-size:.62rem;color:var(--muted);justify-content:center}.risk-legend span:before{content:'';display:inline-block;width:11px;height:2px;background:#9dbde8;margin-right:4px;vertical-align:middle}.risk-legend .p10:before{background:#dba8a4}.risk-legend .p90:before{background:#a3c7ae}.risk-legend .target:before{background:#d7bc8e}.probability-title{margin:21px 0 11px;color:var(--muted);font-size:.77rem}.probability-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.probability-cards>div{display:grid;gap:7px;padding:12px;background:var(--surface);border-radius:12px}.probability-cards span{font-size:.73rem;color:var(--muted)}.probability-cards strong{font-size:1.18rem;font-weight:550;font-variant-numeric:tabular-nums}.probability-cards small{font-size:.62rem;color:var(--muted)}
.dca-head{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.dca-head>div{display:grid;gap:9px}.dca-head span{font-size:.73rem;color:var(--muted)}.dca-head strong{font-size:1.35rem;font-weight:550;font-variant-numeric:tabular-nums}.dca-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dca-slots>div{display:grid;gap:10px;padding:13px 5px;background:var(--surface);border-radius:12px;text-align:center}.dca-slots span{font-size:.62rem;color:var(--muted)}.dca-slots strong{font-size:.97rem;font-weight:550}.dca-slots small{font-size:.6rem;color:var(--muted)}.income-plan-page .choice-error:empty{display:none}
.cash-split{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}.cash-split>div{display:grid;gap:8px;padding:14px 10px;border-radius:13px;background:#26312c}.cash-split span{font-size:.72rem;color:var(--muted)}.cash-split strong{font-size:1.22rem;font-weight:550;font-variant-numeric:tabular-nums}.cash-split small{font-size:.64rem;color:var(--muted)}.repo-quote{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--border)}.repo-quote>span{display:grid;gap:6px}.repo-quote>span:last-child{text-align:right}.repo-quote strong{font-size:.82rem;font-weight:550}.repo-quote small{font-size:.64rem;color:var(--muted)}.cash-product{padding:10px 0;border-bottom:1px solid var(--border)}.cash-product a{display:block;min-height:44px;padding:10px 0;font-size:.76rem}
@media(max-width:360px){.retire-threshold-row strong{font-size:.9rem}.retire-threshold-row span{font-size:.7rem}.history-periods{gap:4px}.history-periods strong{font-size:.77rem}.history-periods small{font-size:.51rem}.risk-outcomes strong{font-size:.9rem}.dca-slots{gap:5px}.dca-slots span{font-size:.57rem}.dca-slots strong{font-size:.85rem}}

/* rich-text.css */
/* A readable document inside a conversation, shared with daily replies. */
.rich-text{font-size:1rem;line-height:1.75;color:var(--ink);overflow-wrap:anywhere;min-width:0}
.rich-text>:first-child{margin-top:0}.rich-text>:last-child{margin-bottom:0}
.rich-text p{margin:0 0 1em}.rich-text h1,.rich-text h2,.rich-text h3,.rich-text h4,.rich-text h5,.rich-text h6{font-weight:650;letter-spacing:-.02em;line-height:1.4;margin:1.45em 0 .6em;text-wrap:pretty}
.rich-text h1{font-size:1.35em}.rich-text h2{font-size:1.2em}.rich-text h3{font-size:1.08em}.rich-text h4,.rich-text h5,.rich-text h6{font-size:1em}
.rich-text strong{font-weight:650;color:#f4f4f6}.rich-text em{color:inherit}.rich-text hr{height:1px;border:0;background:var(--border);margin:1.5em 0}
.rich-text ul,.rich-text ol{margin:.65em 0 1em;padding-inline-start:1.5em}.rich-text li{padding-inline-start:.2em;margin:.45em 0}.rich-text li::marker{color:#aab3c1}.rich-text li>p{margin:.35em 0}.rich-text li ul,.rich-text li ol{margin:.35em 0}.rich-text .task-list-item{list-style:none;position:relative}
.rich-text blockquote{margin:1em 0;padding:.6em 1em;border-left:3px solid #7c8a9e;background:#ffffff04;border-radius:0 8px 8px 0;color:#bfc6d0}.rich-text blockquote>p:last-child{margin-bottom:0}
.rich-text :not(pre)>code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.86em;background:#ffffff0c;border:1px solid #ffffff0d;border-radius:5px;padding:.12em .33em;color:#e4d2b0;box-decoration-break:clone}
.rt-icon{width:16px;height:16px;flex-shrink:0;display:inline-block;vertical-align:-2px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.rich-text .rt-link{color:#a9c9f5;text-decoration:underline;text-decoration-color:#a9c9f555;text-underline-offset:3px;overflow-wrap:anywhere}.rt-link>.rt-icon:first-child{width:13px;height:13px;margin-right:4px}.rt-link>.rt-icon:last-child{width:12px;height:12px;margin-left:3px}.rt-link:hover{text-decoration-color:currentColor}
.rich-text .rt-reference,.rich-text .rt-followup{display:inline-flex;align-items:center;gap:7px;max-width:100%;min-height:36px;margin:3px 2px 3px 0;padding:5px 9px;border:1px solid #414752;border-radius:9px;background:#23272e;color:#d8e4f5;font:inherit;font-size:.86em;line-height:1.5;text-align:left;vertical-align:middle;cursor:pointer}
.rt-reference>span,.rt-followup>span{min-width:0;overflow-wrap:anywhere}.rt-reference small{color:#aeb9c8;font-size:.8em;white-space:nowrap}.rich-text .rt-followup{background:#252c36;border-radius:12px;min-height:44px}.rich-text .rt-desktop{color:var(--muted)}
.rt-reference:active,.rt-followup:active{background:#333c49}.rich-text :is(a,button,pre,[tabindex]):focus-visible{outline:2px solid #a9c9f5;outline-offset:3px}
.rt-code{margin:1em 0;border:1px solid #3a3e46;border-radius:13px;overflow:hidden;max-width:100%;background:#15171b}.rt-code>header{display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 14px;min-height:42px;background:#22252b;color:#b7c0cd;font:12px ui-monospace,SFMono-Regular,Consolas,monospace;gap:12px}
.rt-code>header>button{display:inline-flex;align-items:center;gap:6px;min-width:44px;min-height:44px;border:0;border-radius:8px;color:#c6ccd7;background:transparent;font:12px system-ui;cursor:pointer}.rt-code>header>button:active{background:#ffffff12}
.rich-text .rt-code pre{margin:0;border:0;border-radius:0;padding:15px 16px;max-width:100%;overflow-x:auto;background:transparent;line-height:1.65;font-size:.8em;tab-size:2;overscroll-behavior-x:contain}.rt-code code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#e0e4eb;white-space:pre}
.rt-table{max-width:100%;overflow-x:auto;margin:1em 0;border:1px solid #3a3e46;border-radius:11px;overscroll-behavior-x:contain}.rich-text .rt-table table{display:table;width:100%;margin:0;border-collapse:collapse;font-size:.86em;line-height:1.55}.rich-text .rt-table th,.rich-text .rt-table td{padding:11px 13px;border:0;border-bottom:1px solid #343943;min-width:90px;vertical-align:top;text-align:left}.rich-text .rt-table th{background:#23272e;color:#e1e5ec;font-weight:600}.rich-text .rt-table tr:last-child td{border-bottom:0}.rich-text .rt-table td{color:#c3cbd7}.rich-text .rt-table code{white-space:normal}
.rt-checkbox{display:inline-grid;place-items:center;box-sizing:border-box;width:17px;height:17px;border:1.5px solid #9da9ba;border-radius:4px;margin:0 7px 0 -25px;font-size:12px;vertical-align:-1px;color:#111}.rt-checkbox.is-checked{background:#a9c9f5;border-color:#a9c9f5}
.rich-text li:has(>.rt-checkbox),.rich-text li:has(>p>.rt-checkbox){list-style:none}.rich-text ul:has(>li>.rt-followup){padding-left:0}.rich-text li:has(>.rt-followup){list-style:none;padding:0}
.message.assistant .bubble .rich-text,.life-reply .rich-text{font-size:1em}.message.commentary .bubble .rich-text{color:#b3bdcc;font-size:.9em}.message.commentary{padding-left:12px;border-left:2px solid #3c4758}
dialog:has(.rt-file-view){width:min(94vw,800px);max-width:800px;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 32px);overflow:auto}.rt-file-view h2{display:flex;align-items:center;gap:9px;min-width:0;overflow-wrap:anywhere;font-size:1rem}.rt-file-view .dialog-header{position:sticky;top:-26px;background:var(--panel);padding:12px 0;z-index:1}.rt-preview-status{font-size:.85rem;color:var(--muted);padding:18px 0}.rt-file-code{max-width:100%;overflow:auto;margin-top:12px}.rt-file-code pre{margin:0;font-size:12px;line-height:1.7}.rt-file-line{display:flex;min-width:max-content}.rt-file-line small{display:inline-block;width:4em;flex-shrink:0;text-align:right;padding-right:1em;color:#949faf;user-select:none}.rt-file-line code{white-space:pre}.rt-file-line.is-target{background:#a9c9f51c}
@media(max-width:800px){.rich-text .rt-reference{min-height:44px}.rich-text{line-height:1.78}.rich-text .rt-code pre{font-size:.78em}.messages{padding-inline:18px}.rich-text h1{font-size:1.28em}.rich-text h2{font-size:1.16em}}
