:root{--bg:#040803;--crt:#9fffb0;--crt-dim:#63cc78;--warn:#ffd06a;--danger:#ff8787;--bezel-hi:#4d5d52;--bezel-mid:#273228;--bezel-lo:#151b16}*{box-sizing:border-box}html,body{min-height:100%;color:var(--crt);background:radial-gradient(circle at 20% 15%,#1a2c1d 0%,#0000 45%),radial-gradient(circle at 80% 85%,#102014 0%,#0000 40%),linear-gradient(#020501 0%,#060b06 100%);margin:0;font-family:Consolas,Lucida Console,monospace;overflow:hidden}.app-shell{min-height:100vh}.crt-stage{place-items:center;min-height:100vh;padding:74px 16px 108px;display:grid}.monitor-shell{place-items:center;width:100%;display:grid}.monitor{background:linear-gradient(145deg, var(--bezel-hi), var(--bezel-mid) 40%, var(--bezel-lo));border:1px solid #ffffff1f;border-radius:26px;width:min(1100px,96vw);padding:16px;box-shadow:0 24px 60px #0009,inset 0 1px #ffffff1f,inset 0 -1px #00000073}.monitor-stand{background:linear-gradient(#324036,#1b241d);border-radius:0 0 16px 16px;width:18%;height:38px;margin:0 auto;box-shadow:inset 0 1px #ffffff14}.monitor-base{background:linear-gradient(#202a22,#101510);border-radius:999px;width:36%;height:12px;margin:8px auto 0;box-shadow:0 10px 25px #00000061}.glass{background:radial-gradient(#0d1a10 0%,#071008 70%,#040704 100%);border:2px solid #aaffbe29;border-radius:16px;height:clamp(320px,100svh - 340px,700px);position:relative;overflow:hidden;box-shadow:inset 0 0 40px #000000b3,inset 0 0 120px #48aa5c2e}.terminal{z-index:4;text-transform:uppercase;letter-spacing:.04em;text-shadow:0 0 2px #9fffb0f2,0 0 10px #63cc7873,0 0 28px #63cc7833;flex-direction:column;height:100%;padding:22px 20px 26px;animation:.18s steps(2,end) infinite text-jitter;display:flex;position:relative}.output{flex:1;padding-right:4px;overflow:auto}.output::-webkit-scrollbar{width:8px}.output::-webkit-scrollbar-thumb{background:#9fffb038;border-radius:999px}.noise,.scanlines,.vignette,.sweep{pointer-events:none;position:absolute;inset:0}.noise{z-index:2;opacity:.08;background-image:radial-gradient(#adffbe .5px,#0000 .7px);background-size:2px 2px;animation:.2s infinite noise-shift}.scanlines{z-index:5;mix-blend-mode:multiply;background:linear-gradient(#12101000 50%,#00000047 50%) 0 0/100% 6px}.vignette{z-index:6;background:radial-gradient(circle,#0000 58%,#0000008c 100%)}.sweep{z-index:7;will-change:transform;background:linear-gradient(#fff0 0%,#c6ffd01f 40%,#fff0 100%);height:120px;animation:9s linear infinite sweep;top:0;transform:translateY(-140px)}.brand{color:var(--crt-dim);margin-bottom:8px;font-size:13px}.row{white-space:pre-wrap;word-break:break-word;margin:0 0 6px;line-height:1.35}.row.warn{color:var(--warn)}.row.error{color:var(--danger)}.prompt{align-items:baseline;gap:8px;margin-top:8px;padding-bottom:6px;display:flex}.prompt-label{color:#baffc8;white-space:nowrap}.prompt-input{min-height:1.4em;color:var(--crt);caret-color:#0000;background:0 0;border:0;outline:none;flex:1;position:relative}.prompt-input:after{content:"■";margin-left:2px;animation:1s step-end infinite blink}.footer-hint{color:#87de99;opacity:.95;margin-top:16px;font-size:12px}.pwa-toast{z-index:60;background:#040c06f0;border:1px solid #9fffb059;width:min(320px,100vw - 24px);padding:8px 10px;position:fixed;bottom:14px;right:14px;box-shadow:0 8px 24px #00000073,inset 0 0 0 1px #9fffb01f}.pwa-toast__line{letter-spacing:.08em;text-transform:uppercase;color:var(--crt-dim);text-shadow:0 0 2px #9fffb0cc,0 0 10px #63cc784d;margin:0;font-size:11px}.pwa-toast__actions{gap:6px;margin-top:8px;display:flex}.pwa-toast .shell-button{min-height:22px;padding:4px 8px;font-size:10px}.analytics-consent{z-index:70;background:#040c06f5;border:1px solid #9fffb059;width:min(340px,100vw - 24px);padding:10px 12px;position:fixed;top:74px;right:14px;box-shadow:0 8px 24px #00000073,inset 0 0 0 1px #9fffb01f}.analytics-consent__line{letter-spacing:.08em;text-transform:uppercase;color:var(--crt-dim);text-shadow:0 0 2px #9fffb0cc,0 0 10px #63cc784d;margin:0;font-size:11px}.analytics-consent__actions{gap:6px;margin-top:8px;display:flex}.analytics-consent .shell-button{min-height:22px;padding:4px 8px;font-size:10px}.site-header,.site-footer{z-index:20;position:fixed;left:0;right:0}.site-header{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#030804f5,#030804b8);border-bottom:1px solid #9fffb024;padding:7px 12px;top:0}.site-header__inner,.seo-drawer__panel,.site-footer__inner{width:min(1200px,100vw - 14px);margin:0 auto}.site-header__inner{justify-content:flex-start;align-items:center;gap:14px;display:flex}.site-nav__home{margin-left:auto}.site-footer__inner{flex-direction:column;gap:10px;display:flex}.site-footer__bar{justify-content:space-between;align-items:center;gap:14px;display:flex}.site-shell-label{color:var(--crt-dim);letter-spacing:.12em;font-size:11px}.site-nav,.site-footer__nav,.seo-drawer__grid{flex-wrap:wrap;gap:4px;display:flex}.site-nav{justify-content:flex-end}.shell-button,.seo-drawer__toggle{appearance:none;color:var(--crt);font:inherit;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;cursor:pointer;background:#060c0780;border:1px solid #9fffb033;border-radius:0;min-height:24px;padding:4px 6px;font-size:11px;line-height:1.1;transition:border-color .18s,transform .18s,background .18s}.shell-button:hover,.shell-button:focus-visible,.seo-drawer__toggle:hover,.seo-drawer__toggle:focus-visible{background:#0d1e0ff5;border-color:#9fffb085;outline:none;transform:translateY(-1px)}.shell-button:before,.seo-drawer__toggle:before{content:"[";color:var(--crt-dim);margin-right:4px}.shell-button:after,.seo-drawer__toggle:after{content:"]";color:var(--crt-dim);margin-left:4px}.shell-button--primary{color:#031106;text-shadow:none;background:linear-gradient(#b6ffc1,#7df391);border-color:#b6ffc1b8}.author-byline{color:#97d6a3;align-items:center;gap:10px;margin:0 0 24px;font-size:14px;display:inline-flex}.author-byline__avatar{object-fit:cover;border:1px solid #9fffb059;border-radius:50%;width:40px;height:40px;box-shadow:0 0 0 1px #060e07e6,0 0 16px #63cc783d}.author-byline__avatar--crt{filter:grayscale(.35)contrast(1.25)saturate(.7)hue-rotate(28deg)brightness(.95)}.site-footer{z-index:20;padding:6px 12px calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#03080452,#030804f0);border-top:1px solid #9fffb01f;bottom:0}.site-footer__copy{color:var(--crt-dim);font-size:11px}.site-footer__disclaimer{color:var(--crt-dim);opacity:.54;letter-spacing:.02em;margin-top:4px;font-size:9px;line-height:1.4}.seo-drawer{z-index:auto;pointer-events:auto;padding:0;position:relative}.seo-drawer__panel{background:linear-gradient(#060e07fa,#050a05f5);border:1px solid #9fffb024;border-radius:18px 18px 0 0;width:100%;max-width:860px;margin-left:auto;overflow:hidden;box-shadow:0 -20px 40px #00000061}.seo-drawer__header{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;list-style:none;display:flex}.seo-drawer__header::-webkit-details-marker{display:none}.seo-drawer__title{color:var(--crt-dim);font-size:10px}.seo-drawer__body{will-change:max-height;max-height:0;transition:max-height .24s;overflow:hidden}.seo-drawer__body[data-open=true],.seo-drawer__details[open] .seo-drawer__body{-webkit-overflow-scrolling:touch;max-height:min(60svh,520px);overflow-y:auto}.seo-drawer__content{padding:0 10px 10px}.seo-drawer__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.seo-drawer__section{background:#0a120ab8;border:1px solid #9fffb01a;border-radius:0;padding:8px}.seo-drawer__section h2{color:#c5ffcf;margin:0 0 10px;font-size:11px}.seo-drawer__section p,.seo-drawer__section li{margin:0 0 8px;font-size:11px;line-height:1.45}.seo-drawer__section ul{margin:0;padding-left:16px}.seo-drawer__link-list{flex-wrap:wrap;gap:8px;display:flex}.seo-drawer__link-list .shell-button{min-height:36px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes blink{0%,48%{opacity:1}49%,to{opacity:0}}@keyframes text-jitter{0%{text-shadow:.45px 0 1px #001eff59,-.45px 0 1px #ff005040,0 0 3px #9fffb0bf}to{text-shadow:-.45px 0 1px #001eff59,.45px 0 1px #ff005040,0 0 3px #9fffb0bf}}@keyframes noise-shift{0%{transform:translate(0)}25%{transform:translate(1px,-1px)}50%{transform:translate(-1px,1px)}75%{transform:translate(1px,1px)}to{transform:translate(0)}}@keyframes sweep{0%,78%{transform:translateY(-140px)}to{transform:translateY(140%)}}@media (max-width:640px){html,body{overflow:auto}.crt-stage{align-items:start;min-height:100svh;padding:66px 8px 164px}.pwa-toast{right:10px;bottom:calc(118px + env(safe-area-inset-bottom))}.analytics-consent{width:min(340px,100vw - 20px);top:110px;right:10px}.monitor{border-radius:18px;width:min(100%,96vw);padding:10px}.glass{height:clamp(360px,100svh - 290px,520px);min-height:0}.terminal{padding:14px 12px 18px;font-size:14px}.brand,.footer-hint{font-size:11px}.site-header,.site-footer{padding-left:10px;padding-right:10px}.site-header__inner,.site-footer__bar{flex-direction:column;align-items:flex-start}.site-footer__copy{display:none}.seo-drawer__panel{max-width:none;margin-left:0}.site-nav,.site-footer__nav{gap:8px;width:100%}.site-nav__home{margin-left:0}.shell-button,.seo-drawer__toggle{justify-content:center;align-items:center;min-height:44px;padding:10px 8px;font-size:11px;display:inline-flex}.site-footer{padding-bottom:calc(6px + env(safe-area-inset-bottom))}.site-footer__nav{grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:0;display:grid;overflow:visible}.seo-drawer__header{padding:6px 8px}.seo-drawer__title{white-space:nowrap;text-overflow:ellipsis;max-width:calc(100% - 132px);overflow:hidden}.seo-drawer__body[data-open=true]{max-height:min(45svh,360px)}.seo-drawer__grid{grid-template-columns:1fr}.noise,.scanlines,.vignette,.sweep{display:none}.site-header,.site-footer{-webkit-backdrop-filter:none;backdrop-filter:none}.terminal,.noise,.sweep{animation:none}}@media (max-height:500px){.site-footer{padding-bottom:calc(6px + env(safe-area-inset-bottom))}.site-footer__nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid;overflow:visible}.shell-button,.seo-drawer__toggle{min-height:38px;padding:8px}}@media (max-height:860px) and (min-width:641px){.crt-stage{padding-top:64px;padding-bottom:94px}.monitor{padding:12px}.glass{height:clamp(300px,100svh - 300px,560px)}.monitor-stand{height:30px}.monitor-base{height:10px;margin-top:6px}.site-header{padding-top:6px;padding-bottom:6px}.site-footer{padding-top:5px;padding-bottom:7px}.seo-drawer__body[data-open=true]{max-height:min(52svh,360px)}}.crt-page{color:var(--crt);scrollbar-width:thin;scrollbar-color:var(--crt-dim) transparent;width:100%;max-height:100%;padding:20px 24px 32px;font-family:Share Tech Mono,Courier New,monospace;overflow-y:auto}.crt-page h1{letter-spacing:.12em;color:var(--crt);text-transform:uppercase;margin:0 0 4px;font-size:15px;font-weight:400}.crt-page .crt-page__sub{color:var(--crt-dim);letter-spacing:.06em;margin-bottom:20px;font-size:11px}.crt-page .crt-sep{border:none;border-top:1px solid var(--bezel-mid);margin:16px 0}.crt-page h2{letter-spacing:.1em;color:var(--warn);text-transform:uppercase;margin:16px 0 6px;font-size:12px;font-weight:400}.crt-page p,.crt-page li{color:var(--crt-dim);margin:4px 0;font-size:13px;line-height:1.7}.crt-page ul{margin:6px 0 0 12px;padding:0;list-style:none}.crt-page ul li:before{content:"- ";color:var(--crt)}.crt-page a{color:var(--crt);text-decoration:underline;-webkit-text-decoration-color:var(--crt-dim);text-decoration-color:var(--crt-dim)}.crt-page a:hover{color:var(--warn)}.crt-form{flex-direction:column;gap:14px;max-width:480px;margin-top:16px;display:flex}.crt-form label{letter-spacing:.1em;color:var(--crt-dim);text-transform:uppercase;flex-direction:column;gap:5px;font-size:11px;display:flex}.crt-form input,.crt-form textarea{border:1px solid var(--bezel-mid);color:var(--crt);resize:vertical;background:0 0;border-radius:0;outline:none;width:100%;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .15s}.crt-form input:focus,.crt-form textarea:focus{border-color:var(--crt-dim)}.crt-form input::placeholder,.crt-form textarea::placeholder{color:var(--bezel-hi)}.crt-form__msg{padding:10px 0;font-size:13px}.crt-form__msg--ok{color:var(--crt)}.crt-form__msg--err{color:var(--danger)}
