:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,sans-serif;background:#09131b;color:#e8f3ee}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 14%,#17394a 0,#09131b 55%)}.shell{max-width:820px;margin:auto;padding:30px 22px}header{display:flex;align-items:center;gap:13px;padding-bottom:24px;border-bottom:1px solid #2a414b}h1{font-size:22px;margin:0}header p{margin:5px 0 0;color:#a3b4b7;font-size:12px}.logo{background:#57e1b7;color:#083629;padding:10px;border-radius:13px;font-size:22px}.status{margin-left:auto;border:1px solid #3f6059;border-radius:20px;padding:7px 12px;color:#a2dbc8;font-size:12px}.panel{margin:45px auto;padding:28px;background:#14232d;border:1px solid #2b4550;border-radius:22px;max-width:500px}.panel p{line-height:1.5;color:#afc2c8}.panel label{display:block;margin:20px 0 12px}input{background:#0d1922;color:white;border:1px solid #37515b;padding:13px;border-radius:10px;width:100%;margin-top:8px}button{border:0;border-radius:30px;padding:13px 18px;cursor:pointer;font-weight:650;background:#7ce5ba;color:#092a22}button:disabled{opacity:.45;cursor:not-allowed}.error{color:#ff9f9f}.center{text-align:center;padding:70px 0 40px}.orb{width:min(80vw,330px);height:220px;margin:auto;border-radius:50%;background:radial-gradient(ellipse,#1d7468 0,#163e50 37%,transparent 68%);display:grid;place-items:center;filter:drop-shadow(0 0 24px #236d7366)}.orb svg{width:90%}.orb.active{animation:pulse 1.8s infinite alternate}@keyframes pulse{from{transform:scale(.97)}to{transform:scale(1.05)}}.controls{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.secondary{background:#314550;color:white}.quiet{background:none;color:#abbfc2}#stage{font-size:19px;margin:0 0 28px}.hint{font-size:12px;color:#849ba3;max-width:440px;margin:23px auto;line-height:1.6}details{border:1px solid #2c4350;border-radius:16px;padding:16px;background:#101e28}summary{cursor:pointer}#log{margin:12px 0;max-height:250px;overflow:auto;font-size:14px;white-space:pre-wrap;line-height:1.5;color:#b6cfcb}#log div{margin:12px 0}#textForm{display:flex;gap:8px}#textForm input{margin:0}footer{text-align:center;color:#607b83;font-size:12px;padding-top:28px}

.modelPicker {display:flex;align-items:center;justify-content:center;gap:12px;margin:12px auto 16px;flex-wrap:wrap}
.modelPicker label{font-size:13px;color:#b7ceca}
.modelPicker select{background:#182b31;color:#e5f7f1;border:1px solid #43675f;border-radius:10px;padding:10px;max-width:95%}
