:root{--bg: #0F1712;--surface: #17221B;--surface-2: #1F2D24;--sidebar: #131D16;--line: #2C3D31;--line-strong: #3A4E40;--text: #EEE9DC;--muted: #A8B3A6;--accent: #E0B252;--coach: #7AA7F0;--good: #6FCF8E;--mid: #E0B252;--weak: #D9783F;--r-raise: #E0B252;--r-allin: #D9783F;--r-call: #7AA7F0;--r-fold: #1F2D24;--felt: #1D4A32;--rail: #3B2B1E;--font-title: "Bricolage Grotesque", system-ui, sans-serif;--font-text: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-text);font-size:18px;line-height:1.5}h1,h2,h3{font-family:var(--font-title);font-weight:800;margin:0 0 .5em}.muted{color:var(--muted)}.mono{font-family:var(--font-mono)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:var(--sidebar);border-right:1px solid var(--line);padding:20px 12px;position:sticky;top:0;height:100vh}.logo{display:flex;align-items:center;gap:10px;font-family:var(--font-title);font-weight:800;font-size:1.5rem;color:var(--accent);padding:0 8px 20px}.sidebar nav{display:flex;flex-direction:column;gap:4px}.navlink{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 12px;border-radius:10px;color:var(--muted);text-decoration:none;font-weight:500}.navlink:hover{background:var(--surface);color:var(--text)}.navlink.active{background:var(--surface-2);color:var(--accent);border:1px solid var(--line-strong)}.navicon{width:24px;text-align:center;font-size:1.2rem}.content{padding:28px clamp(16px,4vw,48px);max-width:1100px}@media (max-width: 800px){.shell{grid-template-columns:1fr;padding-bottom:68px}.sidebar{position:fixed;bottom:0;left:0;right:0;top:auto;height:auto;z-index:10;border-right:0;border-top:1px solid var(--line);padding:4px}.logo{display:none}.sidebar nav{flex-direction:row;overflow-x:auto;gap:2px}.navlink{flex-direction:column;gap:0;min-width:64px;padding:4px 6px;font-size:.68rem;justify-content:center;text-align:center}.navlink.active{border:0}}button{font-family:inherit}kbd{font-family:var(--font-mono);font-size:.7rem;opacity:.7;border:1px solid currentColor;border-radius:4px;padding:0 5px;margin-left:6px}.small{font-size:.85rem}.btn{min-height:48px;padding:10px 22px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text);font-size:1.05rem;font-weight:600;cursor:pointer}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:disabled{cursor:default;opacity:.9}.btn-primary{background:var(--accent);color:#1b1606;border-color:var(--accent)}.btn-fold{background:#26302a}.btn-call{border-color:var(--good)}.btn-raise,.btn-allin{border-color:var(--accent)}.btn.right{outline:3px solid var(--good)}.btn.wrong{outline:3px solid var(--weak)}.tabs{display:flex;gap:6px;margin:4px 0 16px;flex-wrap:wrap}.tab{min-height:44px;padding:8px 16px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:1rem;cursor:pointer}.tab.active{background:var(--surface-2);color:var(--accent);border-color:var(--line-strong)}.filters{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:end;margin-bottom:14px}.filters label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--muted)}.filters select{min-height:44px;background:var(--surface);color:var(--text);border:1px solid var(--line-strong);border-radius:10px;padding:0 10px;font-size:1rem}.filters .check{flex-direction:row;align-items:center;min-height:44px;gap:8px;color:var(--text)}.filters .check input{width:22px;height:22px}.score{margin-left:auto;font-size:1.1rem;color:var(--accent)}.card-box{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;margin:12px 0}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:44px;padding:8px 14px;border-radius:999px;background:var(--surface-2);color:var(--text);border:1px solid var(--line-strong);cursor:pointer;font-size:1rem}.progress{height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden;margin:6px 0}.progress>div{height:100%;background:var(--accent)}.big{font-size:2rem;margin:6px 0}.tone-good{color:var(--good)}.tone-mid{color:var(--mid)}.tone-weak{color:var(--weak)}.pcard{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;background:#faf7ee;border-radius:7px;box-shadow:0 1px 4px #00000080;font-family:var(--font-title);font-weight:800;line-height:1;border:1px solid #d8d2bf}.pcard-sm{width:26px;height:36px;font-size:.8rem}.pcard-md{width:50px;height:70px;font-size:1.5rem}.pcard-lg{width:68px;height:96px;font-size:2rem}.pcard-suit{font-size:1.15em}.pcard-back{background:repeating-linear-gradient(45deg,#2b3f8c,#2b3f8c 4px,#22327a 4px,#22327a 8px);border-color:#16204e}.table-wrap{max-width:720px;margin:8px auto 14px}.table{position:relative;width:100%;aspect-ratio:16 / 10}.table-felt{position:absolute;top:10%;right:6%;bottom:10%;left:6%;border-radius:999px;background:radial-gradient(ellipse at center,#256042 0%,var(--felt) 70%);border:10px solid var(--rail);box-shadow:inset 0 0 40px #00000073;display:flex;align-items:center;justify-content:center}.table-pot{font-size:1.1rem;background:#00000059;padding:4px 14px;border-radius:999px}.seat{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:3px;z-index:2}.seat-cards{display:flex;gap:3px;min-height:36px}.seat-hero .seat-cards{gap:5px}.seat-box{background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;padding:2px 10px;text-align:center;display:flex;flex-direction:column;min-width:70px}.seat-pos{font-size:1rem}.seat-stack{font-size:.78rem;color:var(--muted)}.seat-hero .seat-box{border-color:var(--accent);box-shadow:0 0 0 2px #e0b25259}.seat-fold{opacity:.45}.seat-tag{font-size:.78rem;font-weight:700;padding:1px 8px;border-radius:999px;background:var(--surface-2)}.tag-raise{color:var(--accent)}.tag-allin{color:var(--weak)}@media (max-width: 600px){.pcard-md{width:40px;height:56px;font-size:1.2rem}.seat-box{min-width:56px;padding:1px 6px}.seat-pos{font-size:.85rem}.seat-stack{font-size:.7rem}.table{aspect-ratio:4 / 3.4}}.drill-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.drill-q{margin:0;font-size:clamp(1.2rem,3.5vw,1.7rem)}.timer{font-size:1.4rem;color:var(--accent);min-width:80px;text-align:right}.actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:10px 0 14px}.actions .btn{flex:1 1 110px;max-width:200px;min-height:56px;font-size:1.15rem}.feedback{border-radius:16px;padding:16px 18px;border:1px solid var(--line-strong);background:var(--surface)}.fb-good{border-left:6px solid var(--good)}.fb-weak{border-left:6px solid var(--weak)}.fb-title{font-family:var(--font-title);font-size:1.4rem;font-weight:800}.fb-good .fb-title{color:var(--good)}.fb-weak .fb-title{color:var(--weak)}.mnemo{background:var(--surface-2);padding:8px 12px;border-radius:10px}.fb-grid{display:grid;grid-template-columns:minmax(280px,460px) 1fr;gap:16px;align-items:start;margin:10px 0 14px}@media (max-width: 700px){.fb-grid{grid-template-columns:1fr}}.fb-side{display:flex;flex-direction:column;gap:8px}.badge{align-self:start;font-size:.78rem;padding:3px 10px;border-radius:999px;background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}.badge-warn{color:var(--weak);border-color:var(--weak)}.legend{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.dot{width:12px;height:12px;border-radius:3px;display:inline-block}.dot-raise{background:var(--accent)}.dot-call{background:var(--good)}.grid13{display:grid;grid-template-columns:repeat(13,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden}.cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:clamp(.5rem,1.6vw,.72rem);font-weight:500}.cell-hero{outline:3px solid #fff;outline-offset:-3px;border-radius:50%;font-weight:700;position:relative;z-index:1}a{color:var(--accent)}.btn.inline{display:inline-flex;align-items:center;text-decoration:none;margin:4px 0}.accent{color:var(--accent)}.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-bottom:12px}.banner{border-color:var(--accent)}.ready-yes{border-color:var(--good)}.ready-yes h2{color:var(--good)}.week-block{margin-bottom:8px}.skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px 20px}.skill{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 14px}.skill-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px}.skill-name{font-weight:600}.ok{color:var(--good)}.bar{position:relative;height:12px;background:var(--surface-2);border-radius:6px;overflow:hidden}.bar-fill{height:100%;border-radius:6px}.fill-good{background:var(--good)}.fill-mid{background:var(--mid)}.fill-weak{background:var(--weak)}.bar-mark{position:absolute;top:0;bottom:0;width:2px;background:var(--text);opacity:.5}.qdm{margin-top:4px}.weeks{display:grid;gap:8px;margin:12px 0 20px}.week-card{display:flex;align-items:center;gap:14px;min-height:64px;padding:10px 16px;border-radius:14px;background:var(--surface);border:1px solid var(--line);text-decoration:none;color:var(--text)}.week-card:hover,.week-open{border-color:var(--accent)}.week-locked{opacity:.55}.week-num{font-family:var(--font-title);font-weight:800;font-size:1.4rem;color:var(--accent);min-width:44px}.week-body{flex:1}.week-badge{font-size:1.3rem}.locked{opacity:.7}.steps{list-style:none;padding:0;display:grid;gap:8px;margin:12px 0}.step{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;min-height:56px;padding:10px 16px;border-radius:12px;background:var(--surface);border:1px solid var(--line);text-decoration:none;color:var(--text)}.step:hover{border-color:var(--accent)}.step-title{font-weight:600}.lesson{max-width:760px}.md h1{font-size:2rem}.md h2{font-size:1.35rem;margin-top:1.4em;color:var(--accent)}.md table{border-collapse:collapse;width:100%;margin:12px 0;font-size:.95rem}.md th,.md td{border:1px solid var(--line-strong);padding:6px 10px;text-align:left}.md th{background:var(--surface-2)}.md blockquote{margin:12px 0;padding:4px 14px;border-left:4px solid var(--coach);background:var(--surface);color:var(--muted)}.md code{font-family:var(--font-mono);background:var(--surface-2);padding:1px 5px;border-radius:4px}.md li{margin:4px 0}.mcq-q{font-size:clamp(1.15rem,3.4vw,1.5rem);margin:4px 0 14px}.mcq-options{display:grid;gap:10px}.mcq-opt{display:flex;gap:12px;align-items:center;text-align:left;min-height:56px;padding:10px 16px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text);font-size:1.05rem;cursor:pointer}.mcq-opt:hover:not(:disabled){border-color:var(--accent)}.mcq-opt.right{outline:3px solid var(--good)}.mcq-opt.wrong{outline:3px solid var(--weak)}.mcq-num{color:var(--accent);min-width:20px}.mcq .feedback{margin-top:14px}.chip.static{cursor:default}.actions-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.review-list{display:grid;gap:10px;padding-left:20px}.review-list li{padding:8px 12px;border-radius:10px;background:var(--surface);border-left:5px solid var(--line)}.review-list li.ok{border-left-color:var(--good)}.review-list li.ko{border-left-color:var(--weak)}.dropzone{border:2px dashed var(--line-strong);border-radius:16px;padding:18px 20px;text-align:center;margin-bottom:14px;background:var(--surface)}.dropzone.drag{border-color:var(--accent);background:var(--surface-2)}.chip.on{border-color:var(--accent);color:var(--accent)}.filters input[type=search]{min-height:44px;width:110px;background:var(--surface);color:var(--text);border:1px solid var(--line-strong);border-radius:10px;padding:0 10px;font-size:1rem}.hand-list{display:grid;gap:6px;margin:10px 0}.hand-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-height:56px;padding:8px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--line);text-decoration:none;color:var(--text)}.hand-row:hover{border-color:var(--accent)}.hand-cards{display:inline-flex;gap:4px}.hand-meta{flex:1;min-width:180px}.net{min-width:72px;text-align:right}.verdict{font-size:.8rem;font-weight:700;padding:3px 10px;border-radius:999px;border:1px solid var(--line-strong)}.verdict-grave{color:var(--weak);border-color:var(--weak)}.verdict-significative{color:var(--mid);border-color:var(--mid)}.verdict-ok{color:var(--good);border-color:var(--good)}.verdict-negligeable,.verdict-na{color:var(--muted)}.replay-top{display:flex;flex-wrap:wrap;gap:24px;align-items:end}.acts{list-style:none;padding:0;margin:14px 0 6px;display:grid;gap:4px}.acts li{padding:6px 12px;border-radius:8px;background:var(--surface-2)}.acts li.hero{border-left:4px solid var(--accent)}.fb-mid{border-left:6px solid var(--mid)}.fb-mid .fb-title{color:var(--mid)}.coach-color{color:var(--coach)}.coach-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.chat{display:grid;gap:12px;margin:14px 0}.msg{padding:10px 16px;border-radius:14px;max-width:760px}.msg-user{background:var(--surface-2);justify-self:end;border:1px solid var(--line-strong)}.msg-assistant{background:var(--surface);border:1px solid var(--coach);border-left-width:5px}.msg-who{color:var(--muted);font-weight:600}.msg p{margin:4px 0}.composer{position:sticky;bottom:68px;background:var(--bg);padding:8px 0;display:grid;gap:8px}.composer textarea{width:100%;resize:vertical;min-height:64px;background:var(--surface);color:var(--text);border:1px solid var(--line-strong);border-radius:12px;padding:10px 12px;font:inherit}.composer-btns{display:flex;gap:8px;flex-wrap:wrap}.btn.chosen{outline:3px solid var(--coach)}.coach-btn{border-color:var(--coach);color:var(--coach)}.coach-box{border-left:5px solid var(--coach)}.coach-advice{border-left:4px solid var(--coach);padding-left:12px;margin-top:10px}.priority{border-color:var(--coach)}.check-line{display:flex;align-items:center;gap:10px;min-height:44px}.check-line input{width:22px;height:22px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@media (min-width: 801px){.composer{bottom:0}}.icm-stacks{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}.icm-stack{display:flex;align-items:center;gap:6px;font-weight:600}input[type=number],.pay input,.filters input[type=number]{min-height:44px;background:var(--surface);color:var(--text);border:1px solid var(--line-strong);border-radius:10px;padding:0 10px;font-size:1rem;font-family:var(--font-mono)}.icm-stack input{width:96px}.pay{display:grid;gap:4px;font-size:.9rem;color:var(--muted)}.pay input{font-family:var(--font-mono);max-width:360px}.btn.icon{min-height:44px;min-width:44px;padding:0}.table-scroll{overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:.98rem}table.data th,table.data td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}table.data th{color:var(--muted);font-weight:600;font-size:.85rem}.stat{background:var(--surface-2);border-radius:12px;padding:12px 16px}.chart{width:100%;min-height:200px}.plan{list-style:none;padding:0;margin:8px 0 12px;display:grid;gap:6px}.plan a{display:flex;justify-content:space-between;gap:8px;align-items:center;min-height:44px;padding:8px 14px;border-radius:10px;background:var(--surface-2);text-decoration:none;color:var(--text);flex-wrap:wrap}.plan a:hover{outline:2px solid var(--accent)}.field{display:grid;gap:4px;margin:10px 0;color:var(--muted);font-size:.9rem}.field textarea{width:100%;background:var(--surface);color:var(--text);border:1px solid var(--line-strong);border-radius:10px;padding:8px 12px;font:inherit}.tilt{border:1px solid var(--line);border-radius:12px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0;padding:8px 12px}.tilt legend{color:var(--muted);font-size:.9rem;padding:0 6px}.tilt-opt{display:inline-flex;align-items:center;gap:6px;min-height:44px;min-width:56px;justify-content:center;border:1px solid var(--line-strong);border-radius:10px;cursor:pointer}.tilt-opt.on{border-color:var(--weak);color:var(--weak);background:var(--surface-2)}.share{background:var(--surface-2);padding:12px;border-radius:10px;font-family:var(--font-mono);white-space:pre-wrap}.gate{min-height:100vh;display:grid;place-items:center;padding:16px}.gate-box{max-width:420px;width:100%}.gate-box input{width:100%;min-height:48px;background:var(--surface);color:var(--text);border:1px solid var(--line-strong);border-radius:10px;padding:0 12px;font-size:1.2rem;letter-spacing:.2em}.sync-badge{display:flex;align-items:center;gap:8px;width:100%;margin-top:16px;min-height:44px;padding:6px 12px;background:transparent;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:.78rem;cursor:pointer;text-align:left}.sync-badge:hover{border-color:var(--line-strong);color:var(--text)}.sync-dot{width:9px;height:9px;border-radius:50%;background:var(--good);flex:none}.sync-offline .sync-dot{background:var(--mid)}.sync-error .sync-dot,.sync-auth .sync-dot{background:var(--weak)}.sync-syncing .sync-dot{background:var(--coach);animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{opacity:.3}}@media (prefers-reduced-motion: reduce){.sync-syncing .sync-dot{animation:none}}.sep{border:0;border-top:1px solid var(--line);margin:16px 0}.file-btn{cursor:pointer}@media (max-width: 800px){.sync-badge{position:fixed;top:8px;right:8px;width:auto;margin:0;min-height:36px;padding:4px 10px;z-index:20;background:var(--sidebar)}.sync-label{max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{padding-top:52px}}.pill-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0}.pill-label{min-width:120px;font-size:.85rem;color:var(--muted)}.pill{min-height:44px;padding:6px 16px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font-size:1rem;cursor:pointer}.pill.on{background:var(--accent);color:#1b1606;border-color:var(--accent);font-weight:700}.pill:disabled{opacity:.35;cursor:not-allowed}.ranges-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;align-items:start}@media (max-width: 900px){.ranges-layout{grid-template-columns:1fr}.pill-label{min-width:100%}}.rmap{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden;width:100%;-webkit-user-select:none;user-select:none;touch-action:manipulation}.rmap-lg{max-width:560px}.rmap-md{max-width:420px}.rcell{position:relative;aspect-ratio:1;min-width:0;padding:0;display:flex;align-items:center;justify-content:center;border:0;font-family:var(--font-mono);font-size:clamp(.5rem,1.5vw,.7rem);font-weight:500}.rcell-click{cursor:pointer;min-height:26px}button.rcell:disabled{cursor:default}.rcell-boundary{outline:2px solid #fff;outline-offset:-2px;z-index:1;font-weight:700}.rcell-added{box-shadow:inset 0 0 0 3px var(--good);z-index:2}.rcell-removed{outline:2px dashed var(--weak);outline-offset:-2px;z-index:2}.rcell-heat:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#e63c32;opacity:calc(var(--heat) * .75);pointer-events:none}.rcell-ok{box-shadow:inset 0 0 0 3px var(--good)}.rcell-miss{outline:2px dashed var(--accent);outline-offset:-2px}.rcell-extra{box-shadow:inset 0 0 0 3px var(--weak)}.rcell-line{outline:3px solid var(--coach);outline-offset:-3px;z-index:1}.rcell-wrong{outline:3px solid var(--weak);outline-offset:-3px;z-index:2}.rcell-pick{box-shadow:inset 0 0 0 3px var(--coach)}.rcell-hidden{background:var(--surface)!important;color:transparent!important}.legend{display:flex;flex-wrap:wrap;gap:14px;margin:10px 0 4px;font-size:.85rem;color:var(--muted)}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-item i{width:14px;height:14px;border-radius:3px;display:inline-block}.legend-boundary{outline:2px solid #fff;outline-offset:-2px;background:var(--surface-2)}.hover-info{min-height:1.6em;margin-top:6px;color:var(--muted)}.panel-head{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.stat-line{margin:4px 0}.dot{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:middle}.status.st-todo{color:var(--muted)}.status.st-doing{color:var(--accent);border-color:var(--accent)}.status.st-done{color:var(--good);border-color:var(--good)}.order-list{list-style:none;padding:0;margin:8px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px}.order-item{width:100%;min-height:44px;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;text-align:left;font-size:.95rem}.order-item.on{border-color:var(--accent);background:var(--surface-2)}.steps{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 16px;padding:0;list-style:none}.step{padding:6px 12px;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-size:.9rem}.step.on{border-color:var(--accent);color:var(--accent);background:var(--surface-2)}.step.done{border-color:var(--good);color:var(--good)}.learn-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;align-items:start}@media (max-width: 900px){.learn-grid{grid-template-columns:1fr}}.line-btns{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.line-btn{min-width:52px;min-height:48px;padding:6px 10px;border-radius:10px;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text);font-family:var(--font-mono);cursor:pointer}.line-btn:hover:not(:disabled){border-color:var(--accent)}.line-btn.played{border-color:var(--accent)}.line-btn.sel{outline:3px solid var(--weak)}.line-btn.good{outline:3px solid var(--good)}.flash-hand{display:flex;gap:10px;justify-content:center;margin:12px 0}.card-face{width:64px;height:92px;border-radius:8px;background:#f5f0e1;color:#111;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;font-size:1.6rem}.card-face.red{color:#b3261e}.big-tip{font-size:1.6rem;font-family:var(--font-title);text-align:center}.ladder{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:10px 0}.ladder-item{display:flex;flex-direction:column;gap:4px;padding:6px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer}.ladder-item.on{border-color:var(--accent);background:var(--surface-2)}.ladder-item .rcell{font-size:0;min-height:0}.ladder-label{text-align:center;font-size:.9rem}.cran-list,.code-list,.bilan{margin:6px 0;padding-left:20px}.gauge{margin:10px 0}.gauge .bar{position:relative}.gauge-mark{position:absolute;top:-4px;bottom:-4px;width:3px;background:#fff;border-radius:2px;transform:translate(-2px)}.video-frame{position:relative;width:100%;aspect-ratio:16 / 9;background:#000;border-radius:12px;overflow:hidden;margin:8px 0}.video-slot,.video-slot iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.chapters{list-style:none;margin:6px 0;padding:0;display:flex;flex-direction:column;gap:4px}.chapters li{display:flex;align-items:center;gap:6px}.chapter{flex:1;min-height:44px;text-align:left;padding:6px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;font-size:.95rem}.chapter:hover:not(:disabled){border-color:var(--accent)}.note-add{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0}.note-add input{flex:1 1 220px;min-height:44px;background:var(--surface);color:var(--text);border:1px solid var(--line-strong);border-radius:10px;padding:0 12px;font-size:1rem}.link-btn{background:none;border:0;color:var(--accent);cursor:pointer;font-size:.95rem;padding:6px;min-height:44px}.video-list{list-style:none;padding:0;margin:8px 0;display:flex;flex-direction:column;gap:8px}.video-item{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:10px 0}.form-grid label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--muted)}.form-grid input,.form-grid select,.form-grid textarea{min-height:44px;background:var(--surface);color:var(--text);border:1px solid var(--line-strong);border-radius:10px;padding:8px 10px;font-size:1rem;font-family:inherit}.video-link{display:inline-block;margin-top:8px}
