@font-face{font-family:Grotesk;src:url('./assets/grotesk.woff2') format('woff2');font-weight:400 700;font-display:swap}@font-face{font-family:Mono;src:url('./assets/mono.woff2') format('woff2');font-weight:400 700;font-display:swap}
:root{--n-950:#06090c;--n-900:#0d1318;--n-850:#131c22;--n-800:#1b282f;--n-700:#34434b;--n-400:#aab9c0;--n-100:#f1f4e9;--lime-400:#f5ff37;--cyan-400:#54f1ff;--peach-400:#ff987d;--bg:var(--n-900);--surface:var(--n-850);--surface-raised:var(--n-800);--fg:var(--n-100);--muted:var(--n-400);--border:var(--n-700);--accent:var(--lime-400);--accent-fg:var(--n-900);--secondary:var(--cyan-400);--warm:var(--peach-400);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--radius-pill:999px;--text-xs:10px;--text-sm:12px;--text-md:14px;--text-base:16px;--text-lg:20px;--text-xl:25px;--text-2xl:32px;--text-3xl:40px;--font-body:Grotesk,'Avenir Next',system-ui,sans-serif;--font-mono:Mono,'SFMono-Regular',Consolas,monospace;--shadow:0 18px 80px #0005;--line:1px;--target:44px;--nav-height:78px;--app-width:430px;--duration:160ms;--safe-bottom:env(safe-area-inset-bottom,0px);color-scheme:dark}
*{box-sizing:border-box}html{background:var(--n-950);scroll-behavior:smooth}body{margin:0;background:var(--n-950);color:var(--fg);font:var(--text-base)/1.5 var(--font-body);-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,a{touch-action:manipulation}button{color:inherit}a{color:inherit;text-decoration:none}button{border:0}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--secondary);outline-offset:4px}button:active{transform:translateY(1px)}h1,h2,h3,p{margin:0}svg{width:var(--space-6);height:var(--space-6);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}img{max-width:100%;display:block}.icon-library{display:none}[hidden]{display:none!important}.sr-only,.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.app-shell{max-width:var(--app-width);min-height:100dvh;margin:auto;background:linear-gradient(90deg,transparent 47px,color-mix(in srgb,var(--border) 15%,transparent) 48px) 0 0/48px 48px,linear-gradient(transparent 47px,color-mix(in srgb,var(--border) 15%,transparent) 48px) 0 0/48px 48px,var(--bg);position:relative;box-shadow:var(--shadow);overflow:clip}.app-header{padding:calc(var(--space-4) + env(safe-area-inset-top,0px)) var(--space-5) var(--space-3);display:flex;align-items:center;justify-content:space-between;border-bottom:var(--line) solid var(--border);background:var(--bg);position:relative}.wordmark{font-size:28px;font-weight:700;font-style:italic;letter-spacing:-1.8px;line-height:1;display:inline-block;min-height:var(--target);color:var(--accent)}.wordmark-dot{color:var(--accent)}.wordmark-sub{display:block;font:7px/1 var(--font-mono);font-style:normal;letter-spacing:1.5px;margin-top:var(--space-2);color:var(--muted)}.header-actions{display:flex;align-items:center;gap:var(--space-2)}.connection{display:flex;gap:6px;align-items:center;font:9px/1 var(--font-mono);letter-spacing:1px;color:var(--accent)}.connection>span,.mood-tag>span:first-child{width:5px;height:5px;background:var(--accent);border-radius:50%}.icon-button{min-width:var(--target);height:var(--target);padding:var(--space-3);background:transparent;display:grid;place-items:center;color:var(--muted);border-radius:var(--radius-sm)}.icon-button svg{width:var(--space-5);height:var(--space-5)}.icon-button:hover{background:var(--surface-raised);color:var(--fg)}main{padding-bottom:calc(var(--nav-height) + var(--space-6) + var(--safe-bottom))}.screen{padding:0 var(--space-5)}.intro{padding:var(--space-6) 0 var(--space-5);position:relative}.eyebrow{font:9px/1.4 var(--font-mono);letter-spacing:1.6px;color:var(--muted);text-transform:uppercase;margin-bottom:var(--space-3)}.intro h1{font-size:36px;font-weight:700;font-style:italic;line-height:.98;letter-spacing:-1.5px;text-transform:uppercase}.intro h1 span{color:var(--accent)}.intro-coordinate{position:absolute;right:0;bottom:var(--space-6);font:8px/1.8 var(--font-mono);color:var(--secondary);text-align:right;letter-spacing:.8px}.companion-card{border:var(--line) solid var(--border);border-top:2px solid var(--accent);border-radius:var(--radius-md);overflow:hidden;background:var(--surface);position:relative}.companion-topline{padding:var(--space-3) var(--space-4);display:flex;align-items:center;justify-content:space-between;background:linear-gradient(120deg,var(--surface-raised),var(--surface))}.mini-label{font:8px/1.5 var(--font-mono);letter-spacing:1px;color:var(--muted)}.cat-heading{display:flex;align-items:center;gap:var(--space-2)}.cat-heading h2{font-size:var(--text-lg);font-weight:700;line-height:1.3;letter-spacing:-.5px;max-width:175px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase}.level-tag{font:8px/1.5 var(--font-mono);letter-spacing:.5px;color:var(--accent-fg);background:var(--accent);padding:2px 5px;border:var(--line) solid var(--accent);border-radius:0}.mood-tag{font:9px/1.4 var(--font-mono);color:var(--secondary);display:flex;gap:6px;align-items:center}.cat-scene{display:block;position:relative;overflow:hidden;width:100%;padding:0;aspect-ratio:1.18;background:var(--surface-raised);border-top:var(--line) solid var(--border);border-bottom:var(--line) solid var(--border);text-align:left;isolation:isolate}.cat-scene>.warehouse-layer{width:100%;height:100%;object-fit:cover;object-position:50% 50%;transition:transform 600ms ease}.cat-scene:hover>.warehouse-layer{transform:none}.scene-vignette{position:absolute;inset:0;background:linear-gradient(transparent 70%,#06090cee)}.scene-tag,.scene-hint{position:absolute;bottom:var(--space-3);font:7px/1 var(--font-mono);letter-spacing:.8px;display:flex;align-items:center;gap:5px}.scene-tag{left:var(--space-3);color:var(--secondary)}.scene-hint{right:var(--space-3);color:var(--accent)}.scene-tag svg,.scene-hint svg{width:var(--space-3);height:var(--space-3)}.purr-heart{position:absolute;left:48%;top:35%;font-size:var(--text-3xl);color:var(--accent);opacity:0;pointer-events:none;text-shadow:0 0 16px var(--accent)}.is-purring .purr-heart,.is-feeding .purr-heart{animation:purr 1.4s ease both}@keyframes purr{0%{opacity:0;transform:translateY(8px) scale(.5)}25%{opacity:1}100%{opacity:0;transform:translateY(-45px) scale(1.2)}}.cat-message{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--surface)}.message-signal{font:var(--text-md)/1.5 var(--font-mono);color:var(--accent);white-space:nowrap}.cat-message p{font-size:var(--text-sm);color:var(--fg);font-weight:400}.energy-row{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-4) var(--space-4)}.energy-label{display:flex;align-items:center;gap:var(--space-1);font:8px/1 var(--font-mono);color:var(--muted);letter-spacing:.8px}.energy-label svg{width:var(--space-3);height:var(--space-3);color:var(--accent)}.energy-track{flex:1;height:5px;border-radius:0;background:var(--border);overflow:hidden}.energy-track>span{display:block;width:72%;height:100%;background:repeating-linear-gradient(90deg,var(--accent) 0,var(--accent) 10px,var(--surface) 10px,var(--surface) 12px);border-radius:0;transition:width 400ms ease}.energy-number{font:9px/1 var(--font-mono);white-space:nowrap}.energy-number b{font-weight:400;color:var(--accent)}.energy-number>span{color:var(--muted);font-size:8px}.primary-actions{display:flex;gap:var(--space-2);margin:var(--space-4) 0 var(--space-6)}.button{display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--space-12);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-md);font-weight:700;transition:background var(--duration),transform var(--duration)}.button svg{width:var(--space-4);height:var(--space-4)}.button-primary{background:var(--accent);color:var(--accent-fg)}.button-primary:hover{background:color-mix(in srgb,var(--accent) 85%,white)}.primary-actions .button-primary{flex:1;justify-content:flex-start;box-shadow:3px 3px 0 color-mix(in srgb,var(--secondary) 35%,transparent)}.action-arrow{margin-left:auto}.button-secondary{background:var(--surface-raised);border:var(--line) solid var(--border)}.button-secondary:hover{background:var(--border)}.feed-button{min-width:95px}.feed-button svg{color:var(--accent)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}.section-heading h2{font-size:var(--text-md);font-weight:700;letter-spacing:-.2px}.mono-label{font:7px/1.4 var(--font-mono);letter-spacing:.8px;color:var(--muted);text-align:right}.ability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.ability{background:var(--surface);border:var(--line) solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-2);text-align:left;position:relative;display:flex;align-items:flex-start;flex-direction:column;min-height:112px;border-bottom:2px solid var(--border)}.ability:hover{border-color:var(--muted);background:var(--surface-raised)}.ability-icon{display:block;margin-bottom:var(--space-3)}.ability-icon svg{width:var(--space-5);height:var(--space-5)}.cyan{color:var(--secondary)}.lime{color:var(--accent)}.peach{color:var(--warm)}.ability strong{font-size:11px;font-weight:500;letter-spacing:-.3px;white-space:nowrap}.ability>span:last-of-type{font-size:8px;color:var(--muted);margin-top:2px;white-space:nowrap}.ability-arrow{position:absolute;right:var(--space-2);top:var(--space-3);width:var(--space-3);height:var(--space-3);color:var(--muted)}.home-footer{display:flex;justify-content:center;align-items:center;gap:6px;font-size:8px;color:var(--muted);margin-top:var(--space-5)}.tiny-diamond{color:var(--accent);font-size:var(--text-sm)}.bottom-nav{position:fixed;z-index:10;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,var(--app-width));height:calc(var(--nav-height) + var(--safe-bottom));padding:var(--space-2) var(--space-3) calc(var(--space-2) + var(--safe-bottom));display:grid;grid-template-columns:repeat(4,1fr);background:var(--bg);border-top:var(--line) solid var(--border)}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;position:relative;background:transparent;color:var(--muted);border-radius:var(--radius-sm);font-size:9px;min-height:58px}.nav-item svg{width:var(--space-5);height:var(--space-5)}.nav-item:hover{background:var(--surface)}.nav-item.is-active{color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,transparent)}.nav-item i{width:3px;height:3px;background:currentColor;border-radius:50%;opacity:0}.nav-item.is-active i{opacity:1}.page-heading{padding:var(--space-8) 0 var(--space-6)}.page-heading h1{font-size:var(--text-2xl);font-weight:700;font-style:italic;line-height:1.05;letter-spacing:-1.1px;text-transform:uppercase}.subtext{font-size:var(--text-sm);color:var(--muted);margin-top:var(--space-3)}.chat-avatar{display:flex;align-items:center;gap:var(--space-3);padding-bottom:var(--space-5);border-bottom:var(--line) solid var(--border)}.chat-avatar img{width:var(--space-12);height:var(--space-12);border-radius:var(--radius-sm);object-fit:cover;object-position:50% 65%}.chat-avatar>div{display:flex;flex-direction:column;gap:var(--space-1)}.chat-avatar strong{font-size:var(--text-md)}.chat-avatar span:not(.small-code){font-size:var(--text-xs);color:var(--muted)}.chat-avatar i{display:inline-block;width:5px;height:5px;background:var(--accent);border-radius:50%;margin-right:3px}.small-code{margin-left:auto;font:9px/1 var(--font-mono);color:var(--muted)}.chat-messages{padding:var(--space-6) 0;display:flex;flex-direction:column;gap:var(--space-5);min-height:260px;overflow-wrap:anywhere}.message{max-width:92%;align-self:flex-start}.message-meta{font:8px/1.5 var(--font-mono);color:var(--accent);letter-spacing:.8px;margin-bottom:var(--space-2)}.message-body{font-size:var(--text-md);line-height:1.6;background:var(--surface-raised);padding:var(--space-3) var(--space-4);border:var(--line) solid var(--border);border-radius:0 var(--radius-md) var(--radius-md) var(--radius-md);white-space:pre-wrap}.is-user{align-self:flex-end}.is-user .message-meta{text-align:right;color:var(--muted)}.is-user .message-body{background:color-mix(in srgb,var(--accent) 7%,var(--bg));border-color:color-mix(in srgb,var(--accent) 20%,var(--border));border-radius:var(--radius-md) 0 var(--radius-md) var(--radius-md)}.prompt-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.prompt-row button{font-size:var(--text-xs);min-height:var(--target);border:var(--line) solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:var(--space-2) var(--space-3)}.prompt-row span{color:var(--accent);margin-left:var(--space-2)}.chat-composer{display:flex;align-items:center;gap:var(--space-1);background:var(--surface-raised);border:var(--line) solid var(--border);border-radius:var(--radius-md);padding:var(--space-1)}.chat-composer textarea{background:transparent;border:0;outline:0;padding:var(--space-3) 0;color:var(--fg);resize:vertical;min-width:0;flex:1;min-height:var(--target);max-height:160px;font-size:var(--text-base)}::placeholder{color:var(--muted)}.send-button{display:grid;place-items:center;min-width:var(--target);height:var(--target);background:var(--accent);color:var(--accent-fg);border-radius:var(--radius-sm)}.send-button svg{width:var(--space-5);height:var(--space-5)}.composer-note{margin:var(--space-3) 0 0;text-align:center;color:var(--muted);font-size:9px}.full-width{width:100%}.task-list,.stash-list{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-5)}.task-card,.stash-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border:var(--line) solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.task-icon,.stash-icon{color:var(--accent);font-size:var(--text-lg);width:var(--space-8);flex-shrink:0}.task-icon svg,.stash-icon svg{width:var(--space-5);height:var(--space-5)}.task-copy,.stash-copy{flex:1;min-width:0}.task-title,.stash-title{font-size:var(--text-md);font-weight:500;overflow-wrap:anywhere}.task-meta,.stash-meta{font-size:var(--text-xs);color:var(--muted);margin-top:var(--space-1)}.task-status{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);font:8px/1.5 var(--font-mono);padding:var(--space-1) 6px;border-radius:var(--radius-sm)}.task-card button,.stash-download{min-height:var(--target);min-width:var(--target);display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--secondary);font-size:var(--text-xs)}.task-card button svg,.stash-download svg{width:var(--space-4);height:var(--space-4)}.count-pill{font:var(--text-xs)/1.5 var(--font-mono);background:var(--surface-raised);border:var(--line) solid var(--border);padding:2px var(--space-2);border-radius:var(--radius-sm);color:var(--accent)}.info-note{display:flex;gap:var(--space-3);margin-top:var(--space-5);padding:var(--space-4);border-left:2px solid var(--secondary);background:var(--surface);color:var(--muted);font-size:var(--text-xs)}.info-note svg{width:var(--space-4);height:var(--space-4);color:var(--secondary)}.upload-zone{width:100%;display:flex;align-items:center;flex-direction:column;gap:var(--space-3);padding:var(--space-8) var(--space-4);background:var(--surface);border:var(--line) dashed var(--border);border-radius:var(--radius-md);margin-bottom:var(--space-8)}.upload-zone:hover{border-color:var(--accent)}.upload-plus{width:var(--space-12);height:var(--space-12);display:grid;place-items:center;border:var(--line) solid var(--border);border-radius:var(--radius-md);color:var(--accent)}.upload-zone strong{font-size:var(--text-md);font-weight:500}.upload-zone>span:last-child{font-size:var(--text-xs);color:var(--muted)}.empty-state{color:var(--muted);font-size:var(--text-md);padding:var(--space-8) var(--space-4);text-align:center;line-height:1.7;border:var(--line) solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.sheet{width:calc(100% - var(--space-8));max-width:390px;padding:var(--space-8) var(--space-6);border:var(--line) solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--fg);box-shadow:var(--shadow);max-height:calc(100dvh - var(--space-8));overflow:auto}.sheet::backdrop{background:#000b}.sheet-close{position:absolute;right:var(--space-3);top:var(--space-3)}.sheet-symbol{width:64px;height:64px;border:var(--line) solid color-mix(in srgb,var(--accent) 30%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent);border-radius:var(--radius-md);display:grid;place-items:center;margin-bottom:var(--space-6)}.sheet-symbol svg{width:var(--space-8);height:var(--space-8)}.sheet h2{font-size:var(--text-xl);font-weight:500;letter-spacing:-.8px;margin-bottom:var(--space-3)}.sheet>p:not(.eyebrow){font-size:var(--text-md);color:var(--muted)}.food-pack{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);margin:var(--space-6) 0;border:var(--line) solid var(--border);border-radius:var(--radius-md);background:var(--bg)}.food-pack>svg{color:var(--accent)}.food-pack>div{display:flex;flex-direction:column;gap:var(--space-1)}.food-pack strong{font-size:var(--text-md);font-weight:500}.food-pack div span{font:var(--text-xs)/1.5 var(--font-mono);color:var(--accent)}.demo-label{font:7px/1.5 var(--font-mono);color:var(--muted);margin-left:auto}.sheet .sheet-footnote{font-size:var(--text-xs)!important;text-align:center;line-height:1.6;margin-top:var(--space-4)}.sheet label{display:block;font-size:var(--text-sm);color:var(--muted);margin:var(--space-5) 0 var(--space-2)}.sheet input{display:block;width:100%;min-height:var(--space-12);color:var(--fg);border:var(--line) solid var(--border);background:var(--bg);padding:var(--space-3);border-radius:var(--radius-sm);margin-bottom:var(--space-4)}.settings-row{display:flex;gap:var(--space-3);align-items:center;width:100%;text-align:left;padding:var(--space-4) 0;min-height:var(--target);border-bottom:var(--line) solid var(--border);background:transparent;font-size:var(--text-sm)}.settings-row>svg{width:var(--space-4);height:var(--space-4);color:var(--secondary)}.settings-row>svg:last-child{margin-left:auto;color:var(--muted)}.text-button{background:transparent;color:var(--muted);font-size:var(--text-xs);min-height:var(--target);display:block;margin:var(--space-3) auto 0;text-decoration:underline}.toast{position:fixed;z-index:30;bottom:calc(var(--nav-height) + var(--space-4) + var(--safe-bottom));left:50%;transform:translate(-50%,10px);width:calc(100% - var(--space-10));max-width:390px;background:var(--fg);color:var(--bg);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity var(--duration),transform var(--duration)}.toast.is-visible,.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:431px){.app-shell{border-left:var(--line) solid var(--border);border-right:var(--line) solid var(--border)}body{background:var(--n-950)}.bottom-nav{border-left:var(--line) solid var(--border);border-right:var(--line) solid var(--border)}}@media(max-width:359px){:root{--space-5:16px}.intro h1{font-size:29px}.mood-tag{font-size:8px}.cat-heading h2{max-width:145px}.mono-label{font-size:6px}.ability{padding:var(--space-3) 6px}.ability strong{font-size:10px}.ability>span:last-of-type{font-size:7px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.is-purring .purr-heart,.is-feeding .purr-heart{opacity:1}}

.stash-empty-icon{display:grid;place-items:center;margin-bottom:var(--space-4);color:var(--secondary)}.empty-state h3{font-size:var(--text-base);font-weight:500;color:var(--fg);margin-bottom:var(--space-2)}.empty-state p{font-size:var(--text-sm)}.empty-state .button{margin:var(--space-4) auto 0}.cat-message p{font-size:13px}.connection{font-size:9px}

.chat-composer textarea:focus-visible{outline:2px solid var(--secondary);outline-offset:2px;border-radius:var(--radius-sm)}

.app-header::after{content:"";position:absolute;left:var(--space-5);bottom:-2px;width:var(--space-10);height:3px;background:var(--accent)}

.intro .eyebrow{color:var(--muted);font-size:8px;letter-spacing:1.25px}

/* Shared 96px companion frames; room artwork stays still. */
.scene-stage{position:relative}.cat-scene>.warehouse-layer{image-rendering:pixelated}.cat-sprite{position:absolute;left:50%;bottom:12%;width:192px;height:192px;margin-left:-96px;overflow:hidden;pointer-events:none;z-index:1;image-rendering:pixelated}.cat-sprite .cat-sprite-sheet{display:block;position:absolute;left:0;top:0;width:400%;height:200%;max-width:none;object-fit:fill;image-rendering:pixelated;animation:cat-idle-frames var(--companion-idle-duration,2.4s) steps(4,end) infinite;transition:none;transform-origin:0 0}.sprite-shadow{position:absolute;left:50%;bottom:14%;width:120px;height:12px;margin-left:-60px;background:var(--n-950);opacity:.55;clip-path:polygon(10% 0,90% 0,100% 50%,90% 100%,10% 100%,0 50%);pointer-events:none}.scene-vignette{z-index:2;pointer-events:none}.scene-tag,.scene-hint{z-index:3}.purr-heart{z-index:4}.scene-motion-toggle{position:absolute;right:var(--space-2);top:var(--space-2);z-index:4;min-width:var(--target);min-height:var(--target);padding:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:var(--line) solid var(--border);background:var(--bg);color:var(--accent);font:7px/1 var(--font-mono);letter-spacing:1px}.scene-motion-toggle svg{width:var(--space-4);height:var(--space-4)}.scene-motion-toggle:hover{background:var(--surface-raised)}.is-purring .cat-sprite-sheet,.is-feeding .cat-sprite-sheet{animation:cat-happy-frames var(--companion-happy-duration,.8s) steps(4,end) infinite}.cat-motion-paused .cat-sprite-sheet{animation:none;transform:translate(0,0)}.cat-motion-paused .is-purring .cat-sprite-sheet,.cat-motion-paused .is-feeding .cat-sprite-sheet{animation:none;transform:translate(0,-50%)}.chat-avatar img{image-rendering:pixelated}
@keyframes cat-idle-frames{from{transform:translate(0,0)}to{transform:translate(-100%,0)}}
@keyframes cat-happy-frames{from{transform:translate(0,-50%)}to{transform:translate(-100%,-50%)}}
@media(prefers-reduced-motion:reduce){.cat-sprite .cat-sprite-sheet{animation:none!important;transform:translate(0,0)}.is-purring .cat-sprite-sheet,.is-feeding .cat-sprite-sheet{transform:translate(0,-50%)}.scene-motion-toggle{color:var(--muted)}}

/* A single game viewport: the room is the screen, with a compact pixel HUD. */
@font-face{font-family:Pixel;src:url('./assets/pixel.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--font-pixel:Pixel,Mono,monospace;--hud-border:#718786;--hud-shadow:#06090c}
body[data-screen="home"]{overflow:hidden}
body[data-screen="home"] main{padding-bottom:0}
.home-screen{padding:0;height:calc(100dvh - var(--nav-height) - var(--safe-bottom));min-height:0;overflow:hidden;background:var(--bg)}
.home-screen .scene-stage,.home-screen .cat-scene{height:100%;width:100%}
.home-screen .cat-scene{aspect-ratio:auto;border:0;background:var(--bg)}
.home-screen .cat-scene:active{transform:none}
.home-screen .cat-scene:focus-visible{outline-offset:-6px}
.home-screen .warehouse-layer{object-fit:cover;object-position:center;transition:none}
.home-screen .scene-vignette{background:linear-gradient(#06090c40,transparent 24%,transparent 76%,#06090c55)}
.home-screen .cat-sprite{width:288px;height:288px;margin-left:-144px;bottom:15%;z-index:2}
.home-screen .sprite-shadow{width:192px;height:16px;margin-left:-96px;bottom:15%;z-index:1}
.home-screen .purr-heart{left:calc(50% - 20px);top:auto;bottom:calc(15% + 230px);width:40px;height:40px;color:var(--warm);text-shadow:none}
.home-screen .purr-heart svg{width:40px;height:40px}
.pixel-icon{fill:currentColor;stroke:none;shape-rendering:crispEdges}
.game-hud{position:absolute;z-index:4;top:calc(16px + env(safe-area-inset-top,0px));left:16px;display:flex;align-items:center;gap:8px}
.energy-hud{width:168px;padding:9px 10px 10px;background:var(--bg);border:2px solid var(--hud-border);box-shadow:3px 3px 0 var(--hud-shadow)}
.energy-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.energy-label{font:10px/1 var(--font-pixel);letter-spacing:0;gap:4px;color:var(--fg)}
.energy-label svg{width:16px;height:16px}
.energy-number{font:10px/1 var(--font-pixel)}
.energy-number>span{font-size:9px;color:var(--muted)}
.energy-track{height:10px;flex:none;background:var(--n-700);border:2px solid var(--hud-shadow);overflow:hidden}
.energy-track>span{background:repeating-linear-gradient(90deg,var(--accent) 0,var(--accent) 8px,var(--bg) 8px,var(--bg) 10px);transition:width 200ms steps(5,end)}
.game-tools{position:absolute;z-index:4;right:16px;top:calc(16px + env(safe-area-inset-top,0px));display:grid;gap:12px}
.game-control{width:48px;min-width:48px;height:48px;min-height:48px;padding:6px;display:grid;place-items:center;background:var(--bg);color:var(--secondary);border:2px solid var(--hud-border);border-radius:0;box-shadow:3px 3px 0 var(--hud-shadow)}
.game-control svg{width:32px;height:32px}
.game-control:hover{background:var(--surface-raised);border-color:var(--secondary)}
.game-control:active{box-shadow:1px 1px 0 var(--hud-shadow);transform:translate(2px,2px)}
.feed-control{color:var(--accent)}
.scene-motion-toggle{position:static;display:flex;gap:2px;font:7px/1 var(--font-pixel);letter-spacing:0}
.scene-motion-toggle svg{width:24px;height:24px}
.bottom-nav{padding:6px 8px calc(6px + var(--safe-bottom));gap:6px;border-top:4px solid var(--hud-border);background:var(--bg)}
.nav-item{min-height:62px;gap:5px;border:2px solid transparent;border-radius:0;font:10px/1 var(--font-pixel);text-transform:uppercase;color:var(--muted)}
.nav-item svg{width:32px;height:32px}
.nav-item.is-active{color:var(--accent);background:var(--surface-raised);border-color:var(--accent);box-shadow:inset 0 -4px 0 #566321}
.nav-item i{display:none}
.nav-item:hover{background:var(--surface-raised)}
.page-heading{padding-top:calc(32px + env(safe-area-inset-top,0px))}
.toast{background:var(--bg);color:var(--fg);border:2px solid var(--secondary);border-radius:0;box-shadow:4px 4px 0 var(--hud-shadow)}
.sheet{border:2px solid var(--hud-border);border-radius:0;box-shadow:6px 6px 0 var(--hud-shadow)}
@media(max-width:359px){.game-hud{left:12px;gap:8px}.game-tools{right:12px}.energy-hud{width:168px}.nav-item{font-size:9px}}

/* Five compact pixel destinations retain comfortable phone touch targets. */
.bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(80px,1.3fr);gap:4px}
.nav-item{min-width:0;padding:4px 0;font-size:9px}
.connections-screen .page-heading h1{font:20px/1.4 var(--font-pixel);letter-spacing:0}
.connections-screen .eyebrow{font:9px/1.4 var(--font-pixel);letter-spacing:0;color:var(--secondary)}
.connections-empty{padding:32px 24px;min-height:310px;display:flex;flex-direction:column;align-items:flex-start;border:2px solid var(--border);background:var(--surface);box-shadow:4px 4px 0 var(--hud-shadow)}
.connection-glyph{width:80px;height:80px;display:grid;place-items:center;margin-bottom:24px;background:var(--surface-raised);border:2px solid var(--hud-border);color:var(--secondary)}
.connection-glyph svg{width:48px;height:48px}
.connection-state{font:8px/1.5 var(--font-pixel);color:var(--muted);margin-bottom:12px}
.connections-empty h2{font-size:20px;line-height:1.3;font-weight:500;margin-bottom:12px}
.connections-empty p{max-width:28ch;font-size:14px;line-height:1.6;color:var(--muted)}
@media(max-width:359px){.bottom-nav{padding-left:6px;padding-right:6px;gap:2px}.nav-item{font-size:8px}.connections-empty{padding:24px 20px}}

/* A device-local appearance choice, independent from account names and Hermes. */
.companion-picker{border:0;margin:var(--space-6) 0;padding:0;min-width:0}
.companion-picker legend{font-size:var(--text-md);font-weight:700;padding:0}
.companion-picker>p{font-size:var(--text-sm);color:var(--muted);margin:var(--space-2) 0 var(--space-3)}
.companion-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}
.companion-choice{min-height:var(--target);min-width:var(--target);display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3);border:2px solid var(--border);background:var(--bg);color:var(--fg);border-radius:var(--radius-sm);transition:background var(--duration),border-color var(--duration)}
.companion-choice:hover{background:var(--surface-raised);border-color:var(--muted)}
.companion-choice:active{transform:translateY(1px)}
.companion-choice:focus-visible{outline:2px solid var(--secondary);outline-offset:2px}
.companion-choice[aria-pressed="true"]{border-color:var(--accent);box-shadow:inset 0 -4px 0 var(--accent)}
.companion-choice[aria-pressed="true"] strong::after{content:" ✓";color:var(--accent)}
.companion-choice img{width:64px;height:64px;image-rendering:pixelated}
.companion-choice strong{font-size:var(--text-sm);font-weight:700}
.companion-choice-kind{font-size:var(--text-xs);color:var(--muted)}
.companion-picker>.companion-selection-status{min-height:var(--space-8);margin-bottom:0;color:var(--fg)}
@media(prefers-reduced-motion:reduce){.companion-choice{transition:none}}
