:root{--screen-ink:#b8ff9d;--screen-hot:#e3ffd8;--screen-muted:#b8ff9dad;--screen-dim:#b8ff9d33;--screen-line:#b8ff9d6b;--screen-fill:#071c0a7a;--screen-fill-strong:#092a0ec7;--focus:#b8ff9d52}*{box-sizing:border-box}html,body{min-height:100%}body{color:var(--screen-ink);background:#fff;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,a{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.app-shell{background:#fff;min-height:100vh;position:relative;overflow:hidden}.app-shell-image{background:#fff url(/images/monitor-room-background.png) 50%/cover no-repeat}.app-shell-video{background:#fff}.background-video{z-index:0;object-fit:cover;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}.route-toggle{z-index:4;color:var(--screen-muted);background:#02080585;border:1px solid #b8ff9d42;align-items:center;gap:6px;padding:4px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;display:inline-flex;position:fixed;top:clamp(14px,2.2vh,24px);left:50%;transform:translate(-50%);box-shadow:0 0 18px #5dff7c14}.route-toggle-link{color:#b8ff9d8f;border:1px solid #0000;place-items:center;min-width:34px;min-height:28px;font-size:.82rem;font-weight:900;text-decoration:none;display:inline-grid}.route-toggle-link:hover,.route-toggle-link:focus-visible{color:var(--screen-hot);background:#b8ff9d14;outline:none}.route-toggle-link.active{color:var(--screen-hot);text-shadow:0 0 10px #5dff7c4d;background:#b8ff9d24;border-color:#b8ff9d52}.cat-scene-layer,.cat-scene-layer>div,.cat-scene-layer canvas{z-index:1;inset:0;pointer-events:none!important;width:100vw!important;height:100vh!important;position:fixed!important}.monitor-interface{z-index:2;place-items:center;width:min(63vw,1180px);height:min(38vh,390px);padding:clamp(16px,2.4vw,38px);display:grid;position:fixed;top:45%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.password-section{text-align:left;width:min(920px,100%);max-height:100%;box-shadow:none;filter:drop-shadow(0 0 16px #5dff7c14);background:0 0;border:0;border-radius:0;grid-template-columns:minmax(120px,.72fr) minmax(0,2.25fr) minmax(80px,.52fr);align-items:center;gap:clamp(12px,2vw,28px);padding:clamp(10px,1.7vw,20px);display:grid;overflow:hidden}.password-core{text-align:center;grid-template-rows:auto minmax(74px,1fr) auto;place-items:center;gap:clamp(8px,1.3vh,14px);min-width:0;height:100%;display:grid;overflow:hidden}.terminal-id{width:100%;color:var(--screen-muted);letter-spacing:0;text-align:left;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:clamp(.62rem,.9vw,.78rem);font-weight:800}.password-text{--password-font-size:clamp(.72rem, 3.222vw, 5.1rem);width:100%;max-width:100%;height:100%;color:var(--screen-ink);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:var(--password-font-size);letter-spacing:0;white-space:nowrap;overflow-wrap:normal;word-break:normal;text-wrap:nowrap;text-transform:uppercase;text-shadow:0 0 6px #b8ff9d7a,0 0 18px #40ff6947;justify-content:center;align-items:center;margin:0;line-height:1.08;display:flex;overflow:hidden}.password-text-medium,.password-text-long{font-size:var(--password-font-size)}.password-text-typing{color:#d3f5c5;text-shadow:0 0 5px #b8ff9d6b,0 0 14px #40ff693d}.password-text-typing:after{content:"";background:#d3f5c5d6;width:.12em;height:.72em;margin-left:.08em;animation:.62s step-end infinite terminal-caret;display:inline-block;box-shadow:0 0 10px #5dff7c3d}.password-actions{justify-content:center;align-items:center;gap:10px;min-height:36px;display:inline-flex}.strength-text,.control-note{color:var(--screen-muted);margin:0}.strength-text{text-transform:uppercase;letter-spacing:0;font-size:clamp(.68rem,1.1vw,.82rem);font-weight:800}.icon-button{width:34px;height:34px;color:var(--screen-ink);border:1px solid var(--screen-line);background:#0000001f;border-radius:2px;place-items:center;display:inline-grid;box-shadow:inset 0 0 0 1px #b8ff9d14,0 0 14px #5dff7c14}.icon-button:hover{background:var(--screen-fill-strong)}.character-menu{color:var(--screen-ink);border:0;gap:7px;margin:0;padding:0;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;display:grid}.character-menu legend{color:var(--screen-muted);letter-spacing:0;margin-bottom:8px;font-size:clamp(.66rem,.95vw,.78rem);font-weight:800}.character-row{color:#b8ff9d6b;grid-template-columns:16px 1fr;align-items:center;gap:6px;min-height:28px;font-size:clamp(.72rem,1.05vw,.96rem);font-weight:900;display:grid;position:relative}.character-row input{opacity:0;pointer-events:none;position:absolute}.character-caret{color:#0000;text-shadow:none}.character-row input:checked~.character-caret,.character-row input:checked~span:last-child{color:var(--screen-hot);text-shadow:0 0 10px #5dff7c52}.character-row input:focus-visible~span,.icon-button:focus-visible,.generate-button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.length-panel{height:min(230px,26vh);color:var(--screen-ink);grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:42px 30px;place-content:center end;gap:8px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;display:grid}.range-control{color:var(--screen-muted);font-size:clamp(.66rem,.95vw,.78rem);font-weight:800;display:contents}.range-control>span{grid-area:1/1/auto/-1;justify-self:end}.range-control strong{color:var(--screen-hot);grid-area:3/2;justify-self:center}input[type=range]{width:100%;accent-color:var(--screen-ink)}.length-scale{height:100%;color:var(--screen-muted);border-right:1px solid var(--screen-line);flex-direction:column;grid-area:2/1;justify-content:space-between;align-items:flex-end;padding:0;font-size:clamp(.62rem,.9vw,.76rem);font-weight:800;display:flex}.length-scale span{padding-right:10px;position:relative}.length-scale span:before{content:"";background:var(--screen-line);width:8px;height:1px;position:absolute;top:50%;right:0}.length-slider{--length-percent:25%;grid-area:2/2;place-items:center;width:30px;height:100%;min-height:176px;display:grid;position:relative}.length-slider input[type=range]{z-index:2;appearance:none;opacity:0;cursor:pointer;writing-mode:vertical-lr;direction:rtl;width:100%;height:100%;margin:0;position:absolute;inset:0}.length-track{background:linear-gradient(#afe1916b,#78ac623d 48%,#48704229);border-radius:0;width:10px;position:absolute;top:0;bottom:0;left:50%;overflow:visible;transform:translate(-50%);box-shadow:0 0 0 1px #b8ff9d0d,0 0 10px #5dff7c0d}.length-fill{height:var(--length-percent);background:linear-gradient(#92cc7657,#5a984e61);position:absolute;bottom:0;left:0;right:0;box-shadow:0 0 10px #5dff7c1f}.length-thumb{left:50%;bottom:var(--length-percent);background:#9dd484;border-radius:0;width:30px;height:5px;position:absolute;transform:translate(-50%,50%);box-shadow:0 0 10px #5dff7c33}.control-note{font-size:.78rem;font-weight:800}.generate-button{min-height:34px;color:var(--screen-hot);border:1px solid var(--screen-line);text-transform:uppercase;background:linear-gradient(#b8ff9d33,#0c361242),#00000029;border-radius:2px;justify-content:center;align-items:center;gap:8px;font-size:clamp(.78rem,1.25vw,.92rem);font-weight:900;display:inline-flex;box-shadow:inset 0 0 16px #b8ff9d1f,0 0 16px #5dff7c1f}.generate-button:hover{background:linear-gradient(#b8ff9d52,#0c361257),#0003}.generate-button:disabled{opacity:.45}@keyframes terminal-caret{50%{opacity:0}}.scene-fallback{z-index:1;color:#ffffffb8;place-items:end center;padding-bottom:12vh;display:grid;position:fixed;inset:0}@media (max-aspect-ratio:4/3){.monitor-interface{width:min(88vw,880px);height:min(38vh,380px);top:43%}}@media (max-width:680px){.monitor-interface{width:92vw;height:min(35vh,310px);padding:10px;top:41%}.password-section{text-align:center;grid-template-columns:1fr;gap:8px;padding:10px}.password-text{font-size:clamp(1rem,6vw,1.85rem)}.character-menu{grid-template-columns:repeat(2,minmax(0,1fr));width:min(320px,100%)}.character-menu legend{grid-column:1/-1}.length-panel{grid-template-rows:auto auto auto;grid-template-columns:1fr;justify-content:stretch;justify-items:center;width:min(320px,100%);height:auto}.range-control>span{grid-area:1/1;justify-self:center}.length-slider{grid-area:2/1;min-height:86px}.range-control strong{grid-area:3/1}.length-scale{display:none}}
