:root{--bg: #0d0f13;--bg-elev: #161a21;--bg-elev-2: #1d222b;--line: #262c37;--line-soft: #1e232c;--fg: #e8eaef;--fg-dim: #98a0af;--fg-faint: #666e7d;--gold: #e2b04a;--gold-dim: #7a5f22;--blue: #5b9cf0;--blue-dim: #294668;--green: #4fb783;--red: #e2585b;--radius: 12px;--nav-h: 58px;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.5 -apple-system,BlinkMacSystemFont,SF Pro SC,PingFang SC,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;overscroll-behavior-y:none}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer}.auth-page{min-height:100%;display:grid;place-items:center;padding:28px 18px;background:radial-gradient(circle at 50% 0,#211b0d 0,var(--bg) 42%)}.auth-card{width:min(100%,430px);padding:30px;border:1px solid var(--line);border-radius:18px;background:#161a21f5;box-shadow:0 24px 70px #0000006b}.auth-brand{display:inline-block;margin-bottom:24px;color:var(--fg);font-size:18px;font-weight:700;text-decoration:none}.auth-brand b{color:var(--gold)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:12px;background:var(--bg)}.auth-tabs button{padding:9px;border-radius:9px;color:var(--fg-faint);font-weight:600}.auth-tabs button.on{background:var(--bg-elev-2);color:var(--gold)}.auth-card h1{margin:24px 0 6px;font-size:25px}.auth-lede{margin:0 0 20px;color:var(--fg-dim);font-size:13.5px;line-height:1.7}.auth-field{display:grid;gap:7px;margin-top:14px;color:var(--fg-dim);font-size:12px}.auth-field input{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:10px;outline:none;background:var(--bg);color:var(--fg)}.auth-field input:focus{border-color:var(--gold-dim);box-shadow:0 0 0 3px #e2b04a14}.auth-migration,.auth-warning,.auth-error{margin:16px 0;border-radius:10px;padding:11px 12px;font-size:12px;line-height:1.55}.auth-migration{display:grid;gap:3px;background:#171f19;border:1px solid #2f5940;color:#b7e0cc}.auth-warning{color:#e6c987;background:#211b0c;border:1px solid var(--gold-dim)}.auth-error{color:#ffb3b5;background:#281518;border:1px solid #603034}.auth-submit{margin-top:18px}.auth-switch{display:block;margin:15px auto 0;color:var(--gold);font-size:13px}.auth-back{display:block;margin-top:22px;text-align:center;color:var(--fg-faint);font-size:12px;text-decoration:none}.auth-language{position:fixed;top:18px;right:18px;display:flex;gap:5px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--bg-elev)}.auth-language button{padding:4px 9px;border-radius:999px;color:var(--fg-faint);font-size:12px}.auth-language button.on{color:var(--gold);background:var(--bg-elev-2)}.auth-loading{min-height:100%;display:grid;place-items:center;color:var(--fg);letter-spacing:.02em}.auth-loading b{color:var(--gold)}@media (max-width: 480px){.auth-page{padding:62px 14px 20px;align-items:start}.auth-card{padding:24px 20px}}.root-col{height:100%;display:flex;flex-direction:column}.phone-frame{max-width:430px;width:100%;margin:0 auto;min-height:0;flex:1;position:relative;background:var(--bg);border-left:1px solid var(--line-soft);border-right:1px solid var(--line-soft);display:flex;flex-direction:column}.app-body{flex:1;overflow-y:auto;padding:0 16px calc(var(--nav-h) + 84px);-webkit-overflow-scrolling:touch}.topbar{position:sticky;top:0;z-index:20;background:linear-gradient(var(--bg) 78%,transparent);padding:18px 16px 10px;display:flex;align-items:baseline;gap:10px}.topbar h1{margin:0;font-size:20px;font-weight:650;letter-spacing:.01em;white-space:nowrap}.topbar .sub{color:var(--fg-faint);font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .spacer{flex:1}.topbar .link{color:var(--fg-dim);font-size:12px;border-bottom:1px dotted var(--line)}.topbar .utility{display:flex;align-items:center;gap:11px}.topbar .usep{width:1px;height:13px;background:var(--line-soft)}.topbar .feedback-btn{padding:5px 13px;font-size:12.5px;font-weight:600;border-radius:999px;background:var(--bg-elev-2);border:1px solid var(--gold-dim);color:var(--gold)}.topbar .feedback-btn:active{background:var(--bg-elev)}.topbar .acct-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);display:inline-block;margin-left:5px}.nav{position:sticky;bottom:0;z-index:30;height:var(--nav-h);display:grid;grid-template-columns:repeat(5,1fr);background:#0d0f13f0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line-soft)}.nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--fg-faint);font-size:11px}.nav button .ico{font-size:17px;line-height:1}.nav button.on{color:var(--gold)}.nav .dot{width:5px;height:5px;border-radius:50%;background:var(--gold);position:absolute;top:6px}.nav .navaction{display:none}.fab{position:absolute;z-index:31;right:14px;bottom:calc(var(--nav-h) + 14px);white-space:nowrap;background:var(--gold);color:#1a1204;font-weight:650;font-size:14px;padding:11px 16px;border-radius:999px;box-shadow:0 6px 20px #00000080;display:flex;align-items:center;gap:6px}.section-label{display:flex;align-items:center;gap:8px;margin:22px 0 10px;color:var(--fg-faint);font-size:11.5px;letter-spacing:.08em}.section-label:before,.section-label:after{content:"";height:1px;background:var(--line-soft);flex:1}.section-label.solo:before{display:none}.muted{color:var(--fg-dim)}.faint{color:var(--fg-faint)}.tiny{font-size:12px}.empty{padding:40px 8px;text-align:center;color:var(--fg-dim);line-height:1.8}.empty .big{color:var(--fg);font-size:15px;margin-bottom:22px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;border-radius:10px;background:var(--bg-elev-2);border:1px solid var(--line);font-size:14px}.btn.primary{background:var(--gold);color:#1a1204;border-color:var(--gold);font-weight:600}.btn.ghost{background:none}.btn.block{width:100%}.btn.sm{padding:7px 11px;font-size:13px;border-radius:9px}.btn.danger{color:var(--red);border-color:#3a2429}.btn:disabled{opacity:.4}.card-row{background:var(--bg-elev);border:1px solid var(--line-soft);border-radius:var(--radius);padding:11px 12px;margin-bottom:8px}.card-row.weak{border-color:var(--gold-dim);background:#1b1710}.card-row.dir-offense{border-left:3px solid var(--gold)}.card-row.dir-defense{border-left:3px solid var(--blue)}.card-row.dir-none{border-left:3px solid var(--line)}.card-row .why,.card-row .why-t{flex-wrap:wrap}.card-row.gap{border-style:dashed;border-color:var(--line);background:#12151b}.card-row .edge .mv{font-size:15.5px;font-weight:600;line-height:1.35}.card-row .edge .ends{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:6px}.card-row .edge .pos{font-size:12.5px;padding:3px 9px;border-radius:7px;background:var(--bg-elev-2);border:1px solid var(--line);color:var(--fg-dim);white-space:nowrap;cursor:pointer}.card-row .edge .pos:hover{border-color:var(--gold-dim);color:var(--fg)}.card-row .edge .pos.to{color:var(--fg);border-color:#33404f}.card-row .edge .ar{color:var(--fg-faint);font-size:10px}.card-row .route{font-size:13.5px;color:var(--fg-dim)}.card-row .route b{color:var(--fg);font-weight:500;white-space:nowrap}.card-row .arrow{color:var(--fg-faint);margin:0 5px}.card-row .meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:8px;font-size:12px;color:var(--fg-faint)}.card-row .trigger{margin-top:6px;font-size:12.5px;color:var(--fg-dim)}.card-row .trigger:before{content:"触发 ";color:var(--fg-faint)}.badge{padding:2px 8px;border-radius:999px;border:1px solid var(--line);font-size:11.5px;background:var(--bg-elev-2)}.badge.unset{color:var(--fg-faint)}.badge.review{color:var(--gold);border-color:var(--gold-dim);background:#241d0d}.badge.mastered{color:var(--green);border-color:#1f4636;background:#0f2119}.plus1{margin-left:auto;color:var(--gold);border:1px solid var(--gold-dim);background:#1e1809;padding:4px 10px;border-radius:8px;font-size:12px;font-weight:600}.plus1:active{transform:scale(.95)}.card-row .why{display:flex;align-items:center;gap:8px;margin-bottom:8px}.card-row .why-t{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--fg-faint);min-width:0}.card-row .why-t .tag{color:var(--gold);background:#211b0c;border:1px solid var(--gold-dim);border-radius:5px;padding:1px 6px;font-size:11px;white-space:nowrap}.card-row.gap .why-t .tag{color:var(--fg-dim);background:var(--bg-elev-2);border-color:var(--line)}.card-row .note{margin-top:6px;font-size:12.5px;color:var(--fg-dim)}.card-row .insight{margin-left:auto;flex:none;font-size:12px;line-height:1.4;display:flex;align-items:center;gap:4px;white-space:nowrap;color:var(--fg-faint);opacity:.55;filter:grayscale(1);border:1px solid var(--line);border-radius:8px;padding:4px 7px}.card-row .insight.on{opacity:1;filter:none;color:var(--gold);background:#2a2109;border-color:var(--gold-dim)}.card-row .insight:hover{opacity:.75}.progress{margin:26px auto 0;max-width:260px}.progress .bar{height:4px;background:var(--line-soft);border-radius:2px;overflow:hidden}.progress .bar i{display:block;height:100%;background:var(--gold)}.progress .n{margin-top:8px;font-size:12px;color:var(--fg-faint)}.grp{margin-top:18px}.grp h3{margin:0 0 8px;font-size:12.5px;color:var(--fg-dim);font-weight:500;display:flex;gap:8px}.grp h3 .cnt{color:var(--fg-faint)}.faces{display:flex;flex-wrap:wrap;gap:7px}.face{border:1px solid var(--line-soft);background:#12151b;color:var(--fg-faint);padding:8px 11px;border-radius:10px;font-size:13px;display:flex;align-items:center;gap:7px;border-left-width:3px;border-left-color:transparent}.face .n{color:var(--fg-faint);font-size:11.5px}.face .sidedots{display:inline-flex;gap:3px}.face .sidedots i{width:6px;height:6px;border-radius:50%;background:var(--line-soft)}.face .sidedots i.on.offense{background:var(--gold)}.face .sidedots i.on.defense{background:var(--blue)}.face.terminal{border-style:dashed;border-left-width:1px}.face.lv1{color:#b9ab8d;background:#181712;border-left-color:#6a5a3a}.face.lv2{color:var(--fg);background:#1c1810;border-left-color:#a8873c}.face.lv3{color:var(--fg);background:#221c0e;border-left-color:var(--gold)}.face.lv3 .n{color:var(--gold)}.face.lv4{color:var(--fg);background:#12211a;border-left-color:var(--green)}.face.lv4 .n{color:var(--green)}.growth{margin:4px 0 2px}.growth .gtop{display:flex;align-items:baseline;gap:7px;font-size:12.5px;color:var(--fg-dim)}.growth .gtop b{font-size:19px;font-weight:650;color:var(--fg)}.growth .gtop .sp{flex:1}.growth .gbar{display:flex;gap:2px;height:6px;margin-top:9px}.growth .gbar i{display:block;border-radius:2px;min-width:3px}.growth .glegend{display:flex;flex-wrap:wrap;gap:10px;margin-top:9px;font-size:11px;color:var(--fg-faint)}.growth .glegend span{display:flex;align-items:center;gap:5px}.growth .glegend i{width:9px;height:9px;border-radius:3px;display:block}.gbar .lv0,.glegend .lv0{background:var(--line)}.gbar .lv1,.glegend .lv1{background:#6a5a3a}.gbar .lv2,.glegend .lv2{background:#a8873c}.gbar .lv3,.glegend .lv3{background:var(--gold)}.gbar .lv4,.glegend .lv4{background:var(--green)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:40;animation:fade .18s}@keyframes fade{0%{opacity:0}}.drawer{position:fixed;z-index:41;left:50%;transform:translate(-50%);bottom:0;width:100%;max-width:430px;max-height:92vh;display:flex;flex-direction:column;background:var(--bg-elev);border-top-left-radius:18px;border-top-right-radius:18px;border:1px solid var(--line);border-bottom:0;animation:rise .22s cubic-bezier(.2,.9,.3,1)}@keyframes rise{0%{transform:translate(-50%,100%)}}.drawer .grab{width:36px;height:4px;border-radius:2px;background:var(--line);margin:9px auto 4px}.drawer .dhead{display:flex;align-items:center;padding:4px 16px 10px;gap:10px}.drawer .dhead h2{margin:0;font-size:16px;font-weight:600}.drawer .dbody{overflow-y:auto;padding:0 16px 16px}.drawer .dfoot{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line-soft);display:flex;gap:8px}.drawer .dfoot .btn{padding:11px 10px;font-size:13.5px}.onb-dots{display:flex;gap:6px;margin-top:18px;justify-content:center}.onb-dot{width:6px;height:6px;border-radius:50%;background:var(--line)}.onb-dot.on{background:var(--gold)}.field{margin-top:16px}.field>label{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--fg-faint);margin-bottom:7px}.field>label .req{color:var(--gold)}.field>label .opt{color:var(--fg-faint);border:1px solid var(--line);border-radius:4px;padding:0 4px;font-size:10px}.input{width:100%;padding:11px 12px;border-radius:10px;background:var(--bg-elev-2);border:1px solid var(--line);outline:none}.input:focus{border-color:var(--gold-dim)}.input::placeholder{color:var(--fg-faint)}.sentence{margin-top:14px}.sline{width:100%;display:flex;align-items:baseline;gap:10px;padding:9px 2px;text-align:left;font-size:17px;line-height:1.5}.sline .lead{color:var(--fg-faint);font-size:14px;flex:none;width:34px;text-align:right}.sline .blank{flex:1;min-width:0;color:var(--fg-faint);border-bottom:1px dashed var(--line);padding:2px 4px 4px}.sline .blank.has{color:var(--fg);font-weight:550;border-bottom-color:var(--gold-dim);border-bottom-style:solid}.sline .blank.has.muted-fill{color:var(--fg-dim);font-weight:400;border-bottom-style:dashed;border-bottom-color:var(--line)}.sline.open .blank{color:var(--gold);border-bottom-color:var(--gold)}.sline.static{cursor:default}.blank-input{flex:1;min-width:0;font-size:17px;background:none;border:0;border-bottom:1px dashed var(--line);padding:2px 4px 4px;outline:none}.blank-input:focus{border-bottom-color:var(--gold);border-bottom-style:solid}.blank-input::placeholder{color:var(--fg-faint);font-size:15px}.sfill{margin:2px 0 10px 44px;border-left:1px solid var(--line-soft);padding:10px 0 2px 12px}.orself{margin-top:10px;display:flex;flex-direction:column;gap:6px}.dhead .dsum{font-size:12px;color:var(--fg-faint)}.errbar.warn{background:#1e1a10;border-color:#55402a;color:#f0d9a6}.errbar.warn button{color:#f0d9a6;border-color:#55402a}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:7px 11px;border-radius:999px;font-size:13px;background:var(--bg-elev-2);border:1px solid var(--line);color:var(--fg-dim)}.chip.on{background:var(--gold);border-color:var(--gold);color:#1a1204;font-weight:600}.chip.side-defense:not(.on){color:#9fb4cc}.chip.dashed{border-style:dashed}.chip.mine{border-color:var(--gold-dim);color:var(--gold)}.chip.mine.on{color:#1a1204}.picked{display:flex;align-items:center;gap:8px;padding:11px 12px;border-radius:10px;background:var(--bg-elev-2);border:1px solid var(--line)}.picked b{font-weight:550}.picked .chg{margin-left:auto;color:var(--gold);font-size:12.5px}.picker{margin-top:12px;max-height:46vh;overflow-y:auto}.fam-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.fam{display:flex;align-items:center;gap:7px;padding:11px 12px;border-radius:10px;font-size:14px;background:var(--bg-elev-2);border:1px solid var(--line);text-align:left}.fam.on{border-color:var(--gold);color:var(--gold)}.fam .fcnt{margin-left:auto;font-size:11px;color:var(--fg-faint)}.picker-back{color:var(--gold);font-size:13px;padding:8px 0}.stance-q{font-size:14px;color:var(--fg-dim);margin:6px 0 12px}.stance-q b{color:var(--fg);font-size:17px;font-weight:650}.stances{display:flex;flex-direction:column;gap:8px}.stance{display:flex;flex-direction:column;gap:3px;align-items:flex-start;padding:13px 14px;border-radius:11px;text-align:left;background:var(--bg-elev-2);border:1px solid var(--line)}.stance.on{border-color:var(--gold)}.stance .s-main{font-size:17px;font-weight:600}.stance .s-sub{font-size:11.5px;color:var(--fg-faint)}.hint-row{display:flex;justify-content:center;padding:12px 0 4px}.hint-row button{color:var(--fg-faint);font-size:12px;border-bottom:1px dotted var(--line)}.errbar{margin:0 0 4px;background:#2b1417;border:1px solid #55262b;color:#ffb4b6;padding:10px 12px;border-radius:10px;font-size:13px;display:flex;gap:10px;align-items:center}.errbar button{margin-left:auto;color:#ffd9da;border:1px solid #55262b;padding:4px 9px;border-radius:7px;font-size:12px}.toasts{position:fixed;z-index:60;left:50%;transform:translate(-50%);bottom:calc(var(--nav-h) + 76px);width:100%;max-width:430px;padding:0 16px;pointer-events:none}.toast{pointer-events:auto;margin-top:8px;background:var(--bg-elev-2);border:1px solid var(--line);border-radius:11px;padding:11px 13px;font-size:13.5px;display:flex;align-items:center;gap:10px;box-shadow:0 8px 26px #0000008c;animation:rise2 .18s}@keyframes rise2{0%{transform:translateY(8px);opacity:0}}.toast .act{margin-left:auto;color:var(--gold);font-weight:600;white-space:nowrap}.toast.good{border-color:#24513c;background:#10221a}.toast.bad{border-color:#55262b;background:#2b1417;color:#ffb4b6}.segmented{display:flex;background:var(--bg-elev);border:1px solid var(--line-soft);border-radius:10px;padding:3px;margin-top:4px}.segmented button{flex:1;padding:8px;border-radius:8px;font-size:13.5px;color:var(--fg-dim)}.segmented button.on{background:var(--bg-elev-2);color:var(--fg);border:1px solid var(--line)}.path{border:1px solid var(--line-soft);background:var(--bg-elev);border-radius:var(--radius);padding:10px 12px;margin-bottom:9px}.path .phead{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--fg-faint);margin-bottom:8px}.path .star{margin-left:auto;color:var(--gold);font-size:13px}.hop{display:flex;gap:9px;padding:6px 0}.hop .idx{width:18px;height:18px;border-radius:50%;background:var(--bg-elev-2);border:1px solid var(--line);font-size:10.5px;display:flex;align-items:center;justify-content:center;color:var(--fg-faint);flex:none;margin-top:2px}.hop.weak .idx{background:var(--gold);border-color:var(--gold);color:#1a1204;font-weight:700}.hop .hb{min-width:0;flex:1}.hop .hb .l1{font-size:13.5px}.hop .hb .l2{font-size:11.5px;color:var(--fg-faint);margin-top:2px;display:flex;gap:8px;align-items:center}.hop.weak .hb .l2{color:var(--gold)}.break{border:1px dashed #55402a;background:#1b1710;border-radius:var(--radius);padding:14px;margin-top:12px}.break .h{font-size:14px}.break .p{margin-top:6px;font-size:12.5px;color:var(--fg-dim)}.break .acts{display:flex;flex-direction:column;gap:8px;margin-top:13px}.seq{border:1px solid var(--line-soft);background:var(--bg-elev);border-radius:var(--radius);margin-bottom:10px;overflow:hidden}.seq>.sh{width:100%;display:flex;align-items:center;gap:9px;padding:13px 12px;text-align:left}.seq>.sh .nm{font-size:15px;font-weight:550}.seq>.sh .st{margin-left:auto;font-size:11.5px;color:var(--fg-faint)}.seq .sbody{padding:0 12px 12px;border-top:1px solid var(--line-soft)}.ins{display:flex;align-items:center;gap:8px;padding:3px 0}.ins .ln{flex:1;height:1px;background:var(--line-soft)}.ins button{color:var(--fg-faint);border:1px solid var(--line-soft);border-radius:999px;width:20px;height:20px;font-size:13px;line-height:1}.ins button:hover{color:var(--gold);border-color:var(--gold-dim)}.kv{display:flex;align-items:baseline;gap:10px;padding:10px 0;border-bottom:1px solid var(--line-soft);font-size:13.5px}.kv .k{color:var(--fg-dim)}.kv .v{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:600}.kv .v.ok{color:var(--green)}.kv .v.no{color:var(--red)}.billing-offers{display:grid;gap:8px}.billing-offer{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:12px 13px;border-radius:11px;border:1px solid var(--line);background:var(--bg-elev);color:var(--fg)}.billing-offer:hover{border-color:var(--gold-dim)}.billing-offer>span:first-child{display:grid;gap:2px}.billing-offer small{color:var(--fg-faint);font-size:11.5px}.billing-price{margin-left:auto;display:flex;align-items:baseline;gap:7px}.billing-price s{color:var(--fg-faint);font-size:11px}.billing-price b{color:var(--gold);font-size:16px}.notice-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;background:#000000c7;animation:fade .18s}.notice-modal{position:fixed;z-index:111;left:50%;top:50%;transform:translate(-50%,-50%);width:min(calc(100% - 28px),390px);max-height:calc(100vh - 36px);overflow-y:auto;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--bg-elev);box-shadow:0 24px 70px #000000b8;text-align:center;animation:notice-pop .2s cubic-bezier(.2,.9,.3,1)}@keyframes notice-pop{0%{transform:translate(-50%,-48%) scale(.97);opacity:0}}.notice-close{position:absolute;right:10px;top:8px;width:34px;height:34px;color:var(--fg-dim);font-size:24px;line-height:1}.notice-icon{font-size:30px;margin-bottom:8px}.notice-modal h2{margin:0 24px 10px;font-size:20px}.notice-modal>p{line-height:1.65}.notice-check{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px;color:var(--fg-dim);font-size:13px}.notice-check input{width:17px;height:17px;accent-color:var(--gold)}.notice-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.purchase-scrim{z-index:110}.purchase-modal{border-color:#24513c;background:#101c17}.wechat-pay-title{color:var(--green);font-size:18px;font-weight:700}.purchase-plan{margin:7px 0 0;color:var(--fg);font-weight:600}.purchase-modal img{display:block;width:min(100%,280px);margin:14px auto;border-radius:10px;background:#fff}.purchase-ref{display:flex;align-items:center;justify-content:center;gap:10px}.purchase-ref span{color:var(--fg-dim);font-size:12px}.purchase-ref b{color:var(--gold);font-size:24px;letter-spacing:.12em}.purchase-help{color:var(--fg-dim);text-align:left}.activation-box{margin-top:14px;padding-top:14px;border-top:1px solid var(--line-soft)}.activation-box label{display:block;margin-bottom:8px;color:var(--fg-dim);font-size:12px}.activation-row{display:flex;gap:8px}.activation-row .input{min-width:0;flex:1;text-transform:uppercase;letter-spacing:.04em}.devbar{position:relative;z-index:90;flex:none;background:#15112a;border-bottom:1px solid #2c2352;font-size:11.5px;color:#b9a9e8;padding:7px 12px 8px;display:flex;flex-direction:column;gap:6px}.devbar.collapsed{flex-direction:row;align-items:center;padding:5px 12px}.devbar.faulting{background:#3a1016;border-bottom-color:#6b2029;color:#ffc9cb}.devbar.faulting b{color:#ff9ea1}.devbar.faulting button{border-color:#6b2029;color:#ffc9cb}.devbar.faulting button.on{background:#e2585b;color:#2a0d10;border-color:#e2585b}.devbar b{color:#cbb8ff;font-size:12px}.devbar .dl,.devbar .dr{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.devbar .faint{color:#6f6295}.devbar button{border:1px solid #2c2352;border-radius:6px;padding:3px 8px;color:#b9a9e8;white-space:nowrap}.devbar button:hover{border-color:#4b3c85}.devbar button.on{background:#8f74ea;color:#15112a;border-color:#8f74ea;font-weight:700}.devbar button:disabled{opacity:.45}.devbar .sp{flex:1}.notecard{background:var(--bg-elev);border:1px solid var(--line);border-radius:14px;overflow:hidden}.nsec{padding:14px 14px 16px;border-bottom:1px solid var(--line-soft)}.nsec.last{border-bottom:0}.nlabel{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.08em;color:var(--fg-faint);margin-bottom:9px}.nedit{margin-left:auto;color:var(--gold);font-size:12px;letter-spacing:0}.ntitle{margin:0;font-size:21px;font-weight:650;letter-spacing:.01em}.nmeta{display:flex;gap:10px;flex-wrap:wrap;margin-top:7px;font-size:12px;color:var(--fg-faint)}.ndetail{white-space:pre-wrap;font-size:14.5px;line-height:1.75;color:var(--fg)}.nempty{font-size:13px;color:var(--fg-faint)}.nsec textarea.input{line-height:1.7;resize:vertical}.nmedia{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.mthumb{position:relative;aspect-ratio:1;border-radius:9px;overflow:hidden;border:1px solid var(--line)}.mthumb img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000000e6;display:flex;align-items:center;justify-content:center;padding:24px;animation:fade .15s}.lightbox img{max-width:100%;max-height:100%;object-fit:contain;cursor:zoom-out;border-radius:4px}.lightbox-close{position:absolute;top:14px;right:16px;width:36px;height:36px;border-radius:50%;background:#ffffff1f;color:#fff;border:none;font-size:22px;line-height:1;cursor:pointer}.mdel{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:#000000a6;color:#fff;font-size:15px;line-height:1}.nblocked{margin-top:10px;font-size:11.5px;line-height:1.75;color:var(--fg-faint);border-left:2px solid var(--line);padding-left:10px}.nblocked b{color:var(--fg-dim)}.egroup{margin-bottom:14px}.ehead{display:flex;align-items:baseline;gap:8px;margin-bottom:8px;font-size:12.5px}.ehead b{font-size:14px;font-weight:600}.ehead .cnt{margin-left:auto;color:var(--fg-faint);font-size:12px}.ehead.offense b{color:var(--gold)}.ehead.defense b{color:var(--blue)}.ehead.neutral b{color:var(--fg-dim)}.ehead .faint{font-size:11.5px}.more-toggle{display:flex;align-items:baseline;gap:9px;width:100%;margin-top:12px;padding:9px 2px;font-size:13.5px;color:var(--gold);text-align:left}.more-toggle .faint{font-size:12px;color:var(--fg-faint)}.sentence.more{border-left:1px solid var(--line-soft);padding-left:10px;margin-top:2px}.sentence.more .sline,.sentence.more .blank-input{font-size:15.5px}.levelbar{display:flex;align-items:center;gap:9px;margin-top:11px;font-size:12px;flex-wrap:wrap}.levelbar .pips{display:flex;gap:3px}.levelbar .pips i{width:16px;height:4px;border-radius:2px;background:var(--line);display:block}.levelbar b{font-weight:600;font-size:12.5px;color:var(--fg-dim)}.levelbar .faint{font-size:11.5px}.levelbar.lv1 .pips i.on{background:#6a5a3a}.levelbar.lv1 b{color:#9a8a68}.levelbar.lv2 .pips i.on{background:#a8873c}.levelbar.lv2 b{color:#c6a45c}.levelbar.lv3 .pips i.on{background:var(--gold)}.levelbar.lv3 b{color:var(--gold)}.levelbar.lv4 .pips i.on{background:var(--green)}.levelbar.lv4 b{color:var(--green)}.edge-slot{width:100%;display:flex;align-items:center;gap:9px;padding:13px 12px;border:1px dashed var(--line);border-radius:var(--radius);color:var(--fg-faint);font-size:13px;text-align:left;background:#12151b}.edge-slot:hover{border-color:var(--gold-dim);color:var(--fg-dim)}.edge-slot .plus{font-size:15px}.notecard.flip-in{animation:flipin .42s cubic-bezier(.22,.85,.3,1) both;transform-origin:center;perspective:900px}@keyframes flipin{0%{transform:perspective(900px) rotateY(-92deg);opacity:0}60%{opacity:1}to{transform:perspective(900px) rotateY(0);opacity:1}}@media (prefers-reduced-motion: reduce){.notecard.flip-in{animation:none}}.neuron{padding:6px 4px 10px;border-bottom:1px solid var(--line-soft)}.neuron svg{display:block;overflow:visible}.neuron .nn.out{cursor:pointer}.neuron .nn.out:hover text{fill:var(--gold)}.neuron .nlab{font-size:9.5px;fill:var(--fg-faint)}.neuron .nlab.lit{fill:var(--fg-dim)}.neuron .nfoot{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px;padding:0 10px;font-size:11px;color:var(--fg-faint)}.neuron .nfoot span{display:flex;align-items:center;gap:5px}.neuron .nfoot i{width:8px;height:8px;border-radius:3px;display:block}.dirpick{display:flex;align-items:center;gap:8px;margin-top:14px}.dirbtn{padding:6px 14px;border-radius:999px;font-size:13px;background:var(--bg-elev-2);border:1px solid var(--line);color:var(--fg-dim)}.dirbtn.offense.on{background:var(--gold);border-color:var(--gold);color:#1a1204;font-weight:650}.dirbtn.defense.on{background:var(--blue);border-color:var(--blue);color:#08131f;font-weight:650}.dirtag{font-size:11px;padding:2px 8px;border-radius:5px;border:1px solid var(--line);font-weight:600}.dirtag.none{color:var(--fg-faint)}.dirtag.offense{color:var(--gold);border-color:var(--gold-dim);background:#211b0c}.dirtag.defense{color:var(--blue);border-color:var(--blue-dim);background:#0e1a28}.chain{margin-top:16px}.node{display:flex;align-items:stretch;gap:11px}.node .dot{width:11px;height:11px;border-radius:50%;flex:none;margin-top:15px;background:var(--fg-faint);box-shadow:0 0 0 3px var(--bg-elev)}.node .dot.start{background:var(--gold)}.node .dot.end{background:var(--green)}.node .dot.hollow{background:none;border:2px dashed var(--fg-faint);width:13px;height:13px}.node .nbody{flex:1;min-width:0;text-align:left;padding:9px 0;display:flex;flex-direction:column;gap:2px}.node .nlabel{font-size:11px;color:var(--fg-faint);letter-spacing:.04em}.node .nval{font-size:17px;color:var(--fg-faint)}.node .nval.has{color:var(--fg);font-weight:600}.node .nval.hanging{color:#8a7cc4;font-style:italic;font-size:15px}.link{display:flex;align-items:center;gap:11px}.link .rail{width:11px;flex:none;align-self:stretch;position:relative}.link .rail:before{content:"";position:absolute;left:5px;top:-6px;bottom:-6px;width:1px;background:var(--line)}.link .act{flex:1;min-width:0;text-align:left;margin:4px 0;padding:9px 12px;border-radius:10px;background:var(--bg-elev-2);border:1px dashed var(--line);display:flex;flex-direction:column;gap:2px}.link .act.has{border-style:solid;border-color:var(--gold-dim);background:#1b1710}.link .alabel{font-size:10.5px;color:var(--fg-faint);letter-spacing:.04em}.link .aval{font-size:15px;color:var(--fg-faint)}.link .act.has .aval{color:var(--fg);font-weight:600}.xdel{color:var(--fg-faint);font-size:15px;padding:0 6px;flex:none}.xdel:hover{color:var(--red)}.nfill{margin:2px 0 10px 22px;padding-left:12px;border-left:1px solid var(--line-soft)}.addstage{margin:10px 0 0 22px;color:var(--gold);font-size:13px;padding:8px 0}.routename{margin-top:12px}.routename .input{font-size:14px}.movenote{border:1px solid var(--line-soft);border-radius:10px;background:#12151b;margin-bottom:8px}.movenote.editing{padding:11px;border-color:var(--gold-dim)}.movenote .mhead{width:100%;display:flex;align-items:center;gap:9px;padding:11px 12px;text-align:left}.movenote .mname{font-size:14.5px;font-weight:550}.movenote .mchev{margin-left:auto;color:var(--fg-faint)}.movenote .mbody{padding:0 12px 12px}.selfmade{font-size:10px;padding:1px 5px;border-radius:4px;color:#b9a9e8;background:#1e1836;border:1px solid #34215e}.tagpill{font-size:10px;padding:1px 5px;border-radius:4px;color:#9fd8c4;background:#10241d;border:1px solid #1f4536;display:inline-flex;align-items:center;gap:4px}.tagpill .x{cursor:pointer;opacity:.65}.tagpill .x:hover{opacity:1}.tagadd{font-size:10px;padding:1px 6px;border-radius:4px;border:1px dashed var(--line);background:transparent;color:var(--fg-faint);cursor:pointer}.tagadd:hover{color:var(--fg);border-color:var(--fg-faint)}.newskill{margin-top:20px;padding:14px;border:1px solid var(--gold-dim);border-radius:12px;background:#17140d}.warnbox{margin-top:10px;font-size:11.5px;line-height:1.7;color:#f0d9a6;border-left:2px solid var(--gold-dim);padding-left:10px}.nsec-lite{margin-top:18px}.nsec-lite:first-child{margin-top:8px}.glosshead{font-size:12px;line-height:1.75;color:var(--fg-dim);border-left:2px solid var(--line);padding-left:11px;margin:2px 0 14px}.gentry{border-bottom:1px solid var(--line-soft)}.gentry .ghead{width:100%;display:flex;align-items:center;gap:8px;padding:11px 2px;text-align:left}.gentry .gname{font-size:14.5px}.gentry.open .gname{color:var(--gold)}.gentry .gcnt{margin-left:auto;font-size:11.5px;color:var(--fg-faint)}.gentry .gchev{color:var(--fg-faint);font-size:12px}.gentry .gbody{padding:2px 2px 14px}.linkish{color:var(--gold);border-bottom:1px dotted var(--gold-dim);margin-left:4px;font-size:inherit}.card-row .edge .ends.big .pos{font-size:15px;font-weight:550;padding:6px 11px;color:var(--fg)}.card-row .edge .ends.big .ar{font-size:12px}.plog{margin-top:10px;padding:11px;border-radius:10px;background:var(--bg-elev-2);border:1px solid var(--line)}.plog-row{display:flex;align-items:center;gap:10px;margin-bottom:9px}.plog-row label{font-size:12px;color:var(--fg-faint);width:30px;flex:none}.plog-row .input{padding:7px 10px;font-size:13px}.ploghist{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px;font-size:11px;color:var(--fg-faint)}.known{margin-top:14px;padding:12px;border-radius:11px;font-size:13px;background:#12211a;border:1px solid #24513c;color:#b7e0cc}.known.broken{background:#1b1710;border-color:#55402a;color:#f0d9a6}.known b{color:inherit}.addmid{color:var(--fg-faint);font-size:12px;padding:7px 0;text-align:left}.addmid:hover,.node .nlabel .req{color:var(--gold)}.ev-new,.ev-draft{padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--bg-elev);margin-bottom:6px}.ev-draft{border-color:var(--gold-dim)}.timeline{margin-top:4px}.tl-item{display:flex;gap:11px}.tl-dot{width:26px;height:26px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg-elev-2);border:1px solid var(--line);font-size:13px;margin-top:6px}.tl-body{flex:1;min-width:0;border-left:1px solid var(--line-soft);margin-left:-24px;padding-left:35px;padding-bottom:6px}.tl-head{width:100%;text-align:left;padding:9px 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.tl-date{font-size:11.5px;color:var(--fg-faint);font-variant-numeric:tabular-nums}.tl-kind{font-size:10.5px;padding:1px 6px;border-radius:4px;border:1px solid var(--line);color:var(--fg-dim)}.tl-title{font-size:14.5px;width:100%}.tl-item.injury .tl-kind{color:var(--red);border-color:#3a2429}.tl-item.belt .tl-kind{color:var(--gold);border-color:var(--gold-dim)}.tl-item.match .tl-kind{color:var(--blue);border-color:var(--blue-dim)}.tl-note{padding:2px 0 12px}.review-page{max-width:1120px;padding-bottom:20px}.review-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:8px 0 16px}.review-eyebrow{display:block;color:var(--gold);font-size:10.5px;font-weight:700;letter-spacing:.14em}.review-intro h2{margin:5px 0 0;font-size:18px;line-height:1.35;letter-spacing:-.01em}.review-save-state{display:flex;align-items:center;gap:6px;color:var(--fg-faint);font-size:11px;white-space:nowrap;margin-top:4px}.review-save-state i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px #4fb7831a}.review-layout{display:grid;gap:12px}.review-player-card,.review-side,.review-focus-card{border:1px solid var(--line);border-radius:15px;background:var(--bg-elev);overflow:hidden}.review-video-wrap{position:relative;aspect-ratio:16/9;background:#050608}.review-video-wrap video{width:100%;height:100%;display:block;object-fit:contain;background:#050608}.review-round{position:absolute;left:10px;top:10px;padding:4px 8px;border-radius:7px;background:#050608b8;color:#d9dde5;font-size:10.5px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:none}.review-transport{display:flex;align-items:center;gap:12px;padding:12px 13px 10px}.review-time{min-width:86px;font-variant-numeric:tabular-nums}.review-time b{font-size:16px}.review-time span{color:var(--fg-faint);font-size:11px}.review-mark-btn{margin-left:auto;padding:9px 13px;border-radius:9px;color:#1a1204;background:var(--gold);font-size:12.5px;font-weight:700}.review-mark-btn span{font-size:16px;line-height:0;vertical-align:-1px}.review-rail{position:relative;height:4px;margin:0 13px 14px;border-radius:999px;background:var(--line)}.review-rail-progress{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:#687182;pointer-events:none}.review-rail-dot{position:absolute;top:50%;width:11px;height:11px;border:2px solid var(--bg-elev);border-radius:50%;transform:translate(-50%,-50%);background:var(--gold)}.review-rail-dot.worked{background:var(--green)}.review-rail-dot.mistake{background:var(--red)}.review-rail-dot.question{background:var(--blue)}.review-compose{margin:0 12px 12px;padding:13px;border:1px solid var(--gold-dim);border-radius:12px;background:#17140d}.review-compose-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.review-compose-head>div{display:flex;align-items:baseline;gap:8px}.review-compose-head span{color:var(--fg-faint);font-size:11px}.review-compose-head b{color:var(--gold);font-size:15px;font-variant-numeric:tabular-nums}.review-compose-head>button{color:var(--fg-faint);font-size:20px;line-height:1}.review-kind-row{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.review-kind-row button{padding:7px 3px;border:1px solid var(--line);border-radius:7px;color:var(--fg-faint);background:var(--bg);font-size:11px;white-space:nowrap}.review-kind-row button.on{color:var(--gold);border-color:var(--gold-dim);background:#241d0d}.review-kind-row button.on.worked{color:var(--green);border-color:#28573f;background:#102119}.review-kind-row button.on.mistake{color:#ff999b;border-color:#603034;background:#281518}.review-kind-row button.on.question{color:#a8ceff;border-color:var(--blue-dim);background:#111d2a}.review-note{width:100%;margin:9px 0;padding:10px 11px;resize:vertical;outline:none;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--fg);font-size:13px;line-height:1.6}.review-note:focus{border-color:var(--gold-dim)}.review-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-bottom:11px}.review-link-row>label:first-child{display:grid;gap:5px;color:var(--fg-faint);font-size:10.5px}.review-link-row select{min-width:0;width:100%;padding:8px 9px;border:1px solid var(--line);border-radius:8px;outline:none;background:var(--bg);font-size:12px}.review-drill-check{display:flex;align-items:center;gap:6px;min-height:35px;color:var(--fg-dim);font-size:11.5px;white-space:nowrap}.review-drill-check.disabled{opacity:.4}.review-drill-check input{accent-color:var(--gold)}.review-side{min-height:170px}.review-side-head{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border-bottom:1px solid var(--line-soft)}.review-side-head>div{display:flex;align-items:center;gap:7px;font-size:12px}.review-side-head b{min-width:21px;padding:1px 6px;border-radius:999px;background:var(--bg-elev-2);color:var(--gold);text-align:center;font-size:10px}.review-side-head>span{color:var(--fg-faint);font-size:10px}.review-empty-moments{display:flex;align-items:center;gap:12px;margin:18px 14px;padding:14px;border:1px dashed var(--line);border-radius:10px}.review-empty-moments>span{color:var(--gold-dim);font-size:12px;font-variant-numeric:tabular-nums}.review-empty-moments p{margin:0;color:var(--fg-faint);font-size:11.5px;line-height:1.6}.review-moments{padding:4px 13px 10px}.review-moment{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) 18px;gap:9px;padding:11px 0;border-bottom:1px solid var(--line-soft)}.review-moment:last-child{border-bottom:0}.review-moment-time{align-self:start;color:var(--gold);font-size:11.5px;font-variant-numeric:tabular-nums;text-align:left}.review-moment-meta{display:flex;gap:5px;flex-wrap:wrap}.review-moment-meta span{padding:1px 5px;border:1px solid var(--line);border-radius:4px;color:var(--fg-dim);font-size:9.5px}.review-moment-meta .worked{color:var(--green);border-color:#28573f}.review-moment-meta .mistake{color:#ff999b;border-color:#603034}.review-moment-meta .question{color:#a8ceff;border-color:var(--blue-dim)}.review-moment-meta .linked{color:var(--blue);border-color:var(--blue-dim)}.review-moment-meta .drill{color:var(--gold);border-color:var(--gold-dim)}.review-moment-body p{margin:5px 0 0;color:var(--fg);font-size:12px;line-height:1.55}.review-moment-delete{align-self:start;color:var(--fg-faint);font-size:16px;line-height:1}.review-focus-card{margin-top:12px;padding:15px}.review-focus-title{display:flex;align-items:baseline;gap:9px}.review-focus-title span{color:var(--gold);font-size:11px;font-weight:700}.review-focus-title strong{font-size:14px}.review-focus-fields{display:grid;gap:10px;margin-top:13px}.review-focus-fields label{display:grid;gap:5px}.review-focus-fields label>span{color:var(--fg-faint);font-size:10.5px}.review-focus-fields input{width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:9px;outline:none;background:var(--bg);font-size:12.5px}.review-focus-fields input:focus{border-color:var(--gold-dim)}.review-focus-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px;padding-top:12px;border-top:1px solid var(--line-soft)}.review-focus-foot span{color:var(--fg-faint);font-size:10.5px}.review-focus-foot button{padding:8px 11px;border-radius:8px;background:var(--gold);color:#1a1204;font-size:11.5px;font-weight:700;white-space:nowrap}.review-focus-foot button:disabled{opacity:.35}body.review-no-scroll{overflow:hidden}.review-stage{background:#090b0f}.review-video-pane{min-width:0}.review-video-wrap{cursor:pointer}.review-big-play{position:absolute;left:50%;top:50%;width:48px;height:48px;display:grid;place-items:center;transform:translate(-50%,-50%);padding-left:3px;border:1px solid rgba(255,255,255,.28);border-radius:50%;color:#fff;background:#05060894;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none}.review-flash{position:absolute;left:50%;bottom:16px;transform:translate(-50%);padding:7px 11px;border:1px solid rgba(226,176,74,.45);border-radius:999px;color:#ffe3a3;background:#100d08e0;font-size:11.5px;font-weight:650;white-space:nowrap;pointer-events:none;animation:review-pop .16s ease-out}@keyframes review-pop{0%{transform:translate(-50%) scale(.92);opacity:0}}.review-controls{display:flex;align-items:center;gap:8px;padding:10px 12px 8px}.review-controls button{color:var(--fg-dim);font-size:10.5px;white-space:nowrap}.review-controls button:hover{color:var(--fg)}.review-controls .review-play{width:28px;height:28px;border-radius:8px;color:#1a1204;background:var(--gold);font-size:12px;font-weight:800}.review-controls .review-fullscreen{padding:6px 9px;border:1px solid var(--gold-dim);border-radius:7px;color:var(--gold)}.review-controls input[type=range]{flex:1;min-width:40px;height:4px;accent-color:var(--gold);cursor:pointer}.review-control-time{color:var(--fg);font-size:11px;font-variant-numeric:tabular-nums}.review-stage .review-rail{margin-top:0}.review-quickbar{padding:12px;border-top:1px solid var(--line-soft);background:#111419}.review-quick-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.review-quick-head>div{display:flex;align-items:baseline;gap:7px}.review-quick-head span{color:var(--fg);font-size:12px;font-weight:650}.review-quick-head b{color:var(--green);font-size:9.5px;font-weight:600}.review-quick-head small{color:var(--fg-faint);font-size:9.5px}.review-quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.review-quick-actions button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:39px;padding:7px 5px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--fg-dim);font-size:11px}.review-quick-actions button:hover,.review-quick-actions button:active{border-color:var(--gold-dim);color:var(--fg);transform:translateY(-1px)}.review-quick-actions button.worked:hover{border-color:#28573f;color:var(--green)}.review-quick-actions button.mistake:hover{border-color:#603034;color:#ff999b}.review-quick-actions button.question:hover{border-color:var(--blue-dim);color:#a8ceff}.review-quick-actions kbd{display:grid;place-items:center;width:18px;height:18px;border:1px solid var(--line);border-radius:5px;color:var(--fg-faint);font:9px/1 inherit}.review-detail-mark{width:100%;margin-top:7px;padding:7px;color:var(--fg-faint);font-size:10.5px}.review-detail-mark:hover{color:var(--gold)}.review-time-adjust{display:flex;align-items:center;gap:6px;margin:-4px 0 9px}.review-time-adjust span{color:var(--fg-faint);font-size:10px}.review-time-adjust button{padding:3px 7px;border:1px solid var(--line);border-radius:6px;color:var(--fg-dim);font-size:10px}.review-compose-foot{display:flex;align-items:center;justify-content:space-between;gap:9px}.review-new-skill{color:var(--gold);font-size:11px;text-align:left}.review-moment.unfinished{border-left:2px solid var(--gold-dim);padding-left:8px}.review-moment-meta .pending{color:#e7c16d;border-color:var(--gold-dim);background:#211b0c}.review-moment.unfinished .review-moment-body p{color:var(--fg-faint)}.review-edit{margin-top:6px;color:var(--gold);font-size:10.5px}.review-unfinished-callout{margin-top:11px;padding:8px 10px;border-radius:8px;color:#e7c16d;background:#211b0c;border:1px solid var(--gold-dim);font-size:10.5px}.review-immersive-status{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:11px;color:var(--fg-faint);font-size:10.5px}.review-immersive-status button{padding:8px 10px;border-radius:8px;color:#1a1204;background:var(--gold);font-size:11px;font-weight:700}.review-stage.is-immersive{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;width:100vw;height:100dvh;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;background:#050608}.review-stage.is-immersive .review-video-pane{display:flex;flex-direction:column;min-height:0}.review-stage.is-immersive .review-video-wrap{flex:1;min-height:0;aspect-ratio:auto}.review-stage.is-immersive .review-controls{padding:9px 12px;background:#0b0d11}.review-stage.is-immersive .review-rail{margin-bottom:10px}.review-stage.is-immersive .review-quickbar{padding:11px 12px 13px}.review-stage.is-immersive .review-detail-mark{display:none}.review-stage.is-immersive .review-big-play{width:58px;height:58px}.phone-frame.tab-p6 .topbar{padding-bottom:7px}@media (max-width: 480px){.phone-frame.tab-p6 .topbar .sub{max-width:122px}.review-intro{margin-top:3px}.review-intro h2{font-size:17px}.review-save-state{font-size:9.5px}.review-controls{gap:6px;padding-inline:10px}.review-controls button{font-size:9.5px}.review-controls .review-fullscreen{padding-inline:7px}.review-control-time{font-size:10px}.review-quick-actions button{flex-direction:column;gap:3px;min-height:46px}.review-quick-actions kbd{display:none}.review-compose-foot{align-items:stretch}.review-compose-foot .btn{flex:none}}@media (orientation: landscape) and (min-width: 620px){.review-stage.is-immersive{grid-template-columns:minmax(0,1fr) 230px;grid-template-rows:1fr}.review-stage.is-immersive .review-quickbar{display:flex;flex-direction:column;border-top:0;border-left:1px solid var(--line);padding:14px}.review-stage.is-immersive .review-quick-actions{grid-template-columns:1fr 1fr;gap:8px}.review-stage.is-immersive .review-quick-actions button{min-height:72px;flex-direction:column}.review-stage.is-immersive .review-quick-actions kbd{display:grid}}.gdesc{margin-top:9px;font-size:13.5px;line-height:1.8;color:var(--fg)}.card-row .fav{margin-left:auto;flex:none;color:var(--gold);font-size:12px;border:1px solid var(--gold-dim);border-radius:8px;padding:4px 9px;white-space:nowrap}.card-row .fav:hover{background:#241d0d}.prname{font-size:16px;font-weight:600;text-align:left}.pos.gapstop{border-style:dashed;color:var(--fg-faint)}.mthumb video{width:100%;height:100%;object-fit:cover;display:block;background:#000}.vbadge{position:absolute;left:5px;bottom:5px;background:#000000b3;color:#fff;font-size:10px;padding:1px 6px;border-radius:4px}.paidtag{font-size:9.5px;padding:0 4px;border-radius:3px;margin-left:4px;background:var(--gold);color:#1a1204;font-weight:700;vertical-align:1px}@media (min-width: 900px){:root{--nav-w: 236px}.phone-frame{max-width:1240px;display:grid;grid-template-columns:var(--nav-w) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"nav top" "nav body";border-left:0;border-right:0}.topbar{grid-area:top;padding:26px 36px 12px;background:none}.topbar h1{font-size:26px}.topbar .sub{font-size:13px}.app-body{grid-area:body;padding:0 36px 56px}.nav{grid-area:nav;position:sticky;top:0;align-self:start;height:100vh;max-height:100vh;display:flex;flex-direction:column;align-items:stretch;gap:3px;padding:26px 14px;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-top:0;border-right:1px solid var(--line-soft)}.nav:before{content:"BJJ Sequence";display:block;padding:0 12px 20px;font-size:15px;font-weight:650;color:var(--fg);letter-spacing:.02em}.nav button{flex-direction:row;justify-content:flex-start;gap:12px;padding:11px 13px;border-radius:10px;font-size:14.5px}.nav button .ico{font-size:16px;width:20px;text-align:center}.nav button:hover{background:var(--bg-elev);color:var(--fg-dim)}.nav button.on{background:var(--bg-elev);color:var(--gold)}.fab{display:none}.nav .navaction{display:flex;align-items:center;justify-content:center;gap:6px;background:var(--gold);color:#1a1204;font-weight:650;font-size:14px;padding:11px 14px;border-radius:10px;margin-bottom:14px;width:100%}.nav .navaction:hover{filter:brightness(1.06)}.drawer{top:50%;bottom:auto;max-width:640px;max-height:84vh;transform:translate(-50%,-50%);border-radius:16px;border-bottom:1px solid var(--line);animation:popin .2s cubic-bezier(.2,.9,.3,1);box-shadow:0 24px 70px #0009}@keyframes popin{0%{transform:translate(-50%,-50%) scale(.97);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.drawer .grab{display:none}.drawer .dhead{padding:18px 22px 12px}.drawer .dbody{padding:0 22px 20px}.drawer .dfoot{padding:14px 22px}.picker{max-height:40vh}.toasts{left:auto;right:28px;transform:none;bottom:28px;max-width:400px;padding:0}.split{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:28px;align-items:start}.split-list{position:sticky;top:8px;max-height:calc(100vh - 120px);overflow-y:auto;padding-right:4px}.split-list .growth{display:none}.split-list .faces{flex-direction:column}.split-list .face{width:100%}.split-detail .notecard{max-width:760px}.app-body>div>.section-label:first-child{margin-top:8px}.empty{padding:72px 8px}.notecard,.card-row,.seq,.path,.known,.ev-new,.ev-draft,.newskill,.timeline,.progress{max-width:820px}.nmedia{grid-template-columns:repeat(4,minmax(0,1fr));max-width:560px}.fam-grid{grid-template-columns:repeat(3,1fr)}.gentry,.glosshead,.input,.segmented{max-width:820px}.review-page{max-width:1120px}.review-intro{margin-top:10px}.review-intro h2{font-size:22px}.review-layout{grid-template-columns:minmax(0,1.7fr) minmax(280px,.9fr);align-items:start}.review-side{max-height:610px;overflow-y:auto}.review-focus-fields{grid-template-columns:1fr 1fr}}@media (min-width: 1400px){.phone-frame{max-width:1400px}.notecard,.card-row,.seq,.known,.ev-new,.ev-draft,.newskill,.timeline,.progress,.gentry,.glosshead,.input{max-width:900px}}.review-v3{width:100%}.review-v3 .review-intro h2{max-width:680px}.review-view-tabs{display:inline-flex;gap:3px;margin:0 0 14px;padding:3px;border:1px solid var(--line);border-radius:10px;background:#0c0f13}.review-view-tabs button{display:flex;align-items:center;gap:6px;min-height:32px;padding:0 13px;border-radius:7px;color:var(--fg-faint);font-size:11.5px}.review-view-tabs button.on{color:#171106;background:var(--gold);font-weight:700}.review-view-tabs b{display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:999px;color:var(--gold);background:#19130a;font-size:9px}.review-overview{display:grid;grid-template-columns:1.08fr .92fr;gap:12px}.review-today-card,.review-problems-card,.review-recent-card,.review-foundation-teaser,.foundation-hero,.foundation-board{border:1px solid var(--line);border-radius:16px;background:var(--bg-elev);overflow:hidden}.review-today-card{position:relative;min-height:275px;padding:23px;background:radial-gradient(circle at 93% 7%,rgba(232,179,69,.18),transparent 36%),linear-gradient(145deg,#1b1810,#12151a 58%,#101217)}.review-today-card:after{content:"";position:absolute;right:-26px;top:-32px;width:150px;height:150px;border:1px solid rgba(232,179,69,.16);border-radius:50%;pointer-events:none}.review-today-copy{position:relative;z-index:1;max-width:560px}.review-today-label{display:flex;align-items:center;gap:10px}.review-today-label>button{padding:4px 8px;border:1px solid var(--gold-dim);border-radius:7px;color:var(--gold);background:#0d0e0f80;font-size:9.5px}.review-today-label>button:hover{color:#171106;background:var(--gold)}.review-today-copy h3{margin:8px 0 6px;max-width:620px;font-size:clamp(20px,2.4vw,30px);line-height:1.3;letter-spacing:-.025em}.review-today-copy p{margin:0;color:var(--fg-faint);font-size:11.5px}.review-today-source{display:flex;align-items:center;gap:7px}.review-today-source>span{padding:2px 5px;border:1px solid var(--line);border-radius:4px;color:var(--fg-dim);font-size:8px;font-weight:750;letter-spacing:.08em}.review-focus-checks{display:flex;gap:7px;margin-top:25px}.review-focus-checks button{display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid var(--line);border-radius:9px;color:var(--fg-dim);background:#0a0c0f9e}.review-focus-checks button:hover{border-color:var(--gold-dim);color:var(--fg)}.review-focus-checks button.success{border-color:#28573f}.review-focus-checks b{color:var(--gold);font:700 15px/1 ui-monospace,monospace}.review-focus-checks .success b{color:var(--green)}.review-focus-checks span{font-size:10px}.review-primary-cta{position:absolute;z-index:1;right:20px;bottom:20px;display:flex;align-items:center;gap:22px;padding:11px 13px 11px 16px;border-radius:10px;color:#181205;background:var(--gold);font-size:11.5px;font-weight:750;box-shadow:0 7px 26px #e8b34524}.review-primary-cta b{font-size:16px}.review-problems-card{padding:17px 17px 10px}.review-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.review-section-head>div{display:grid;gap:3px}.review-section-head span{color:var(--gold);font-size:10px;font-weight:750;letter-spacing:.08em}.review-section-head strong{font-size:12.5px;line-height:1.4}.review-section-head em{padding:3px 6px;border:1px solid var(--blue-dim);border-radius:5px;color:var(--blue);font-size:8.5px;font-style:normal}.review-problem-list article{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px 0;border-top:1px solid var(--line-soft)}.review-problem-rank{color:#5e6673;font:650 10px/1 ui-monospace,monospace}.review-problem-main{min-width:0}.review-problem-main>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.review-problem-main strong{font-size:12px}.review-problem-main span{color:var(--fg-faint);font-size:9px;white-space:nowrap}.review-problem-main>i{display:block;height:3px;margin-top:7px;border-radius:9px;background:#20242a;overflow:hidden}.review-problem-main>i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold-dim),var(--gold))}.review-problem-list article>button{padding:5px 7px;border:1px solid var(--gold-dim);border-radius:6px;color:var(--gold);font-size:9.5px;white-space:nowrap}.review-problem-list article>button:hover{color:#171106;background:var(--gold)}.review-focus-picker{grid-column:1 / -1;padding:18px;border:1px solid var(--gold-dim);border-radius:16px;background:linear-gradient(145deg,#19170f,#111419 54%);box-shadow:0 18px 55px #00000038;animation:review-focus-reveal .22s ease-out}.review-focus-picker:focus{outline:none;box-shadow:0 18px 55px #00000038,0 0 0 2px #e8b3451f}@keyframes review-focus-reveal{0%{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}.review-focus-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.review-focus-picker-head>div{display:grid;gap:5px}.review-focus-picker-head strong{font-size:15px}.review-focus-picker-head>button{width:29px;height:29px;border:1px solid var(--line);border-radius:8px;color:var(--fg-faint);font-size:19px}.review-focus-picker-head>button:hover{color:var(--fg);border-color:var(--fg-faint)}.review-focus-picker-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.review-focus-option-group{min-width:0;padding:12px;border:1px solid var(--line-soft);border-radius:11px;background:#0a0c0f85}.review-focus-option-group>span{display:block;margin-bottom:8px;color:var(--fg-faint);font-size:9px;font-weight:750;letter-spacing:.08em}.review-focus-option-list{display:grid;gap:6px}.review-focus-option-list>button{display:grid;gap:3px;padding:9px;border:1px solid var(--line);border-radius:8px;text-align:left;background:#111419}.review-focus-option-list>button:hover{border-color:var(--gold-dim);background:#19170f}.review-focus-option-list strong{color:var(--fg);font-size:10.5px}.review-focus-option-list small{overflow:hidden;color:var(--fg-faint);font-size:9px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.review-focus-option-list p{margin:0;padding:9px;color:var(--fg-faint);font-size:10px;line-height:1.5}.review-focus-custom{display:flex;flex-direction:column}.review-focus-custom textarea{flex:1;min-height:76px;padding:10px;border:1px solid var(--line);border-radius:8px;resize:vertical;color:var(--fg);background:#0d1014;font-family:inherit;font-size:11px;line-height:1.55}.review-focus-custom textarea:focus{border-color:var(--gold-dim);outline:none}.review-focus-custom>button{margin-top:7px;padding:9px;border-radius:8px;color:#181205;background:var(--gold);font-size:10.5px;font-weight:750}.review-focus-custom>button:disabled{opacity:.35}.review-overview-bottom{grid-column:1 / -1;display:grid;grid-template-columns:1.4fr .6fr;gap:12px}.review-recent-card{padding:16px 17px 11px}.review-recent-card article{display:grid;grid-template-columns:60px minmax(0,1fr);gap:9px;padding:9px 0;border-top:1px solid var(--line-soft)}.review-recent-card time{color:var(--fg-faint);font-size:9.5px}.review-recent-card article div{display:grid;gap:3px;min-width:0}.review-recent-card article strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.review-recent-card article span{overflow:hidden;color:var(--fg-faint);text-overflow:ellipsis;white-space:nowrap;font-size:9.5px}.review-foundation-teaser{display:flex;flex-direction:column;align-items:flex-start;padding:17px;text-align:left}.review-foundation-teaser>strong{margin-top:8px;font-size:14px;line-height:1.45}.review-foundation-teaser>div{display:flex;align-items:center;gap:9px;width:100%;margin-top:18px}.review-foundation-teaser i{flex:1;height:5px;border-radius:99px;background:#252930;overflow:hidden}.review-foundation-teaser i b{display:block;height:100%;border-radius:inherit;background:var(--green)}.review-foundation-teaser>div span{color:var(--fg-faint);font:10px/1 ui-monospace,monospace}.review-foundation-teaser em{margin-top:auto;padding-top:14px;color:var(--gold);font-size:10.5px;font-style:normal}.foundation-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;background:linear-gradient(125deg,#171a20,#111318)}.foundation-hero h3{margin:7px 0 0;max-width:620px;font-size:19px;line-height:1.4}.foundation-metrics{display:flex;gap:7px}.foundation-metrics>span{min-width:72px;padding:10px;border:1px solid var(--line);border-radius:9px;color:var(--fg-faint);text-align:center;font:10px/1 ui-monospace,monospace}.foundation-metrics b{color:var(--gold);font-size:18px}.foundation-metrics small{display:block;margin-top:6px;font:9px/1.2 system-ui,sans-serif}.foundation-board{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:0;margin-top:12px}.foundation-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;padding:13px}.foundation-grid>button{position:relative;display:grid;gap:4px;min-height:88px;padding:12px;border:1px solid var(--line-soft);border-radius:10px;background:#111419;text-align:left}.foundation-grid>button:hover,.foundation-grid>button.on{border-color:var(--gold-dim);background:#19170f}.foundation-grid>button.live{border-left:3px solid var(--green)}.foundation-grid>button.drilling{border-left:3px solid var(--gold)}.foundation-grid>button.learned{border-left:3px solid var(--blue)}.foundation-grid span{color:var(--fg-faint);font-size:8.5px;letter-spacing:.08em}.foundation-grid strong{align-self:center;font-size:13px}.foundation-grid em{color:#707887;font-size:9px;font-style:normal}.foundation-grid .live em{color:var(--green)}.foundation-grid .drilling em{color:var(--gold)}.foundation-grid .learned em{color:var(--blue)}.foundation-editor{padding:21px;border-left:1px solid var(--line);background:#101217}.foundation-editor h4{margin:7px 0 5px;font-size:18px}.foundation-editor p{min-height:34px;margin:0 0 18px;color:var(--fg-faint);font-size:10.5px;line-height:1.55}.foundation-editor input{width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:9px;outline:0;background:#0c0e12;font-size:11.5px}.foundation-editor input:focus{border-color:var(--gold-dim)}.foundation-state-row{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:10px}.foundation-state-row button{min-height:32px;padding:6px;border:1px solid var(--line);border-radius:7px;color:var(--fg-faint);font-size:9.5px}.foundation-state-row button.on{border-color:var(--gold-dim);color:var(--gold);background:#211c0f}.foundation-editor>small{display:block;margin-top:16px;color:#626a77;font-size:9px;line-height:1.5}.review-loop-badge{position:absolute;right:10px;top:10px;padding:4px 7px;border:1px solid #28573f;border-radius:6px;color:var(--green);background:#07120cd6;font:9px/1.2 ui-monospace,monospace}.review-controls .review-tool{padding:5px 6px;border:1px solid var(--line);border-radius:6px}.review-controls .review-tool.on{color:var(--green);border-color:#28573f}.review-controls .review-tool.clear{width:24px;padding-inline:0;color:#ff999b}.review-structure-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:9px}.review-structure-grid label{display:grid;gap:5px;color:var(--fg-faint);font-size:9.5px}.review-structure-grid select{width:100%;min-width:0;padding:8px 9px;border:1px solid var(--line);border-radius:8px;background:var(--bg);font-size:11px}.review-structured-row{margin-bottom:9px}.review-structured-row>span{display:block;margin-bottom:5px;color:var(--fg-faint);font-size:9.5px}.review-structured-row>div{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.review-structured-row button{padding:7px 4px;border:1px solid var(--line);border-radius:7px;color:var(--fg-faint);font-size:10px}.review-structured-row button.on{color:var(--gold);border-color:var(--gold-dim);background:#211c0f}.review-moment-meta .position{color:#c1c7d2;background:#1a1e24}.review-moment-actions{display:flex;gap:12px;margin-top:7px}.review-moment-actions button{color:var(--gold);font-size:9.5px}.review-moment-actions button+button{color:var(--green)}.review-suggested-focus{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:11px}.review-suggested-focus>span{color:var(--fg-faint);font-size:9.5px}.review-suggested-focus button{padding:4px 7px;border:1px solid var(--line);border-radius:6px;color:var(--fg-dim);font-size:9.5px}.review-suggested-focus button:hover{border-color:var(--gold-dim);color:var(--gold)}.review-compose-foot .btn:disabled{opacity:.35}@media (max-width: 899px){.review-overview{grid-template-columns:1fr}.review-overview-bottom{grid-column:auto;grid-template-columns:1fr}.review-today-card{min-height:305px;padding:18px}.review-focus-picker{grid-column:auto;padding:14px}.review-focus-picker-grid{grid-template-columns:1fr}.review-today-copy h3{font-size:21px}.review-focus-checks{display:grid;grid-template-columns:repeat(3,1fr);margin-top:20px}.review-focus-checks button{justify-content:center;flex-direction:column;gap:4px;padding:8px 4px}.review-primary-cta{left:18px;right:18px;justify-content:space-between}.review-view-tabs{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.review-view-tabs button{justify-content:center;padding-inline:5px}.review-foundation-teaser{min-height:160px}.foundation-hero{align-items:flex-start;flex-direction:column}.foundation-metrics{width:100%}.foundation-metrics>span{flex:1;min-width:0}.foundation-board{grid-template-columns:1fr}.foundation-grid{grid-template-columns:1fr 1fr}.foundation-editor{border-top:1px solid var(--line);border-left:0}.review-controls{flex-wrap:wrap}.review-controls input[type=range]{min-width:110px}.review-controls .review-fullscreen{margin-left:auto}}@media (max-width: 430px){.review-v3 .review-intro{align-items:flex-start}.review-v3 .review-intro h2{font-size:16px}.review-save-state{display:none}.review-problem-list article{grid-template-columns:19px minmax(0,1fr)}.review-problem-list article>button{grid-column:2;justify-self:start}.review-problem-main>div{align-items:flex-start;flex-direction:column;gap:3px}.review-structure-grid{grid-template-columns:1fr}.review-kind-row{grid-template-columns:repeat(2,1fr)}.review-structured-row>div{grid-template-columns:repeat(2,1fr)}.foundation-grid{gap:6px;padding:9px}.foundation-grid>button{min-height:82px;padding:10px}.foundation-editor{padding:17px}}@media (min-width: 900px){.review-v3{max-width:1180px}}
