:root{color:#1e1f21;background:#f7f4ec;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--surface: #fffaf0;--surface-strong: #ffffff;--ink: #1e1f21;--muted: #67625a;--line: #ddd5c8;--red: #e23d28;--orange: #f58220;--white: #f7f7f2;--yellow: #ffcf33;--green: #23a455;--blue: #246fe5;--shadow: 0 24px 80px rgb(46 41 31 / 14%)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100dvh;background:#f2eee5;overflow:hidden}button{font:inherit}.app-shell{position:relative;isolation:isolate;height:100dvh;overflow:hidden;background:linear-gradient(90deg,rgb(255 255 255 / 46%) 0 1px,transparent 1px 100%),linear-gradient(0deg,rgb(255 255 255 / 46%) 0 1px,transparent 1px 100%),linear-gradient(135deg,rgb(35 164 85 / 4%) 0 16%,transparent 16% 100%),linear-gradient(315deg,rgb(36 111 229 / 4%) 0 20%,transparent 20% 100%),#f7f4ec;background-size:48px 48px;padding:14px}.trainer-layout{position:relative;z-index:1;height:calc(100dvh - 28px);min-height:0;display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.skill-panel{display:flex;min-height:0;flex-direction:column;gap:16px;border-right:1px solid var(--line);background:#fffaf0d1;overflow:hidden;padding:22px}.brand-row{display:flex;align-items:center;gap:18px;padding:4px 0 2px}.brand-mark{width:68px;height:68px;border-radius:8px;box-shadow:0 12px 26px #20202029}.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;border:1px solid var(--line);border-radius:8px;background:#eee5d8;padding:4px}.mode-button{min-height:38px;border:0;border-radius:6px;background:transparent;color:#5a554d;cursor:pointer;font-weight:780}.mode-button--active{background:#fffdf8;box-shadow:0 1px 5px #2020201f;color:var(--ink)}.free-play-card{display:grid;gap:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);padding:14px}.free-play-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.free-play-stat-grid span{display:grid;gap:3px;border-radius:8px;background:#f3ece1;padding:10px}.free-play-stat-grid strong,.free-play-stat-grid small{display:block}.free-play-stat-grid strong{font-size:1rem}.free-play-stat-grid small{color:var(--muted);font-size:.72rem;font-weight:740;text-transform:uppercase}.eyebrow{margin:0 0 5px;color:var(--muted);font-size:.72rem;font-weight:760;letter-spacing:0;text-transform:uppercase}h1,h2{margin:0;color:var(--ink);letter-spacing:0}h1{font-size:2rem;line-height:1.08}h2{font-size:1.08rem;line-height:1.18}.module-stack{display:grid;min-height:0;gap:8px;overflow-y:auto;padding-right:2px}.module-row{width:100%;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:11px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);color:inherit;padding:10px;text-align:left;cursor:pointer}.module-row--active,.module-row--current{border-color:#222;box-shadow:inset 4px 0 0 var(--blue)}.module-row--done{border-color:#a8cdb7;box-shadow:inset 4px 0 0 var(--green)}.module-row--next,.module-row--practice{box-shadow:inset 4px 0 0 var(--yellow)}.module-row--locked{opacity:.62;cursor:default}.module-row:disabled{cursor:not-allowed}.module-step{display:grid;width:32px;height:32px;place-items:center;border-radius:8px;background:#202020;color:#fffaf0;font-weight:780}.module-row strong,.module-row small{display:block;min-width:0}.module-row strong{font-size:.95rem;line-height:1.12}.module-row small{margin-top:3px;color:var(--muted);font-size:.78rem;line-height:1.28}.module-row em,.history-chip{border-radius:999px;background:#f1eadf;color:#423d35;font-size:.72rem;font-style:normal;font-weight:750;padding:5px 8px;white-space:nowrap}.session-panel{margin-top:auto;border-top:1px solid var(--line);padding-top:14px}.session-panel p:last-child{margin:9px 0 0;color:var(--muted);font-size:.92rem;line-height:1.48}.settings-stack{display:grid;gap:8px;margin-top:12px}.toggle-row{position:relative;display:flex;align-items:center;gap:10px;color:#3d3b36;cursor:pointer;font-size:.86rem;font-weight:650;-webkit-tap-highlight-color:transparent}.toggle-input{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.switch-track{position:relative;flex:0 0 auto;width:44px;height:26px;border:1px solid #c9c1b6;border-radius:999px;background:#d9d1c5;box-shadow:inset 0 1px 2px #20202021,0 1px 1px #ffffffe5;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.switch-track:after{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fffdf8;box-shadow:0 2px 6px #20202038,0 0 0 1px #2020200d;content:"";transition:transform .16s cubic-bezier(.22,1,.36,1)}.toggle-input:checked+.switch-track{border-color:#2fb653;background:#34c759;box-shadow:inset 0 1px 2px #2020201a,0 0 0 1px #34c7592e}.toggle-input:checked+.switch-track:after{transform:translate(18px)}.toggle-input:focus-visible+.switch-track{outline:3px solid rgb(36 111 229 / 28%);outline-offset:2px}.toggle-row:hover .switch-track{border-color:#9e9589}.toggle-label{line-height:1.25}.text-button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:7px;border:1px solid #cfc5b6;border-radius:8px;background:#fffdf8;color:#3d3b36;cursor:pointer;font-size:.84rem;font-weight:760;padding:0 10px}.cube-workspace{position:relative;isolation:isolate;display:grid;min-height:0;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"topbar" "panel" "scene" "dock";background:radial-gradient(ellipse 58% 42% at 52% 44%,rgb(255 255 255 / 82%),transparent 72%),linear-gradient(115deg,rgb(255 207 51 / 5%) 0 18%,transparent 18% 100%),linear-gradient(245deg,rgb(226 61 40 / 4%) 0 22%,transparent 22% 100%),#f7f4ec;overflow:hidden}.cube-workspace:before,.cube-workspace:after{position:absolute;z-index:0;pointer-events:none;content:""}.cube-workspace:before{top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,rgb(94 84 67 / 5%) 0 1px,transparent 1px 42px),repeating-linear-gradient(0deg,rgb(94 84 67 / 5%) 0 1px,transparent 1px 42px),linear-gradient(64deg,transparent 0 37%,rgb(35 164 85 / 5%) 37.2% 37.5%,transparent 37.7% 100%),linear-gradient(116deg,transparent 0 49%,rgb(245 130 32 / 5%) 49.2% 49.55%,transparent 49.8% 100%),linear-gradient(24deg,transparent 0 62%,rgb(36 111 229 / 5%) 62.2% 62.48%,transparent 62.75% 100%);background-position:0 0,0 0,0 0,0 0,0 0;opacity:.74;animation:training-mat-drift 32s linear infinite alternate}.cube-workspace:after{top:clamp(104px,16%,170px);right:clamp(22px,6vw,86px);width:clamp(156px,24vw,250px);aspect-ratio:4 / 3;background:repeating-linear-gradient(90deg,rgb(76 67 54 / 20%) 0 1px,transparent 1px calc(100% / 12)),repeating-linear-gradient(0deg,rgb(76 67 54 / 20%) 0 1px,transparent 1px calc(100% / 9)),linear-gradient(#ffffff2e,#ffffff2e);border:1px solid rgb(76 67 54 / 14%);opacity:.2;transform:rotate(-8deg);-webkit-mask:linear-gradient(#000 0 0) 25% 0 / 25% 33.333% no-repeat,linear-gradient(#000 0 0) 0 33.333% / 100% 33.333% no-repeat,linear-gradient(#000 0 0) 25% 66.666% / 25% 33.333% no-repeat;mask:linear-gradient(#000 0 0) 25% 0 / 25% 33.333% no-repeat,linear-gradient(#000 0 0) 0 33.333% / 100% 33.333% no-repeat,linear-gradient(#000 0 0) 25% 66.666% / 25% 33.333% no-repeat}.cube-workspace>*{position:relative;z-index:1}.workspace-topbar{grid-area:topbar;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px 0}@keyframes training-mat-drift{0%{background-position:0 0,0 0,-32px 0,24px 0,0 0}to{background-position:16px 0,0 16px,24px 0,-28px 0,18px 0}}.topbar-actions{display:flex;align-items:center;gap:8px}.drill-panel,.free-play-work-panel{grid-area:panel;z-index:2;display:grid;gap:8px;border-bottom:1px solid rgb(221 213 200 / 72%);padding:12px 24px 10px}.drill-panel{grid-template-columns:minmax(0,.92fr) minmax(0,1.28fr);column-gap:18px;align-items:start}.drill-panel p,.free-play-work-panel p{margin:0;color:#3f3b35;font-size:.92rem;line-height:1.42}.free-play-status-row{display:flex;flex-wrap:wrap;gap:8px}.free-play-status-row span,.move-history-chip,.history-empty{border-radius:999px;background:#f1eadf;color:#4a443b;font-size:.72rem;font-weight:760;padding:5px 8px;white-space:nowrap}.move-history-strip{display:flex;min-width:0;gap:6px;overflow-x:auto;padding-bottom:2px}.move-history-chip{box-shadow:inset 0 -2px 0 var(--move-accent, transparent)}.history-empty{color:var(--muted)}.free-play-work-panel{position:relative}.free-play-control-row{display:flex;flex-wrap:nowrap;gap:8px}.mapping-toggle-button,.analysis-toggle-button,.advisor-toggle-button{display:inline-flex;width:min(196px,100%);height:36px;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d8cfc1;border-radius:8px;background:#fffdf8;color:#2c2a26;cursor:pointer;padding:7px 10px;font-size:.82rem;font-weight:820;white-space:nowrap;min-width:0}.mapping-toggle-button span,.mapping-toggle-button em,.analysis-toggle-button span,.analysis-toggle-button em,.advisor-toggle-button span,.advisor-toggle-button em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mapping-toggle-button:hover,.mapping-toggle-button--active,.analysis-toggle-button:hover,.analysis-toggle-button--active,.advisor-toggle-button:hover,.advisor-toggle-button--active{border-color:#202020;box-shadow:inset 0 -3px 0 var(--green)}.mapping-toggle-button:after,.analysis-toggle-button:after,.advisor-toggle-button:after{display:grid;width:20px;height:20px;flex:0 0 auto;place-items:center;border-radius:50%;background:#eee5d8;color:#4f493f;content:"+";font-weight:860}.mapping-toggle-button--active:after{content:"-"}.analysis-toggle-button--active:after{content:"-"}.advisor-toggle-button--active:after{content:"-"}.mapping-toggle-button em,.analysis-toggle-button em,.advisor-toggle-button em{margin-left:auto;color:var(--muted);font-size:.72rem;font-style:normal;font-weight:760}.analysis-toggle-button,.advisor-toggle-button{width:min(214px,100%)}.advisor-toggle-button{width:min(236px,100%)}.analysis-toggle-button svg,.advisor-toggle-button svg{flex:0 0 auto}.mapping-popover-panel,.analysis-popover-panel,.advisor-popover-panel{position:absolute;z-index:12;top:calc(100% + 8px);left:24px;display:grid;width:min(540px,calc(100% - 48px));max-height:min(392px,calc(100dvh - 430px));min-height:0;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid #d8cfc1;border-radius:8px;background:#fffdf899;-webkit-backdrop-filter:blur(14px) saturate(1.04);backdrop-filter:blur(14px) saturate(1.04);box-shadow:0 18px 46px #2e291f1f}.analysis-popover-panel{width:min(500px,calc(100% - 48px));max-height:min(500px,calc(100dvh - 335px));grid-template-rows:auto minmax(0,1fr)}.advisor-popover-panel{width:min(560px,calc(100% - 48px));max-height:min(560px,calc(100dvh - 335px));grid-template-rows:auto minmax(0,1fr)}.mapping-panel-header,.analysis-panel-header,.advisor-panel-header{position:relative;display:grid;grid-template-columns:minmax(104px,auto) minmax(0,1fr);align-items:center;gap:12px;border-bottom:1px solid #e4dbce;padding:9px 50px 8px 10px}.mapping-panel-header h3,.analysis-panel-header h3,.advisor-panel-header h3{margin:0;color:var(--ink);font-size:.98rem;line-height:1.1}.advisor-panel-header{padding-right:86px}.mapping-close-button,.analysis-close-button,.advisor-refresh-button,.advisor-close-button,.help-close-button{position:absolute;top:9px;right:10px;display:inline-grid;width:30px;height:30px;flex:0 0 auto;place-items:center;border:1px solid #cfc5b6;border-radius:8px;background:#fffaf0;color:#2c2a26;cursor:pointer}.advisor-refresh-button{right:46px}.mapping-close-button:hover,.analysis-close-button:hover,.advisor-refresh-button:hover,.advisor-close-button:hover,.help-close-button:hover{border-color:#202020}.mapping-body{display:grid;gap:5px;min-height:0;overflow-y:auto;padding:8px}.palette-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.palette-button,.mapping-action-button{border:1px solid #cfc5b6;border-radius:8px;background:#fffdf8;color:#2d2b27;cursor:pointer;font-size:.72rem;font-weight:780}.palette-button{display:inline-flex;min-width:0;min-height:34px;align-items:center;justify-content:center;gap:5px;padding:5px 6px}.palette-button span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-button--active{border-color:#202020;box-shadow:inset 0 -3px 0 var(--sticker-color),0 0 0 3px #20202012}.palette-swatch{width:15px;height:15px;flex:0 0 auto;border:1px solid rgb(32 32 32 / 28%);border-radius:50%;background:var(--sticker-color)}.cube-net{display:grid;width:min(100%,236px);justify-self:center;grid-template-areas:". u . ." "l f r b" ". d . .";grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.net-face{display:grid;gap:3px;min-width:0}.net-face--u{grid-area:u}.net-face--d{grid-area:d}.net-face--f{grid-area:f}.net-face--b{grid-area:b}.net-face--r{grid-area:r}.net-face--l{grid-area:l}.net-face-title{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:4px;color:#3f3a33;font-size:.68rem;font-weight:820;line-height:1}.net-face-title small{overflow:hidden;color:var(--muted);font-size:.58rem;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.net-stickers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}.net-sticker{aspect-ratio:1;min-width:0;min-height:0;border:1px solid #2c3138;border-radius:5px;background:var(--sticker-color);box-shadow:inset 0 0 0 1px #ffffff57,0 1px 2px #2020201f;cursor:pointer;padding:0}.net-sticker:hover{border-color:#111;box-shadow:inset 0 0 0 1px #ffffff75,0 2px 6px #2020202e}.net-sticker--locked,.net-sticker--locked:disabled{border-color:#111;box-shadow:inset 0 0 0 2px #202020ad,0 1px 2px #2020201f;cursor:not-allowed;opacity:1}.mapping-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;border-top:1px solid #e4dbce;padding:8px 10px 10px}.mapping-action-button{display:inline-flex;min-height:30px;align-items:center;justify-content:center;gap:6px;padding:6px 9px}.mapping-action-button:hover,.palette-button:hover{border-color:#202020}.mapping-feedback{display:grid;width:100%;min-width:0;min-height:28px;grid-template-columns:minmax(0,1fr) 22px;align-items:center;gap:7px;overflow:hidden;border-radius:8px;font-size:.74rem;font-weight:690;line-height:1.28;padding:5px 5px 5px 8px}.mapping-feedback-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mapping-feedback-dismiss{display:inline-grid;width:22px;height:22px;flex:0 0 auto;justify-self:end;place-items:center;border:0;border-radius:6px;background:#ffffff94;color:currentcolor;cursor:pointer;padding:0}.mapping-feedback-dismiss:hover{background:#20202014}.mapping-feedback--success{border:1px solid #b6d9c2;background:#ecf8f0;color:#1d6d3d}.mapping-feedback--error{border:1px solid #edb6ab;background:#fff0ec;color:#9f2f24}.analysis-result{display:grid;gap:8px;min-height:0;overflow-y:auto;padding:10px 12px 12px}.analysis-stage-chip{width:max-content;border:1px solid #cfc5b6;border-radius:999px;background:#f1eadf;color:#423d35;font-size:.72rem;font-weight:800;padding:5px 8px}.analysis-result h4{margin:0;color:var(--ink);font-size:1rem;line-height:1.2}.analysis-guidance-list{display:grid;gap:8px;margin:0}.analysis-guidance-list div{display:grid;gap:3px;border-top:1px solid #e4dbce;padding-top:7px}.analysis-guidance-list dt{color:var(--muted);font-size:.68rem;font-weight:820;text-transform:uppercase}.analysis-guidance-list dd{margin:0;color:#37332e;font-size:.82rem;font-weight:640;line-height:1.36}.analysis-error-list{display:grid;gap:4px;margin:0;border:1px solid #edb6ab;border-radius:8px;background:#fff0ec;color:#9f2f24;font-size:.76rem;font-weight:690;line-height:1.32;padding:8px 10px 8px 26px}.advisor-result{display:grid;gap:5px;min-height:0;overflow-y:auto;padding:8px 12px}.advisor-result h4{margin:0;color:var(--ink);font-size:1rem;line-height:1.2}.advisor-summary{margin:0;color:#37332e;font-size:.8rem;font-weight:640;line-height:1.3}.advisor-front-control{display:flex;align-items:center;gap:7px;border-top:1px solid #e4dbce;padding-top:5px}.advisor-front-control>span{color:var(--muted);font-size:.68rem;font-weight:820;text-transform:uppercase}.advisor-front-options{display:flex;flex:1;min-width:0;flex-wrap:wrap;gap:5px}.advisor-front-button{display:inline-flex;min-width:0;min-height:28px;align-items:center;justify-content:center;gap:5px;border:1px solid #cfc5b6;border-radius:8px;background:#fffdf8;color:#2d2b27;cursor:pointer;font-size:.7rem;font-weight:780;padding:5px 6px}.advisor-front-button span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.advisor-front-button--active{border-color:#202020;box-shadow:inset 0 -3px 0 var(--sticker-color),0 0 0 3px #20202012}.advisor-front-button:hover{border-color:#202020}.advisor-refresh-button:disabled,.advisor-front-button:disabled,.advisor-move-chip:disabled,.advisor-apply-step-button:disabled{cursor:not-allowed;opacity:.55}.advisor-primary-action{display:grid;gap:3px;margin:0;border-top:1px solid #e4dbce;padding-top:5px}.advisor-primary-action dt{color:var(--muted);font-size:.68rem;font-weight:820;text-transform:uppercase}.advisor-primary-action dd{margin:0;color:#2d2b27;font-size:.8rem;font-weight:760;line-height:1.28}.advisor-search-status{margin:0;border:1px solid #d9cbb7;border-radius:8px;background:#fffaf0;color:#6e5a35;font-size:.74rem;font-weight:760;line-height:1.22;padding:6px 9px}.advisor-search-status--error{border-color:#edb6ab;background:#fff0ec;color:#9f2f24}.advisor-search-status--info{border-color:#d9cbb7;background:#fffaf0;color:#6e5a35}.advisor-guided-status{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;border:1px solid #b9ddca;border-radius:8px;background:#edf8f1;color:#1f7241;padding:7px 7px 7px 10px}.advisor-guided-status p{margin:0;font-size:.76rem;font-weight:820;line-height:1.2}.advisor-stop-button{display:inline-flex;align-items:center;gap:4px;min-height:28px;border:1px solid #98c7ad;border-radius:6px;background:#fbfffc;color:#1f7241;cursor:pointer;font-size:.72rem;font-weight:840;line-height:1;padding:5px 8px;white-space:nowrap}.advisor-stop-button:hover{background:#e3f5ea}.advisor-step-list{display:grid;gap:5px;margin:0;padding:0;list-style:none}.advisor-step-list li{display:grid;gap:3px;border-top:1px solid #e4dbce;padding-top:5px}.advisor-step-list-item--active{border-top-color:#d7c7a9;border-radius:7px;background:#fff9ebbd;box-shadow:inset 3px 0 #24221f,0 0 0 1px #d7c7a9a8;gap:4px;padding:7px 8px 8px 11px}.advisor-step-list strong{color:var(--ink);font-size:.84rem;line-height:1.2}.advisor-step-list p{margin:0;color:#4a443b;font-size:.74rem;font-weight:620;line-height:1.27}.advisor-step-actions{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:6px}.advisor-step-list-item--active .advisor-step-actions{display:grid;align-items:stretch;justify-items:start}.advisor-algorithm-strip{display:flex;min-width:0;flex-wrap:wrap;gap:5px}.advisor-step-controls{display:flex;min-width:0;flex-wrap:wrap;gap:6px}.advisor-move-chip{display:inline-grid;min-width:28px;min-height:26px;place-items:center;border:1px solid #cfc5b6;border-bottom-color:var(--move-accent, #cfc5b6);border-radius:8px;background:#fffdf8;box-shadow:inset 0 -2px 0 var(--move-accent, transparent);color:var(--ink);cursor:pointer;font-size:.78rem;font-weight:820;padding:3px 6px}.advisor-move-chip:hover{border-color:#202020}.advisor-move-chip--done{border-color:#a9cfb8;background:#edf7f0;box-shadow:inset 0 -2px #4aa266;color:#1c6d3a}.advisor-move-chip--current{border-color:#202020;background:#fff5d6;box-shadow:inset 0 -3px 0 var(--move-accent, #f5c84b),0 0 0 3px #20202017;color:#1f1f1f}.advisor-move-chip--done:disabled{opacity:.78}.advisor-move-chip--current:disabled{opacity:1}.advisor-apply-step-button{display:inline-flex;min-height:28px;align-items:center;justify-content:center;gap:5px;border:1px solid #cfc5b6;border-radius:8px;background:#24221f;color:#fffaf0;cursor:pointer;font-size:.72rem;font-weight:820;padding:4px 8px;white-space:nowrap}.advisor-apply-step-button svg{flex:0 0 auto}.advisor-apply-step-button:hover:not(:disabled){border-color:#202020;background:#11100f}.advisor-apply-step-button--secondary{background:#fffdf8;color:#2d2b27}.advisor-apply-step-button--secondary:hover:not(:disabled){background:#f1eadf}.help-popover-panel{position:absolute;z-index:18;right:12px;bottom:calc(100% + 10px);display:grid;width:min(520px,calc(100% - 24px));max-height:min(520px,calc(100dvh - 220px));min-height:0;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid #d8cfc1;border-radius:8px;background:#fffdf8f5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 18px 46px #2e291f29}.help-panel-header{position:relative;display:grid;grid-template-columns:minmax(0,1fr);border-bottom:1px solid #e4dbce;padding:10px 50px 9px 12px}.help-panel-header h3{margin:0;color:var(--ink);font-size:1rem;line-height:1.1}.help-body{display:grid;gap:8px;min-height:0;overflow-y:auto;padding:10px 12px 12px}.help-topic{display:grid;gap:6px;border-top:1px solid #e4dbce;padding-top:8px}.help-topic:first-child{border-top:0;padding-top:0}.help-topic h4{margin:0;color:var(--ink);font-size:.86rem;line-height:1.2}.help-topic ul{display:grid;gap:4px;margin:0;color:#4a443b;font-size:.78rem;font-weight:620;line-height:1.34;padding-left:18px}.sequence-strip{display:flex;min-width:0;flex-wrap:wrap;gap:7px}.training-concept,.training-exercise{display:grid;min-width:0;gap:7px}.training-concept h3,.training-exercise h3{margin:0;color:var(--ink);font-size:.98rem;line-height:1.18}.training-concept-list{display:grid;gap:4px;margin:0;padding-left:18px;color:#5a5146;font-size:.78rem;line-height:1.32}.training-exercise-heading{display:flex;min-width:0;align-items:start;justify-content:space-between;gap:10px}.training-new-exercise-button{flex:0 0 auto;min-height:32px;font-size:.78rem}.sequence-step{display:inline-grid;min-width:38px;min-height:32px;place-items:center;border:1px solid #d3cabd;border-radius:8px;background:#fffdf8;color:var(--ink);font-size:.95rem;font-weight:820}.sequence-step--done{border-color:#a8cdb7;background:#eaf6ee;color:#1c6d3a}.sequence-step--current{border-color:#1f1f1f;box-shadow:inset 0 -3px 0 var(--yellow)}.feedback-line{font-weight:690}.feedback-line--complete{color:#1d6d3d!important}.feedback-line--mistake{color:#b3382a!important}.hint-panel{display:grid;gap:5px;border-left:3px solid var(--yellow);background:#fffdf8b8;padding:9px 12px}.streak-row{display:flex;flex-wrap:wrap;gap:8px}.streak-row span{border-radius:999px;background:#f1eadf;color:#4a443b;font-size:.72rem;font-weight:760;padding:5px 8px}.cube-scene{position:relative;grid-area:scene;min-height:0;touch-action:none}.cube-scene canvas{display:block;width:100%;height:100%}.move-dock{position:relative;grid-area:dock;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;border-top:1px solid var(--line);background:#fffaf0db;padding:12px}.move-grid{display:grid;grid-template-columns:repeat(6,minmax(44px,1fr));gap:8px}.move-button,.icon-button{min-height:44px;border:1px solid #cfc5b6;border-radius:8px;background:#fffdf8;color:var(--ink);cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.move-button{min-width:44px;font-size:1.05rem;font-weight:820;box-shadow:inset 0 -2px 0 var(--move-accent, transparent)}.move-button--expected{border-color:#202020;outline:2px solid rgb(255 207 51 / 46%);outline-offset:2px;box-shadow:inset 0 -2px 0 var(--move-accent, transparent),0 0 0 4px #ffcf3329}.move-button--face-r{--move-accent: var(--red);border-bottom-color:var(--red)}.move-button--face-l{--move-accent: var(--orange);border-bottom-color:var(--orange)}.move-button--face-u{--move-accent: var(--white);border-bottom-color:#fff}.move-button--face-d{--move-accent: #f2c12b;border-bottom-color:var(--yellow)}.move-button--face-f{--move-accent: var(--green);border-bottom-color:var(--green)}.move-button--face-b{--move-accent: var(--blue);border-bottom-color:var(--blue)}.move-button:hover,.icon-button:hover{border-color:#202020;box-shadow:inset 0 -2px 0 var(--move-accent, transparent),0 8px 20px #2020201a;transform:translateY(-1px)}.move-button:active,.icon-button:active{transform:translateY(0)}.icon-button[aria-pressed=true]{border-color:#202020;background:#edf8f1;box-shadow:inset 0 -3px 0 var(--green)}.tool-row{display:flex;gap:8px}.icon-button{display:inline-grid;width:44px;place-items:center}.icon-button[data-tooltip]{position:relative}.icon-button[data-tooltip]:before,.icon-button[data-tooltip]:after{position:absolute;z-index:10;left:50%;opacity:0;pointer-events:none;transform:translate(-50%,6px);transition:opacity .12s ease,transform .12s ease,visibility .12s ease;visibility:hidden}.icon-button[data-tooltip]:before{bottom:calc(100% + 5px);border:6px solid transparent;border-top-color:#202020;content:""}.icon-button[data-tooltip]:after{bottom:calc(100% + 16px);max-width:min(220px,calc(100vw - 24px));border-radius:6px;background:#202020;box-shadow:0 8px 18px #20202029;color:#fffdf8;content:attr(data-tooltip);font-size:.74rem;font-weight:760;line-height:1;padding:7px 9px;white-space:nowrap}.icon-button[data-tooltip]:hover:before,.icon-button[data-tooltip]:hover:after,.icon-button[data-tooltip]:focus-visible:before,.icon-button[data-tooltip]:focus-visible:after{opacity:1;transform:translate(-50%);visibility:visible}.tool-row .icon-button[data-tooltip]:last-child:before{right:18px;left:auto;transform:translateY(6px)}.tool-row .icon-button[data-tooltip]:last-child:after{right:0;left:auto;transform:translateY(6px)}.tool-row .icon-button[data-tooltip]:last-child:hover:before,.tool-row .icon-button[data-tooltip]:last-child:hover:after,.tool-row .icon-button[data-tooltip]:last-child:focus-visible:before,.tool-row .icon-button[data-tooltip]:last-child:focus-visible:after{transform:translateY(0)}.icon-button.progress-reset-button{display:none}@media(min-width:1100px){.cube-workspace--side-panel-open .mapping-popover-panel,.cube-workspace--side-panel-open .analysis-popover-panel,.cube-workspace--side-panel-open .advisor-popover-panel{right:24px;left:auto}}.icon-button--wide{width:auto;grid-auto-flow:column;gap:7px;padding:0 12px}.icon-button--wide span{font-size:.82rem;font-weight:760}.icon-button:disabled{cursor:not-allowed;opacity:.42;transform:none;box-shadow:none}.move-button:disabled{cursor:not-allowed;opacity:.54;transform:none}@media(max-width:900px){.app-shell{height:100dvh;padding:0}.trainer-layout{height:100dvh;min-height:0;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);border:0;border-radius:0;overflow:hidden}.skill-panel{min-height:auto;min-width:0;gap:12px;border-right:0;border-bottom:1px solid var(--line);padding:12px 16px;overflow:hidden}.module-stack{display:flex;min-width:0;overflow-x:auto;padding-bottom:2px;scroll-snap-type:x mandatory}.module-row{flex:0 0 180px;scroll-snap-align:start;grid-template-columns:30px minmax(0,1fr)}.module-row em,.free-play-card,.session-panel{display:none}.cube-workspace{min-height:0;grid-template-rows:auto auto minmax(0,1fr) auto}.drill-panel,.free-play-work-panel{gap:7px;padding:10px 16px}.drill-panel{grid-template-columns:minmax(0,1fr)}.training-concept,.training-exercise{gap:6px}.training-concept-list{font-size:.74rem;line-height:1.24}.training-exercise-heading{align-items:center}.mapping-popover-panel,.analysis-popover-panel,.advisor-popover-panel{left:16px;width:calc(100% - 32px);max-height:min(520px,calc(100dvh - 300px));box-shadow:0 12px 28px #2e291f1f}.icon-button.progress-reset-button{display:inline-grid;width:42px;min-height:36px}.cube-scene{min-height:0}}@media(max-width:640px){.workspace-topbar{align-items:flex-start;flex-wrap:wrap;gap:10px;padding:12px 16px 0}.move-dock{grid-template-columns:1fr;gap:10px;padding:10px 12px}.move-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.move-button{min-width:0}.free-play-control-row{gap:6px}.mapping-toggle-button,.analysis-toggle-button,.advisor-toggle-button{flex:1 1 0;width:auto;gap:6px;padding:7px 8px}.mapping-toggle-button em,.analysis-toggle-button em,.advisor-toggle-button em{display:none}.palette-row{grid-template-columns:repeat(3,minmax(0,1fr))}.cube-net{width:100%;grid-template-columns:repeat(4,minmax(0,1fr))}.tool-row{flex-wrap:wrap;justify-content:flex-start}.icon-button{width:46px;flex:1 1 46px;max-width:68px}.icon-button--wide{flex:2 1 96px;min-width:96px;max-width:none}.settings-stack{grid-template-columns:1fr}.brand-mark{width:54px;height:54px}h1{font-size:1.58rem}}@media(max-height:760px){.skill-panel{gap:12px;padding:16px}.brand-mark{width:56px;height:56px}h1{font-size:1.66rem}.module-row{min-height:64px;padding:8px}.module-row small{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.session-panel{padding-top:10px}.session-panel p:last-child{font-size:.86rem;line-height:1.34}.workspace-topbar{padding-top:14px}.sequence-step{min-height:30px}.move-button,.icon-button{min-height:40px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
