:root{--bg: #f6f7f9;--surface: #ffffff;--text: #1b2430;--text-muted: #6b7686;--accent: #2563c4;--accent-hover: #1a4c96;--on-accent: #ffffff;--accent-soft: #eaf1fc;--accent-soft-line: #bfd4f4;--error: #c2342c;--error-soft: #fdf4f3;--error-soft-line: #ebc5c1;--line: #e1e5eb;--control-line: #d0d6de;--env-mark: #7a5fc0;--env-mark-light: #a88fe8;--env-mark-soft: #efeafb;--env-mark-soft-line: #d8cdf5;--env-mark-text: #6a4fb8;--env-stripe: 0px;--radius: 6px;--radius-card: 8px;--gutter: 32px;font-family:Golos Text,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;color-scheme:light}*{box-sizing:border-box}:root.env-marked{--env-stripe: 6px}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text)}.env-stripe{position:fixed;top:0;left:0;right:0;height:var(--env-stripe);z-index:300;background:repeating-linear-gradient(135deg,var(--env-mark) 0 7px,var(--env-mark-light) 7px 14px)}.env-badge{background:var(--env-mark-soft);color:var(--env-mark-text);border:1px solid var(--env-mark-soft-line);border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;flex-shrink:0}.booting,.failed,.pairing{min-height:100%;padding:calc(var(--env-stripe) + 48px) var(--gutter) 48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center}.booting p,.failed p,.pairing p{margin:0}.pairing h1{margin:0;font-size:28px}.lead{font-size:17px;color:var(--text-muted);max-width:34rem;line-height:1.5}.muted{color:var(--text-muted)}.hint{font-size:15px;color:var(--text-muted)}.failure{font-size:15px;color:var(--error)}.pairing form{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.pairing input{width:12ch;padding:14px 16px;border:1px solid var(--control-line);border-radius:var(--radius-card);background:var(--surface);color:var(--text);font:inherit;font-size:28px;font-weight:700;letter-spacing:.22em;text-align:center;text-transform:uppercase}.pairing input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.pairing input::placeholder{color:#c3cbd6;font-weight:400;letter-spacing:.22em}button{min-height:56px;padding:0 24px;border:1px solid var(--control-line);border-radius:var(--radius-card);background:var(--surface);color:var(--text);font:inherit;font-size:17px;font-weight:600;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button:disabled{opacity:.5;cursor:default}button.primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.terminal{min-height:100%;padding-top:var(--env-stripe);display:flex;flex-direction:column}.terminal .strip{display:flex;align-items:center;gap:16px;height:60px;flex-shrink:0;padding:0 var(--gutter);background:var(--surface);border-bottom:1px solid var(--line);font-size:15px}.terminal .body{flex:1;padding:18px var(--gutter) var(--gutter);display:flex;flex-direction:column;gap:18px}.terminal h1{margin:0;font-size:26px}.terminal h2{margin:0;font-size:15px;color:var(--text-muted);font-weight:600}.terminal .nothing{font-size:15px;color:var(--text-muted);max-width:46rem;line-height:1.55}.terminal p{margin:0}.terminal .strip .aside{margin-left:auto;display:flex;align-items:center;gap:16px;min-width:0}.terminal .strip .who{position:relative;display:flex;align-items:baseline;gap:8px;height:36px;line-height:36px}.terminal .strip .who .label{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.terminal .strip .who strong{font-size:15px;max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terminal .strip .who .going{font-size:12.5px;font-weight:600;color:#b26b00;white-space:nowrap}.terminal .strip .who .going-bar{position:absolute;left:0;right:0;bottom:2px;height:3px;border-radius:2px;background:#fbf3e8;overflow:hidden}.terminal .strip .who .going-bar i{display:block;height:100%;background:#b26b00}button.quiet{min-height:36px;padding:0 8px;border-color:transparent;background:none;color:var(--accent);font-size:14px}button.quiet:hover:not(:disabled){background:none;text-decoration:underline;border-color:transparent}.terminal .failure-note{display:flex;flex-direction:column;gap:10px;padding:16px 20px;border:1px solid var(--error-soft-line);border-radius:var(--radius-card);background:var(--error-soft);font-size:15px}.terminal .failure-note .hint{font-size:14px;color:var(--text-muted)}.terminal .failure-note .actions{display:flex;gap:12px;flex-wrap:wrap}.terminal .pin{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.terminal .pin input{width:8ch;padding:14px 16px;border:1px solid var(--control-line);border-radius:var(--radius-card);background:var(--surface);font:inherit;font-size:32px;font-weight:700;letter-spacing:.3em;text-align:center}.terminal .pin input:focus{border-color:var(--accent);outline:none}.terminal .pin p.wrong{color:var(--error);font-size:15px}.terminal .tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}.terminal .tile{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;min-height:124px;padding:20px;background:var(--surface);border:1px solid var(--control-line);border-radius:14px;color:var(--text);text-align:left}.terminal .tile:hover{border-color:var(--accent);background:var(--accent-soft)}.terminal .tile:active{border-color:var(--accent);background:var(--accent-soft-line)}.terminal .tile .name{font-size:19px;font-weight:700;line-height:1.3}.terminal .tile .term{font-size:13.5px;color:var(--text-muted)}.terminal .tile svg{width:26px;height:26px}.terminal .tile .mark.big{width:42px;height:42px}.terminal .tiles.staff .tile,.terminal .tiles.conditions .tile{align-items:center;justify-content:center;text-align:center;min-height:176px}.terminal .ask-pin{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.terminal .ask-pin input{width:200px;padding:14px 20px;font:700 32px/1 ui-monospace,SF Mono,Menlo,monospace;letter-spacing:12px;text-align:center;border:1px solid var(--control-line);border-radius:14px;background:var(--surface);color:var(--text)}.terminal .ask-pin input:focus{border-color:var(--accent);outline:none}.terminal .ask-pin input.wrong{border-color:var(--error)}.terminal .ask-pin p.wrong{margin:0;color:var(--error)}.terminal .tiles.conditions .tile svg{width:46px;height:46px}.terminal .face{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;font-size:20px;font-weight:700;color:#10151b}.terminal .crumb{display:flex;align-items:baseline;gap:10px;align-self:flex-start;padding:8px 14px 8px 10px;background:none;border:1px solid transparent;border-radius:10px}.terminal .crumb:hover{border-color:var(--control-line);background:var(--surface)}.terminal .crumb .name{font-size:20px;font-weight:700}.terminal .crumb .trailing{font-size:15px;color:var(--text-muted)}.terminal .printing{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.terminal .printing .hint{font-size:14px;color:var(--text-muted)}.terminal .printed{display:flex;flex-direction:column;gap:16px;max-width:520px}.terminal .printed p{margin:0}.terminal .printed .card{display:flex;flex-direction:column;gap:10px;padding:22px 24px 24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card)}.terminal .printed .card h1{font-size:24px;line-height:1.2}.terminal .printed .badge{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--text-muted)}.terminal .printed .badge svg{width:22px;height:22px}.terminal .printed .label{margin-top:6px;padding-top:16px;border-top:1px solid var(--row-line);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.terminal .printed .deadline{font-size:40px;font-weight:700;line-height:1.05;letter-spacing:-.02em}.terminal .printed .hint{margin-top:4px;font-size:14px;color:var(--text-muted)}.terminal .printed .dropped{font-size:14px;font-weight:600;color:var(--warning)}.terminal .printed .actions{display:flex;gap:12px}.terminal .printed .actions button{min-width:170px;padding:14px 20px;font-size:16px}.terminal .roll{align-self:flex-start;display:flex;align-items:center;gap:10px;min-height:44px;padding:0 14px;font-size:15px;font-weight:400}.terminal .roll .label{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.terminal .roll strong{font-weight:700}.terminal .roll-choice{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.terminal .roll-choice .tiles.sizes{align-self:stretch}.terminal .tiles.sizes .tile{align-items:center;justify-content:center;min-height:124px}.terminal .tiles.sizes .tile.chosen{border-color:var(--accent);background:var(--accent-soft)}
