:root{color-scheme:dark;font-family:Microsoft YaHei,PingFang SC,Noto Sans CJK SC,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#110d11;color:#fffaf1;font-synthesis:none;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{min-width:320px;background:#110d11}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;background:linear-gradient(145deg,#491d2aad,#0b0f12eb 42%,#0c171af0),#110d11}body,button{font:inherit}button{color:inherit}button:focus-visible,summary:focus-visible{outline:2px solid #7af5db;outline-offset:3px}.burn-canvas{position:fixed;inset:0;z-index:0;display:block;width:100%;height:100%;pointer-events:none}.app-shell{position:relative;z-index:1;display:grid;gap:12px;width:min(100%,980px);min-height:100vh;margin:0 auto;padding:max(12px,env(safe-area-inset-top)) 10px max(22px,env(safe-area-inset-bottom))}.top-hud,.notice-panel,.stage-panel,.verdict-panel{border:1px solid rgba(255,255,255,.13);border-radius:8px;background:linear-gradient(150deg,#1d181ce0,#14181bb8),#0e0d0fd1;box-shadow:0 18px 52px #0000005c,inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(16px) saturate(132%);backdrop-filter:blur(16px) saturate(132%)}.top-hud{position:sticky;top:0;z-index:6;display:grid;gap:12px;padding:12px}.brand-block,.verdict-heading,.exercise-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand-block{justify-content:flex-start}.brand-sigil{display:grid;flex:0 0 auto;width:44px;height:44px;place-items:center;border:1px solid rgba(255,207,101,.58);border-radius:8px;background:linear-gradient(145deg,#ff61346b,#45e0cb38),#ffffff0d;color:#ffe59b;font-size:1.28rem;font-weight:900;text-shadow:0 0 14px rgba(255,117,64,.9),0 0 30px rgba(104,239,218,.44)}.eyebrow,.section-kicker,.exercise-dose{margin:0;color:#7af5db;font-size:.72rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3,h4,p{margin-top:0}h1{margin-bottom:0;color:#fff8ed;font-size:1.58rem;line-height:1.05}.hud-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.hud-metrics span{min-width:0;min-height:54px;padding:8px;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:#ffffff0e}.hud-metrics strong,.hud-metrics small{display:block;overflow-wrap:anywhere}.hud-metrics strong{color:#ffd277;font-size:1rem}.hud-metrics small{margin-top:3px;color:#fffaf1ad;font-size:.72rem}.progress-track{height:12px;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#02070894}.progress-track span{display:block;width:var(--progress, 0%);height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff623d,#ffd36a 48%,#5ef1d1),#ffd36a;box-shadow:0 0 18px #ff954270;transition:width .26s ease}.notice-panel,.verdict-panel,.stage-panel{padding:12px}.notice-copy{margin:5px 0 10px;color:#fffaf1c2;font-size:.86rem;line-height:1.55}.notice-panel ol{display:grid;gap:7px;margin:0;padding-left:22px;color:#fffaf1db;font-size:.88rem;line-height:1.5}.stage-route{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(132px,1fr);gap:8px;overflow-x:auto;padding:1px 0 4px;scrollbar-width:none}.stage-route::-webkit-scrollbar{display:none}.stage-node{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;min-height:58px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:linear-gradient(145deg,#ffffff14,#ffffff08),#121112d1;text-align:left;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.stage-node[data-active=true]{border-color:#ffd277cc;background:linear-gradient(145deg,#ff6f3a3d,#4aecd224),#121112e6}.stage-node[data-cleared=true] .node-index{background:#70f0c8;color:#07211b}.node-index{display:grid;width:30px;height:30px;place-items:center;border-radius:8px;background:#ffffff14;color:#ffd277;font-weight:900}.stage-node strong,.stage-node small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-node strong{font-size:.9rem}.stage-node small{margin-top:3px;color:#fffaf19e;font-size:.74rem}.stage-heading{margin-bottom:12px}.stage-heading h2,.verdict-heading h2{margin:4px 0 0;color:#fff7ea;font-size:1.24rem;line-height:1.15}.stage-heading p{margin:7px 0 0;color:#fffaf1c4;line-height:1.55}.stage-heading small{display:block;margin-top:8px;color:#ffd277;line-height:1.45}.exercise-stack{display:grid;gap:10px}.exercise-card{overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:linear-gradient(155deg,#ffffff12,#ffffff07),#0b0d0eb3}.exercise-card[data-complete=true]{border-color:#70f0c885;box-shadow:0 0 0 1px #70f0c814,0 0 26px #70f0c81a}.exercise-head{padding:11px 11px 4px}.exercise-head h3{margin:4px 0 0;color:#fffaf1;font-size:1.08rem;line-height:1.25}.exercise-count{display:grid;flex:0 0 auto;min-width:48px;height:36px;place-items:center;border:1px solid rgba(255,210,119,.36);border-radius:8px;background:#ffd27714;color:#ffd277;font-weight:900}.target-line{margin:0;padding:0 11px 10px;color:#fffaf1bd;font-size:.88rem;line-height:1.55}.target-line strong{margin-right:8px;color:#7af5db}.unit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0 11px 11px}.check-unit,.verdict-button,.ghost-button{border:1px solid rgba(255,255,255,.13);border-radius:8px;background:#ffffff0e;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease}.check-unit{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;min-height:54px;padding:8px;text-align:left}.check-unit:hover,.verdict-button:hover,.ghost-button:hover{transform:translateY(-1px);border-color:#7af5db75}.check-unit[data-checked=true],.verdict-button[data-checked=true]{border-color:#70f0c8b8;background:linear-gradient(145deg,#70f0c833,#ffd2771a),#0c1614cc;box-shadow:inset 0 0 18px #70f0c814}.check-unit span,.verdict-button span{display:grid;width:26px;height:26px;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#00000038;color:#10251f;font-weight:900}.check-unit[data-checked=true] span,.verdict-button[data-checked=true] span{border-color:#70f0c8;background:#70f0c8}.check-unit strong,.check-unit small{min-width:0;overflow-wrap:anywhere}.check-unit strong{font-size:.9rem}.check-unit small{grid-column:2;margin-top:2px;color:#fffaf1a3;font-size:.74rem}.movement-detail{border-top:1px solid rgba(255,255,255,.09)}.movement-detail summary{min-height:48px;padding:14px 12px;color:#ffd277;font-weight:800;cursor:pointer}.detail-grid{display:grid;gap:12px;padding:0 12px 14px}.detail-grid section{min-width:0}.detail-grid h4{margin:0 0 5px;color:#7af5db;font-size:.86rem}.detail-grid p,.detail-grid li{color:#fffaf1c7;font-size:.88rem;line-height:1.62}.detail-grid p,.detail-grid ol,.detail-grid ul{margin:0}.detail-grid ol,.detail-grid ul{padding-left:20px}.stop-box{padding:9px;border-left:3px solid #ff6a4d;background:#ff6a4d14}.verdict-heading{align-items:flex-start;margin-bottom:12px}.ghost-button{min-height:38px;padding:0 12px;color:#fffaf1c2;font-size:.84rem}.verdict-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.verdict-button{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;min-height:54px;padding:9px;text-align:left}.verdict-button strong{min-width:0;overflow-wrap:anywhere;font-size:.9rem}.clear-banner{margin-top:12px;padding:13px;border:1px solid rgba(255,210,119,.42);border-radius:8px;background:linear-gradient(145deg,#ff623d2e,#70f0c829),#ffffff0e}.clear-banner p{margin:0 0 5px;color:#ffd277;font-size:.78rem;font-weight:900;text-transform:uppercase}.clear-banner strong{display:block;color:#fffaf1;line-height:1.45}.toast{position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom));z-index:10;width:min(340px,calc(100vw - 28px));min-height:44px;padding:11px 14px;border:1px solid rgba(255,210,119,.45);border-radius:8px;background:#120f11eb;color:#fffaf1;text-align:center;box-shadow:0 18px 48px #00000061;opacity:0;pointer-events:none;transform:translate(-50%) translateY(18px);transition:opacity .18s ease,transform .18s ease;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.toast[data-show=true]{opacity:1;transform:translate(-50%) translateY(0)}body[data-cleared=true] .top-hud{border-color:#70f0c87a}@media(min-width:720px){.app-shell{gap:14px;padding-right:16px;padding-left:16px}.top-hud{grid-template-columns:minmax(220px,1fr) minmax(320px,.9fr);align-items:center}.progress-track{grid-column:1 / -1}.notice-panel{display:grid;grid-template-columns:minmax(220px,.68fr) minmax(0,1fr);gap:14px}.stage-route{position:sticky;z-index:5;top:112px;grid-auto-columns:minmax(150px,1fr)}.unit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1020px){.app-shell{grid-template-columns:330px minmax(0,1fr);align-items:start}.top-hud,.notice-panel,.stage-route{grid-column:1}.stage-panel,.verdict-panel{grid-column:2}.top-hud,.stage-route{position:sticky}.top-hud{top:16px;grid-template-columns:1fr}.notice-panel{display:block}.stage-route{top:250px;grid-auto-flow:row;grid-auto-columns:auto;overflow:visible}.unit-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:420px){.app-shell{padding-right:8px;padding-left:8px}.top-hud,.notice-panel,.verdict-panel,.stage-panel{padding:10px}.brand-sigil{width:40px;height:40px}h1{font-size:1.36rem}.unit-grid,.verdict-grid{grid-template-columns:1fr}.check-unit,.verdict-button{min-height:52px}}@media(prefers-reduced-motion:reduce){.progress-track span,.check-unit,.verdict-button,.ghost-button,.toast{transition:none}}
