/* Native-resolution type and local SVG artwork. No whole-screen transform or blur. */
.ui-icon{display:inline-block;width:22px;height:22px;vertical-align:middle;flex:none}
[data-icon]{display:inline-flex;align-items:center;justify-content:center}
.nav-icon .ui-icon{width:19px;height:19px}.widget-icon .ui-icon{width:21px;height:21px}
.brand-emoji img{display:block;width:88%;height:88%}
.card-sparkle .ui-icon{width:19px;height:19px}
.small-chip{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.small-chip .ui-icon{width:16px;height:16px}
.weather-condition{display:inline-flex;align-items:center;gap:10px}
.weather-condition .ui-icon{width:25px;height:25px}
.weather-line strong span{font:inherit}
.device-item{align-items:center}.device-item h3{font-size:15px}.device-item p{margin-top:7px}
.device-state{display:inline-block;margin-top:8px;color:var(--muted);font-size:11px}
.device-state.revoked{color:var(--muted)}.device-delete{color:#e4a29c;border-color:#bb777044}
html[data-theme=pearl] .device-delete,html[data-theme=peach] .device-delete{color:#984b45}
.device-help{margin:17px 0 0;line-height:1.8}
.vector-character{position:relative;width:260px;height:260px;overflow:visible;contain:layout;isolation:isolate}
.vector-character .emoji-poster{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;visibility:hidden;z-index:1}
.vector-character.vector-loaded .emoji-poster{visibility:visible}
.vector-fallback{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0}
.vector-loaded .vector-fallback{visibility:hidden}
.emoji-status-signal{position:absolute;bottom:-18px;left:50%;margin-left:-28px;display:flex;align-items:center;gap:5px;height:20px;opacity:0}
.emoji-status-signal i{width:5px;height:6px;background:var(--accent);border-radius:3px}
.vector-character[data-mood=listening] .emoji-status-signal,.vector-character[data-mood=speaking] .emoji-status-signal,.vector-character[data-mood=thinking] .emoji-status-signal{opacity:1}
.vector-character[data-active=true][data-mood=speaking] .emoji-status-signal i{animation:voice-meter 900ms ease-in-out infinite alternate}
.vector-character[data-active=true][data-mood=listening] .emoji-status-signal i{animation:signal-pulse 1800ms ease-in-out infinite alternate}
.vector-character[data-active=true][data-mood=thinking] .emoji-status-signal i{animation:signal-pulse 1000ms ease-in-out infinite alternate}
.emoji-status-signal i:nth-child(2){animation-delay:180ms!important;height:12px}.emoji-status-signal i:nth-child(3){animation-delay:360ms!important;height:19px}.emoji-status-signal i:nth-child(4){animation-delay:540ms!important;height:12px}.emoji-status-signal i:nth-child(5){animation-delay:720ms!important}
@keyframes voice-meter{from{opacity:.45;transform:scaleY(.4)}to{opacity:1;transform:scaleY(1)}}
@keyframes signal-pulse{from{opacity:.2}to{opacity:1}}
.low-power .emoji-status-signal i{animation:none!important}
.display-controls-trigger{display:none}
.home-view .clock{font-weight:500;font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum";text-shadow:none}
/* Theme-aware strokes replace the old dark emoji tiles in the management UI too. */
:root{--icon-bg:#253149;--icon-ink:#ccdcff;--icon-green-bg:#213c34;--icon-green-ink:#b7e3cb;--icon-warm-bg:#403329;--icon-warm-ink:#f2d3a3}
html[data-theme=pearl],html[data-theme=peach]{--icon-bg:#e7edf8;--icon-ink:#38567e;--icon-green-bg:#e1efe8;--icon-green-ink:#31654e;--icon-warm-bg:#f5e9d9;--icon-warm-ink:#84582a}
nav button .nav-icon,.widget-icon,.widget-icon.blue{background:var(--icon-bg);color:var(--icon-ink);border:1px solid var(--line)}
nav button .nav-chat,nav button .nav-audio{background:var(--icon-green-bg);color:var(--icon-green-ink)}
nav button .nav-home,nav button .nav-learning,.widget-icon.peach{background:var(--icon-warm-bg);color:var(--icon-warm-ink)}
nav button .nav-icon .ui-icon,.widget-icon .ui-icon{opacity:1;stroke-width:1.8}
.ui-icon{fill:none;stroke:currentColor}
.inline-icon{display:inline-flex;align-items:center;vertical-align:-.17em;line-height:1;margin-right:.3em}
.inline-icon .ui-icon{width:1.1em;height:1.1em}
.section-emoji .ui-icon,.category-emoji .ui-icon{width:1em;height:1em}
.category-emoji{color:var(--icon-ink)}
.empty-emoji .ui-icon,.brand-mark .ui-icon{width:48px;height:48px;color:var(--icon-ink)}
.top-actions .pill{white-space:nowrap}
.pill>.inline-icon,.small-chip>.inline-icon{margin-right:.35em}
.home-note p{overflow-wrap:break-word}
nav button{gap:0}nav button .nav-icon{margin-right:12px}
.widget-heading{gap:0}.widget-heading .widget-icon{margin-right:10px}
.small-chip{gap:0}.small-chip>[data-icon]{margin-right:7px}
.topbar .top-actions{gap:0}.topbar .top-actions .pill{margin:3px}
.list-item p,.session-row{overflow-wrap:break-word;word-wrap:break-word}
.message.user.editing{width:94%;max-width:700px;background:var(--panel);color:var(--ink);border-color:var(--line)}
:root{--display-pad-x:40px;--display-pad-y:24px}
.screen-mode{background-image:none;background-attachment:scroll}
html[data-theme=pearl] .screen-mode{--bg:#f3f5f7;--panel:#fff;--panel2:#e9eef3;--ink:#182432;--muted:#5d6b79;--line:#dce2e8;--field:#fff}
html[data-theme=peach] .screen-mode{--bg:#f6f0e9;--panel:#fffaf4;--panel2:#eee4d9;--ink:#352b25;--muted:#78675a;--line:#e4d8cc;--field:#fffaf4}
/* viewport.js supplies only ordinary pixel values, including the visible Android height. */
.screen-mode #shell{width:100%;height:100vh;height:var(--viewport-height,100vh);overflow:hidden}
.screen-mode .main{margin:0;width:100%;height:100%;padding:var(--display-pad-y) var(--display-pad-x);max-width:none;overflow:hidden}
.screen-mode .home-view{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;grid-gap:var(--display-gap,18px);height:100%;position:relative;left:var(--burn-x,0px);top:var(--burn-y,0px);transform:none;transition:none}
.screen-mode .home-top{margin:0;min-height:var(--display-header-height,30px);align-items:center}
.screen-mode .home-top>.eyebrow{font-size:var(--display-top-size,16px);letter-spacing:.4px;color:var(--muted);font-weight:500}
.screen-mode .home-top .live-pill{margin-right:58px;font-size:var(--display-small-size,13px);padding:6px 12px;background:var(--panel);color:var(--muted);border-color:var(--line);line-height:1.3}
.screen-mode .live-pill i,.screen-mode .cat-tag i{width:6px;height:6px;background:#6d9d83}
.screen-mode .topbar{position:absolute;top:var(--display-pad-y);right:calc(var(--display-pad-x) + 48px);left:auto;height:auto;min-height:0;padding:0;border:0;z-index:20;opacity:0;pointer-events:none;transition:opacity .18s}
.screen-mode .topbar>div:first-child{display:none}
.screen-mode .topbar .top-actions{padding:6px;border-radius:16px;border:1px solid var(--line);background:var(--panel);box-shadow:0 5px 22px rgba(0,0,0,.04);backdrop-filter:none!important;-webkit-backdrop-filter:none!important;max-width:none;gap:0}
.screen-mode .top-actions .pill{font-size:var(--display-control-size,13px);min-height:36px;padding:8px 12px;margin:3px;border-color:var(--line);background:var(--bg)}
.screen-mode.controls-active .topbar,.screen-mode .topbar:focus-within{opacity:1;pointer-events:auto}
.screen-mode .display-controls-trigger{position:fixed;display:flex;align-items:center;justify-content:center;right:var(--display-pad-x);top:var(--display-pad-y);width:40px;height:40px;padding:0;border-radius:12px;border:1px solid transparent;background:transparent;color:var(--muted);z-index:22}
.screen-mode .display-controls-trigger:hover,.screen-mode .display-controls-trigger:focus-visible{border-color:var(--line);background:var(--panel)}
.screen-mode .display-controls-trigger .ui-icon{width:23px;height:23px}
.screen-mode .hero-grid{height:auto;min-height:0;max-height:none;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);grid-gap:20px;align-items:center}
.screen-mode .clock-area{min-width:0;align-self:center}
.screen-mode .clock-caption{margin:0 0 10px;font-size:var(--display-caption-size,16px);letter-spacing:.5px;color:var(--muted);font-weight:400}
.screen-mode .clock{font-size:var(--display-clock-size,180px);line-height:1.06;letter-spacing:-.055em;font-weight:500;font-variant-numeric:tabular-nums lining-nums;color:var(--ink);opacity:1;text-shadow:none;white-space:nowrap;max-width:100%}
.screen-mode .date-line{font-size:var(--display-date-size,20px);letter-spacing:.3px;line-height:1.45;font-weight:500;margin-top:10px;color:var(--ink)}
.screen-mode .weather-line{margin-top:12px;line-height:1.5;display:flex;flex-wrap:wrap;align-items:center;gap:0;font-size:var(--display-weather-size,18px);color:var(--muted)}
.screen-mode .weather-line>span,.screen-mode .weather-line>strong{margin-right:.8em}
.screen-mode .weather-condition{gap:0}.screen-mode .weather-condition .ui-icon{margin-right:.4em}
.screen-mode .weather-line .ui-icon{width:1.25em;height:1.25em}
.screen-mode .weather-line strong{font-size:var(--display-temp-size,28px);font-weight:600;color:var(--ink);letter-spacing:-1px}
.screen-mode .weather-line .tiny{font-size:var(--display-small-size,12px);opacity:1;color:var(--muted)}
.screen-mode .cat-area{height:100%;max-height:none;min-height:0;max-width:100%;padding:0 0 48px;justify-content:center;align-items:center;border:0;box-shadow:none;background:none;border-radius:24px}
.screen-mode .cat-glow{display:none}
.screen-mode .vector-character{width:var(--display-face-size,250px);height:var(--display-face-size,250px);max-width:100%;flex:none;animation:none!important;transform:none!important}
.screen-mode .cat-tag{bottom:0;font-size:var(--display-tag-size,16px);padding:6px 14px;border-radius:99px;border:1px solid var(--line);background:var(--panel);box-shadow:none;color:var(--muted);font-weight:400}
.screen-mode .greeting-block{margin:0;max-width:none;min-width:0}
.screen-mode .greeting-block>.eyebrow{display:none}
.screen-mode .greeting-block h1{font-size:var(--display-heading-size,30px);font-weight:600;line-height:1.3;letter-spacing:-.6px;margin:0;color:var(--ink)}
.screen-mode .greeting-block p{font-size:var(--display-body-size,17px);line-height:1.6;max-width:none;max-height:3.2em;margin:10px 0 0;color:var(--muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.screen-mode .home-cards{margin:0;grid-gap:20px;grid-template-columns:1.1fr 1fr;align-items:stretch;min-width:0}
.screen-mode .home-cards .card{min-height:0;height:var(--display-card-height,190px);padding:var(--display-card-pad,20px);border:1px solid var(--line);border-radius:20px;background:var(--panel);box-shadow:none;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;min-width:0;display:flex;flex-direction:column;overflow:hidden}
.screen-mode .card-title{font-size:var(--display-label-size,15px);margin-bottom:8px;gap:10px;color:var(--muted);flex:none}
.screen-mode .widget-heading{font-size:var(--display-label-size,15px);gap:0;font-weight:500;color:var(--muted)}
.screen-mode .widget-icon{width:1.9em;height:1.9em;border-radius:9px;margin-right:.6em;color:var(--icon-ink);background:var(--icon-bg)}
.screen-mode .widget-icon .ui-icon{width:1.25em;height:1.25em}
.screen-mode .next-card h2{font-size:var(--display-card-title,23px);line-height:1.25;font-weight:600;margin:0 0 6px;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:none}
.screen-mode .next-card>.muted{font-size:var(--display-label-size,15px);line-height:1.5;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;margin:0}
.screen-mode #next-task-time{font-size:var(--display-small-size,12px);color:var(--muted);line-height:1.4;max-width:48%;white-space:normal;text-align:right}
.screen-mode .home-note p{font-size:var(--display-note-size,18px);line-height:1.45;font-weight:400;color:var(--ink);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.screen-mode .home-note p br{display:none}
.screen-mode .home-note .chip-row{margin-top:auto;padding-top:10px;gap:0;flex:none}
.screen-mode .small-chip{font-size:var(--display-small-size,12px);padding:6px 10px;margin-right:8px;background:var(--bg);color:var(--muted);border-color:var(--line)}
.screen-mode #next-task-done{font-size:var(--display-small-size,13px);margin: auto 0 0;padding:4px 0 0;display:inline-flex;align-items:center;gap:6px;align-self:flex-start;flex:none}
.screen-mode #next-task-done.hidden{display:none}
.screen-mode .footer{display:none}
html[data-phase=night] .screen-mode .clock{opacity:1}
html[data-display-density=compact] .screen-mode .clock-caption{display:none}
html[data-display-density=compact] .screen-mode .weather-updated{display:none}
html[data-display-density=compact] .screen-mode .date-line{margin-top:5px}
html[data-display-density=compact] .screen-mode .weather-line{margin-top:5px}
html[data-display-density=compact] .screen-mode .greeting-block p{-webkit-line-clamp:1;max-height:1.6em;margin-top:6px}
html[data-display-density=compact] .screen-mode .next-card>.muted{display:none}
html[data-display-density=compact] .screen-mode .cat-area{padding-bottom:36px}
html[data-display-layout=portrait] .screen-mode .home-top .live-pill{display:none}
html[data-display-layout=portrait] .screen-mode .hero-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-gap:8px;min-height:190px}
html[data-display-layout=portrait] .screen-mode .clock-caption{font-size:12px;letter-spacing:0;white-space:normal}
html[data-display-layout=portrait] .screen-mode .weather-updated{display:none}
html[data-display-layout=portrait] .screen-mode .weather-line>span,html[data-display-layout=portrait] .screen-mode .weather-line>strong{margin-right:.5em}
html[data-display-layout=portrait] .screen-mode .home-cards{grid-template-columns:1fr;grid-gap:12px}
html[data-display-layout=portrait] .screen-mode .greeting-block p{-webkit-line-clamp:2;max-height:3.2em}
html[data-display-layout=portrait] .screen-mode .topbar{left:var(--display-pad-x);right:calc(var(--display-pad-x) + 46px)}
html[data-display-layout=portrait] .screen-mode .topbar .top-actions{flex-wrap:wrap;justify-content:flex-end}
html[data-display-layout=portrait] .screen-mode .top-actions .pill{font-size:12px;padding:7px 9px;min-height:34px}
html[data-display-scroll=true] .screen-mode .main{overflow-y:auto}
html[data-display-scroll=true] .screen-mode .home-view{height:auto;min-height:100%;grid-template-rows:auto minmax(180px,1fr) auto auto;left:0;top:0}
@media(max-width:760px){.vector-character{width:144px;height:144px}.device-item .pill{font-size:12px;padding:9px 14px}}
@media(prefers-reduced-motion:reduce){.emoji-status-signal i{animation:none!important}.screen-mode .topbar{transition:none}}
