/* Shared console language. Scoped to explicit classes; the portal scene is untouched. */
:root { --console-bg:#06090d; --console-surface:#0b1017; --console-surface-raised:#111923; --console-line:#28323f; --console-line-soft:#19222d; --console-text:#dce3ed; --console-muted:#8796a8; --console-dim:#768397; --console-silver:#c8d4e2; --console-warm:#d7b989; --console-danger:#cf8f84; --console-radius:3px; --console-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
.console-shell { margin:0; min-width:300px; background:var(--console-bg); color:var(--console-text); font-family:Arial,'Apple SD Gothic Neo','Noto Sans KR',sans-serif; font-size:13px; line-height:1.6; color-scheme:dark; }
.console-shell *, .console-shell *::before, .console-shell *::after { box-sizing:border-box; }
.console-shell [hidden] { display:none!important; }
:where(.console-shell) a { color:inherit; }
:where(.console-shell) button,:where(.console-shell) input,:where(.console-shell) textarea,:where(.console-shell) select { font:inherit; }
.console-shell button,.console-shell a,.console-shell input,.console-shell select,.console-shell textarea { -webkit-tap-highlight-color:transparent; }
.console-shell :focus-visible { outline:2px solid var(--console-warm); outline-offset:4px; }
.console-label { margin:0; color:var(--console-muted); font:10px/1.5 var(--console-mono); letter-spacing:.12em; }
.console-heading { margin:0; color:var(--console-text); font-size:15px; font-weight:500; letter-spacing:-.025em; }
.console-panel { border:1px solid var(--console-line); background:var(--console-surface); border-radius:var(--console-radius); }
.console-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:36px; padding:7px 13px; border:1px solid var(--console-line); border-radius:var(--console-radius); background:transparent; color:var(--console-text); text-decoration:none; cursor:pointer; font-size:12px; line-height:1.5; }
.console-button:hover { border-color:var(--console-silver); background:#c8d4e208; }
.console-button:disabled { opacity:.45; cursor:wait; }
.console-button[data-primary] { background:var(--console-silver); border-color:var(--console-silver); color:#0b1017; }
.console-button[data-primary]:hover { background:#e1e9f1; }
.console-button[data-danger] { color:var(--console-danger); }
.console-input { width:100%; min-height:38px; border:1px solid var(--console-line); border-radius:var(--console-radius); background:var(--console-bg); color:var(--console-text); padding:8px 10px; }
.console-input::placeholder { color:var(--console-dim); }
.console-status { color:var(--console-muted); font-size:12px; }
.console-status[data-tone="error"] { color:var(--console-danger); }
.console-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.console-skip { position:fixed; z-index:100; top:8px; left:8px; padding:10px 16px; background:var(--console-silver); color:#06090d!important; transform:translateY(-160%); }
.console-skip:focus { transform:none; }
@media (max-width:700px) { .console-button { min-height:44px; }.console-input { min-height:44px; font-size:16px; } }
@media (prefers-reduced-motion:reduce) { .console-shell *, .console-shell *::before,.console-shell *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
