*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background-color:var(--surface-base);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-weight-regular);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-synthesis:none;scrollbar-width:thin;scrollbar-color:var(--border-strong) var(--surface-base)}[data-thot-canvas]{min-height:100dvh}[data-thot-canvas=lock]{height:100dvh}h1,h2,h3,h4{font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);margin:0}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}h4{font-size:var(--text-base)}code,kbd,samp,pre{font-family:var(--font-mono);font-size:var(--text-sm)}::selection{background-color:var(--status-live);color:var(--surface-inset)}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:2px}button,[role=button],input:not([type=hidden]),select,textarea,a:not(p a){min-height:var(--target-min)}button,[role=button]{padding-inline:var(--space-4);padding-block:var(--space-2);border-radius:var(--radius-md);border-width:var(--border-hairline);border-style:solid;border-color:var(--border-strong);background-color:var(--surface-overlay);color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-wide);line-height:var(--leading-snug);cursor:pointer;transition-property:background-color,border-color,color;transition-duration:var(--motion-fast)}button:hover:not(:disabled),[role=button]:hover{background-color:var(--surface-raised);border-color:var(--border-strong);color:var(--text-primary)}button:disabled{cursor:not-allowed;background-color:var(--surface-raised);border-color:var(--border-subtle);color:var(--text-muted)}button[type=submit]:not(:disabled){background-color:var(--accent);border-color:var(--accent);color:var(--accent-contrast);font-weight:var(--font-weight-bold)}button[type=submit]:not(:disabled):hover{background-image:var(--gradient-signal)}input:not([type=hidden]),select,textarea{width:100%;padding-inline:var(--space-3);padding-block:var(--space-2);border-radius:var(--radius-md);border-width:var(--border-hairline);border-style:solid;border-color:var(--border-strong);background-color:var(--surface-inset);color:var(--text-primary);font-family:inherit;font-size:var(--text-base);line-height:var(--leading-snug)}input[inputmode=numeric],input[type=tel],input[name*=code],input[name*=ssid]{font-family:var(--font-mono);letter-spacing:var(--tracking-wide)}textarea{resize:vertical;min-height:var(--space-16)}::placeholder{color:var(--text-muted);opacity:1}label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-secondary)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}a{color:var(--status-info);text-decoration-thickness:var(--border-hairline)}@keyframes thot-rise{0%{opacity:0;transform:translateY(var(--space-2))}to{opacity:1;transform:none}}@keyframes thot-pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
