:root{color-scheme:dark;font-family:Avenir Next,Avenir,Segoe UI,sans-serif;font-synthesis:none;color:#eeede9;background:#1c1e1f;--ink: #1c1e1f;--surface: #252829;--text: #eeede9;--muted: #a4a8a7;--line: #ffffff12;--strong-line: #ffffff24;--focus-shadow: 0 0 8px 2px #ffffff1c;--ease: cubic-bezier(.2, .8, .2, 1);--spring: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button,input{touch-action:manipulation}button{transition:background .18s,border-color .18s,color .18s,transform .22s var(--spring)}button:focus-visible,input:focus-visible{outline:none;box-shadow:var(--focus-shadow)}h1:focus{outline:none}h1,h2,p{margin:0}svg{display:block;width:21px;height:21px;flex-shrink:0}.app-shell{width:min(1120px,100%);min-height:100svh;margin:auto;padding:0 40px 24px}.app-header{height:88px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;padding:8px 0;background:transparent;border:none;font-size:25px;font-weight:700;letter-spacing:-1.1px}.brand-period{color:#9a9e9c}.logo-mark{display:grid;grid-template-columns:repeat(2,8px);gap:3px}.logo-mark i{height:8px;background:var(--text);border-radius:2px}.logo-mark i:last-child{border-radius:50%}.app-header nav{display:flex;gap:8px}.icon-button{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--muted)}.icon-button:hover{background:#ffffff06;color:var(--text);border-color:var(--line)}.icon-button:active{transform:scale(.92)}.setup-screen{width:min(920px,100%);margin:clamp(40px,9vh,90px) auto 50px}.setup-surface{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:clamp(40px,6vw,80px);min-height:440px;padding:52px;background:var(--surface);border:1px solid var(--line);border-radius:28px}.setup-title{margin-bottom:48px}.setup-title h1{font-size:30px;line-height:1.2;letter-spacing:-1px;font-weight:550}.mode-choices{display:grid;gap:12px}.mode-choice{position:relative;min-width:0;min-height:88px;display:grid;grid-template-columns:24px minmax(0,1fr) 12px;grid-template-rows:auto auto;align-content:center;align-items:center;column-gap:18px;row-gap:5px;padding:18px 20px;border:1px solid transparent;border-radius:14px;background:transparent;text-align:left}.mode-choice>svg{grid-row:1 / 3;color:#bcc0bd}.mode-name{grid-column:2;font-size:19px;letter-spacing:-.4px;font-weight:550;line-height:1.3}.mode-description{grid-column:2;font-size:12px;color:var(--muted)}.mode-choice.selected{background:#ffffff05;border-color:var(--line)}.selection-dot{grid-column:3;grid-row:1 / 3;border:1px solid #ffffff30;width:10px;height:10px;border-radius:50%;transition:background .2s,border-color .2s}.selected .selection-dot{background:var(--text);border-color:var(--text)}.mode-choice:hover{background:#ffffff08}.mode-choice:active{transform:scale(.985)}.setup-entry{min-width:0;padding-block:12px}.setup-entry .name-entry{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;align-items:stretch;gap:12px;margin-bottom:28px;padding-bottom:0;border-bottom:0}.setup-entry .name-entry input{width:100%;min-height:50px;padding:12px 16px;border-radius:12px}.setup-entry .composer-label{min-height:44px}.composer-label{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:12px}.composer-label label{display:flex;align-items:center;gap:9px;color:#c5c8c4;font-size:12px}.reveal-secret{width:44px;height:44px}.reveal-secret svg{width:17px;height:17px}.entry-line{display:flex;align-items:center;gap:15px;border:1px solid var(--strong-line);background:#1c1e1f60;border-radius:12px;padding:7px 7px 7px 18px;transition:background .2s,border-color .2s,box-shadow .2s}.entry-line:focus-within{background:#1c1e1f90;border-color:#e3e5de61;box-shadow:0 0 0 3px #ffffff03}.entry-line input{min-width:0;width:100%;height:50px;padding:0;border:none;border-radius:0;outline:none;background:transparent;color:var(--text);font:31px SFMono-Regular,Consolas,Liberation Mono,monospace;letter-spacing:.2em;caret-color:#c4c9c3}.entry-line input:focus-visible{outline:none;box-shadow:none}.entry-line input::placeholder{color:#6b7170;opacity:1}.entry-line input[type=password]{letter-spacing:.26em}.submit-button{height:48px;width:48px;flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:19px;border:1px solid transparent;border-radius:7px;background:#eeede9;color:#202424}.submit-button.with-label{width:auto;padding:0 16px;font-size:12px;font-weight:600}.submit-button:hover:not(:disabled){background:#fffefa}.submit-button:hover:not(:disabled) svg{transform:translate(2px)}.submit-button svg{transition:transform .25s var(--spring)}.submit-button:not(:disabled){animation:action-ready .22s var(--spring)}.submit-button:active:not(:disabled){transform:scale(.94)}.submit-button:disabled{color:#929796;background:#ffffff07;border-color:var(--line)}.has-keypad .entry-line{position:relative;padding:4px 12px}.has-keypad .entry-line input{height:48px;color:transparent;caret-color:transparent}.has-keypad .entry-line input::placeholder{color:transparent}.code-display{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:18px;pointer-events:none;font:28px SFMono-Regular,Consolas,Liberation Mono,monospace}.code-display>span{width:20px;text-align:center}.digit-empty{color:#737a77}.digit-filled{animation:digit-enter .18s var(--ease) both}.code-count{position:absolute;right:12px;font-size:10px;color:var(--muted);pointer-events:none;font-variant-numeric:tabular-nums}.code-count>span{opacity:.5}.code-keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}.keypad-key{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:48px;padding:8px;border:1px solid #ffffff07;border-radius:12px;background:#ffffff04;font-size:22px;font-weight:450;user-select:none;-webkit-user-select:none;transition:background .12s,transform .15s var(--ease),color .15s}.keypad-key:active:not(:disabled){background:#ffffff16;transform:scale(.96)}.keypad-key:disabled{color:#737a77}.keypad-erase{background:transparent;border-color:transparent;color:var(--muted)}.keypad-submit{flex-direction:column;font-size:10px;background:var(--text);color:var(--ink);border-color:transparent}.keypad-submit svg{width:20px;height:20px}.keypad-submit:active:not(:disabled){background:#fffefa}.keypad-submit:disabled{background:#ffffff04;border-color:var(--line)}.is-busy .code-keypad{opacity:.5}@media(hover:hover){.keypad-key:hover:not(:disabled){background:#ffffff0b}.keypad-submit:hover:not(:disabled){background:#fffefa}}@keyframes digit-enter{0%{opacity:.3;transform:translateY(3px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.privacy-hint{display:flex;align-items:flex-start;gap:7px;font-size:11px;color:var(--muted);margin-top:20px;line-height:1.6}.privacy-hint svg{width:13px;height:13px;margin-top:2px}.second-player-header{min-height:188px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:22px;padding:20px}.second-player-header>svg{color:#bfc4be}.second-player-header h2{max-width:100%;overflow-wrap:anywhere;font-weight:550;font-size:27px;letter-spacing:-.8px}.play-screen{display:flex;flex-direction:column;height:calc(var(--viewport-height, 100dvh) - 112px);min-height:260px;max-height:850px}.play-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding-bottom:14px}.play-toolbar>div{display:flex;align-items:center;gap:10px;font-size:13px}.play-toolbar>div>svg{width:18px;height:18px}.toolbar-separator{width:1px;height:14px;background:var(--strong-line);margin:0 5px}.round-label{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.game-surface{background:var(--surface);border:1px solid var(--line);border-radius:20px;flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.ledgers{flex:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-height:0}.ledgers>div{min-height:0;padding:28px}.ledgers>div+div{border-left:1px solid var(--line)}.player-ledger{height:100%;display:flex;flex-direction:column;min-height:0}.ledger-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:30px}.ledger-heading h2{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:550;color:#bcc1be}.ledger-heading>span{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.player-dot{width:6px;height:6px;background:#747b77;border-radius:50%;transition:background .25s,box-shadow .25s}.is-active .ledger-heading h2{color:var(--text)}.is-active .player-dot{background:var(--text);box-shadow:0 0 0 4px #ffffff06}.ledger-columns,.guess-row{display:grid;grid-template-columns:minmax(0,1fr) 66px 56px;gap:15px;align-items:center}.ledger-columns{color:var(--muted);font-size:10px;padding-bottom:14px;border-bottom:1px solid var(--line)}.ledger-columns>span:not(:first-child){text-align:center}.ledger-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff20 transparent}.ledger-empty{display:grid;place-items:center;height:100%;min-height:90px;color:#fff2;font:27px Consolas,monospace}.guess-row{min-height:67px;border-bottom:1px solid var(--line)}.guess-code{display:flex;align-items:center;gap:18px;min-width:0;font:25px SFMono-Regular,Consolas,monospace;letter-spacing:.12em}.attempt-index{font:10px Consolas,monospace;letter-spacing:0;color:#969e99}.feedback-value{justify-self:center;display:grid;place-items:center;width:29px;height:29px;font-size:13px;font-variant-numeric:tabular-nums;border-radius:7px}.present-value{background:#d7a3591c;color:#edc48b;border:1px solid #d7a35947}.placed-value{background:#7dbf9320;color:#a6dfba;border:1px solid #7dbf934a}.solved .guess-code{color:#f9f9ed}.solved .placed-value{background:#a6dfba;color:#193426;border-color:transparent}.new-row .guess-code{animation:guess-arrive .34s var(--spring) both}.new-row .present-value{animation:index-arrive .24s var(--spring) .06s both}.new-row .placed-value{animation:index-arrive .24s var(--spring) .13s both}.game-composer{border-top:1px solid var(--line);background:#ffffff02;padding:17px 28px 24px}.game-composer .composer{max-width:520px;margin:auto}.game-composer .composer-label{min-height:27px;margin-bottom:5px}.working-dot{width:5px;height:5px;border-radius:50%;background:#c9cec5;animation:thinking 1s ease-in-out infinite}.is-busy .entry-line{opacity:.65}.is-busy .entry-line:focus-within{border-color:var(--strong-line)}.player-tabs{display:none}.last-chance{padding:12px 28px;border-bottom:1px solid #e9eddf18;background:#d0d7c809;color:#d1d7c7;font-size:12px;line-height:1.6;animation:screen-enter .25s var(--ease)}.input-error{color:#d5d8d0;font-size:12px;line-height:1.5;margin-top:11px}.has-error{border-color:#bdc4b980;animation:nudge .28s}.worker-error{display:flex;align-items:center;justify-content:space-between;gap:10px;max-width:520px;margin:10px auto 0;font-size:12px;color:#d5d8d0}.result-screen{width:min(420px,100%);margin:clamp(45px,12vh,115px) auto 40px;text-align:center}.result-symbol{width:60px;height:60px;display:grid;place-items:center;border:1px solid #ffffff25;border-radius:18px;background:#ffffff05;font-size:30px;margin:0 auto 23px;animation:victory .65s var(--spring) both}.result-symbol svg{width:28px;height:28px}.result-screen h1{font-size:32px;font-weight:550;letter-spacing:-1.1px;overflow-wrap:anywhere}.result-count{color:var(--muted);font-size:13px;margin-top:10px}.result-secrets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin:34px 0 28px;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.result-secrets>div{display:flex;flex-direction:column;gap:12px;min-width:0}.result-secrets>div+div{border-left:1px solid var(--line)}.result-secrets span{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.result-secrets strong{font:29px SFMono-Regular,Consolas,monospace;letter-spacing:.15em}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:35px;border:1px solid transparent;border-radius:10px;min-height:46px;padding:12px 22px;font-size:12px;font-weight:600}.primary-button{color:var(--ink);background:var(--text)}.primary-button:hover{background:#fffefa}.secondary-button{background:#ffffff04;border-color:var(--strong-line)}.secondary-button:hover{background:#ffffff0a}.primary-button:active,.secondary-button:active{transform:scale(.97)}.text-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:7px 12px;border:0;background:transparent;color:var(--muted);font-size:12px}.text-button:hover{color:var(--text)}.result-screen>.primary-button{width:220px}.modal{width:min(480px,calc(100% - 32px));max-height:calc(100svh - 40px);color:var(--text);background:#282b2c;border:1px solid #ffffff1a;border-radius:20px;padding:25px;box-shadow:0 24px 100px #0004}.modal::backdrop{background:#111415b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal[open]{animation:dialog-enter .24s var(--spring)}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}.modal-heading h2{font-size:19px;letter-spacing:-.5px;font-weight:550}.modal-heading .icon-button{margin-right:-7px}.rules-content{font-size:13px;color:#b7bdb8;line-height:1.8}.rules-content p+p{margin-top:17px}.rules-content strong{font-weight:550;color:var(--text)}.rules-content dl{margin:21px 0;padding:19px 0;border-block:1px solid var(--line)}.rules-content dl>div{display:grid;grid-template-columns:68px 1fr;gap:14px}.rules-content dl>div+div{margin-top:13px}.rules-content dt{color:var(--text)}.rules-content dd{margin:0}code{color:var(--text);font:12px Consolas,monospace}.dialog-copy{color:var(--muted);font-size:13px;line-height:1.8}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.screen-enter{animation:screen-enter .35s var(--spring) both}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.name-entry{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 15px;padding-bottom:15px;border-bottom:1px solid var(--line)}.name-entry>span{color:var(--muted);font-size:12px;flex-shrink:0}.name-entry input{width:65%;min-width:0;min-height:40px;background:#ffffff03;border:1px solid var(--line);border-radius:8px;padding:9px 12px;color:var(--text);font-size:13px}.name-entry input::placeholder{color:#939c94}.name-entry input{transition:border-color .2s,background .2s,box-shadow .2s}.name-entry input:focus,.name-entry input:focus-visible{outline:none;border-color:#e3e5de61;background:#1c1e1f90;box-shadow:0 0 0 3px #ffffff03}.second-player-header h2{max-width:100%;overflow-wrap:anywhere}.ledger-heading h2{min-width:0}.player-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-label label{min-width:0}.composer-label-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ledger-heading>span{flex-shrink:0}.feedback-value.is-pending{color:#b6bcb7;background:#ffffff04;border-color:#ffffff14}.new-row .feedback-value.is-pending{animation:none}.new-row .feedback-value.is-revealed{animation:index-arrive .24s var(--spring) both}.suspense-dots,.speech-dots{display:inline-flex;align-items:center;justify-content:center;gap:3px}.suspense-dots i,.speech-dots i{width:3px;height:3px;background:currentColor;border-radius:50%;animation:suspense 1s ease-in-out infinite}.suspense-dots i:nth-child(2),.speech-dots i:nth-child(2){animation-delay:.12s}.suspense-dots i:nth-child(3),.speech-dots i:nth-child(3){animation-delay:.24s}.mascot{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:124px}.companion-stage{flex:0 0 124px;border-bottom:1px solid var(--line)}.mascot-avatar{display:grid;place-items:center;width:124px;height:112px;padding:0;border:0;border-radius:40px;background:transparent;flex-shrink:0}.mascot-avatar:hover{background:#ffffff03}.mascot-avatar:active{background:#ffffff06}.mascot-art{width:124px;height:108px;overflow:visible}.mascot-bubble{position:absolute;left:calc(50% + 70px);top:calc(50% - 25px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility 0s .18s;display:flex;align-items:center;gap:6px;width:188px;height:50px;flex-shrink:0;border:1px solid #ffffff15;background:#303534;border-radius:12px;padding:8px 12px;font-size:11px;color:#d0d8cd;line-height:1.5}.mascot.is-speaking .mascot-bubble{opacity:1;visibility:visible;transition-delay:0s}.bubble-copy{min-width:0;animation:bubble-fade .18s ease-out both}.speech-dots{flex-shrink:0}.dots-hidden{visibility:hidden}.dots-hidden i{animation:none}.mascot-bubble:before{content:"";position:absolute;width:7px;height:7px;left:-4px;top:calc(50% - 4px);transform:rotate(45deg);border-left:1px solid #ffffff15;border-bottom:1px solid #ffffff15;background:#303534}.robot-head,.robot-gaze,.robot-eyes,.robot-mouth,.robot-arm,.robot-body{transform-box:fill-box;transform-origin:center}.robot-eyes{animation:robot-blink 6s infinite}.robot-mouth{animation:none}.mascot.is-speaking .robot-mouth{animation:robot-talk .26s ease-in-out 3}.robot-attention{transform-box:fill-box;transform-origin:50% 70%;transform:translate(var(--attention-x, 0px),var(--attention-y, 0px)) rotate(var(--attention-tilt, 0deg))}.eye-left{transform:translate(var(--eye-left-x, 0px),var(--eye-left-y, 0px))}.eye-right{transform:translate(var(--eye-right-x, 0px),var(--eye-right-y, 0px))}.robot-gaze{transform:translate(var(--gaze-x, 0px),var(--gaze-y, 0px))}.robot-arm,.robot-head{transition:transform .35s var(--ease)}.mascot-thinking .robot-head{transform:rotate(-5deg)}.mascot-thinking .arm-right{transform:rotate(-24deg);transform-origin:50% 85%}.mascot-reacting .robot-head{transform:rotate(4deg)}.mascot-reacting .arm-left{transform:rotate(14deg)}.mascot-reacting .arm-right{transform:rotate(-14deg)}.mascot.is-waving .arm-right{transform-origin:50% 90%;animation:robot-wave 1s ease-in-out}.mascot-thinking .robot-eyes{animation:none;transform:translateY(-2px)}.mascot-thinking .robot-antenna,.mascot-waiting .robot-antenna{animation:thinking .8s ease-in-out infinite}.mascot-happy .robot-head{transform:rotate(3deg)}.mascot-happy .arm-right{transform-origin:50% 90%;animation:robot-wave 1s ease-in-out 2}.result-screen>.mascot{height:160px;margin-bottom:18px}.result-screen .mascot-avatar{position:absolute;top:43px;left:calc(50% - 62px)}.result-screen .mascot-bubble{top:0;left:calc(50% - 94px)}.result-screen .mascot-bubble:before{top:auto;bottom:-4px;left:calc(50% - 4px);border-left:0;border-right:1px solid #ffffff15}.wide-modal{width:min(680px,calc(100% - 32px))}.wide-modal .modal-heading{position:sticky;z-index:2;top:-25px;margin-top:-12px;padding-top:12px;padding-bottom:12px;background:#282b2c;border-bottom:1px solid var(--line)}.full-rules h3{font-size:17px;font-weight:550;color:var(--text);letter-spacing:-.3px;margin:29px 0 14px}.full-rules h3:first-child{margin-top:0}.full-rules h4{font-size:14px;color:#d8dfd3;font-weight:550;margin:28px 0 14px}.full-rules p{margin-bottom:13px}.full-rules ul{padding-left:20px;margin:16px 0}.full-rules li{padding-left:4px;margin-bottom:12px}.full-rules .rule-case-title{margin-top:23px;padding-top:17px;border-top:1px solid var(--line)}.rules-table-wrap{border:1px solid var(--strong-line);border-radius:10px;overflow:hidden;margin-top:18px}.rules-table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.6}.rules-table th{background:#ffffff04;font-weight:500;color:#d9dfd4;text-align:left}.rules-table th,.rules-table td{padding:11px 13px;border-bottom:1px solid var(--line)}.rules-table tbody tr:last-child td{border-bottom:none}.rules-table code{white-space:nowrap;font-size:13px;letter-spacing:.06em}.confetti-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:10}.stats-modal{width:min(520px,calc(100% - 32px))}.stats-modal .modal-heading{position:sticky;top:-25px;z-index:5;margin-bottom:23px;background:#282b2c}.player-picker{position:relative}.player-picker-trigger{display:flex;align-items:center;width:100%;gap:12px;height:58px;padding:10px 14px;border:1px solid var(--strong-line);border-radius:11px;background:#ffffff03;text-align:left}.player-picker-trigger:hover,.player-picker-trigger[aria-expanded=true]{background:#ffffff07;border-color:#ffffff35}.profile-avatar{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border:1px solid #ffffff12;border-radius:9px;background:#ffffff07;color:#d2d8d0;font-size:11px}.profile-copy{display:flex;flex-direction:column;min-width:0;gap:3px;flex:1}.profile-copy>span{font-size:10px;color:var(--muted)}.profile-copy strong{font-size:13px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-picker-trigger>svg{width:17px;height:17px;color:var(--muted);transition:transform .2s ease}.chevron-open{transform:rotate(180deg)}.player-picker-menu{position:absolute;left:0;right:0;top:calc(100% + 7px);padding:5px;max-height:200px;overflow:auto;z-index:4;background:#303334;border:1px solid #ffffff28;border-radius:12px;box-shadow:0 12px 30px #00000040;scrollbar-width:thin;outline:none}.player-picker-menu button{display:flex;align-items:center;width:100%;min-height:46px;gap:10px;padding:7px 10px;text-align:left;border:0;border-radius:7px;background:transparent;font-size:12px}.player-picker-menu .profile-avatar{width:27px;height:27px;border-radius:7px;font-size:9px}.player-picker-menu .option-active{background:#ffffff08}.option-name{flex:1;min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.5}.option-check{width:16px;color:#e6e8df}.segmented-control{display:flex;position:relative;width:100%;background:#1c1e1f60;border:1px solid var(--line);border-radius:9px;padding:3px;margin-top:18px}.segmented-control button{flex:1;min-height:36px;padding:8px 19px;color:var(--muted);background:transparent;border:none;border-radius:6px;font-size:12px}.segmented-control button[aria-pressed=true]{background:#ffffff0b;color:var(--text)}.stats-overview{display:flex;justify-content:space-between;align-items:flex-end;height:108px;margin:22px 0 0;padding-bottom:17px}.stats-overview dt{font-size:11px;color:var(--muted)}.stats-overview dd{margin:10px 0 0;height:57px;display:flex;align-items:baseline;gap:8px;font-size:47px;letter-spacing:-1.4px;font-variant-numeric:tabular-nums}.stats-overview dd>span{font-size:17px;color:var(--muted);letter-spacing:0}.stats-overview>div:last-child{text-align:right}.stats-overview>div:last-child dd{font-size:25px;justify-content:flex-end;padding-top:20px}.stats-outcomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:17px 0;border-block:1px solid var(--line)}.stats-outcomes>div+div{border-left:1px solid var(--line)}.stats-outcomes>div{text-align:center;display:flex;flex-direction:column}.stats-outcomes dd{order:1;margin:0 0 6px;font-size:18px;font-variant-numeric:tabular-nums}.stats-outcomes dt{order:2;color:var(--muted);font-size:10px}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:20px 0 0;border:1px solid var(--line);border-radius:11px;overflow:hidden}.stats-grid>div{padding:21px;height:106px;min-width:0}.stats-grid>div+div{border-left:1px solid var(--line)}.stats-grid dt{font-size:11px;color:var(--muted)}.stats-grid dd{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 7px;font-size:28px;height:40px;margin:13px 0 0;letter-spacing:-.7px;font-variant-numeric:tabular-nums}.stats-grid dd>span{font-size:11px;color:var(--muted);letter-spacing:0}.stats-empty{height:18px;margin:12px 0 0;font-size:11px;line-height:18px;color:var(--muted);text-align:center}.status-hidden{visibility:hidden}.stats-method{min-height:40px;margin-top:14px;font-size:11px;color:var(--muted);line-height:1.8}.storage-notice{font-size:11px;color:#d5d8d0;line-height:1.7;margin-top:14px}@keyframes suspense{0%,70%,to{transform:translateY(0);opacity:.35}35%{transform:translateY(-2px);opacity:1}}@keyframes bubble-fade{0%{opacity:0}to{opacity:1}}@keyframes robot-blink{0%,44%,48%,to{transform:scaleY(1)}46%{transform:scaleY(.12)}}@keyframes robot-talk{0%,to{transform:scaleY(1)}50%{transform:scaleY(.55)}}@keyframes robot-wave{0%,to{transform:rotate(0)}50%{transform:rotate(-20deg)}}@keyframes screen-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes guess-arrive{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes index-arrive{0%{opacity:0;transform:translateY(5px) scale(.8)}70%{transform:scale(1.06)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes thinking{0%,to{opacity:.35}50%{opacity:1}}@keyframes victory{0%{opacity:0;transform:scale(.75) rotate(-12deg)}65%{transform:scale(1.05) rotate(3deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes dialog-enter{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes action-ready{0%{transform:scale(.94)}to{transform:scale(1)}}@keyframes nudge{25%,75%{transform:translate(-3px)}50%{transform:translate(3px)}}@media(min-width:1500px){.app-shell{max-width:1240px}.app-header{height:100px}.play-screen{height:calc(var(--viewport-height, 100dvh) - 124px)}}@media(max-width:900px){.app-shell{padding-inline:25px}.ledgers>div{padding:22px}.ledger-columns,.guess-row{grid-template-columns:minmax(0,1fr) 60px 48px;gap:10px}.guess-code{font-size:23px;gap:12px}}@media(max-width:700px){.app-shell{padding:env(safe-area-inset-top) 18px max(16px,env(safe-area-inset-bottom))}.app-header{height:70px}.brand{font-size:23px}.app-header nav{gap:3px}.setup-screen{width:min(500px,100%);margin:16px auto 20px}.setup-title{margin-bottom:32px}.setup-title h1{font-size:26px}.setup-surface{grid-template-columns:minmax(0,1fr);gap:20px;min-height:0;padding:24px 20px;border-radius:22px}.mode-choices{grid-template-columns:minmax(0,1fr);gap:8px}.mode-choice{min-height:76px;grid-template-columns:18px minmax(0,1fr) 8px;column-gap:8px;padding:12px;border-radius:12px}.mode-choice>svg{grid-row:1;width:18px;height:18px}.mode-name{grid-column:2}.mode-description{grid-column:1 / -1}.mode-name{font-size:19px}.mode-description{font-size:11px}.selection-dot{grid-column:3;grid-row:1;width:8px;height:8px}.setup-entry{padding:0}.setup-entry .name-entry{margin-bottom:14px;gap:9px}.setup-entry .name-entry input{min-height:44px;padding-block:9px}.setup-entry .composer-label{min-height:34px}.entry-line{gap:10px;padding-left:14px}.entry-line input{font-size:29px;height:48px}.submit-button.with-label{padding:0 13px;gap:12px}.privacy-hint{font-size:10px}.second-player-header{min-height:76px;padding:0;flex-direction:row;align-items:center;justify-content:flex-start;gap:16px}.second-player-header h2{font-size:25px}.play-screen{height:calc(var(--viewport-height, 100dvh) - 86px - env(safe-area-inset-top));min-height:230px}.play-toolbar{min-height:45px;padding-bottom:8px}.play-toolbar>div{font-size:12px}.play-toolbar .icon-button{height:44px}.game-surface{border-radius:17px}.player-tabs{display:flex;border-bottom:1px solid var(--line);padding:0 21px;gap:26px;flex-shrink:0}.player-tabs button{display:flex;align-items:center;gap:7px;padding:17px 0;border:none;border-bottom:1px solid transparent;margin-bottom:-1px;background:transparent;color:var(--muted);font-size:12px;min-height:52px}.player-tabs button[aria-selected=true]{color:var(--text);border-bottom-color:#d9dfd0}.player-tabs button>span{font-size:10px;color:#a5aea7;font-variant-numeric:tabular-nums}.player-tabs button{min-width:0;flex:1}.player-tabs .tab-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:inherit}.player-tabs .tab-count{flex-shrink:0}.tab-active-dot{width:4px;height:4px;border-radius:50%;background:#d6ddce;margin-left:3px}.ledgers{display:flex}.ledgers>div{width:100%;padding:18px 21px 0}.ledgers>div+div{border-left:none}.ledger-hidden,.ledger-heading{display:none}.ledger-columns,.guess-row{grid-template-columns:minmax(0,1fr) 62px 53px;gap:12px}.ledger-columns{font-size:10px;padding-bottom:11px}.guess-row{min-height:63px}.guess-code{font-size:24px;gap:16px}.attempt-index{font-size:9px}.game-composer{padding:12px 20px 19px}.game-composer .composer-label{min-height:24px;margin-bottom:4px}.composer-label label{font-size:11px}.game-composer .entry-line input{font-size:27px;height:42px}.game-composer .submit-button{width:44px;height:44px}.game-composer .has-keypad{max-width:360px}.game-composer .has-keypad .entry-line input{height:42px}.last-chance{padding:10px 20px;font-size:11px}.result-screen{margin-top:clamp(40px,10vh,90px)}.result-screen h1{font-size:29px}.result-secrets strong{font-size:28px}.modal{border-radius:17px;padding:22px}.name-entry{gap:12px}.name-entry>span{font-size:11px}.name-entry input{font-size:16px;padding-inline:10px}.companion-stage{flex-basis:110px}.companion-stage .mascot{height:110px}.companion-stage .mascot-avatar{position:absolute;left:calc(50% - 50px);width:100px;height:92px;transition:left .32s var(--ease),background .18s}.companion-stage .mascot-art{width:100px;height:88px}.companion-stage .is-speaking .mascot-avatar{left:10px}.companion-stage .mascot-bubble{left:112px;width:min(188px,calc(100% - 124px));padding-block:8px;font-size:11px}.wide-modal .modal-heading,.stats-modal .modal-heading{top:-22px}.rules-table th,.rules-table td{padding:10px 8px}.rules-table{font-size:11px}.rules-table code{font-size:12px}.segmented-control button{padding-inline:13px}.stats-grid>div{padding:19px}.stats-grid dd{font-size:28px}}@media(max-height:760px)and (max-width:700px){.app-header{height:60px}.play-screen{height:calc(var(--viewport-height, 100dvh) - 76px - env(safe-area-inset-top))}.setup-screen{margin-top:8px}.setup-surface{padding-block:20px;gap:16px}.setup-title{margin-bottom:28px}.game-composer{padding-block:10px}.game-composer .keypad-key{min-height:44px;padding-block:6px}.game-composer .keypad-submit{flex-direction:row}.companion-stage{flex-basis:64px}.companion-stage .mascot{height:64px}.companion-stage .mascot-avatar{width:74px;height:64px;left:calc(50% - 37px)}.companion-stage .mascot-art{width:74px;height:64px}.companion-stage .mascot-bubble{left:98px;width:min(188px,calc(100% - 110px))}.player-tabs button{min-height:44px;padding-block:12px}.ledgers>div{padding-top:12px}.guess-row{min-height:52px}}@media(max-height:620px)and (max-width:700px){.code-keypad{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.keypad-key{min-height:44px}.keypad-submit{flex-direction:row}.keypad-submit>span{display:none}.setup-surface{padding-block:16px;gap:12px}.setup-title{margin-bottom:24px}.setup-entry .name-entry{margin-bottom:8px}.game-composer{padding-block:8px}.companion-stage{flex-basis:52px}.companion-stage .mascot{height:52px}.companion-stage .mascot-avatar{width:64px;height:52px;left:calc(50% - 32px)}.companion-stage .mascot-art{width:60px;height:52px}.companion-stage .mascot-bubble{left:78px;width:min(188px,calc(100% - 90px))}}@media(max-height:500px)and (max-width:700px){.play-screen{min-height:490px}.companion-stage{flex-basis:38px}.companion-stage .mascot{height:38px}.companion-stage .mascot-avatar,.companion-stage .is-speaking .mascot-avatar{left:calc(50% - 23px);width:46px;height:38px}.companion-stage .mascot-art{width:43px;height:37px}.companion-stage .mascot-bubble{display:none}.player-tabs button{min-height:44px;padding-block:12px}.ledgers>div{padding-top:8px}.guess-row{min-height:48px}.setup-screen{margin-top:16px}}@media(max-width:360px){.app-shell{padding-inline:14px}.mode-choice{padding:12px}.mode-description{font-size:10px}.setup-surface{padding-inline:20px}.entry-line{padding-left:12px}.entry-line input{font-size:26px;letter-spacing:.13em}.submit-button.with-label{gap:8px;padding-inline:11px;font-size:11px}.ledgers>div{padding-inline:16px}.ledger-columns,.guess-row{grid-template-columns:minmax(0,1fr) 56px 44px;gap:10px}.guess-code{font-size:22px;gap:11px}.game-composer{padding-inline:15px}.rules-content{font-size:12px}}@media(max-height:500px)and (min-width:701px){.app-header{height:60px}.play-screen{height:calc(var(--viewport-height, 100dvh) - 84px)}.play-toolbar{min-height:40px;padding-bottom:5px}.companion-stage{flex-basis:70px}.companion-stage .mascot{height:70px}.companion-stage .mascot-avatar{height:68px;width:78px}.companion-stage .mascot-art{width:78px;height:68px}.ledgers>div{padding-top:14px}.ledger-heading{margin-bottom:15px}.game-composer{padding-top:10px;padding-bottom:14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.online-create{width:100%;justify-content:space-between;min-height:50px}.primary-button:disabled{opacity:.5;cursor:default}.join-label{display:block;margin-bottom:12px;color:var(--muted);font-size:12px}.join-entry input{font-size:22px;letter-spacing:.1em}.join-entry .submit-button{gap:10px;padding-inline:12px}.online-lobby{margin-top:30px}.lobby-surface{padding:36px;border:1px solid var(--line);border-radius:28px;background:var(--surface)}.lobby-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.lobby-heading h1{font-size:30px;font-weight:550;letter-spacing:-.9px}.lobby-heading>span{color:var(--muted);font-size:12px;white-space:nowrap}.lobby-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:stretch}.lobby-social{display:grid;gap:16px}.invitation-panel,.players-panel,.preparation-panel{min-width:0;border:1px solid var(--line);border-radius:18px;padding:24px;background:#ffffff02}.invitation-panel h2,.players-panel h2{color:var(--muted);font-size:12px;font-weight:500;margin-bottom:20px}.group-code{margin-bottom:22px}.group-code input{width:100%;min-width:0;padding:4px 0;border:0;border-radius:4px;background:transparent;color:var(--text);font:34px SFMono-Regular,Consolas,Liberation Mono,monospace;letter-spacing:.09em}.group-code input:focus-visible{outline:none;box-shadow:var(--focus-shadow)}.invitation-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.invitation-actions button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:10px;border:1px solid var(--strong-line);border-radius:11px;font-size:12px;font-weight:550;transition:background .18s,border-color .18s,transform .18s}.copy-button{background:#ffffff06}.share-button{background:var(--text);color:var(--ink)}.copy-button:hover{background:#ffffff0e}.share-button:hover{background:#fff}.invitation-actions button:active{transform:translateY(1px)}.invitation-actions svg{width:17px;height:17px}.copy-icon{display:grid;place-items:center;width:20px;height:20px}.copy-button.is-copied{background:#ffffff12;border-color:#ffffff40}.is-copied .copy-icon svg{animation:copy-confirm .32s var(--ease) both}@keyframes copy-confirm{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.share-fallback{display:block;margin-top:16px;font-size:12px;color:var(--muted)}.share-fallback input{display:block;width:100%;min-width:0;margin-top:8px;padding:12px;border:1px solid var(--strong-line);border-radius:8px;background:var(--ink);color:var(--text);font-size:12px}.group-players{display:grid;gap:16px}.group-player{display:flex;align-items:center;gap:12px;min-height:44px;font-size:13px}.player-avatar{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border:1px solid var(--line);border-radius:12px;background:#ffffff05}.player-avatar svg{width:18px;height:18px;color:var(--muted)}.group-player>span:nth-child(2){min-width:0;overflow-wrap:anywhere;line-height:1.4}.group-player small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.group-player .player-readiness{margin-left:auto;color:var(--muted);font-size:10px;text-align:right;max-width:70px;flex-shrink:0}.player-awaiting .player-avatar{border-style:dashed;background:transparent}.player-awaiting>span:nth-child(2){color:var(--muted)}.preparation-panel{display:flex;flex-direction:column;justify-content:center;padding:28px}.preparation-panel .composer{margin-block:auto;padding-block:28px}.preparation-panel .entry-line input{min-width:0}.preparation-panel .submit-button.with-label{padding-inline:12px;gap:8px}.code-ready{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:22px;min-height:200px;flex:1}.ready-mark{display:grid;place-items:center;width:64px;height:64px;border:1px solid var(--strong-line);border-radius:22px;background:#ffffff04;animation:copy-confirm .35s var(--ease)}.ready-mark svg{width:28px;height:28px}.code-ready h2{font-size:22px;font-weight:550;letter-spacing:-.5px}.online-status{color:var(--muted);font-size:12px;line-height:1.6;margin-top:16px}.lobby-waiting{display:flex;align-items:center;gap:12px;min-height:56px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.5}.waiting-signal,.waiting-dots{display:inline-flex;align-items:center;justify-content:center;gap:4px;flex-shrink:0;width:28px;height:20px}.waiting-signal i,.waiting-dots i{width:4px;height:4px;border-radius:50%;background:currentColor;animation:waiting-breathe 1.8s ease-in-out infinite}.waiting-signal i:nth-child(2),.waiting-dots i:nth-child(2){animation-delay:.18s}.waiting-signal i:nth-child(3),.waiting-dots i:nth-child(3){animation-delay:.36s}.peer-connected .waiting-signal{color:var(--text)}@keyframes waiting-breathe{0%,70%,to{opacity:.3}35%{opacity:1}}.result-leave{display:block;margin:16px auto 0;min-height:44px}@media(max-width:700px){.join-entry input{font-size:19px}.join-entry .submit-button{gap:6px;padding-inline:9px;font-size:11px}.online-lobby{margin-top:8px}}.flow-screen{width:min(620px,100%)}.flow-surface{position:relative;display:block;min-height:0;padding:44px;overflow:hidden}.flow-navigation{position:absolute;top:0;left:0;z-index:1}.flow-back{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:12px;background:transparent;color:var(--muted)}.flow-back span{display:none}.flow-back svg{transform:rotate(180deg)}.flow-back:hover{background:#ffffff07;color:var(--text)}.flow-back:active{transform:none;background:#ffffff0a}.flow-surface:has(.flow-back) .setup-title h1{padding-left:56px}.flow-surface .setup-title h1{display:flex;align-items:center;min-height:44px;overflow-wrap:anywhere}.flow-surface .setup-entry{padding:0}.flow-choice{border-color:var(--line);background:#ffffff02}.flow-choice:active{transform:none;background:#ffffff0a}.flow-choice .choice-arrow{grid-column:3;grid-row:1 / 3;width:18px;height:18px;margin:0;color:var(--muted)}.flow-choice:hover .choice-arrow{color:var(--text);transform:translate(2px)}.flow-choice .choice-arrow{transition:transform .2s var(--ease),color .2s}.flow-page{position:relative}@media(max-width:700px){.flow-surface{padding:24px 20px}.flow-choice{grid-template-columns:18px minmax(0,1fr) 18px}.flow-choice .choice-arrow{grid-row:1}}@media(max-height:760px)and (max-width:700px){.flow-surface{padding-block:20px}.flow-surface .setup-title{margin-bottom:24px}.flow-surface .name-entry{display:flex;align-items:center;gap:12px;margin-bottom:12px}.flow-surface .name-entry input{width:65%}.flow-surface .keypad-key{min-height:44px;padding-block:6px}.flow-surface .keypad-submit{flex-direction:row}}@media(max-height:620px)and (max-width:700px){.flow-surface{padding-block:16px}.flow-surface .setup-title{margin-bottom:20px}.flow-surface .name-entry{margin-bottom:8px}}.flow-welcome .setup-title{display:grid;grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:20px;margin-bottom:32px}.welcome-mascot{width:112px;height:98px}.welcome-mascot .mascot{height:98px}.welcome-mascot .mascot-avatar,.welcome-mascot .mascot-art{width:112px;height:98px}.welcome-mascot .mascot-bubble{display:none}@media(max-width:700px){.flow-screen{margin-top:24px}.flow-welcome .setup-title{grid-template-columns:minmax(0,1fr) 80px;gap:12px;margin-bottom:28px}.welcome-mascot,.welcome-mascot .mascot-avatar{width:80px;height:76px}.welcome-mascot .mascot{height:76px}.welcome-mascot .mascot-art{width:80px;height:70px}}@media(max-height:620px)and (max-width:700px){.flow-screen{margin-top:12px}}.flow-online .flow-page{display:flex;flex-direction:column;min-height:340px}.flow-online .mode-choices{flex:1}.flow-online .flow-choice{padding:24px;row-gap:10px}@media(max-width:700px){.lobby-surface{padding:20px 16px;border-radius:22px}.lobby-heading{margin-bottom:22px}.lobby-heading h1{font-size:25px}.lobby-heading>span{font-size:10px}.lobby-grid{grid-template-columns:minmax(0,1fr);gap:14px}.lobby-social{gap:14px}.invitation-panel,.players-panel,.preparation-panel{padding:20px;border-radius:15px}.invitation-panel h2,.players-panel h2{margin-bottom:16px}.group-code{margin-bottom:18px}.group-code input{font-size:32px}.preparation-panel .composer{padding-block:0 20px}.code-ready{min-height:190px}.flow-online .flow-page{min-height:clamp(340px,calc(var(--viewport-height, 100svh) - 230px),560px)}.flow-online .mode-choices{gap:16px}.flow-online .flow-choice{grid-template-columns:minmax(0,1fr) 20px;grid-template-rows:1fr auto auto;align-content:stretch;padding:24px;row-gap:12px}.flow-online .flow-choice>svg:first-child{grid-column:1;grid-row:1;align-self:start;width:28px;height:28px}.flow-online .mode-name{grid-column:1;grid-row:2;font-size:22px}.flow-online .mode-description{grid-column:1;grid-row:3}.flow-online .flow-choice .choice-arrow{grid-column:2;grid-row:2 / 4}.flow-welcome .flow-choice{min-height:clamp(88px,14svh,122px);padding-block:22px}}@media(prefers-reduced-motion:reduce){.is-copied .copy-icon svg,.ready-mark,.waiting-signal i,.waiting-dots i{animation:none}.invitation-actions button{transition:none}}@media(max-width:700px){.online-lobby .lobby-surface{padding:8px 0 0;background:transparent;border:0}.online-lobby .lobby-heading{padding-inline:4px;margin-bottom:20px}.lobby-grid{display:flex;flex-direction:column}.lobby-social{display:contents}.invitation-panel{order:0;padding:18px 20px}.preparation-panel{order:1}.players-panel{order:2}.invitation-panel h2{margin-bottom:12px}.group-code{margin-bottom:14px}.preparation-panel .keypad-key{min-height:48px;padding-block:8px}.preparation-panel .keypad-submit{flex-direction:row}.preparation-panel .lobby-waiting{padding-top:14px;min-height:44px}}.remembered-name{margin-bottom:28px}.remembered-name>label{display:block;margin-bottom:12px;color:var(--muted);font-size:12px}.name-summary,.name-edit-line{display:flex;align-items:center;gap:12px;min-height:50px;border-bottom:1px solid var(--line)}.name-summary strong{flex:1;min-width:0;overflow-wrap:anywhere;font-size:16px;font-weight:550}.edit-player-name{min-height:44px;padding:8px 0 8px 12px;border:0;background:transparent;color:var(--muted);font-size:12px}.edit-player-name:hover{color:var(--text)}.name-edit-line{gap:0;border:1px solid var(--line);background:#ffffff03;border-radius:12px;transition:border-color .18s,background .18s}.name-edit-line:focus-within{border-color:#e3e5de61;background:#1c1e1f90}.name-edit-line input{flex:1;width:0;min-width:0;height:48px;padding:12px 16px;color:var(--text);background:transparent;border:0;outline:none;font-size:13px}.name-edit-line input:focus-visible{outline:none;box-shadow:none}.confirm-player-name{display:grid;place-items:center;width:44px;min-height:44px;flex-shrink:0;border:0;background:transparent;border-radius:9px;color:var(--muted);margin-right:3px}.confirm-player-name:hover{color:var(--text);background:#ffffff06}@media(max-width:700px){.remembered-name{margin-bottom:20px}.remembered-name>label{margin-bottom:8px}.name-edit-line input{font-size:16px;padding-inline:12px}}@media(max-height:760px)and (max-width:700px){.remembered-name{margin-bottom:12px}.name-summary,.name-edit-line{min-height:44px}.name-edit-line input{height:42px}}.group-navigation{display:flex;align-items:center;gap:10px}.group-home{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:12px}.group-home svg{width:18px;height:18px;transform:rotate(180deg)}.group-home:hover{color:var(--text);background:#ffffff05}.resume-group-panel{display:flex;align-items:center;gap:8px;margin-bottom:24px;padding:6px;border:1px solid var(--strong-line);border-radius:14px;background:#ffffff05}.resume-group{display:flex;align-items:center;gap:16px;min-width:0;min-height:66px;flex:1;padding:12px;border:0;border-radius:10px;text-align:left;background:transparent}.resume-group>span{flex:1;min-width:0}.resume-group strong{display:block;font-size:15px;font-weight:550}.resume-group small{display:block;margin-top:6px;color:var(--muted);font-size:11px;overflow-wrap:anywhere}.resume-group>svg{width:20px;height:20px;color:var(--muted)}.resume-group:hover{background:#ffffff05}.result-group-actions{display:flex;justify-content:center;gap:24px;margin-top:16px}.result-group-actions button{min-height:44px}@media(max-width:700px){.group-navigation{gap:2px}.group-home{padding-inline:8px}.resume-group-panel{margin-bottom:20px}.resume-group{gap:10px;padding:8px}.resume-group strong{font-size:14px}}.composer.is-awaiting .entry-line{position:relative;border-color:#e3e5de91;background:#ffffff06;box-shadow:inset 0 0 0 1px #ffffff03}.composer.is-awaiting .entry-line:focus-within{border-color:#e3e5debd;background:#ffffff08;box-shadow:inset 0 0 0 1px #ffffff04}.composer.is-awaiting .entry-line input::placeholder{color:#a3aaa4}.composer.is-awaiting .digit-empty{color:#b0b7b0}.composer.is-awaiting.is-empty .entry-line:after{content:"";position:absolute;inset:-4px;border:1px solid #e3e5de;border-radius:15px;pointer-events:none;opacity:0;animation:entry-invitation 1.8s ease-in-out 2}.composer.is-awaiting .keypad-key:not(.keypad-erase):not(.keypad-submit){background:#ffffff07;border-color:#ffffff0d}.has-keypad.is-awaiting .entry-line input::placeholder{color:transparent}@keyframes entry-invitation{0%,to{opacity:0}45%{opacity:.25}}@media(prefers-reduced-motion:reduce){.composer.is-awaiting.is-empty .entry-line:after{display:none}}.solo-progress{padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#ffffff02;text-align:left}.progress-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px}.progress-heading strong{font-size:12px;font-weight:550}.progress-heading>span{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.xp-track{height:4px;overflow:hidden;border-radius:3px;background:#ffffff0b}.xp-track>span{display:block;width:100%;height:100%;background:#d5dbd0;transform-origin:left;transform:scaleX(var(--progress))}.solo-progress>p{margin-top:10px;font-size:10px;color:var(--muted)}.setup-entry>.solo-progress{margin-block:16px 20px}.stats-content>.solo-progress{margin-block:16px}.result-screen>.solo-progress{margin-block:22px}.progress-earned .xp-track>span{animation:xp-earned .7s .15s cubic-bezier(.25,.65,.35,1) both}.level-increased{border-color:#d5dbd052}.level-increased .progress-heading strong{animation:level-arrival .4s ease both}@keyframes xp-earned{0%{transform:scaleX(var(--progress-from))}to{transform:scaleX(var(--progress))}}@keyframes level-arrival{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.progress-earned .xp-track>span,.level-increased .progress-heading strong{animation:none}}.result-screen:has(.solo-progress){margin-top:clamp(28px,6vh,65px)}.level-increased.progress-earned .xp-track>span{animation:xp-level-earned 1.1s .15s cubic-bezier(.25,.65,.35,1) both}@keyframes xp-level-earned{0%{transform:scaleX(var(--progress-from));opacity:1}40%,45%{transform:scaleX(1);opacity:1}49%{transform:scaleX(1);opacity:0}50%{transform:scaleX(0);opacity:0}55%{transform:scaleX(0);opacity:1}to{transform:scaleX(var(--progress));opacity:1}}@media(prefers-reduced-motion:reduce){.level-increased.progress-earned .xp-track>span{animation:none}}.flow-welcome .flow-page{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:"profile title" "profile resume" "profile modes";column-gap:36px;row-gap:18px}.flow-welcome .flow-navigation{display:none}.flow-welcome .setup-title{grid-area:title;grid-template-columns:minmax(0,1fr) 68px;gap:12px;margin:0}.flow-welcome .setup-title h1{font-size:25px}.flow-welcome .welcome-mascot,.flow-welcome .welcome-mascot .mascot,.flow-welcome .welcome-mascot .mascot-avatar,.flow-welcome .welcome-mascot .mascot-art{width:68px;height:70px}.flow-welcome .mode-choices{grid-area:modes}.flow-welcome .resume-group-panel{grid-area:resume;margin:0}.home-profile{grid-area:profile;display:flex;flex-direction:column;justify-content:center;min-width:0;padding-right:34px;border-right:1px solid var(--line)}.home-profile-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:26px}.home-profile-heading>div{min-width:0}.home-profile-heading>div>span{display:block;color:var(--muted);font-size:11px;margin-bottom:8px}.home-profile-heading h2{font-size:27px;line-height:1.3;letter-spacing:-.6px;font-weight:550;overflow-wrap:anywhere}.home-profile>.solo-progress{padding:0;border:0;border-radius:0;background:transparent}.home-profile-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0 0;padding-top:24px;border-top:1px solid var(--line)}.home-profile-stats>div{display:flex;flex-direction:column;min-width:0}.home-profile-stats dt{order:2;color:var(--muted);font-size:10px;line-height:1.6}.home-profile-stats dd{margin:0 0 6px;font-size:25px;font-weight:450;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.home-profile-stats dd>span{font-size:13px;color:var(--muted);margin-left:3px}.home-stats-link{display:flex;align-items:center;gap:12px;align-self:flex-start;min-height:44px;margin-top:22px;padding:4px 0;border:0;background:transparent;color:var(--muted);font-size:11px}.home-stats-link:hover{color:var(--text)}.home-stats-link svg{width:16px;height:16px}@media(max-width:900px)and (min-width:701px){.flow-welcome.flow-surface{padding:30px}.flow-welcome .flow-page{column-gap:24px}.home-profile{padding-right:24px}.home-profile-stats{gap:10px}.flow-welcome .setup-title h1{font-size:22px}}@media(max-width:700px){.flow-welcome .flow-page{display:flex;flex-direction:column;gap:20px}.home-profile{order:0;padding:16px;border:1px solid var(--line);border-radius:12px;background:#ffffff02}.home-profile-heading{margin-bottom:14px}.home-profile-heading>div>span{font-size:10px;margin-bottom:4px}.home-profile-heading h2{font-size:22px}.home-profile>.solo-progress .progress-heading{margin-bottom:10px}.home-profile>.solo-progress .progress-heading>span{display:none}.home-profile-stats{display:flex;justify-content:space-between;margin-top:14px;padding-top:12px;gap:14px}.home-profile-stats>div{flex-direction:row;align-items:baseline;gap:8px}.home-profile-stats dd{margin:0;font-size:20px}.home-profile-stats dt{order:0;font-size:10px}.home-profile-stats .home-stat-average,.home-stats-link{display:none}.flow-welcome .setup-title{order:1;grid-template-columns:minmax(0,1fr) 52px;gap:12px}.flow-welcome .setup-title h1{font-size:24px}.flow-welcome .welcome-mascot,.flow-welcome .welcome-mascot .mascot,.flow-welcome .welcome-mascot .mascot-avatar,.flow-welcome .welcome-mascot .mascot-art{width:52px;height:50px}.flow-welcome .resume-group-panel{order:2}.flow-welcome .mode-choices{order:3}.flow-welcome .flow-choice{min-height:84px;padding-block:16px}}@media(max-width:360px){.home-profile{padding:12px}.home-profile-stats>div{gap:5px}.home-profile-stats dt{font-size:9px}}.flow-screen{width:min(920px,100%)}.flow-surface{width:min(620px,100%);margin-inline:auto}.flow-welcome.flow-surface{width:100%}.flow-welcome{--welcome-pet-width: 156px;--welcome-pet-height: 136px}.flow-welcome .setup-title{grid-template-columns:minmax(0,1fr) var(--welcome-pet-width);min-height:var(--welcome-pet-height);gap:16px}.flow-welcome .welcome-mascot,.flow-welcome .welcome-mascot .mascot,.flow-welcome .welcome-mascot .mascot-avatar,.flow-welcome .welcome-mascot .mascot-art{width:var(--welcome-pet-width);height:var(--welcome-pet-height)}.flow-welcome .welcome-mascot .mascot-avatar{border-radius:24px}@media(max-width:900px)and (min-width:701px){.flow-welcome{--welcome-pet-width: 136px;--welcome-pet-height: 118px}.flow-welcome .setup-title{gap:12px}}@media(max-width:700px){.flow-welcome{--welcome-pet-width: 104px;--welcome-pet-height: 92px}.flow-welcome .setup-title{gap:12px}}@media(max-width:360px){.flow-welcome{--welcome-pet-width: 96px;--welcome-pet-height: 86px}.flow-welcome .setup-title h1{font-size:22px}}.home-profile-switch{display:inline-flex;align-items:center;gap:12px;max-width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-align:left}.home-profile-switch>span{min-width:0;overflow-wrap:anywhere}.home-profile-switch:focus-visible{box-shadow:none}.home-profile-switch:focus-visible>span{text-decoration:underline;text-decoration-color:var(--muted);text-decoration-thickness:1px;text-underline-offset:5px}.home-stats-link:focus-visible{box-shadow:none;text-decoration:underline;text-decoration-color:var(--muted);text-decoration-thickness:1px;text-underline-offset:5px}.home-profile-switch svg{width:17px;height:17px;color:var(--muted)}.home-profile-switch:hover svg{color:var(--text)}.guest-profile-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:12px;border:1px solid var(--line);border-radius:9px;background:#ffffff03;font-size:12px;text-align:left}.guest-profile-cta svg{width:17px}.profiles-modal{width:min(560px,calc(100% - 32px))}.profiles-location{margin-block:12px;font-size:11px;line-height:1.7;color:var(--muted)}.profiles-list{display:grid;gap:8px;margin-bottom:18px;max-height:340px;overflow-y:auto;scrollbar-width:thin;padding:4px;margin-inline:-4px}.profile-row{display:flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:11px;background:#ffffff02}.profile-choice{display:flex;align-items:center;gap:12px;flex:1;min-width:0;min-height:64px;padding:12px;border:0;border-radius:10px;background:transparent;text-align:left}.profile-choice>span:nth-child(2){flex:1;min-width:0}.profile-choice strong{display:block;font-size:13px;font-weight:550;overflow-wrap:anywhere}.profile-choice small{display:block;margin-top:5px;font-size:10px;line-height:1.5;color:var(--muted)}.profile-choice[aria-pressed=true]{background:#ffffff06}.profile-choice:hover:not(:disabled){background:#ffffff05}.profile-choice>svg{width:17px;height:17px}.profile-row>.icon-button{flex-shrink:0}.profile-row>.icon-button:disabled,.profile-choice:disabled{opacity:.45;cursor:default}.guest-choice{border:1px dashed var(--line)}.guest-choice .profile-avatar svg{width:18px}.profiles-modal>.primary-button{width:100%;justify-content:space-between}.profile-edit-form label{display:block;font-size:12px;color:var(--muted);margin-bottom:10px}.profile-edit-form input,.guest-name-label input{display:block;width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#ffffff02;color:var(--text);font-size:14px;outline:none}.profile-edit-form input:focus,.guest-name-label input:focus{border-color:var(--strong-line);background:#ffffff04}.profile-preparation>span{display:block;color:var(--muted);font-size:12px;margin-bottom:10px}.guest-name-label{display:block;margin-top:16px;color:var(--muted);font-size:12px}.guest-name-label input{margin-top:10px}@media(max-width:700px){.profiles-modal{padding:20px}.profile-choice{padding:10px;gap:8px}.profile-row .profile-avatar{width:28px;height:28px}.home-profile-switch{gap:8px}}.guest-stats-state{display:flex;flex-direction:column;justify-content:center;gap:6px;height:62px;margin-block:16px;padding:12px 18px;border:1px solid var(--line);border-radius:12px;background:#ffffff02}.guest-stats-state strong{font-size:12px;font-weight:550}.guest-stats-state span{font-size:10px;color:var(--muted)}.error-screen{width:min(540px,100%);margin:clamp(40px,9vh,88px) auto 40px}.error-panel{display:flex;flex-direction:column;align-items:center;min-height:420px;padding:48px 40px 40px;border:1px solid var(--line);border-radius:26px;background:var(--surface);text-align:center}.error-copy{margin-top:20px;max-width:360px}.error-copy h1{font-size:clamp(26px,3vw,32px);line-height:1.2;font-weight:550;letter-spacing:-.8px;overflow-wrap:anywhere}.error-copy p{margin-top:14px;color:var(--muted);font-size:13px;line-height:1.7;text-wrap:balance}.error-visual{display:flex;align-items:center;justify-content:center;gap:22px;min-height:124px}.error-mascot{width:140px;height:124px;flex-shrink:0}.error-mascot .mascot,.error-mascot .mascot-avatar{width:140px;height:124px}.error-mascot .mascot-art{width:124px;height:108px}.error-mascot .mascot-bubble{display:none}.error-number{font:40px SFMono-Regular,Consolas,Liberation Mono,monospace;letter-spacing:-.05em;line-height:1;color:var(--muted)}.error-static-mascot{display:grid;place-items:center}.error-static-mascot .robot-eyes{transform-box:fill-box;transform-origin:center;animation:error-blink 6s infinite}@keyframes error-blink{0%,90%,94%,to{transform:scaleY(1)}92%{transform:scaleY(.1)}}@media(prefers-reduced-motion:reduce){.error-static-mascot .robot-eyes{animation:none}}.error-actions{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;margin-top:auto;padding-top:38px}.error-actions .primary-button{width:min(280px,100%);min-height:50px;justify-content:space-between;text-decoration:none}.error-actions .primary-button:focus-visible{outline:none;box-shadow:var(--focus-shadow, 0 0 8px 2px #ffffff1c)}.error-actions .primary-button:active{transform:translateY(1px)}.error-home-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;color:var(--muted);font-size:12px;text-decoration:none;border-radius:8px}.error-home-link:hover{color:var(--text)}.error-brand{color:var(--text);text-decoration:none}.error-brand:focus-visible,.error-home-link:focus-visible,a.primary-button:focus-visible{outline:none;box-shadow:var(--focus-shadow, 0 0 8px 2px #ffffff1c)}@media(max-width:700px){.error-screen{margin-top:clamp(24px,7vh,64px)}.error-panel{min-height:clamp(360px,48svh,420px);padding:40px 24px 28px;border-radius:22px}.error-copy{margin-top:20px}.error-actions .primary-button{width:100%}}@media(max-height:600px){.error-screen{margin-block:16px}.error-panel{min-height:0;padding-block:24px}.error-copy{margin-top:22px}.error-actions{padding-top:26px}}.help-choices{display:grid;gap:12px}.help-choices button{display:flex;align-items:center;gap:16px;min-height:86px;padding:18px;border:1px solid var(--line);border-radius:13px;background:#ffffff02;text-align:left}.help-choices button:hover{background:#ffffff06}.help-choices button>span{flex:1}.help-choices strong{display:block;font-size:15px;font-weight:550}.help-choices small{display:block;margin-top:7px;font-size:12px;color:var(--muted)}.help-choices svg{color:var(--muted)}.guided-screen{padding-bottom:16px}.guided-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:22px;align-items:stretch}.guided-actions{display:flex;align-items:center;gap:14px}.guided-actions .text-button{display:flex;align-items:center;gap:8px;min-height:44px;font-size:12px}.guided-actions svg{width:16px}.guided-board{min-height:560px}.guided-title{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:22px 24px 0}.guided-title h1{font-size:21px;font-weight:550;letter-spacing:-.5px}.guided-title>span{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px}.coach-code{display:inline-flex;gap:5px}.coach-code>span{display:grid;place-items:center;min-width:25px;height:30px;border:1px solid var(--line);border-radius:6px;color:var(--text);font:18px Consolas,monospace}.guided-title .coach-code>span{min-width:18px;height:24px;font-size:15px}.guided-companion{display:flex;align-items:center;gap:16px;padding:20px 24px}.guided-companion .mascot,.guided-companion .mascot-avatar{width:84px;height:86px;flex-shrink:0}.guided-companion .mascot-art{width:84px;height:76px}.guided-companion .mascot-bubble{display:none}.guided-speech{position:relative;flex:1;min-width:0;min-height:144px;padding:16px 18px 20px;border:1px solid var(--line);border-radius:14px;background:#303534}.guided-speech:before{content:"";position:absolute;left:-5px;top:48px;width:8px;height:8px;transform:rotate(45deg);background:#303534;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.speech-eyebrow{display:block;margin-bottom:8px;color:var(--muted);font-size:10px}.guided-speech p{color:#d4dad1;font-size:13px;line-height:1.65}.speech-progress{position:absolute;bottom:9px;left:18px;width:28px;height:2px;background:#d4dad14a;transform-origin:left;animation:speech-line 3.2s ease-out both}.guided-history{flex:1;min-height:110px;padding:0 24px 16px}.guided-history .player-ledger{height:auto}.guided-history .ledger-heading{margin-bottom:12px}.guided-history .ledger-scroll{max-height:205px}.guided-history .guess-row{min-height:54px}.guided-feedback-key{margin-top:12px;font-size:11px;color:var(--muted)}.guided-history .ledger-empty:before{content:"Propose ton premier code";color:var(--muted);font:12px Segoe UI,sans-serif}.guided-history .ledger-empty{font-size:0;min-height:44px}.guided-composer{margin-top:auto;padding:18px 24px 22px;border-top:1px solid var(--line);background:#ffffff02}.guided-composer .composer-label{display:none}.guided-next{margin-bottom:12px}.guided-next p{font-size:13px;line-height:1.6}.guided-next .text-button{display:flex;align-items:center;gap:8px;min-height:40px;margin-top:3px;color:var(--muted);font-size:12px}.guided-next svg{width:16px}.guided-success p{font-size:13px;line-height:1.6}.guided-success .primary-button{width:100%;margin-top:16px;justify-content:space-between}.guided-success>.text-button{display:block;min-height:44px;margin:8px auto 0;font-size:12px}.coach-notebook{display:flex;flex-direction:column;gap:16px;min-width:0}.coach-card{min-width:0;padding:22px;border:1px solid var(--line);border-radius:17px;background:var(--surface)}.coach-card h2{font-size:14px;font-weight:550;margin-bottom:18px}.coach-card p{font-size:12px;line-height:1.65;color:var(--muted)}.coach-summary-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.coach-summary-title h2{margin:0}.coach-count{text-align:right}.coach-count strong{display:block;font-size:27px;font-weight:500;font-variant-numeric:tabular-nums}.coach-count>span{color:var(--muted);font-size:10px}.coach-digit-bank{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:20px}.coach-digit{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:45px;border:1px solid var(--line);border-radius:8px;background:#ffffff02;animation-delay:calc(var(--order) * 35ms)}.coach-digit>span{font:18px Consolas,monospace}.coach-digit small{color:var(--muted);font-size:9px}.coach-certain{border-color:#d8e0d061;background:#ffffff07}.coach-excluded{color:var(--muted)}.coach-excluded>span{opacity:.45}.coach-excluded:after{content:"";position:absolute;top:16px;left:28%;width:44%;height:1px;background:var(--muted);transform-origin:left;animation-delay:calc(var(--order) * 55ms)}.coach-positions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:16px;border-top:1px solid var(--line)}.coach-positions>span{font-size:11px;color:var(--muted)}.coach-demo{flex:1;min-height:215px}.coach-example{display:flex;justify-content:space-between;gap:14px;margin-bottom:20px}.coach-example>span{display:grid;gap:8px;color:var(--muted);font-size:10px}.coach-legend{display:grid;gap:12px}.coach-legend>span{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;line-height:1.5}.coach-legend b{flex-shrink:0}.coach-card .coach-example-summary{display:block;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:13px;line-height:1.7;text-wrap:pretty}.coach-example-summary strong{color:var(--text);font-weight:550;white-space:nowrap}@media(max-width:700px){.coach-card .coach-example-summary{margin-top:12px;padding-top:10px;font-size:12px;line-height:1.6}}.coach-elimination{display:flex;gap:12px;margin-bottom:20px}.eliminated-tile{position:relative;display:grid;place-items:center;width:46px;height:50px;border:1px solid var(--line);border-radius:8px;font:25px Consolas,monospace;color:var(--muted)}.eliminated-tile i{position:absolute;width:80%;height:1px;transform:rotate(-35deg);background:var(--text);animation-delay:calc(var(--order) * .15s)}.coach-next-demo{display:flex;align-items:center;gap:14px;margin-top:18px}.coach-next-demo>span:last-child{font-size:11px;line-height:1.6;color:var(--muted)}.coach-candidates{display:grid;gap:10px;margin-bottom:18px}.coach-candidates>div{display:flex;align-items:center;justify-content:space-between;padding:12px;border:1px solid var(--line);border-radius:9px;animation-delay:calc(var(--order) * .2s)}.coach-candidates svg{width:16px;color:var(--muted)}.coach-comparison{display:grid;gap:14px;margin-bottom:18px}.coach-comparison>div{display:grid;grid-template-columns:minmax(0,1fr) 52px 48px;align-items:center;gap:6px;font-size:11px}.coach-comparison .feedback-value{justify-self:center}.comparison-heading{color:var(--muted);font-size:10px!important;text-align:center}.automatic-hypothesis{animation-delay:calc(var(--order) * .22s)}.automatic-hypothesis small{display:block;margin-top:6px;color:var(--muted);font-size:10px}.coach-fairness{display:grid;gap:18px;margin-top:18px}.coach-fairness>div{display:grid;grid-template-columns:20px 1fr;gap:8px}.coach-fairness svg{width:18px;color:var(--muted)}.coach-fairness strong{font-size:12px;font-weight:500}.coach-fairness p{grid-column:2}.coach-wait{display:flex;gap:5px;padding-top:24px}.coach-wait i{width:5px;height:5px;border-radius:50%;background:var(--muted);animation:coach-wait .9s ease infinite alternate}.coach-wait i:nth-child(2){animation-delay:.15s}.coach-wait i:nth-child(3){animation-delay:.3s}.guided-loading{display:grid;justify-items:center;gap:16px;padding:60px 20px;color:var(--muted);font-size:13px}@keyframes coach-copy{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes strike{0%{scale:0 1}to{scale:1 1}}@keyframes speech-line{0%{scale:0 1}to{scale:1 1}}@keyframes coach-wait{to{opacity:.25}}@media(max-width:900px){.guided-layout{gap:16px;grid-template-columns:minmax(0,1.3fr) minmax(275px,1fr)}.guided-title{flex-wrap:wrap}.guided-title,.guided-companion,.guided-composer{padding-inline:18px}.guided-companion{gap:12px}.guided-companion .mascot,.guided-companion .mascot-avatar{width:60px;height:70px}.guided-companion .mascot-art{width:60px;height:56px}.guided-speech{min-height:172px;padding-inline:14px}.guided-speech p{font-size:12px}.coach-card{padding:18px}}@media(max-width:700px){.guided-screen .play-toolbar{gap:10px}.guided-screen .play-toolbar>div:first-child{gap:8px;font-size:11px}.guided-screen .toolbar-separator,.guided-screen .round-label{display:none}.guided-screen .play-toolbar>div>svg{flex-shrink:0}.guided-actions{gap:10px}.guided-actions .text-button{font-size:11px}.guided-layout{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:17px;background:var(--surface);overflow:hidden}.guided-board{display:contents}.app-shell:has(.guided-screen) .app-header{height:60px}.guided-title{order:1;padding:10px 16px 0;flex-wrap:nowrap}.guided-title h1{font-size:17px}.guided-title>span{flex-direction:column;align-items:flex-end;gap:4px}.guided-companion{order:2;padding:10px 16px;gap:10px}.guided-companion .mascot,.guided-companion .mascot-avatar{width:48px;height:60px}.guided-companion .mascot-art{width:48px;height:46px}.guided-speech{min-height:100px;padding:12px 14px 18px}.speech-eyebrow{font-size:9px}.guided-speech p{font-size:12px;line-height:1.6}.coach-notebook{order:3;padding:0 16px 14px;gap:12px}.coach-card{padding:0;border:0;border-radius:0;background:transparent}.coach-summary-title{margin:0}.positions-unknown,.coach-next-demo{display:none}.coach-summary-title h2{font-size:12px}.coach-count{display:flex;align-items:baseline;gap:6px}.coach-count strong{font-size:22px}.coach-digit-bank,.coach-summary>p{display:none}.coach-positions{padding-block:10px 0;border:0}.coach-positions .coach-code>span{height:24px;min-width:22px;font-size:15px}.coach-demo{min-height:0;padding-top:12px;border-top:1px solid var(--line)}.coach-demo h2{font-size:12px;margin-bottom:12px}.coach-demo p{font-size:11px}.coach-demo-content>p,.guided-feedback-key{display:none}.coach-example{margin-bottom:12px}.coach-legend{gap:8px}.coach-legend>span{font-size:11px}.coach-elimination{margin-bottom:10px;gap:10px}.eliminated-tile{height:34px;width:36px;font-size:20px}.coach-next-demo{margin-top:10px}.coach-candidates{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.coach-candidates>div{gap:10px;padding:7px}.guided-history{order:4;min-height:0;padding:0 16px 12px}.guided-history .ledger-heading{display:none}.guided-history .ledger-scroll{max-height:110px}.guided-history .guess-row{min-height:45px}.guided-feedback-key{font-size:10px;margin-top:8px}.guided-composer{order:5;padding:12px 16px 16px}.guided-next{margin-bottom:10px}.guided-next p{font-size:11px}.guided-composer .keypad-key{min-height:44px;padding-block:6px}.guided-composer .has-keypad .entry-line input{height:42px}.guided-next .text-button{min-height:36px;font-size:11px}}@media(prefers-reduced-motion:reduce){.guided-screen *,.guided-screen *:after{animation:none!important}}.guided-history-panel{padding:16px 18px 12px;border:1px solid var(--line);border-radius:12px;background:#ffffff02}.guided-history .ledger-empty{min-height:66px}.guided-feedback-key{padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.feedback-key-mark{margin-right:5px}.guided-composer{border-top:0;background:transparent;padding-top:0}.guided-next{padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#ffffff03;margin-bottom:12px;transition:border-color .3s ease,background .3s ease}.guided-next-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:5px}.guided-next-heading>span{font-size:12px;font-weight:600}.guided-next .text-button{margin:0;min-height:32px;padding:4px 8px;border:1px solid var(--line);border-radius:7px;background:#ffffff04;font-size:11px;color:var(--text)}.guided-next p{font-size:12px;color:var(--muted)}.reading-step-3 .guided-next{border-color:var(--strong-line);background:#ffffff05}.coach-card{transition:border-color .3s ease}.coach-card.reading-active{border-color:#d4dad16b}.coach-summary{flex:0}.coach-demo{min-height:250px}.reading-step-1 .coach-demo-content{animation:coach-copy .25s ease both}.reading-step-1 .eliminated-tile i{animation:strike .3s ease both;animation-delay:calc(var(--order) * .13s)}.reading-step-1 .coach-candidates>div,.reading-step-1 .automatic-hypothesis{animation:coach-copy .25s ease both;animation-delay:calc(var(--order) * .25s)}.reading-step-2 .coach-count strong{animation:coach-copy .25s ease both}.reading-step-2 .coach-excluded:after{animation:strike .25s ease both;animation-delay:calc(var(--order) * 30ms)}.reading-step-2 .coach-positions .coach-code{animation:coach-copy .3s ease both;animation-delay:.45s}.speech-word{display:inline;animation:speech-word .15s ease both;animation-delay:calc(var(--word) * 24ms)}.speech-thinking .speech-word{animation:none}.speech-followup{display:flex;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid #d4dad11c;opacity:0;visibility:hidden;color:#e6ebdf;font-size:13px;line-height:1.65}.speech-followup svg{width:16px;height:16px;margin-top:3px}.speech-followup .speech-word{animation:none}.speech-followup.followup-visible{visibility:visible;opacity:1;animation:speech-handoff .3s .15s ease both}.followup-visible .speech-word{animation:speech-word .15s ease both;animation-delay:calc(.3s + var(--word) * 24ms)}.bubble-thinking{display:flex;gap:5px;position:absolute;bottom:14px;left:18px}.bubble-thinking i{width:4px;height:4px;background:var(--muted);border-radius:50%;animation:coach-wait .7s ease infinite alternate}.bubble-thinking i:nth-child(2){animation-delay:.15s}.bubble-thinking i:nth-child(3){animation-delay:.3s}@keyframes speech-word{0%{opacity:0}to{opacity:1}}@keyframes speech-handoff{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media(max-width:700px){.guided-history-panel{padding:10px 12px}.guided-history .ledger-empty{min-height:36px}.guided-next{padding:10px 12px}.guided-next-heading{margin-bottom:5px}.guided-next-heading>span{font-size:11px}.guided-next .text-button{min-height:32px;padding:3px 7px;font-size:10px}.guided-next p{font-size:11px}.coach-demo{min-height:85px;flex:0}.coach-notebook{padding:0 16px 12px;gap:10px}.coach-card{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#ffffff02}.coach-demo{border-top:1px solid var(--line)}.coach-demo h2{margin-bottom:8px}.coach-summary{padding:8px 12px}.speech-followup{gap:8px;margin-top:10px;padding-top:8px;font-size:12px;line-height:1.6}.guided-companion .guided-speech{min-height:112px}.coach-elimination{margin-bottom:0}}@media(prefers-reduced-motion:reduce){.guided-screen *,.guided-screen *:after{animation:none!important;transition:none!important}}.guided-composer{margin:0 24px 22px;padding:14px 16px 16px;border:1px solid var(--line);border-radius:12px;background:#ffffff03;transition:border-color .3s ease}.guided-next{padding:0;border:0;border-radius:0;background:transparent;margin-bottom:12px}.reading-step-3 .guided-next{background:transparent}.reading-step-3 .guided-composer{border-color:var(--strong-line)}@media(max-width:900px){.guided-composer{margin-inline:18px}}@media(max-width:700px){.guided-composer{margin:0 16px 16px;padding:10px 12px 12px}.guided-next{padding:0;margin-bottom:10px}}@media(prefers-reduced-motion:reduce){.guided-composer{transition:none}}.tutorial-intro-modal{width:min(520px,calc(100% - 32px))}.tutorial-intro-modal .modal-heading .icon-button{width:auto;padding-inline:8px;display:flex;gap:7px;font-size:11px}.tutorial-intro-modal .modal-heading .icon-button svg{width:16px}.tutorial-intro-companion{display:flex;align-items:center;gap:20px;margin-block:28px}.tutorial-intro-companion .mascot{flex-shrink:0;width:88px}.tutorial-intro-companion .mascot-avatar,.tutorial-intro-companion .mascot-art{width:88px;height:80px}.tutorial-intro-companion .mascot-bubble{display:none}.tutorial-intro-copy{min-width:0;font-size:14px;line-height:1.7;color:var(--muted)}.tutorial-intro-copy p+p{margin-top:14px}.tutorial-intro-copy strong{color:var(--text);font-weight:500}.tutorial-intro-modal>.primary-button{width:100%;justify-content:space-between}@media(max-width:700px){.tutorial-intro-companion{gap:14px;margin-block:22px;align-items:flex-start}.tutorial-intro-companion .mascot,.tutorial-intro-companion .mascot-avatar,.tutorial-intro-companion .mascot-art{width:60px;height:60px}.tutorial-intro-copy{font-size:13px}}
