.cipher-room{--cipher-brass:var(--kt-accent-hi);--cipher-copper:var(--kt-copper);min-height:100dvh;color:var(--kt-ink);background:radial-gradient(circle at 76% 12%, color-mix(in srgb, var(--kt-accent) 10%, transparent), transparent 30rem), linear-gradient(115deg, var(--kt-well) 0 46%, color-mix(in srgb, var(--kt-surface) 80%, var(--kt-well)) 100%);position:relative;overflow-x:hidden}.cipher-room:before{content:"";pointer-events:none;opacity:.22;background:repeating-linear-gradient(90deg, transparent 0 47px, var(--kt-line-faint) 48px 49px), repeating-linear-gradient(0deg, transparent 0 47px, var(--kt-line-faint) 48px 49px);position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 72%);mask-image:linear-gradient(#000,#0000 72%)}.cipher-session-root,.siege-shell{z-index:2;position:relative}.cipher-session-root{flex-direction:column}.cipher-machine{aspect-ratio:1;pointer-events:none;opacity:.34;z-index:0;width:clamp(180px,24vw,360px);position:fixed;top:clamp(72px,11vh,140px);right:clamp(-110px,-4vw,-28px)}.cipher-flywheel{border:clamp(12px, 1.5vw, 22px) double var(--kt-line-strong);box-shadow:inset 0 0 0 8px var(--kt-well), inset 0 0 0 10px var(--kt-copper), 0 0 42px var(--kt-shadow);border-radius:50%;animation:14s linear infinite cipher-wheel;position:absolute;inset:12%}.cipher-flywheel:before,.cipher-flywheel:after{content:"";background:var(--kt-line-strong);width:112%;height:8px;box-shadow:0 0 0 1px var(--kt-well);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(36deg)}.cipher-flywheel:after{transform:translate(-50%,-50%)rotate(126deg)}.cipher-belt{border-top:4px solid var(--kt-line-strong);border-bottom:4px solid var(--kt-line-strong);width:122%;height:28%;position:absolute;top:36%;left:-28%;transform:rotate(-12deg)}.cipher-pressure-gauge{aspect-ratio:1;border:3px solid var(--kt-copper);background:var(--kt-well);border-radius:50%;width:26%;position:absolute;top:10%;left:-12%}.cipher-pressure-gauge:after{content:"";background:var(--kt-accent-hi);transform-origin:bottom;width:2px;height:34%;position:absolute;bottom:50%;left:50%;transform:rotate(38deg)}.cipher-phase-baseline .cipher-flywheel,.cipher-phase-baseline .cipher-pressure-gauge:after,.cipher-phase-relay .cipher-flywheel,.cipher-phase-relay .cipher-pressure-gauge:after,.cipher-reduced .cipher-flywheel,.cipher-reduced .cipher-pressure-gauge:after{animation:none}@keyframes cipher-wheel{to{transform:rotate(1turn)}}.cipher-rail{width:min(920px,100% - 48px);font:700 13.5px/1.2 var(--font-mono), monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--kt-ink-faint);align-items:center;gap:8px;margin:0 auto;padding-top:20px;display:flex}.cipher-rail>span{border:1px solid var(--kt-line);border-radius:999px;align-items:center;min-height:32px;padding:0 12px;display:inline-flex}.cipher-rail>span.is-active{color:var(--kt-on-accent);border-color:var(--kt-accent-hi);background:var(--kt-value-surface)}.cipher-rail>span.is-done{color:var(--kt-positive)}.cipher-authority-label{color:var(--kt-ink-muted);text-align:right;margin-left:auto}.cipher-station-head{justify-content:space-between;align-items:flex-start;gap:24px;width:min(720px,100%);display:flex}.cipher-form-stamp{border:1px solid var(--kt-copper);color:var(--kt-ink-muted);font:700 13.5px/1.45 var(--font-mono), monospace;letter-spacing:.1em;text-align:right;text-transform:uppercase;flex:none;padding:10px 14px;transform:rotate(1.5deg)}.cipher-form-stamp strong{color:var(--kt-accent-hi);font-size:16px}.cipher-baseline{flex-direction:column;align-items:center;gap:18px;width:min(720px,100%);margin:0 auto;padding:clamp(36px,7vh,80px) 20px;display:flex}.cipher-context-note{max-width:62ch;color:var(--kt-ink-muted);margin:0;font-size:14px;line-height:1.6}.cipher-motor-target{border:1px solid var(--kt-line-strong);background:linear-gradient(var(--kt-surface-glass), var(--kt-surface-glass)), repeating-linear-gradient(90deg, transparent 0 23px, var(--kt-line-faint) 24px);width:min(300px,100%);min-height:176px;box-shadow:inset 0 0 32px var(--kt-well-shadow);border-radius:10px;align-content:center;place-items:center;gap:8px;display:grid}.cipher-motor-target span,.siege-panel-label{color:var(--kt-ink-faint);font:700 13.5px/1.2 var(--font-mono), monospace;letter-spacing:.13em;text-transform:uppercase}.cipher-motor-target strong{color:var(--kt-value-ink);font:700 72px/1 var(--font-mono), monospace}.cipher-relay-board{flex-direction:column;align-items:center;gap:14px;width:min(600px,100%);margin:0 auto;display:flex}.cipher-relay-stimulus{border:1px solid var(--kt-line-strong);background:linear-gradient(135deg, var(--kt-surface-raised), var(--kt-well));width:100%;min-height:194px;box-shadow:inset 0 0 0 5px var(--kt-line-faint), inset 0 0 42px var(--kt-well-shadow);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;padding:30px 20px 22px;display:flex;position:relative;overflow:hidden}.cipher-stimulus-caption,.cipher-control-note{color:var(--kt-ink-faint);font:600 13.5px/1.4 var(--font-mono), monospace;letter-spacing:.1em;text-transform:uppercase;text-align:center}.cipher-item-drain{background:var(--kt-ink-muted);opacity:.58;width:100%;height:2px;position:absolute;top:0;left:0}.cipher-key{border:1px solid var(--kt-copper);background:color-mix(in srgb, var(--kt-accent) 8%, var(--kt-well));border-radius:8px;grid-template-columns:repeat(9,minmax(0,1fr));gap:5px;width:100%;padding:7px;display:grid}.cipher-key-cell{border:1px solid var(--kt-line);background:var(--kt-surface-raised);border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:62px;display:flex}.cipher-key-digit{color:var(--kt-accent-hi);font:700 14px/1 var(--font-mono), monospace}.cipher-pad-key:hover:not(:disabled),.cipher-pad-key:focus-visible,.siege-append-pad button:hover:not(:disabled),.siege-append-pad button:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--kt-accent) 24%, transparent);outline:none;border-color:var(--kt-accent-hi)!important}.cipher-results{text-align:center;width:min(820px,100%);margin:0 auto;padding:30px 0 56px}.cipher-result-score{border-block:1px solid var(--kt-copper);flex-direction:column;gap:7px;width:min(420px,100% - 24px);margin:22px auto 8px;padding:20px;display:flex}.cipher-result-score strong{color:var(--kt-accent-hi);font:600 clamp(58px, 11vw, 92px)/.86 var(--font-display), serif}.cipher-result-score span{color:var(--kt-ink-muted);font:700 13.5px/1.5 var(--font-mono), monospace;letter-spacing:.07em;text-transform:uppercase}.cipher-results>.cipher-context-note{width:min(68ch,100% - 32px);margin:20px auto 0}.cipher-result-actions{justify-content:center;margin-top:22px}.cipher-tape{width:min(760px,100% - 24px);color:var(--kt-on-accent);background:repeating-linear-gradient(0deg, transparent 0 27px, color-mix(in srgb, var(--kt-value-ink) 7%, transparent) 28px), var(--kt-value-surface);border:1px solid var(--kt-accent-hi);box-shadow:0 18px 44px var(--kt-shadow);margin:26px auto 10px;padding:26px clamp(18px,4vw,40px) 28px;position:relative;transform:rotate(-.2deg)}.cipher-tape-feed{color:var(--kt-well);font:16px/1 var(--font-mono), monospace;letter-spacing:.56em;white-space:nowrap;position:absolute;inset:-8px 0 auto;overflow:hidden}.cipher-tape .ks-eyebrow{color:var(--kt-on-accent);opacity:.68}.cipher-tape-head{border-bottom:2px solid color-mix(in srgb, var(--kt-value-ink) 24%, transparent);justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:16px;display:flex}.cipher-tape-head h2{font:600 clamp(28px, 5vw, 44px)/.95 var(--font-display), serif;margin:4px 0 0}.cipher-tape-form{font:700 13px/1.5 var(--font-mono), monospace;letter-spacing:.08em;text-align:right;text-transform:uppercase}.cipher-tape-grid{border-left:1px solid color-mix(in srgb, var(--kt-value-ink) 20%, transparent);border-top:1px solid color-mix(in srgb, var(--kt-value-ink) 20%, transparent);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px;display:grid}.cipher-tape-row{border-right:1px solid color-mix(in srgb, var(--kt-value-ink) 20%, transparent);border-bottom:1px solid color-mix(in srgb, var(--kt-value-ink) 20%, transparent);flex-direction:column;min-height:118px;padding:14px;display:flex}.cipher-tape-row span,.cipher-tape-context span{font:700 13px/1.3 var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;opacity:.68}.cipher-tape-row strong{font:700 22px/1 var(--font-mono), monospace;margin-top:auto}.cipher-tape-row small{font-family:var(--font-mono), monospace;opacity:.72;margin-top:8px;font-size:13.5px;line-height:1.4}.cipher-tape-context{grid-template-columns:1fr 1fr;gap:20px;margin-top:18px;display:grid}.cipher-tape-context>div{flex-direction:column;gap:5px;display:flex}.cipher-tape-context strong{font:700 14.5px/1.45 var(--font-mono), monospace}.cipher-tape-caveat{border-top:1px solid color-mix(in srgb, var(--kt-value-ink) 20%, transparent);font-family:var(--font-mono), monospace;margin:20px 0 0;padding-top:14px;font-size:15.5px;line-height:1.6}.cipher-count-mechanism{margin-bottom:18px}.siege-room{min-height:100dvh;padding:44px 24px 64px}.siege-shell{width:min(1060px,100%);margin:0 auto}.siege-gate-card{border:1px solid var(--kt-copper);background:linear-gradient(145deg, var(--kt-surface-raised), var(--kt-well));width:min(680px,100% - 40px);box-shadow:0 24px 80px var(--kt-shadow);border-radius:12px;margin:clamp(80px,14vh,160px) auto;padding:clamp(28px,5vw,52px)}.siege-gate-card h1,.siege-header h1{font:600 clamp(36px, 7vw, 72px)/.94 var(--font-display), serif;margin:8px 0 12px}.siege-gate-card p,.siege-header p,.siege-panel p{color:var(--kt-ink-muted);line-height:1.65}.siege-gate-badges{flex-wrap:wrap;gap:7px;margin:20px 0;display:flex}.siege-gate-badges span{border:1px solid var(--kt-line-strong);min-height:28px;color:var(--kt-accent-hi);font:700 13px/1 var(--font-mono), monospace;letter-spacing:.09em;border-radius:999px;align-items:center;padding:0 9px;display:inline-flex}.siege-entry-actions{grid-template-columns:auto 1fr;align-items:end;gap:18px;margin-top:28px;display:grid}.siege-join{grid-template-columns:1fr auto;gap:8px;display:grid}.siege-join label{color:var(--kt-ink-faint);font:700 13px/1 var(--font-mono), monospace;letter-spacing:.1em;text-transform:uppercase;grid-column:1/-1}.siege-join input{border:1px solid var(--kt-line-strong);background:var(--kt-well);min-height:46px;color:var(--kt-ink);font:700 18px/1 var(--font-mono), monospace;letter-spacing:.18em;text-align:center;text-transform:uppercase;border-radius:7px}.siege-error{border:1px solid var(--kt-negative);width:min(760px,100%);color:var(--kt-negative);background:color-mix(in srgb, var(--kt-negative) 9%, var(--kt-well));font-family:var(--font-mono), monospace;border-radius:7px;margin:18px auto;padding:12px 14px;font-size:15.5px}.siege-header{border-bottom:1px solid var(--kt-line);justify-content:space-between;align-items:flex-start;gap:30px;padding:24px 0 18px;display:flex}.siege-header .siege-gate-badges{justify-content:flex-end}.siege-scoreboard{grid-template-columns:1fr 1fr auto;gap:10px;margin:16px 0;display:grid}.siege-scoreboard>div{border:1px solid var(--kt-line);background:var(--kt-surface-glass);border-radius:8px;grid-template-columns:1fr auto;min-height:84px;padding:13px 16px;display:grid}.siege-scoreboard>div.is-you{border-color:var(--kt-accent-hi)}.siege-scoreboard span,.siege-scoreboard small{color:var(--kt-ink-muted);font:600 13.5px/1.4 var(--font-mono), monospace}.siege-scoreboard strong{color:var(--kt-value-ink);font:700 30px/1 var(--font-mono), monospace}.siege-scoreboard small{grid-column:1/-1;align-self:end}.siege-role-order{align-content:center;min-width:150px}.siege-role-order strong{color:var(--kt-accent-hi);grid-column:1/-1;margin-top:8px;font-size:16px}.siege-key-panel,.siege-panel,.siege-workbench{border:1px solid var(--kt-line-strong);background:linear-gradient(145deg, var(--kt-surface-glass), var(--kt-well));box-shadow:inset 0 0 34px var(--kt-well-shadow);border-radius:10px;margin-top:14px;padding:clamp(18px,3vw,30px)}.siege-key-grid{grid-template-columns:repeat(6,minmax(58px,1fr));gap:7px;margin-top:12px;display:grid}.siege-key-cell{border:1px solid var(--kt-copper);background:var(--kt-surface-raised);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:64px;display:flex}.siege-key-cell strong{color:var(--kt-accent-hi);font:700 14px/1 var(--font-mono), monospace}.siege-workbench h2,.siege-panel h2{font:600 clamp(30px, 5vw, 52px)/1 var(--font-display), serif;margin:8px 0 10px}.siege-waiting{text-align:center;align-content:center;place-items:center;min-height:260px;display:grid}.siege-room-code{color:var(--kt-accent-hi);font:700 clamp(36px, 8vw, 72px)/1 var(--font-mono), monospace;letter-spacing:.12em;margin:18px 0}.siege-menu{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:20px 0;display:grid}.siege-menu button{border:1px solid var(--kt-line);background:var(--kt-surface-raised);min-height:112px;color:var(--kt-ink);text-align:left;border-radius:8px;flex-direction:column;justify-content:center;align-items:flex-start;padding:14px;display:flex}.siege-menu button.is-selected{border-color:var(--kt-accent-hi);box-shadow:inset 0 0 0 1px var(--kt-accent-hi)}.siege-menu span,.siege-menu small,.siege-transform-rule span,.siege-transform-rule small,.siege-break-brief span{color:var(--kt-ink-faint);font:600 13px/1.4 var(--font-mono), monospace;letter-spacing:.07em;text-transform:uppercase}.siege-menu strong{color:var(--kt-value-ink);font:700 18px/1 var(--font-mono), monospace;margin:6px 0}.siege-transform-rule,.siege-break-brief{border-left:3px solid var(--kt-copper);background:var(--kt-surface-glass);align-items:baseline;gap:14px;padding:13px 16px;display:flex}.siege-transform-rule small{margin-left:auto}.siege-compose-grid{grid-template-columns:1fr 1fr;gap:14px;margin:16px 0 20px;display:grid}.siege-compose-grid>div,.siege-break-answer,.siege-packet-reel{border:1px solid var(--kt-line);background:var(--kt-well);border-radius:8px;padding:16px}.siege-sequence{align-items:center;gap:6px;min-height:60px;margin:10px 0;display:flex;overflow-x:auto}.siege-sequence-cell,.siege-empty-slot{border:1px solid var(--kt-copper);background:var(--kt-surface-raised);min-height:48px;color:var(--kt-value-ink);font:700 17px/1 var(--font-mono), monospace;border-radius:6px;flex:0 0 48px;place-items:center;display:grid}.siege-empty-slot{color:var(--kt-ink-faint);text-transform:uppercase;border-style:dashed;flex-basis:auto;padding:0 14px;font-size:13px}.siege-append-pad{grid-template-columns:repeat(6,minmax(44px,1fr));gap:5px;display:grid}.siege-append-pad button{border:1px solid var(--kt-line-strong);background:var(--kt-surface-raised);min-width:44px;min-height:46px;color:var(--kt-ink);font:700 15px/1 var(--font-mono), monospace;border-radius:6px;place-items:center;display:grid}.siege-undo{min-height:44px;color:var(--kt-ink-muted);text-underline-offset:3px;background:0 0;border:0;margin-top:7px;padding:0 4px;text-decoration:underline}.siege-break-brief{grid-template-columns:1fr 1fr;margin:16px 0;display:grid}.siege-break-brief>div{flex-direction:column;gap:5px;display:flex}.siege-break-brief strong{color:var(--kt-value-ink);font:700 16px/1.2 var(--font-mono), monospace}.siege-packet-reel{border-color:var(--kt-copper);margin-bottom:14px}.siege-confirm{border:1px solid var(--kt-crimson);background:color-mix(in srgb, var(--kt-crimson) 8%, var(--kt-well));border-radius:8px;margin-top:16px;padding:16px}.siege-confirm>div{gap:8px;display:flex}.siege-reveal{text-align:center;border-color:var(--kt-accent-hi)}.siege-reveal-award{border-top:1px solid var(--kt-copper);border-bottom:1px solid var(--kt-copper);justify-content:space-between;align-items:center;width:min(280px,100%);margin:24px auto;padding:18px;display:flex}.siege-reveal-award strong{font:600 28px/1 var(--font-display), serif}.siege-reveal-award span{color:var(--kt-accent-hi);font:700 32px/1 var(--font-mono), monospace}.siege-complete{text-align:center}.siege-complete .siege-gate-badges{justify-content:center}.siege-boundary-note{border-top:1px solid var(--kt-line);color:var(--kt-ink-faint);font:600 13px/1.6 var(--font-mono), monospace;letter-spacing:.06em;text-align:center;text-transform:uppercase;margin-top:18px;padding-top:12px}@media (max-width:760px){.cipher-machine{opacity:.17;top:100px;right:-100px}.cipher-rail{flex-wrap:wrap;width:calc(100% - 24px);padding-top:12px;overflow-x:auto}.cipher-rail>span{flex:none;padding:0 8px}.cipher-authority-label{text-align:left;flex:1 0 100%;margin-left:0}.cipher-station-head,.siege-header{flex-direction:column}.cipher-key{gap:3px;padding:4px}.cipher-key-cell{min-height:54px}.cipher-key-cell svg{width:20px;height:20px}.cipher-tape-grid{grid-template-columns:1fr 1fr}.cipher-tape-context,.siege-compose-grid,.siege-entry-actions,.siege-break-brief{grid-template-columns:1fr}.siege-room{padding:40px 12px 48px}.siege-scoreboard{grid-template-columns:1fr 1fr}.siege-role-order{grid-column:1/-1}.siege-key-grid{grid-template-columns:repeat(3,1fr)}.siege-menu{grid-template-columns:1fr}.siege-menu button{min-height:90px}.siege-transform-rule{flex-direction:column;align-items:flex-start}.siege-transform-rule small{margin-left:0}}@media (max-width:420px){.cipher-tape-grid,.cipher-tape-context{grid-template-columns:1fr}.cipher-relay-stimulus{min-height:176px}.cipher-key-digit{font-size:15.5px}.siege-scoreboard{grid-template-columns:1fr}.siege-role-order{grid-column:auto}.siege-append-pad{grid-template-columns:repeat(3,1fr)}}@media (prefers-reduced-motion:reduce){.cipher-flywheel,.cipher-pressure-gauge:after{animation:none!important}}
