:root{--bg:#000;--fg:#00ff41;--dim:#149a2e;--mute:#0a5c18;--glow:#00ff4173;--font:"IBM Plex Mono", "Courier New", Courier, monospace}*,:before,:after{box-sizing:border-box}html,body,#root{background:var(--bg);width:100%;height:100%;min-height:100dvh;color:var(--fg);font-family:var(--font);margin:0;font-size:16px}body{overflow:hidden}@media (width<=1100px){html,body,#root{height:auto;min-height:100dvh}body{overflow:hidden auto}}button,input,textarea{font:inherit;color:inherit;background:0 0;border:none;outline:none}button{cursor:pointer}::selection{background:var(--fg);color:var(--bg)}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes flicker{0%,to{opacity:1}91%{opacity:1}92%{opacity:.78}93%{opacity:1}96%{opacity:.88}97%{opacity:1}}@keyframes drift{0%{opacity:.15;transform:translate(0,0)}40%{opacity:.75}to{opacity:.1;transform:translate(8px,-18px)}}@keyframes pulse{0%,to{opacity:.82}50%{opacity:1}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-2px,1px)}40%{transform:translate(2px,-1px)}60%{transform:translate(-1px)}80%{transform:translate(1px,1px)}}@keyframes scanmove{0%{transform:translateY(-120%)}to{transform:translateY(120%)}}.shell{flex-direction:column;width:100%;max-width:100vw;height:100dvh;padding:.25rem;display:flex;position:relative;overflow:hidden}.shell:before{content:"";pointer-events:none;z-index:50;background:repeating-linear-gradient(#0000 0 2px,#00000038 2px 4px);position:fixed;inset:0}.shell:after{content:"";pointer-events:none;z-index:49;background:radial-gradient(#0000 35%,#0000008c 100%),linear-gradient(#00ff4108,#0000 40%,#00ff410a);position:fixed;inset:0}.scanbeam{pointer-events:none;z-index:48;position:fixed;inset:0;overflow:hidden}.scanbeam:before{content:"";will-change:transform;background:linear-gradient(#0000,#00ff410a,#0000);height:18%;animation:7s linear infinite scanmove;position:absolute;left:0;right:0}.crt{z-index:1;width:100%;height:100%;min-height:0;text-shadow:0 0 5px var(--glow);will-change:opacity;flex-direction:column;gap:.35rem;margin:0;animation:7s infinite flicker;display:flex;position:relative}.frame{border:1px solid var(--mute);box-shadow:inset 0 0 0 1px #00ff4114,0 0 24px #00ff410d}.hdr{letter-spacing:.04em;text-transform:uppercase;flex-shrink:0;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.4rem;min-width:0;padding:.45rem .7rem;font-size:clamp(.7rem,1.1vw,.9rem);display:grid}.hdr-l,.hdr-c{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.hdr-r{min-width:0}.hdr-l{justify-self:start}.hdr-c{letter-spacing:.08em;justify-self:center}.hdr-r{flex-wrap:wrap;justify-content:flex-end;justify-self:end;align-items:center;gap:.55rem;display:flex}.hdr-social{align-items:center;gap:.35rem;display:inline-flex}.hdr-meta{white-space:nowrap}.soc{color:var(--fg);letter-spacing:.04em;text-decoration:none;transition:color .12s,background .12s}.soc:hover{color:#fff;text-shadow:0 0 10px var(--glow)}a.chip.soc{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.grid{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,2.1fr) minmax(0,1fr);align-items:stretch;gap:.35rem;width:100%;min-height:0;display:grid}.col{flex-direction:column;gap:.35rem;min-width:0;height:100%;min-height:0;display:flex}.panel{border:1px solid var(--mute);contain:layout paint;background:#000c0059;flex-direction:column;min-width:0;min-height:0;padding:.45rem .55rem .5rem;display:flex;position:relative;overflow:hidden}.panel.grow{flex:1 1 0}.panel:before,.panel:after{color:var(--dim);font-size:.75rem;line-height:1;position:absolute}.panel:before{content:"+";top:-1px;left:-1px}.panel:after{content:"+";top:-1px;right:-1px}.panel-t{border-bottom:1px dotted var(--mute);letter-spacing:.06em;text-transform:uppercase;color:var(--fg);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;align-items:center;gap:.3rem;min-width:0;margin:-.45rem -.55rem .4rem;padding:.28rem .55rem;font-size:clamp(.7rem,1vw,.82rem);display:flex;overflow:hidden}.panel-t:before{content:"//";color:var(--dim);flex-shrink:0}.panel-b{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;flex:1;min-height:0;font-size:clamp(.78rem,1.05vw,.92rem);line-height:1.45;overflow:auto}.kv{grid-template-columns:minmax(0,auto) minmax(0,1fr);align-items:baseline;gap:.12rem .5rem;display:grid}.kv span{min-width:0}.kv span:nth-child(odd){color:var(--dim)}.kv span:nth-child(2n){text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.list{margin:0;padding:0;list-style:none}.list li{overflow-wrap:anywhere;margin-bottom:.12rem}.list li span{color:var(--dim)}.tog{justify-content:space-between;align-items:baseline;gap:.5rem;min-width:0;margin-bottom:.12rem;display:flex}.tog>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tog b{flex-shrink:0;font-weight:500}.sig-list{flex-direction:column;gap:.3rem;display:flex}.sig{grid-template-columns:minmax(0,5.2rem) minmax(0,1fr) 2.6rem;align-items:center;gap:.4rem;min-width:0;display:grid}.sig-label{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.85em;overflow:hidden}.sig-val{text-align:right;font-variant-numeric:tabular-nums;font-size:.85em}.sig-track{border:1px solid var(--mute);background:#00280066;min-width:0;height:.5rem;overflow:hidden}.sig-track i{background:var(--fg);height:100%;box-shadow:0 0 8px var(--glow);max-width:100%;display:block}.center{text-align:center;flex-direction:column;align-items:stretch;gap:.4rem;min-width:0;min-height:0;display:flex}.logo{white-space:pre;will-change:opacity;flex-shrink:0;max-width:100%;margin:.1rem 0;font-size:clamp(.38rem,1.4vw,.9rem);line-height:1.05;animation:3.5s ease-in-out infinite pulse;overflow-x:auto}.face-wrap{flex-shrink:0;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.35rem;width:100%;display:grid}.face-meta{color:var(--dim);letter-spacing:.03em;text-transform:lowercase;min-width:0;font-size:clamp(.65rem,.95vw,.8rem);line-height:1.45;overflow:hidden}.face-meta.l{text-align:right}.face-meta.r{text-align:left}.sing{place-items:center;width:min(100%,28rem);min-height:12rem;margin:0 auto;display:grid;position:relative}.sing .face{text-align:left;margin-inline:auto}.sing.glitch{animation:.12s linear shake}.sing-field{pointer-events:none;position:absolute;inset:-8% -4%;overflow:hidden}.speck{color:var(--dim);opacity:.35;text-shadow:0 0 6px var(--glow);will-change:transform, opacity;font-size:.75rem;animation:linear infinite drift;position:absolute}.face{white-space:pre;color:var(--fg);text-shadow:0 0 8px var(--glow), 0 0 20px #00ff4133;margin:0;font-size:clamp(.65rem,1.7vw,1.05rem);line-height:1.12}.face-core{z-index:2;position:relative}.face-ghost{z-index:1;opacity:0;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.sing.glitch .face-ghost.a{opacity:.55;color:#0fa;mix-blend-mode:screen;transform:translate(-2px)}.sing.glitch .face-ghost.b{opacity:.45;color:#6f0;mix-blend-mode:screen;transform:translate(2px,1px)}.quote{color:var(--dim);overflow-wrap:anywhere;flex-shrink:0;width:100%;max-width:40rem;margin:0 auto;padding:.1rem .5rem;font-size:clamp(.8rem,1.1vw,.95rem)}.send{text-align:left;flex-shrink:0;width:100%}.prompt-row{border-bottom:1px dotted var(--mute);align-items:center;gap:.35rem;min-height:2.75rem;padding:.4rem .15rem;font-size:.95rem;display:flex}.prompt-row>span{flex-shrink:0}.prompt-row input{min-width:0;caret-color:var(--fg);font-size:inherit;flex:1}.prompt-row input::placeholder{color:var(--mute)}.cursor{background:var(--fg);width:.55rem;height:1.05em;box-shadow:0 0 8px var(--glow);flex-shrink:0;animation:1.1s step-end infinite blink}.prompt-row.loading{color:var(--fg)}.load-row{flex:1;align-items:baseline;gap:.75rem;min-width:0;display:flex;overflow:hidden}.load-bar{white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:.02em;text-shadow:0 0 10px var(--glow);animation:1.6s ease-in-out infinite pulse}.load-label{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.85em;overflow:hidden}.cursor.inline{vertical-align:text-bottom;width:.5rem;height:.95em;margin-left:1px;display:inline-block}.btn-row{justify-content:center;padding-top:.65rem;display:flex}.btn{letter-spacing:.14em;border:1px solid var(--dim);max-width:100%;padding:.45rem .9rem;font-size:clamp(.85rem,1.2vw,1rem);transition:background .12s,color .12s,box-shadow .12s}.btn-short{display:none}.btn:hover:not(:disabled),.btn:focus-visible{background:var(--fg);color:var(--bg);text-shadow:none;box-shadow:0 0 16px var(--glow)}.btn:disabled{opacity:.4;cursor:wait}.link{color:var(--fg);text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:.9rem;text-decoration:underline}.link:hover{color:#fff}.ex{text-align:left;max-height:none}.ex .row{grid-template-columns:minmax(0,5.5rem) minmax(0,1fr);gap:.4rem;margin-bottom:.2rem;display:grid}.ex .row>span:last-child{overflow-wrap:anywhere;min-width:0}.ex .who{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ex-block{border-bottom:1px dotted var(--mute);margin-bottom:.4rem;padding-bottom:.3rem}.ex-block:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.wave{white-space:pre;color:var(--dim);margin:0 0 .4rem;font-size:.7rem;line-height:1.2;overflow-x:auto}.mob-bar{flex-wrap:wrap;flex-shrink:0;gap:.35rem;display:none}.chip{border:1px solid var(--mute);letter-spacing:.04em;text-transform:uppercase;padding:.35rem .65rem;font-size:.8rem}.chip.on,.chip:hover{background:var(--fg);color:var(--bg);text-shadow:none}.live-type{white-space:pre-wrap;word-break:break-word}.mirror{border:1px dashed var(--fg);text-align:left;will-change:opacity;background:#0018008c;flex-shrink:0;width:100%;max-height:9rem;padding:.45rem .6rem .55rem;animation:2.8s infinite flicker;overflow-y:auto;box-shadow:0 0 18px #00ff411f}.mirror-t{letter-spacing:.1em;color:var(--dim);text-transform:uppercase;margin-bottom:.35rem;font-size:.7rem}.mirror-row{margin-bottom:.4rem}.mirror-row:last-child{margin-bottom:0}.mirror-meta{color:var(--dim);letter-spacing:.04em;margin-bottom:.15rem;font-size:.7rem}.mirror-input{border-bottom:1px dotted var(--mute);filter:contrast(1.15)saturate(1.2);align-items:center;gap:.35rem;min-height:1.6rem;padding:.25rem .2rem;display:flex;position:relative;overflow:hidden}.mirror-prompt{opacity:.7;flex-shrink:0}.mirror-base{z-index:2;white-space:pre-wrap;word-break:break-word;color:var(--fg);text-shadow:0 0 8px var(--glow);position:relative}.mirror-ghost{white-space:pre-wrap;word-break:break-word;pointer-events:none;opacity:.45;mix-blend-mode:screen;position:absolute;top:.25rem;left:1.1rem;right:.2rem}.mirror-ghost.a{color:#6fa;transform:translate(-1px)}.mirror-ghost.b{color:#af0;opacity:.35;transform:translate(1px)}.send.leaking{box-shadow:inset 0 0 0 1px #00ff4140,0 0 20px #00ff4114}.draft-panel{max-height:none}.draft-item{border-bottom:1px dotted var(--mute);text-align:left;margin-bottom:.4rem;padding-bottom:.3rem}.draft-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.draft-name{color:var(--dim);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.12rem;font-size:.75rem}.draft-text{overflow-wrap:anywhere;font-size:.85rem;line-height:1.4}.modal{z-index:100;background:#000000eb;justify-content:center;align-items:center;padding:.75rem;display:flex;position:fixed;inset:0}.modal-box{border:1px solid var(--fg);width:min(820px,100%);max-height:min(85dvh,720px);box-shadow:0 0 40px var(--glow);background:#000;flex-direction:column;min-width:0;display:flex}.modal-h{border-bottom:1px dotted var(--dim);letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.65rem .75rem;font-size:.8rem;display:flex}.modal-title{overflow-wrap:anywhere;flex:1;min-width:0;line-height:1.35}.modal-close{white-space:nowrap;flex-shrink:0}.modal-b{min-width:0;padding:.75rem;font-size:.9rem;line-height:1.5;overflow-y:auto}.log-item{border-bottom:1px dotted var(--mute);margin-bottom:.75rem;padding-bottom:.65rem}.log-item:last-child{border-bottom:none}.log-item .ts{color:var(--dim);overflow-wrap:anywhere;margin-bottom:.25rem;font-size:.75rem}.log-item .q{color:var(--dim);overflow-wrap:anywhere}.log-item .a{overflow-wrap:anywhere;margin-top:.2rem}.empty{color:var(--dim)}.err{color:#f55;text-shadow:0 0 6px #f556;overflow-wrap:anywhere;margin-top:.35rem;font-size:.8rem}.social-bar{flex-wrap:wrap;flex-shrink:0;justify-content:center;align-items:center;gap:.75rem;padding:.2rem 0;font-size:clamp(.85rem,1.2vw,1rem);display:flex}.social-bar .soc{border:1px solid var(--mute);letter-spacing:.08em;padding:.2rem .55rem}.social-bar .soc:hover{background:var(--fg);color:var(--bg);text-shadow:none}@media (width<=1100px){.hdr-r{justify-content:center}.shell{height:auto;min-height:100dvh;padding:.35rem;overflow:hidden auto}.crt{height:auto;min-height:calc(100dvh - .7rem)}.grid{flex:none;grid-template-columns:1fr}.col{height:auto}.col-l,.col-r{display:none}.col-l.open,.col-r.open{order:2;display:flex}.center{order:1}.panel.grow{flex:none}.mob-bar{display:flex}.face-meta{display:none}.face-wrap{grid-template-columns:1fr;justify-items:center}.hdr{text-align:center;grid-template-columns:1fr;gap:.15rem;padding:.45rem .55rem;font-size:.78rem}.hdr-l,.hdr-r,.hdr-c{white-space:normal;text-overflow:unset;justify-self:center;overflow:visible}.hdr-c{letter-spacing:.04em}}@media (width<=760px){.shell{padding:.3rem}.panel{padding:.4rem .5rem .45rem}.panel-t{letter-spacing:.04em;margin:-.4rem -.5rem .35rem;padding:.28rem .5rem;font-size:.72rem}.panel-b{font-size:.85rem}.logo{font-size:clamp(.28rem,3.2vw,.42rem)}.face{font-size:clamp(.58rem,3.4vw,.78rem)}.sing{width:100%;min-height:10rem}.quote{padding:.1rem .25rem;font-size:.82rem}.prompt-row{min-height:2.5rem;font-size:.9rem}.load-label{display:none}.mirror{max-height:7rem;padding:.4rem .5rem}.mirror-t{font-size:.65rem}.mirror-input{font-size:.85rem}.btn{letter-spacing:.08em;width:100%;padding:.55rem .75rem;font-size:.9rem}.btn-full{display:none}.btn-short{display:inline}.chip{text-align:center;flex:auto;min-width:calc(50% - .35rem)}.modal{align-items:stretch;padding:.5rem}.modal-box{width:100%;max-height:90dvh}.modal-h{flex-direction:column;align-items:stretch;gap:.45rem;font-size:.72rem}.modal-close{align-self:flex-end}.modal-b{padding:.65rem;font-size:.85rem}.ex .row{grid-template-columns:minmax(0,4.5rem) minmax(0,1fr);font-size:.85rem}.kv{gap:.1rem .35rem}}
