/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.grid{display:grid}.hidden{display:none}.table{display:table}.lowercase{text-transform:lowercase}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}html,body{overscroll-behavior:none;background:#0c0d0f;min-height:100%;margin:0}button,textarea,input{font:inherit}button{color:inherit}button,label{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,label:focus-within{outline:3px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,label:focus-within{outline:3px solid color-mix(in srgb, var(--accent) 88%, white)}}button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,label:focus-within{outline-offset:3px}.app{background:var(--bg);min-height:100dvh;color:var(--text);letter-spacing:-.012em;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,Arial,sans-serif;transition:background .25s,color .25s;display:flex}svg{width:24px;height:24px}.desktop-rail{border-right:1px solid var(--line);background:var(--bg);flex-direction:column;align-items:center;width:92px;height:100dvh;padding:28px 0;display:flex;position:fixed;inset:0 auto 0 0}@supports (color:color-mix(in lab, red, red)){.desktop-rail{background:color-mix(in srgb, var(--bg) 92%, transparent)}}.desktop-rail{z-index:5}.brand{cursor:pointer;background:0 0;border:0;border-radius:13px;width:48px;height:48px;padding:0;overflow:hidden;box-shadow:0 5px 18px #0000005c}.brand img{object-fit:cover;width:100%;height:100%;display:block}.desktop-rail nav{flex-direction:column;gap:14px;margin:auto 0;display:flex}.desktop-rail nav button,.rail-action{width:64px;min-height:58px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:11px;display:flex}.desktop-rail nav button.active{color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.desktop-rail nav button.active{background:color-mix(in srgb, var(--accent) 9%, transparent)}}.nav-icon{place-items:center;display:grid;position:relative}.nav-login-dot{border:1.5px solid var(--bg);background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 2px var(--accent);border-radius:50%;position:absolute;top:-1px;right:-2px}@supports (color:color-mix(in lab, red, red)){.nav-login-dot{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 16%, transparent)}}.rail-action{margin-top:auto}.app-stage{width:100%;min-height:100dvh;padding-left:92px}.topbar{justify-content:space-between;align-items:center;max-width:1320px;height:84px;margin:0 auto;padding:20px 34px;display:flex}.icon-button,.panel-close,.modal header button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:14px;place-items:center;width:44px;height:44px;display:grid}.title-lockup{text-align:center}.title-lockup h1{letter-spacing:-.025em;margin:0;font-size:22px;font-weight:720}.title-lockup span{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:7px;margin-top:4px;font-size:13px;display:flex}.compact-sync{letter-spacing:.03em;align-items:center;gap:4px;font-size:9px;font-weight:700;display:inline-flex}.compact-sync i,.login-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;display:inline-block}.compact-sync.sync-offline i,.compact-sync.sync-error i{background:var(--warning)}.compact-sync.sync-syncing i,.compact-sync.sync-pending i{animation:1s ease-in-out infinite pulse}.play-layout{grid-template-columns:minmax(530px,680px) minmax(310px,390px);align-items:start;gap:34px;max-width:1180px;margin:0 auto;padding:6px 34px 32px;display:grid}.game-column{min-width:0}.game-meta{color:var(--muted);justify-content:space-between;align-items:center;margin:2px 0 12px;font-size:13px;display:flex}.game-meta strong{color:var(--accent);margin-left:4px}.training-label{color:var(--accent);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-weight:600;display:flex}.training-label svg{width:17px;height:17px}.progress{background:var(--surface-3);border-radius:99px;height:3px;margin-bottom:16px;overflow:hidden}.progress span{background:var(--accent);height:100%;transition:width .3s;display:block}.challenge-rule{border:1px solid var(--secondary);align-items:center;gap:10px;margin:-4px 0 12px;padding:9px 11px;display:flex}@supports (color:color-mix(in lab, red, red)){.challenge-rule{border:1px solid color-mix(in srgb, var(--secondary) 48%, var(--line))}}.challenge-rule{background:var(--secondary);border-radius:12px}@supports (color:color-mix(in lab, red, red)){.challenge-rule{background:color-mix(in srgb, var(--secondary) 8%, var(--surface))}}.challenge-rule{color:var(--secondary)}.challenge-rule svg{flex:none;width:18px;height:18px}.challenge-rule strong,.challenge-rule small{display:block}.challenge-rule strong{font-size:11px}.challenge-rule small{color:var(--muted);margin-top:2px;font-size:9px}.board-wrap{aspect-ratio:1;width:100%;position:relative}.board{border:1.5px solid var(--line-strong);background:var(--surface);-webkit-touch-callout:none;grid-template-rows:repeat(9,minmax(0,1fr));grid-template-columns:repeat(9,minmax(0,1fr));gap:0;width:100%;height:100%;display:grid}.board.drawing,.board.drawing .cell{touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair}.cell{border:0;border-right:1px solid var(--grid-inner);border-bottom:1px solid var(--grid-inner);background:var(--surface);cursor:pointer;isolation:isolate;place-items:center;min-width:0;min-height:0;padding:0;display:grid;position:relative}.cell:nth-child(9n){border-right:0}.cell:nth-child(n+73){border-bottom:0}.cell:nth-child(3n):not(:nth-child(9n)){border-right:2px solid var(--line-strong)}.cell:nth-child(n+19):nth-child(-n+27),.cell:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid var(--line-strong)}.cell.peer{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.cell.peer{background:color-mix(in srgb, var(--surface) 83%, var(--cell-peer))}}.cell.scan-covered{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.cell.scan-covered{background:color-mix(in srgb, var(--surface) 78%, var(--bg))}}.cell.scan-covered .cell-value,.cell.scan-covered .candidates i:not(.scan-candidate):not(.candidate-conflict){opacity:.46}.cell.scan-available{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.cell.scan-available{background:color-mix(in srgb, var(--surface) 93%, var(--accent))}}.cell.scan-marker:before{content:"";background:var(--accent);opacity:.6;border-radius:50%;width:5px;height:5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cell.same{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.cell.same{background:color-mix(in srgb, var(--surface) 62%, var(--cell-same-value))}}.cell.same{outline:1.5px solid var(--cell-same-value)}@supports (color:color-mix(in lab, red, red)){.cell.same{outline:1.5px solid color-mix(in srgb, var(--cell-same-value) 76%, transparent)}}.cell.same{outline-offset:-2px;z-index:1}.cell.same .cell-value{opacity:1}.cell.tech-scan-house{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.cell.tech-scan-house{background:color-mix(in srgb, var(--surface) 91%, var(--cell-coach-focus))}}.cell.tech-scan-source{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.cell.tech-scan-source{background:color-mix(in srgb, var(--surface) 72%, var(--cell-coach-focus))}}.cell.tech-scan-source{box-shadow:inset 0 0 0 1px var(--cell-coach-focus)}@supports (color:color-mix(in lab, red, red)){.cell.tech-scan-source{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--cell-coach-focus) 62%, transparent)}}.cell.tech-scan-source{z-index:3}.cell.tech-focus{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.cell.tech-focus{background:color-mix(in srgb, var(--surface) 72%, var(--cell-coach-focus))}}.cell.tech-focus{z-index:1}.cell.tech-place{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.cell.tech-place{background:color-mix(in srgb, var(--surface) 64%, var(--cell-coach-placement))}}.cell.tech-place{box-shadow:inset 0 0 0 2px var(--cell-coach-placement);z-index:2}.cell.tech-place .tech-preview-value{color:var(--text);opacity:.92;font-weight:390}.cell.tech-remove{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.cell.tech-remove{background:color-mix(in srgb, var(--surface) 82%, var(--cell-coach-elimination))}}.cell.tech-remove{box-shadow:inset 0 0 0 2px var(--cell-coach-elimination)}@supports (color:color-mix(in lab, red, red)){.cell.tech-remove{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--cell-coach-elimination) 82%, transparent)}}.cell.tech-remove{z-index:2}.cell.selected{outline:2.5px solid var(--cell-selected);outline-offset:-3px;z-index:2;background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.cell.selected{background:color-mix(in srgb, var(--surface) 72%, var(--cell-selected))}}.cell.wrong{outline:2px solid var(--cell-wrong);outline-offset:-2.5px;background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.cell.wrong{background:color-mix(in srgb, var(--surface) 86%, var(--cell-wrong))}}.cell.selected.wrong{outline:2px solid var(--cell-selected);outline-offset:-4px;box-shadow:inset 0 0 0 2px var(--cell-wrong);background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.cell.selected.wrong{background:color-mix(in srgb, var(--surface) 82%, var(--cell-wrong))}}.cell.selected.wrong{z-index:3}.cell.wrong .cell-value{color:var(--cell-wrong);opacity:1}.cell.colour-1:after,.cell.colour-2:after,.cell.colour-3:after,.cell.colour-4:after{content:"";opacity:.18;z-index:0;pointer-events:none;border-radius:5px;position:absolute;inset:3px}.cell.colour-1:after{background:var(--cell-marker1)}.cell.colour-2:after{background:var(--cell-marker2)}.cell.colour-3:after{background:var(--cell-marker3)}.cell.colour-4:after{background:var(--cell-marker4)}.cell-value{z-index:1;font-size:clamp(24px,3vw,40px);font-weight:390;line-height:1;position:relative}.cell.given .cell-value{color:var(--cell-given-value);font-weight:680}.cell.entered .cell-value{color:var(--cell-entered-value);font-weight:390}.cell.entered.wrong .cell-value{color:var(--cell-wrong)}.cell.tech-scan-source.given .cell-value,.cell.tech-scan-source.entered .cell-value{color:var(--secondary);opacity:1}.constraint-overlay{pointer-events:none;z-index:4;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.constraint-house{fill:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.constraint-house{fill:color-mix(in srgb, var(--secondary) 4%, transparent)}}.constraint-house{stroke:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.constraint-house{stroke:color-mix(in srgb, var(--secondary) 62%, transparent)}}.constraint-house{stroke-width:2px}.constraint-rail{fill:none;stroke:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.constraint-rail{stroke:color-mix(in srgb, var(--secondary) 76%, transparent)}}.constraint-rail{stroke-width:2px;stroke-linecap:round;opacity:.88;filter:drop-shadow(0 0 3px var(--secondary))}@supports (color:color-mix(in lab, red, red)){.constraint-rail{filter:drop-shadow(0 0 3px color-mix(in srgb, var(--secondary) 26%, transparent))}}.constraint-end{fill:var(--secondary);stroke:var(--surface);stroke-width:1px}.candidates i.scan-candidate{background:var(--accent);border-radius:3px;justify-content:center;place-self:center;align-items:center;width:1.18em;height:1.18em;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.candidates i.scan-candidate{background:color-mix(in srgb, var(--accent) 16%, transparent)}}.candidates i.scan-candidate{box-shadow:inset 0 0 0 1px var(--accent)}@supports (color:color-mix(in lab, red, red)){.candidates i.scan-candidate{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 48%, transparent)}}.candidates i.scan-candidate{color:var(--accent);opacity:1;font-weight:800}.candidates i.candidate-conflict{color:var(--warning);opacity:1;background:0 0;font-weight:400;text-decoration:none}.candidates i.scan-candidate.scan-conflict{color:var(--warning);background:var(--warning)}@supports (color:color-mix(in lab, red, red)){.candidates i.scan-candidate.scan-conflict{background:color-mix(in srgb, var(--warning) 13%, transparent)}}.candidates i.scan-candidate.scan-conflict{box-shadow:inset 0 0 0 1px var(--warning)}@supports (color:color-mix(in lab, red, red)){.candidates i.scan-candidate.scan-conflict{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--warning) 88%, transparent)}}.candidates i.tech-candidate-place,.candidates i.tech-candidate-remove{opacity:1;border-radius:4px;justify-content:center;place-self:center;align-items:center;width:1.35em;height:1.35em;font-weight:850;display:inline-flex;transform:translateY(-1px)}.candidates i.tech-candidate-place{color:var(--accent-ink);background:var(--accent);box-shadow:0 0 0 1px var(--accent)}@supports (color:color-mix(in lab, red, red)){.candidates i.tech-candidate-place{box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 80%, transparent)}}.candidates i.tech-candidate-remove{color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger);background:0 0}.candidates{z-index:1;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);display:grid;position:absolute;inset:6%}.candidates i{color:var(--text);place-items:center;font-size:clamp(8px,1vw,13px);font-style:normal;line-height:1;display:grid;transform:translateY(-1px)}@supports (color:color-mix(in lab, red, red)){.candidates i{color:color-mix(in srgb, var(--text) 75%, var(--muted))}}.candidates i{font-variant-numeric:tabular-nums}.tool-row{grid-template-columns:repeat(6,1fr);gap:4px;margin:15px 0 13px;display:grid}.tool-row button{color:var(--muted);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:7px 2px;font-size:11px;display:flex}.tool-row button svg{width:21px;height:21px}.tool-row button.active{color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tool-row button.active{background:color-mix(in srgb, var(--accent) 9%, transparent)}}.tool-row button:disabled{opacity:.28;cursor:default}.keypad{grid-template-columns:repeat(9,1fr);gap:6px;display:grid}.keypad button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;height:58px;padding:4px 2px 13px;font-size:25px;line-height:1;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000001f}.keypad button:active{background:var(--surface-2);transform:translateY(1px)}.keypad button:disabled{opacity:.32;cursor:default}.keypad small{min-height:0;color:var(--muted);pointer-events:none;margin:0;font-size:9px;line-height:1;position:absolute;inset:auto 0 3px}.keypad small.complete{color:var(--accent);font-size:10px;font-weight:800}.colour-dot{border-radius:50%;width:17px;height:17px}.dot-1{background:var(--cell-marker1)}.dot-2{background:var(--cell-marker2)}.dot-3{background:var(--cell-marker3)}.dot-4{background:var(--cell-marker4)}.secondary-input{gap:6px;min-height:45px;margin-top:7px;display:grid}.secondary-input button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px}.secondary-input button:disabled{opacity:.28;cursor:default}.candidate-input{grid-template-columns:repeat(9,1fr)}.candidate-input button{height:45px;font-size:22px}.candidate-input button:hover,.candidate-input button.active{color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.candidate-input button:hover,.candidate-input button.active{background:color-mix(in srgb, var(--accent) 10%, transparent)}}.colour-input{grid-template-columns:repeat(4,1fr)}.colour-input button{border:1px solid var(--line);background:var(--surface);justify-content:center;align-items:center;gap:7px;min-height:45px;display:flex}.colour-input button.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.colour-input small{color:var(--muted);font-size:9px}.keyboard-shortcuts{color:var(--muted);justify-content:center;gap:20px;margin-top:12px;font-size:10px;display:flex}.keyboard-shortcuts span{align-items:center;gap:5px;display:inline-flex}.keyboard-shortcuts kbd{border:1px solid var(--line-strong);background:var(--surface);min-width:21px;color:var(--text);font:inherit;text-align:center;border-bottom-width:2px;border-radius:6px;padding:3px 6px}.coach-panel{border:1px solid var(--line);background:var(--surface);border-radius:28px;min-height:0;margin-top:30px;padding:26px;transition:opacity .2s,transform .2s,max-height .22s;position:sticky;top:100px}.sheet-handle{display:none}.panel-close{background:0 0;width:36px;height:36px;margin-left:auto}.panel-close svg{width:18px}.coach-copy .eyeline,.eyeline{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:750}.coach-copy h2{letter-spacing:-.035em;margin:10px 0;font-size:28px}.coach-copy>p{color:var(--muted);margin:0 0 18px;font-size:15px;line-height:1.55}.coach-step{background:var(--surface-2);border-radius:12px;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 14px;padding:10px 12px;display:flex}.coach-step strong{align-items:center;gap:5px;font-size:13px;display:inline-flex}.coach-step>span{color:var(--muted);text-align:right;font-size:10px}.coach-digit{border:1px solid var(--accent);place-items:center;min-width:20px;height:20px;padding:0 5px;display:inline-grid}@supports (color:color-mix(in lab, red, red)){.coach-digit{border:1px solid color-mix(in srgb, var(--accent) 72%, transparent)}}.coach-digit{background:var(--accent);border-radius:5px}@supports (color:color-mix(in lab, red, red)){.coach-digit{background:color-mix(in srgb, var(--accent) 10%, transparent)}}.coach-digit{color:var(--accent);font-size:12px;font-weight:650;line-height:1}.coach-divider{color:var(--muted);font-weight:400}.sheet-expand{display:none}.coach-explanation{border-block:1px solid var(--line);margin-bottom:18px;padding:11px 0}.coach-explanation summary{color:var(--text);cursor:pointer;font-size:13px;font-weight:680}.coach-explanation p{color:var(--muted);margin:10px 0 2px;font-size:13px;line-height:1.5}.coach-actions{display:block}.coach-actions .primary{width:100%}.coach-actions.drill-actions{grid-template-columns:auto auto minmax(150px,1fr);gap:8px;display:grid}.coach-actions.drill-actions .primary{width:auto}.coach-copy code{border:1px solid var(--line);background:var(--surface-2);color:var(--text);letter-spacing:.01em;white-space:nowrap;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:4px;padding:.06em .28em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8em;font-weight:500;display:inline}.solution-path{flex-wrap:wrap;align-items:center;gap:6px;display:flex;margin:-4px 0 16px!important}.solution-path strong{width:100%;color:var(--text);text-transform:uppercase;letter-spacing:.1em;font-size:10px}.solution-path span{border:1px solid var(--line);background:var(--surface-2);min-height:25px;color:var(--secondary);border-radius:8px;align-items:center;padding:0 8px;font-size:10px;font-weight:650;display:inline-flex}.solution-path span+span:before{content:"›";color:var(--muted);margin-right:6px}.primary,.secondary{cursor:pointer;border:1px solid var(--line);border-radius:14px;min-height:48px;padding:0 18px;font-weight:680}.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.primary:disabled{cursor:default;opacity:.42}.secondary{color:var(--text);background:0 0}.primary.compact,.secondary.compact{white-space:nowrap;justify-content:center;align-items:center;gap:8px;min-height:44px;display:inline-flex}.compact svg{width:18px}.pause-menu{z-index:18;background:var(--bg);position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.pause-menu{background:color-mix(in srgb, var(--bg) 96%, transparent)}}.pause-menu{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:28px;animation:.18s fade;display:flex}.pause-mark{width:76px;height:76px;color:var(--accent);background:var(--accent);border-radius:26px;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.pause-mark{background:color-mix(in srgb, var(--accent) 10%, var(--surface))}}.pause-mark{margin-bottom:24px}.pause-mark svg{width:34px;height:34px}.pause-menu h2{letter-spacing:-.055em;margin:10px 0 12px;font-size:clamp(38px,6vw,64px)}.pause-menu>p{color:var(--muted);max-width:390px;margin:0 0 28px;line-height:1.5}.pause-actions{grid-template-columns:1fr 1fr;gap:10px;width:min(390px,100%);display:grid}.pause-actions .primary{grid-column:1/-1;min-height:58px}.pause-actions button{justify-content:center;align-items:center;gap:8px;display:flex}.pause-actions svg{width:19px}.pause-actions .text-action{grid-column:1/-1}.home-view{max-width:1100px;margin:0 auto;padding:clamp(42px,8vh,92px) 44px 100px}.home-hero{max-width:760px}.home-hero h2{letter-spacing:-.07em;margin:18px 0 28px;font-size:clamp(54px,9vw,106px);line-height:.86}.home-hero p{color:var(--muted);max-width:540px;font-size:17px;line-height:1.55}.home-actions{grid-template-columns:1.3fr 1fr;gap:12px;margin-top:48px;display:grid}.home-card{border:1px solid var(--line);background:var(--surface);min-height:132px;color:var(--text);text-align:left;cursor:pointer;border-radius:22px;align-items:center;gap:18px;padding:24px;transition:border-color .18s,transform .18s;display:flex}.home-card:hover{border-color:var(--line-strong);transform:translateY(-2px)}.home-card.primary-card{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.home-card.primary-card{background:color-mix(in srgb, var(--accent) 9%, var(--surface))}}.home-card.primary-card{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.home-card.primary-card{border-color:color-mix(in srgb, var(--accent) 42%, var(--line))}}.home-card.daily-card{background:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.home-card.daily-card{background:color-mix(in srgb, var(--secondary) 8%, var(--surface))}}.home-card.daily-card{border-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.home-card.daily-card{border-color:color-mix(in srgb, var(--secondary) 38%, var(--line))}}.home-card.daily-card .home-card-icon{color:var(--secondary)}.home-card.daily-card.complete strong:after{content:" ✓";color:var(--accent)}.home-card-icon{background:var(--surface-3);width:54px;height:54px;color:var(--accent);border-radius:17px;flex:none;place-items:center;display:grid}.home-card-icon svg{width:25px}.home-card>span:last-child{min-width:0}.home-card small,.home-card em{color:var(--muted);font-style:normal;display:block}.home-card small{text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:700}.home-card strong{margin:6px 0;font-size:21px;display:block}.home-card em{font-size:12px}.home-utilities{gap:8px;margin-top:16px;display:flex}.home-utilities button{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;min-height:38px;padding:0 12px;display:inline-flex}.home-utilities button:disabled{opacity:.3;cursor:default}.home-utilities svg{width:16px}.save-progress-callout{border:1px solid var(--accent);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;max-width:760px;margin-top:32px;padding:15px 16px;display:grid}@supports (color:color-mix(in lab, red, red)){.save-progress-callout{border:1px solid color-mix(in srgb, var(--accent) 44%, var(--line))}}.save-progress-callout{background:var(--accent);border-radius:20px}@supports (color:color-mix(in lab, red, red)){.save-progress-callout{background:color-mix(in srgb, var(--accent) 8%, var(--surface))}}.save-progress-mark{background:var(--accent);width:46px;height:46px;color:var(--accent-ink);border-radius:14px;place-items:center;font-size:24px;font-weight:820;display:grid}.save-progress-callout span strong,.save-progress-callout span small{display:block}.save-progress-callout span small{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.4}.save-progress-callout .primary,.save-progress-callout .secondary{min-height:42px;font-size:12px}.save-progress-callout+.home-actions{margin-top:26px}.save-progress-callout.sync-saved{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.save-progress-callout.sync-saved{border-color:color-mix(in srgb, var(--accent) 58%, var(--line))}}.save-progress-callout.sync-offline,.save-progress-callout.sync-error{border-color:var(--warning)}@supports (color:color-mix(in lab, red, red)){.save-progress-callout.sync-offline,.save-progress-callout.sync-error{border-color:color-mix(in srgb, var(--warning) 58%, var(--line))}}.save-progress-callout.sync-offline,.save-progress-callout.sync-error{background:var(--warning)}@supports (color:color-mix(in lab, red, red)){.save-progress-callout.sync-offline,.save-progress-callout.sync-error{background:color-mix(in srgb, var(--warning) 7%, var(--surface))}}.save-progress-callout.sync-offline .save-progress-mark,.save-progress-callout.sync-error .save-progress-mark{background:var(--warning);color:var(--bg)}.save-progress-callout.sync-syncing .sync-mark{animation:.9s linear infinite spin}.auth-screen{z-index:32;background:var(--bg);place-items:center;padding:56px 24px;display:grid;position:fixed;inset:0;overflow-y:auto}@supports (color:color-mix(in lab, red, red)){.auth-screen{background:color-mix(in srgb, var(--bg) 97%, transparent)}}.auth-screen{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:.18s fade}.auth-close{top:max(24px, env(safe-area-inset-top));right:max(24px, env(safe-area-inset-right));border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--text);cursor:pointer;border-radius:14px;position:fixed}.auth-close svg{width:19px}.auth-panel{text-align:center;width:min(760px,100%)}.auth-brand{align-items:center;gap:12px;margin-bottom:clamp(42px,8vh,82px);display:inline-flex}.auth-logo{background:url(/icon-192-v5.png) 50%/cover no-repeat;border-radius:13px;width:44px;height:44px}.auth-brand strong{letter-spacing:-.04em;font-size:26px}.auth-panel h2{letter-spacing:-.065em;margin:14px 0 22px;font-size:clamp(48px,8vw,88px);line-height:.92}.auth-panel>p{max-width:680px;color:var(--muted);margin:0 auto;font-size:clamp(16px,2vw,21px);line-height:1.55}.auth-panel>p strong{color:var(--text)}.auth-email-form,.auth-code-form{text-align:left;gap:12px;width:min(520px,100%);margin:38px auto 0;display:grid}.auth-email-form label,.auth-code-form>label{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:750}.auth-email-form input{border:1px solid var(--line-strong);background:var(--surface);width:100%;min-height:58px;color:var(--text);font:inherit;border-radius:16px;padding:0 16px;font-size:16px}.auth-email-form input:focus{outline:3px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.auth-email-form input:focus{outline:3px solid color-mix(in srgb, var(--accent) 28%, transparent)}}.auth-email-form input:focus{border-color:var(--accent)}.auth-email-form .primary,.auth-code-form .primary{min-height:56px;margin-top:4px}.auth-code-entry{position:relative}.auth-code-entry>div{grid-template-columns:repeat(8,1fr);gap:7px;display:grid}.auth-code-entry span{border:1px solid var(--line-strong);background:var(--surface);min-width:0;height:68px;color:var(--text);font-variant-numeric:tabular-nums;border-radius:13px;place-items:center;font-size:clamp(24px,5vw,34px);font-weight:680;display:grid}.auth-code-entry span:nth-child(5){margin-left:10px}.auth-code-entry input{opacity:.01;cursor:text;width:100%;position:absolute;inset:0}.auth-code-entry:focus-within span{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.auth-code-actions{justify-content:center;gap:22px;margin-top:12px;display:flex}.auth-code-actions .text-action{width:auto;padding-inline:4px}.auth-message{color:var(--danger);margin:18px auto 0;font-size:12px;line-height:1.45}.auth-footnote{color:var(--muted);margin:30px auto 0;font-size:10px;line-height:1.45;display:block}.confirm-copy>p{color:var(--muted);line-height:1.55}.danger-action{background:var(--danger);border-color:var(--danger);color:#130608}.content-view{max-width:1180px;margin:0 auto;padding:38px 44px 80px}.view-heading{justify-content:space-between;align-items:end;gap:28px;margin-bottom:34px;display:flex}.view-heading h2{letter-spacing:-.055em;max-width:700px;margin:10px 0 16px;font-size:clamp(34px,5vw,66px);line-height:.98}.view-heading p{color:var(--muted);max-width:610px;margin:0;font-size:16px;line-height:1.55}.training-grid{grid-template-columns:minmax(500px,1fr) minmax(360px,.72fr);gap:24px;min-height:0;display:grid}.technique-list{border-top:1px solid var(--line);min-width:0}.technique-list-title{display:none}.technique-list button{text-align:left;border:0;border-bottom:1px solid var(--line);cursor:pointer;width:100%;color:var(--text);background:0 0;grid-template-columns:44px minmax(0,1fr) 72px;align-items:center;gap:12px;padding:16px 12px;display:grid}.technique-list button strong{font-size:16px;display:block}.technique-list button small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.technique-list button em{color:var(--muted);text-align:right;font-size:11px;font-style:normal}.technique-list button em.ready{color:var(--accent)}.technique-list button em.planned{opacity:.72}.technique-list button.active{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.technique-list button.active{background:color-mix(in srgb, var(--accent) 10%, transparent)}}.technique-list button.active{box-shadow:inset 3px 0 0 var(--accent)}.technique-list button.active .technique-index-progress b,.technique-list button.active em{color:var(--accent)}.technique-index-progress{--progress-angle:0deg;--current-angle:10deg;width:40px;height:40px;color:var(--muted);font-variant-numeric:tabular-nums;background:conic-gradient(var(--accent) 0 var(--progress-angle), var(--secondary) var(--progress-angle) var(--current-angle), var(--line-strong) var(--current-angle) 360deg);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.technique-index-progress:after{content:"";border-radius:inherit;background:var(--bg);position:absolute;inset:4px}.technique-index-progress b{z-index:1;font-size:11px;font-weight:620;line-height:1;position:relative}.technique-index-progress.unavailable{background:var(--line)}.technique-list button.active .technique-index-progress:after{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.technique-list button.active .technique-index-progress:after{background:color-mix(in srgb, var(--accent) 10%, var(--bg))}}.difficulty-level{vertical-align:middle;white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.difficulty-level>span{align-items:center;gap:2px;height:9px;display:inline-flex}.difficulty-level i{background:var(--line-strong);opacity:.42;border-radius:2px;width:3px;height:8px;display:block}.difficulty-level i.active{opacity:1}.difficulty-level i.active:first-child{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.difficulty-level i.active:first-child{background:color-mix(in srgb, var(--accent) 38%, var(--line-strong))}}.difficulty-level i.active:nth-child(2){background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.difficulty-level i.active:nth-child(2){background:color-mix(in srgb, var(--accent) 50%, var(--line-strong))}}.difficulty-level i.active:nth-child(3){background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.difficulty-level i.active:nth-child(3){background:color-mix(in srgb, var(--accent) 62%, var(--line-strong))}}.difficulty-level i.active:nth-child(4){background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.difficulty-level i.active:nth-child(4){background:color-mix(in srgb, var(--accent) 74%, var(--line-strong))}}.difficulty-level i.active:nth-child(5){background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.difficulty-level i.active:nth-child(5){background:color-mix(in srgb, var(--accent) 88%, var(--line-strong))}}.difficulty-level i.active:nth-child(6){background:var(--accent)}.difficulty-level b{color:inherit;font-size:inherit;font-weight:inherit}.technique-progress{color:inherit;align-items:center;gap:4px;display:inline-flex}.technique-progress i{border:1px solid var(--line-strong);background:0 0;border-radius:99px;width:12px;height:5px;display:block}.technique-progress i.complete{border-color:var(--accent);background:var(--accent)}.technique-progress i.current{border-color:var(--secondary);background:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.technique-progress i.current{background:color-mix(in srgb, var(--secondary) 30%, transparent)}}.technique-detail{background:var(--surface);border:1px solid var(--line);border-radius:24px;align-self:start;padding:28px;position:sticky;top:105px}.technique-detail-head{grid-template-columns:minmax(0,1fr) 132px;align-items:start;gap:20px;display:grid}.technique-detail-copy>p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.technique-detail h3{letter-spacing:-.04em;margin:10px 0;font-size:32px}.technique-detail-progress{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:20px;font-size:11px;display:flex}.pattern-demo{aspect-ratio:1;background:var(--line);border:1px solid var(--line-strong);grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:1px;width:100%;margin:0;display:grid}.pattern-demo i{background:var(--surface-2);color:var(--secondary);place-items:center;font-size:16px;font-style:normal;display:grid}.pattern-demo i.pattern{color:var(--secondary);background:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.pattern-demo i.pattern{background:color-mix(in srgb, var(--secondary) 12%, var(--surface-2))}}.pattern-demo i.alternate{color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.pattern-demo i.alternate{background:color-mix(in srgb, var(--accent) 10%, var(--surface-2))}}.pattern-demo i.target{color:var(--danger);background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.pattern-demo i.target{background:color-mix(in srgb, var(--danger) 10%, var(--surface-2))}}.pattern-demo i.mini{letter-spacing:-.03em;font-size:10px;font-weight:750}.technique-disclosure{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.technique-disclosure+.technique-disclosure{margin-top:12px}.technique-disclosure summary{cursor:pointer;font-size:13px;font-weight:680;list-style:none}.technique-disclosure summary::-webkit-details-marker{display:none}.technique-disclosure summary:before{content:"›";color:var(--accent);margin-right:8px;transition:transform .16s;display:inline-block;transform:rotate(0)}.technique-disclosure[open] summary:before{transform:rotate(90deg)}.technique-detail .technique-guide{color:var(--muted);margin:10px 0 0;font-size:13px;line-height:1.5}.technique-detail .primary{width:100%;margin-top:20px}.metrics{border-block:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-bottom:30px;display:grid}.metrics article{border-right:1px solid var(--line);padding:26px}.metrics article:last-child{border-right:0}.metrics small,.metrics span{color:var(--muted);font-size:12px;display:block}.metrics strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:8px 0;font-size:clamp(26px,3.5vw,44px);display:block}.profile-card{border:1px solid var(--line);background:linear-gradient(135deg, var(--accent), var(--surface));border-radius:24px;margin-bottom:28px;padding:20px 22px}@supports (color:color-mix(in lab, red, red)){.profile-card{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 8%, var(--surface)), var(--surface))}}.profile-card-head{justify-content:space-between;align-items:center;gap:20px;display:flex}.profile-identity{align-items:center;gap:16px;min-width:0;display:flex}.profile-avatar{background:var(--accent);width:56px;height:56px;color:var(--accent-ink);border-radius:18px;flex:none;place-items:center;font-size:24px;font-weight:800;display:grid}.profile-identity>span:last-child{min-width:0}.profile-identity small,.profile-identity strong,.profile-identity em{display:block}.profile-identity small{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:760}.profile-identity strong{text-overflow:ellipsis;white-space:nowrap;margin:5px 0;font-size:19px;overflow:hidden}.profile-identity em{color:var(--muted);font-size:11px;font-style:normal;line-height:1.45}.profile-edit-button{border:1px solid var(--line-strong);background:var(--surface);width:42px;height:42px;color:var(--text);cursor:pointer;border-radius:13px;flex:none;place-items:center;display:grid}.profile-edit-button:hover{border-color:var(--accent);color:var(--accent)}.profile-edit-button svg{width:18px;height:18px}.profile-editor{border-top:1px solid var(--line);min-width:0;max-width:620px;margin:22px 0 2px 72px;padding-top:20px}.profile-editor>label:first-child>span:first-child{color:var(--muted);text-transform:uppercase;letter-spacing:.09em;margin-bottom:7px;font-size:10px;font-weight:700;display:block}.nickname-field{grid-template-columns:1fr auto;gap:8px;display:grid}.nickname-field input{border:1px solid var(--line-strong);background:var(--bg);width:100%;min-width:0;min-height:42px;color:var(--text);font:inherit;border-radius:12px;padding:0 12px}.nickname-field input:focus{border-color:var(--accent);outline:2px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.nickname-field input:focus{outline:2px solid color-mix(in srgb, var(--accent) 25%, transparent)}}.nickname-field input:focus{outline-offset:1px}.profile-always-visible{align-items:center;gap:10px;margin-top:14px;display:flex}.profile-always-visible>span:first-child{background:var(--accent);width:18px;height:18px;color:var(--accent-ink);border-radius:6px;place-items:center;font-size:11px;font-weight:800;display:grid}.profile-always-visible span strong,.profile-always-visible span small{display:block}.profile-always-visible span strong{font-size:12px}.profile-always-visible span small{color:var(--muted);margin-top:2px;font-size:9px}.profile-editor-actions{justify-content:space-between;align-items:center;gap:16px;margin-top:14px;display:flex}.profile-editor-actions>small{color:var(--muted);font-size:9px;line-height:1.4}.profile-message{color:var(--accent);margin:10px 0 0 72px;font-size:10px}.stats-columns{grid-template-columns:1.2fr .8fr;gap:24px;display:grid}.stats-columns article{border:1px solid var(--line);background:var(--surface);border-radius:24px;padding:28px}.stats-columns h3{margin:0 0 24px;font-size:19px}.activity>div{grid-template-columns:110px 1fr 42px;align-items:center;gap:12px;margin:18px 0;font-size:13px;display:grid}.activity b{background:var(--surface-3);border-radius:9px;height:8px;overflow:hidden}.activity b i{background:var(--accent);height:100%;display:block}.activity em{color:var(--muted);text-align:right;font-style:normal}.leaderboard>div{border-top:1px solid var(--line);grid-template-columns:32px minmax(90px,1fr) 58px 76px;align-items:center;gap:8px;padding:14px 0;display:grid}.leaderboard span{color:var(--muted);font-size:12px}.leaderboard strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.leaderboard em{color:var(--secondary);font-variant-numeric:tabular-nums;text-align:right;font-size:12px;font-style:normal}.leaderboard>div.leaderboard-labels{border:0;min-height:24px;padding:0 0 6px}.leaderboard-labels small{color:var(--muted);letter-spacing:.06em;text-align:right;text-transform:uppercase;font-size:8px;font-weight:700}.empty-copy{color:var(--muted);border-top:1px solid var(--line);padding-top:18px;font-size:13px;line-height:1.5}.leaderboard>header{justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px;display:flex}.leaderboard>header small,.leaderboard>header h3{display:block}.leaderboard>header small{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:750}.leaderboard>header h3{margin:4px 0 0}.leaderboard>div.current{background:var(--accent);border-radius:10px;margin-inline:-10px;padding-inline:10px}@supports (color:color-mix(in lab, red, red)){.leaderboard>div.current{background:color-mix(in srgb, var(--accent) 10%, transparent)}}.leaderboard-note{border-top:1px solid var(--line);color:var(--muted);margin:14px 0 0;padding-top:12px;font-size:9px;line-height:1.45}.leaderboard-personal{border:1px solid var(--accent);grid-template-columns:1fr 1fr;gap:10px;margin:0 0 16px;padding:12px 14px;display:grid}@supports (color:color-mix(in lab, red, red)){.leaderboard-personal{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--line))}}.leaderboard-personal{background:var(--accent);border-radius:12px}@supports (color:color-mix(in lab, red, red)){.leaderboard-personal{background:color-mix(in srgb, var(--accent) 7%, var(--surface-2))}}.leaderboard-personal span{display:block}.leaderboard-personal span+span{border-left:1px solid var(--line);padding-left:12px}.leaderboard-personal small,.leaderboard-personal strong{display:block}.leaderboard-personal small{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:8px;font-weight:700}.leaderboard-personal strong{color:var(--text);font-variant-numeric:tabular-nums;margin-top:4px;font-size:15px}.insight-sections{grid-template-columns:1.25fr .75fr;gap:24px;margin-top:24px;display:grid}.insight-sections>article{border:1px solid var(--line);background:var(--surface);border-radius:24px;min-width:0;padding:28px}.insight-sections article>header{justify-content:space-between;align-items:end;gap:16px;margin-bottom:20px;display:flex}.insight-sections header small,.insight-sections header h3{display:block}.insight-sections header small{color:var(--accent);text-transform:uppercase;letter-spacing:.13em;font-size:9px;font-weight:750}.insight-sections header h3{margin:5px 0 0;font-size:19px}.insight-sections header em{color:var(--muted);font-size:10px;font-style:normal}.insight-table>div{border-top:1px solid var(--line);font-variant-numeric:tabular-nums;grid-template-columns:minmax(84px,1.2fr) repeat(4,minmax(54px,.75fr));align-items:center;gap:8px;min-height:42px;font-size:12px;display:grid}.insight-table>div span:not(:first-child){text-align:right;color:var(--muted)}.insight-table .insight-table-head{min-height:30px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-top:0;font-size:9px}.insight-table strong{font-size:12px}.technique-stat-list>div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:50px;display:flex}.technique-stat-list span strong,.technique-stat-list span small{display:block}.technique-stat-list span strong{font-size:12px}.technique-stat-list span small{color:var(--muted);margin-top:3px;font-size:9px}.technique-columns{margin-top:24px}.technique-insights>header{justify-content:space-between;align-items:end;gap:16px;margin-bottom:20px;display:flex}.technique-insights header small,.technique-insights header h3{display:block}.technique-insights header small{color:var(--accent);text-transform:uppercase;letter-spacing:.13em;font-size:9px;font-weight:750}.technique-insights header h3{margin:5px 0 0;font-size:19px}.technique-insights header em{color:var(--muted);font-size:10px;font-style:normal}.mobile-nav{display:none}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000009e;place-items:center;padding:20px;animation:.18s fade;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--line);background:var(--surface);border-radius:26px;width:min(560px,100%);max-height:min(760px,88dvh);padding:24px;transition:transform .2s;overflow:auto;box-shadow:0 30px 80px #00000052}.modal header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal header h2{margin:0;font-size:25px}.modal header button{background:0 0;width:38px;height:38px}.modal header button svg{width:18px}.setting{border-bottom:1px solid var(--line);padding:10px 0 24px}.setting>div:first-child strong,.setting>div:first-child span{display:block}.setting>div:first-child span,.toggle-row small{color:var(--muted);margin-top:4px;font-size:12px}.theme-options{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px;display:grid}.theme-options button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:13px;min-height:72px;padding:10px;font-size:12px}.theme-options button>span{border-radius:7px;height:24px;margin-bottom:7px;display:flex;overflow:hidden}.theme-options button i{flex:1}.theme-options button.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.toggle-row{border-bottom:1px solid var(--line);cursor:pointer;justify-content:space-between;align-items:center;gap:24px;padding:18px 0;display:flex}.toggle-row span strong,.toggle-row span small{display:block}.toggle-row input{display:none}.toggle-row>i{background:var(--surface-3);border-radius:20px;flex:none;width:46px;height:28px;transition:background .2s;position:relative}.toggle-row>i:after{content:"";background:var(--text);border-radius:50%;width:22px;height:22px;transition:transform .2s;position:absolute;top:3px;left:3px}.toggle-row input:checked+i{background:var(--accent)}.toggle-row input:checked+i:after{background:var(--accent-ink);transform:translate(18px)}.setting-actions{gap:10px;margin-top:22px;display:flex}.setting-actions button{flex:1}.install-card{border:1px solid var(--line);background:var(--surface-2);border-radius:16px;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding:16px;display:flex}.install-card span strong,.install-card span small{display:block}.install-card span small{max-width:290px;color:var(--muted);margin-top:4px;font-size:10px;line-height:1.4}.install-card button{flex:none;min-height:38px;padding-inline:13px;font-size:11px}.install-card em{color:var(--accent);font-size:11px;font-style:normal;font-weight:700}.install-card.installed{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.install-card.installed{border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}}.settings-sync{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:24px;padding:16px 0 2px;display:grid}.settings-sync-mark{background:var(--accent);width:34px;height:34px;color:var(--accent-ink);border-radius:11px;place-items:center;font-weight:800;display:grid}.settings-sync.sync-offline .settings-sync-mark,.settings-sync.sync-error .settings-sync-mark{background:var(--warning);color:var(--bg)}.settings-sync span strong,.settings-sync span small{display:block}.settings-sync span small{color:var(--muted);margin-top:3px;font-size:10px;line-height:1.4}.settings-account{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;margin-top:20px;padding-top:18px;display:flex}.settings-account span strong,.settings-account span small{display:block}.settings-account span small{color:var(--muted);margin-top:4px;font-size:11px}.settings-account .text-action{width:auto;color:var(--danger);padding:10px 0}.settings-account-actions{align-items:center;gap:16px;display:flex}.settings-account .account-action{color:var(--text)}.account-management>p{color:var(--muted);margin:0 0 10px;line-height:1.55}.account-management>section{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 0;display:grid}.account-management section span strong,.account-management section span small{display:block}.account-management section span small{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.45}.account-management .account-delete{grid-template-columns:1fr;align-items:stretch;margin-top:4px;display:grid}.account-delete label>span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px;font-size:10px}.account-delete input{border:1px solid var(--line);background:var(--surface-2);width:100%;min-height:46px;color:var(--text);border-radius:11px;padding:0 13px}.account-message{color:var(--muted);margin:12px 0 0;font-size:12px;line-height:1.45}.text-action{width:100%;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:18px 0 4px;font-size:13px;font-weight:650}.difficulty-list{border-top:1px solid var(--line)}.difficulty-list>button{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;width:100%;padding:18px 8px;display:flex}.difficulty-list span strong,.difficulty-list span small{display:block}.difficulty-list span small{color:var(--muted);margin-top:5px;font-size:12px}.difficulty-list em{color:var(--accent);font-size:13px;font-style:normal;font-weight:700}.game-selector{gap:22px;display:grid}.game-level{min-width:0}.game-level>header{justify-content:space-between;align-items:end;gap:16px;margin-bottom:9px;display:flex}.game-level>header strong,.game-level>header small{display:block}.game-level>header strong{font-size:16px}.game-level>header small{color:var(--muted);margin-top:3px;font-size:10px}.game-level>header em{color:var(--accent);font-variant-numeric:tabular-nums;font-size:11px;font-style:normal}.level-progress{background:var(--surface-3);border-radius:99px;height:3px;margin-bottom:9px;overflow:hidden}.level-progress span{background:var(--accent);height:100%;display:block}.game-number-grid{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.game-number-grid button{border:1px solid var(--line);background:var(--surface-2);min-height:66px;color:var(--text);cursor:pointer;border-radius:13px;align-content:center;place-items:center;gap:5px;display:grid}.game-number-grid button strong{font-variant-numeric:tabular-nums;font-size:20px;line-height:1}.game-number-grid button small{color:var(--muted);font-size:8px}.game-number-grid button.complete{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.game-number-grid button.complete{border-color:color-mix(in srgb, var(--accent) 55%, var(--line))}}.game-number-grid button.complete{background:var(--surface-2)}@supports (color:color-mix(in lab, red, red)){.game-number-grid button.complete{background:color-mix(in srgb, var(--surface-2) 88%, var(--accent))}}.game-number-grid button.complete small{color:var(--accent)}.game-number-grid button.current{box-shadow:inset 0 0 0 1.5px var(--accent)}.game-number-grid button:disabled{opacity:.3;cursor:default}.import-copy>p{color:var(--muted);line-height:1.55}.upload-zone{border:1px dashed var(--line-strong);cursor:pointer;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;min-height:140px;margin:20px 0;display:flex}.upload-zone svg{color:var(--accent);margin-bottom:8px}.upload-zone span{color:var(--muted);margin-top:3px;font-size:12px}.upload-zone input{display:none}.puzzle-input{display:block;position:relative}.puzzle-input>span{margin-bottom:8px;font-size:13px;font-weight:650;display:block}.puzzle-input textarea{resize:vertical;border:1px solid var(--line);background:var(--bg);width:100%;min-height:100px;color:var(--text);border-radius:14px;padding:13px;font-family:ui-monospace,monospace;line-height:1.5}.puzzle-input small{color:var(--muted);position:absolute;bottom:10px;right:12px}.full{width:100%;margin-top:18px}.upload-zone.has-image{background:#00000073;justify-content:end;min-height:180px;padding:14px}.upload-zone img{object-fit:cover;z-index:-1;width:100%;height:100%;position:absolute;inset:0}.upload-zone{position:relative;overflow:hidden}.upload-zone.has-image strong,.upload-zone.has-image span{color:#fff;text-shadow:0 1px 4px #000}.scan-action{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;margin:-8px 0 20px;display:grid}.scan-action button{min-height:42px;padding-inline:16px}.scan-action>span{min-width:0;color:var(--muted);font-size:10px;line-height:1.35}.scan-action>span i{background:var(--surface-3);border-radius:99px;height:3px;margin-bottom:7px;display:block;overflow:hidden}.scan-action>span b{background:var(--accent);height:100%;transition:width .16s linear;display:block}.builder-heading{justify-content:space-between;align-items:end;margin:22px 0 10px;display:flex}.builder-heading strong,.builder-heading small{display:block}.builder-heading small{color:var(--muted);margin-top:3px;font-size:11px}.builder-heading button{color:var(--accent);cursor:pointer;background:0 0;border:0;font-size:11px}.puzzle-builder{aspect-ratio:1;border:2px solid var(--grid-strong);background:var(--grid-inner);grid-template-columns:repeat(9,1fr);gap:1px;display:grid}.puzzle-builder button{background:var(--bg);color:var(--text);cursor:pointer;border:0;padding:0;font-size:clamp(13px,3vw,20px)}.puzzle-builder button:nth-child(3n):not(:nth-child(9n)){box-shadow:2px 0 0 var(--grid-strong)}.puzzle-builder button:nth-child(n+19):nth-child(-n+27),.puzzle-builder button:nth-child(n+46):nth-child(-n+54){border-top:2px solid var(--grid-strong)}.puzzle-builder button.active{outline:2px solid var(--accent);outline-offset:-2px;background:var(--bg)}@supports (color:color-mix(in lab, red, red)){.puzzle-builder button.active{background:color-mix(in srgb, var(--bg) 72%, var(--accent))}}.puzzle-builder button.conflict{color:var(--danger);background:var(--bg)}@supports (color:color-mix(in lab, red, red)){.puzzle-builder button.conflict{background:color-mix(in srgb, var(--bg) 82%, var(--danger))}}.puzzle-builder button.conflict{box-shadow:inset 0 0 0 1.5px var(--danger)}.puzzle-builder button.active.conflict{outline-color:var(--accent)}.builder-error{color:var(--danger);margin:9px 0 0;font-size:11px;line-height:1.4}.builder-keypad{grid-template-columns:repeat(10,1fr);gap:4px;margin-top:8px;display:grid}.builder-keypad button{border:1px solid var(--line);background:var(--surface-2);height:40px;color:var(--text);cursor:pointer;border-radius:8px}.import-divider{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:10px;margin:20px 0;font-size:10px;display:flex}.import-divider:before,.import-divider:after{content:"";background:var(--line);flex:1;height:1px}.completion{text-align:center;padding:8px 0}.completion-mark{background:var(--accent);width:74px;height:74px;color:var(--accent-ink);border-radius:24px;place-items:center;margin:4px auto 22px;font-size:38px;font-weight:800;display:grid}.completion .eyeline{display:block}.completion h3{letter-spacing:-.05em;font-variant-numeric:tabular-nums;margin:8px 0;font-size:58px}.completion>p:not(.eyeline){color:var(--muted)}.completion .challenge-result{border:1px solid var(--line);border-radius:99px;margin:12px auto 0;padding:8px 12px;font-size:11px;display:inline-flex}.completion .challenge-result.passed{color:var(--accent);border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.completion .challenge-result.passed{border-color:color-mix(in srgb, var(--accent) 56%, var(--line))}}.completion-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:26px;display:grid}.completion-actions.three{grid-template-columns:repeat(3,1fr)}.completion-actions.three button{padding-inline:10px}.toast{z-index:40;left:50%;top:calc(92px + env(safe-area-inset-top));background:var(--surface);position:fixed;bottom:auto;transform:translate(-50%)}@supports (color:color-mix(in lab, red, red)){.toast{background:color-mix(in srgb, var(--surface) 92%, var(--accent))}}.toast{color:var(--text);border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);white-space:nowrap;border-radius:14px;padding:11px 16px;font-size:13px;font-weight:650;animation:.2s drop;box-shadow:0 14px 40px #00000047}@keyframes fade{0%{opacity:0}}@keyframes drop{0%{opacity:0;transform:translate(-50%,-8px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (prefers-contrast:more){.cell.peer,.cell.scan-available{box-shadow:inset 0 0 0 1px var(--line-strong)}.cell.same{outline-width:3px}.cell.wrong .cell-value{text-decoration:line-through;text-decoration-thickness:2px}.cell.tech-focus{background-image:repeating-linear-gradient(135deg, transparent 0 6px, var(--secondary) 6px 9px)}@supports (color:color-mix(in lab, red, red)){.cell.tech-focus{background-image:repeating-linear-gradient(135deg, transparent 0 6px, color-mix(in srgb, var(--secondary) 24%, transparent) 6px 9px)}}.cell.tech-place{outline:3px double var(--accent);outline-offset:-5px}.cell.tech-remove{outline:3px dashed var(--danger);outline-offset:-5px}}@media (width<=960px){.keyboard-shortcuts{display:none}.app-stage{padding-top:env(safe-area-inset-top)}.desktop-rail{display:none}.app-stage{padding-bottom:78px;padding-left:0}.topbar{max-width:720px;height:76px;padding-inline:22px}.play-layout{max-width:720px;padding:0 22px 24px;display:block}.coach-panel{z-index:10;min-height:0;padding:30px max(24px, env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));opacity:0;border-radius:28px 28px 0 0;margin:0;display:block;position:fixed;inset:auto 0 0;transform:translateY(110%);box-shadow:0 -24px 60px #00000059}.coach-panel.open{transform:translateY(var(--sheet-drag,0px));opacity:1}.coach-panel:not(.open){opacity:0;transform:translateY(110%)}.coach-panel.dragging,.modal.dragging{transition:none}.sheet-handle{cursor:ns-resize;touch-action:none;z-index:3;background:0 0;border:0;width:72px;height:28px;padding:0;display:block;position:absolute;top:0;left:calc(50% - 36px)}.sheet-handle span{background:var(--line-strong);border-radius:3px;width:42px;height:4px;margin:9px auto 0;display:block}.modal-handle{display:none}.coach-copy h2{font-size:24px}.coach-copy p{margin-bottom:18px}.mobile-nav{z-index:8;min-height:68px;padding:6px 20px calc(6px + env(safe-area-inset-bottom));background:var(--bg);grid-template-columns:repeat(3,1fr);display:grid;position:fixed;inset:auto 0 0}@supports (color:color-mix(in lab, red, red)){.mobile-nav{background:color-mix(in srgb, var(--bg) 94%, transparent)}}.mobile-nav{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-nav button{color:var(--muted);background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;padding:5px;font-size:10px;display:flex}.mobile-nav button svg{width:22px}.mobile-nav button.active{color:var(--accent)}.content-view{max-width:720px;padding:34px 24px 80px}.training-grid,.stats-columns,.profile-card{grid-template-columns:1fr}.profile-card>.primary{justify-self:start}.technique-detail{order:-1;position:static}.metrics{grid-template-columns:1fr 1fr}.metrics article:nth-child(2){border-right:0}.metrics article:nth-child(3),.metrics article:nth-child(4){border-top:1px solid var(--line)}.metrics article:nth-child(4){border-right:0}.view-heading{align-items:start}.view-heading h2{font-size:48px}.coach-panel.open{max-height:78dvh;overflow-y:auto}.coach-panel.open.compact{max-height:225px;overflow:hidden}.coach-panel.compact .coach-copy>p,.coach-panel.compact .solution-path,.coach-panel.compact .coach-explanation{display:none}.coach-panel.compact .coach-step{margin-bottom:12px}.coach-panel.compact .sheet-expand{z-index:4;color:var(--accent);cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:680;display:block;position:absolute;top:10px;left:18px}.insight-sections{grid-template-columns:1fr}}@media (width<=560px){.topbar{height:68px;padding:12px 16px}.icon-button{border-radius:12px;width:39px;height:39px}.icon-button svg{width:20px}.title-lockup h1{font-size:19px}.title-lockup span{font-size:12px}.play-layout{padding:0 10px 18px}.game-meta{margin-inline:5px}.progress{margin-inline:5px;margin-bottom:10px}.board-wrap{width:100%}.cell-value{font-size:clamp(22px,7.6vw,33px)}.candidates i{font-size:clamp(7px,2.3vw,11px)}.tool-row{gap:0;margin:10px 0 7px}.tool-row button{padding:5px 0;font-size:9px}.tool-row button svg{width:19px;height:19px}.keypad{gap:3px}.keypad button{border-radius:9px;height:53px;font-size:clamp(18px,6vw,25px)}.keypad small{font-size:8px}.secondary-input{gap:3px;min-height:40px;margin-top:5px}.candidate-input button{height:40px;font-size:19px}.colour-input button{gap:4px;min-height:40px}.colour-input small{font-size:8px}.coach-panel{padding:24px 18px calc(20px + env(safe-area-inset-bottom))}.coach-copy h2{margin:8px 0;padding-right:32px;font-size:21px}.coach-copy p{font-size:13px;line-height:1.4}.coach-copy .eyeline{font-size:9px}.coach-step{padding:8px 10px}.coach-step span{display:none}.coach-actions button{min-height:43px;padding:0 10px;font-size:12px}.panel-close{border:0;position:absolute;top:14px;right:14px}.content-view{padding:24px 18px 84px}.view-heading{display:block}.view-heading h2{font-size:38px}.view-heading p{font-size:14px}.view-heading button{width:100%;margin-top:20px}.nickname-field{grid-template-columns:1fr}.nickname-field button{width:100%}.profile-editor-actions{flex-direction:column;align-items:stretch}.profile-editor-actions button{width:100%}.training-view{height:calc(100dvh - 136px - env(safe-area-inset-bottom));flex-direction:column;padding:0 14px;display:flex;overflow:hidden}.training-view .view-heading{display:none}.training-view .training-grid{flex-direction:column;flex:1;align-items:stretch;gap:0;min-height:0;display:flex}.training-view .technique-detail{z-index:2;border-inline:0;border-radius:0;flex:none;order:-1;align-self:stretch;width:auto;max-width:none;margin:0 -14px;padding:16px 18px 14px;position:relative;top:auto;box-shadow:0 10px 28px #0000002e}.technique-detail-head{grid-template-columns:minmax(0,1fr) 92px;gap:12px}.technique-detail-copy>p{display:none}.technique-detail h3{margin:6px 0 8px;font-size:25px}.technique-detail-progress{justify-content:flex-start;margin-top:10px}.technique-detail .pattern-demo{width:92px}.pattern-demo i{font-size:12px}.technique-disclosure{margin-top:10px;padding-top:9px}.technique-disclosure+.technique-disclosure{margin-top:8px}.technique-disclosure summary{font-size:12px}.technique-detail .technique-guide{margin-top:7px;font-size:11px}.technique-detail .primary{min-height:44px;margin-top:12px;padding:0 12px;font-size:12px}.training-view .technique-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-top:0;flex:auto;min-height:0;margin:0 -14px;padding:0 14px 18px;overflow-y:auto}.technique-list-title{z-index:2;border-bottom:1px solid var(--line);background:var(--bg);margin:0 -14px;padding:12px 22px 9px;display:block;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.technique-list-title{background:color-mix(in srgb, var(--bg) 94%, transparent)}}.technique-list-title{color:var(--muted);text-transform:uppercase;letter-spacing:.13em;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-size:10px}.technique-list button{grid-template-columns:28px minmax(0,1fr) auto 48px;gap:8px;padding:12px 7px}.technique-list button strong{font-size:14px}.technique-list button small{margin-top:2px;font-size:10px}.technique-list button em{font-size:9px;display:block}.technique-progress{gap:3px}.technique-progress i{width:8px;height:4px}.metrics{display:block}.metrics article{border-right:0;border-bottom:1px solid var(--line);padding:20px 12px}.stats-columns article{padding:22px 18px}.activity>div{grid-template-columns:86px 1fr 36px}.theme-options{grid-template-columns:1fr}.theme-options button{align-items:center;gap:12px;min-height:54px;display:flex}.theme-options button>span{width:80px;margin:0}.setting-actions{flex-direction:column}.modal-backdrop{align-items:end;padding:0}.modal{max-height:90dvh;padding:28px 20px calc(22px + env(safe-area-inset-bottom));transform:translateY(var(--sheet-drag,0px));border-radius:26px 26px 0 0}.modal-handle{display:block}.toast{top:calc(72px + env(safe-area-inset-top));text-overflow:ellipsis;max-width:calc(100% - 28px);overflow:hidden}.home-view{padding:38px 16px 94px}.home-hero h2{font-size:clamp(54px,18vw,78px)}.home-hero p{font-size:14px}.home-actions{grid-template-columns:1fr;margin-top:32px}.home-card{min-height:108px;padding:18px}.home-card strong{font-size:19px}.home-utilities{grid-template-columns:1fr 1fr;display:grid}.home-utilities button:last-child{grid-column:1/-1}.save-progress-callout{grid-template-columns:auto minmax(0,1fr);padding:15px}.save-progress-callout .primary,.save-progress-callout .secondary{grid-column:1/-1;width:100%}.save-progress-callout+.home-actions{margin-top:22px}.pause-menu{padding-bottom:calc(28px + env(safe-area-inset-bottom))}.pause-actions{grid-template-columns:1fr}.pause-actions .primary,.pause-actions .text-action{grid-column:auto}.pause-actions button{min-height:52px}.drill-status{align-items:flex-start}.drill-status>div{flex-direction:column}.drill-status button{min-width:100px}.scan-action{grid-template-columns:1fr;gap:9px}.scan-action button{width:100%}.technique-detail .pattern-demo i.mini{font-size:8px}.insight-sections>article{padding:22px 18px}.insight-table{overflow-x:auto}.insight-table>div{min-width:420px}.technique-stat-list>div{min-height:54px}.completion-actions.three{grid-template-columns:1fr}.technique-list button{grid-template-columns:38px minmax(0,1fr) 48px}.technique-index-progress{width:34px;height:34px}.challenge-rule{margin-inline:5px}.auth-screen{padding:28px 18px calc(30px + env(safe-area-inset-bottom));place-items:start center}.auth-close{top:max(14px, env(safe-area-inset-top));width:40px;height:40px;right:14px}.auth-brand{margin:4px 0 52px}.auth-logo{width:38px;height:38px}.auth-brand strong{font-size:23px}.auth-panel h2{font-size:clamp(48px,15vw,68px)}.auth-panel>p{font-size:15px}.auth-email-form,.auth-code-form{margin-top:30px}.auth-code-entry>div{gap:4px}.auth-code-entry span{border-radius:10px;height:52px;font-size:23px}.auth-code-entry span:nth-child(5){margin-left:5px}.auth-code-actions{gap:12px}.auth-code-actions .text-action{font-size:11px}.settings-account{align-items:flex-start}.settings-account-actions{flex-direction:column;align-items:flex-end;gap:0}.account-management>section{grid-template-columns:1fr}.account-management>section>button{width:100%}.profile-card{padding:18px}.profile-card-head{align-items:flex-start}.profile-editor,.profile-message{margin-left:0}.leaderboard>div{grid-template-columns:26px minmax(76px,1fr) 48px 68px;gap:6px}.leaderboard strong,.leaderboard em{font-size:11px}}@media (height<=760px) and (width<=560px){.topbar{height:58px}.game-meta{margin-bottom:7px}.tool-row{margin-block:6px 4px}.tool-row button{gap:2px}.keypad button{height:46px}.training-view{height:calc(100dvh - 126px - env(safe-area-inset-bottom))}.training-view .technique-detail{padding-top:12px}.technique-detail h3{font-size:22px}.technique-detail .pattern-demo{width:78px}.technique-detail-head{grid-template-columns:minmax(0,1fr) 78px}.technique-disclosure{margin-top:7px;padding-top:7px}.technique-detail .primary{min-height:40px;margin-top:9px}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
