:root{--ink:#070d10;--ink-2:#0d1519;--paper:#efe6d4;--paper-dim:#c3b9a6;--line:rgba(239,230,212,.14);--line-strong:rgba(239,230,212,.3);--gold:#e0b25e;--jade:#6fd8bd;--blood:#e2604a;--shadow:0 18px 50px rgba(0,0,0,.55);--serif:"Noto Serif TC",ui-serif,Georgia,serif;--sans:"Zen Kaku Gothic New","Noto Sans TC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--ink);color:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow:hidden;overscroll-behavior:none}canvas{display:block;touch-action:none}button,.opt,.swing,.slot,.mv,.crumbs span,.tier{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.overlay{-webkit-user-select:none;user-select:none}.overlay input,.overlay textarea{-webkit-user-select:text;user-select:text}@media (pointer:coarse){.btn{min-height:44px}.btn.sm{padding:.55rem .95rem;font-size:.84rem}.opt{min-height:44px;padding:.5rem .85rem}.crumbs span{padding:.35rem .6rem}}button{font-family:inherit;color:inherit}.app{position:fixed;inset:0}.stage{position:absolute;inset:0}.overlay{position:absolute;inset:0;pointer-events:none;display:flex;flex-direction:column}.overlay>*{pointer-events:auto}.btn{--bg:rgba(239,230,212,.06);appearance:none;border:1px solid var(--line-strong);background:var(--bg);padding:.62rem 1.15rem;border-radius:999px;font-size:.92rem;letter-spacing:.06em;cursor:pointer;transition:.18s ease;backdrop-filter:blur(6px)}.btn:hover{background:#efe6d421;border-color:var(--paper-dim);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn.primary{background:linear-gradient(180deg,#f3d9a0,#dcae57);color:#20180a;border-color:transparent;font-weight:700;box-shadow:0 10px 26px #e0b25e47}.btn.primary:hover{background:linear-gradient(180deg,#ffe7b6,#e9bc66)}.btn.ghost{border-color:var(--line);background:transparent}.btn.sm{padding:.4rem .8rem;font-size:.8rem}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.title-cn{font-family:var(--serif);font-weight:900;letter-spacing:.14em}.mono{font-variant-numeric:tabular-nums;letter-spacing:.04em}.muted{color:var(--paper-dim)}.hairline{height:1px;background:linear-gradient(90deg,transparent,var(--line-strong),transparent)}.title{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.4rem;text-align:center;background:radial-gradient(46% 42% at 50% 46%,rgba(3,7,9,.72),rgba(3,7,9,.34) 60%,transparent 78%),radial-gradient(90% 90% at 50% 50%,transparent 42%,rgba(3,7,9,.8))}.title h1{font-family:var(--serif);font-weight:900;margin:0;font-size:clamp(2.9rem,9vw,6rem);letter-spacing:.2em;text-indent:.2em;text-shadow:0 0 60px rgba(224,178,94,.35),0 8px 30px rgba(0,0,0,.7)}.title .sub{font-size:clamp(.8rem,2.4vw,1rem);letter-spacing:.42em;color:var(--gold);text-indent:.42em}.title .lede{max-width:32rem;line-height:2;color:var(--paper-dim);font-size:.92rem;padding:0 1.5rem}.title .actions{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:center;margin-top:.4rem}.topbar{display:flex;align-items:center;gap:.6rem;padding:.85rem 1.1rem;background:linear-gradient(180deg,rgba(4,9,11,.9),transparent)}.topbar .spacer{flex:1}.brand{font-family:var(--serif);font-weight:700;letter-spacing:.24em;font-size:.92rem}.pill{border:1px solid var(--line);border-radius:999px;padding:.28rem .72rem;font-size:.76rem;background:#0000004d;letter-spacing:.08em}.field{margin-top:auto;padding:1.2rem;display:flex;flex-direction:column;gap:1rem;align-items:center;background:linear-gradient(0deg,rgba(3,7,9,.94) 30%,transparent)}.tiers{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:center}.tier{border:1px solid var(--line);border-radius:14px;padding:.7rem 1.05rem;min-width:8.4rem;background:#080f12a8;cursor:pointer;text-align:left;transition:.18s}.tier:hover{border-color:var(--line-strong);transform:translateY(-2px)}.tier.on{border-color:var(--gold);background:#e0b25e1a;box-shadow:0 0 0 1px #e0b25e4d}.tier b{display:block;font-family:var(--serif);font-size:1.02rem;letter-spacing:.14em}.tier span{font-size:.72rem;color:var(--paper-dim);letter-spacing:.06em}.tier .bar{height:3px;border-radius:2px;background:#efe6d424;margin-top:.5rem;overflow:hidden}.tier .bar i{display:block;height:100%;background:var(--gold)}.hud{position:absolute;left:0;right:0;top:0;padding:.9rem 1.1rem;display:flex;gap:.8rem;align-items:flex-start;background:linear-gradient(180deg,rgba(3,7,9,.92),transparent 92%)}.foe{display:flex;flex-direction:column;gap:.35rem;min-width:min(20rem,52vw)}.foe .row{display:flex;align-items:baseline;gap:.55rem}.foe .name{font-family:var(--serif);font-size:1.24rem;font-weight:700;letter-spacing:.1em}.foe .el{font-size:.68rem;padding:.14rem .5rem;border-radius:999px;border:1px solid currentColor;letter-spacing:.14em}.hpbar{height:7px;border-radius:4px;background:#ffffff1a;overflow:hidden;position:relative}.hpbar i{display:block;height:100%;background:linear-gradient(90deg,#e2604a,#f0a85c);transition:width .45s cubic-bezier(.2,.8,.2,1)}.lives{display:flex;gap:.28rem;font-size:1rem;letter-spacing:.1em}.lives .off{opacity:.22}.tray{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.6rem 1rem calc(.9rem + env(safe-area-inset-bottom));background:linear-gradient(0deg,rgba(3,7,9,.96) 42%,rgba(3,7,9,.7) 72%,transparent)}.msg{max-width:min(46rem,94vw);padding:.7rem 1.1rem;border-radius:14px;background:#060c0fe6;border:1px solid var(--line);font-size:.88rem;line-height:1.8;text-align:center;backdrop-filter:blur(8px);box-shadow:var(--shadow)}.msg.bad{border-color:#e2604a8c}.msg.good{border-color:#6fd8bd80}.msg .sub{color:var(--paper-dim);font-size:.82rem;display:block;margin-top:.35rem;line-height:1.8}.msg .en{color:#efe6d46b;font-size:.74rem;display:block;margin-top:.35rem;line-height:1.6;font-style:italic}.actionbar{display:flex;gap:.6rem;justify-content:center;align-items:center;flex-wrap:wrap}.turn{display:flex;align-items:center;gap:.5rem;font-size:.84rem;letter-spacing:.1em;color:var(--paper-dim)}.turn .dot{width:.72rem;height:.72rem;border-radius:50%;box-shadow:0 0 0 1px #ffffff59}.result{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(50% 50% at 50% 50%,#03070966,#030709ed);animation:fade .5s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.card{width:min(25rem,90vw);border-radius:20px;padding:1.6rem;text-align:center;background-color:#0a1215;background-image:linear-gradient(170deg,#20323aeb,#080e11fa);border:1px solid var(--line-strong);box-shadow:var(--shadow);backdrop-filter:blur(18px)}.card h2{font-family:var(--serif);letter-spacing:.24em;margin:.2rem 0 .1rem;font-size:1.5rem}.card .cap{font-size:.74rem;letter-spacing:.34em;color:var(--gold)}.card .stat{display:flex;justify-content:space-around;margin:1.1rem 0;font-size:.78rem;color:var(--paper-dim)}.card .stat b{display:block;font-size:1.16rem;color:var(--paper);font-family:var(--serif)}.card .actions{display:flex;gap:.55rem;justify-content:center;flex-wrap:wrap;margin-top:.4rem}.card .portrait{height:12.5rem;margin:-.2rem auto .2rem;display:block}.sheet{position:absolute;inset:0;background:linear-gradient(180deg,#04090bf7,#060c0efc);display:flex;flex-direction:column}.sheet header{padding:1.1rem 1.2rem .6rem;display:flex;align-items:center;gap:.8rem}.sheet header h2{font-family:var(--serif);letter-spacing:.2em;margin:0;font-size:1.15rem}.sheet .body{flex:1;overflow:auto;padding:.6rem 1.2rem 2rem;-webkit-overflow-scrolling:touch}.grid{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fill,minmax(7.2rem,1fr))}.slot{aspect-ratio:3/4;border-radius:14px;border:1px solid var(--line);background:#ffffff07;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:.5rem;gap:.2rem;cursor:pointer;transition:.18s;overflow:hidden;position:relative}.slot:hover{transform:translateY(-3px);border-color:var(--line-strong)}.slot.empty{cursor:default;opacity:.34}.slot.empty:hover{transform:none}.slot .thumb{position:absolute;inset:.2rem .2rem 2.1rem;object-fit:contain;width:auto;height:auto}.slot .nm{font-family:var(--serif);font-size:.82rem;letter-spacing:.06em;z-index:1}.slot .id{font-size:.6rem;color:var(--paper-dim);z-index:1}.slot .q{font-size:2rem;color:var(--line-strong);font-family:var(--serif)}.stats{display:flex;gap:1.4rem;flex-wrap:wrap;font-size:.78rem;color:var(--paper-dim);padding:.2rem 0 .9rem}.stats b{color:var(--paper);font-family:var(--serif);font-size:1.02rem}.dojo-panel{position:absolute;right:0;top:0;bottom:0;width:min(23rem,88vw);background:linear-gradient(270deg,#050b0df7,#050b0ddb);border-left:1px solid var(--line);display:flex;flex-direction:column}.dojo-panel .head{padding:1rem 1.1rem .4rem}.dojo-panel .scroll{flex:1;overflow:auto;padding:.4rem 1.1rem 1.1rem}.moves{display:flex;flex-wrap:wrap;gap:.4rem;margin:.7rem 0}.mv{border:1px solid var(--line);border-radius:10px;padding:.42rem .62rem;cursor:pointer;font-size:.8rem;display:flex;align-items:center;gap:.42rem;background:#ffffff08;transition:.15s}.mv:hover{border-color:var(--paper-dim);background:#ffffff17}.mv .tag{width:.52rem;height:.52rem;border-radius:50%}.mv.IDEAL .tag{background:#6fd8bd}.mv.GOOD .tag{background:#96c46b}.mv.TRICK .tag{background:#e0b25e}.mv.MISTAKE .tag{background:#e2604a}.mv.QUESTION .tag{background:#8f9bb3}.desc{font-size:.84rem;line-height:1.9;color:var(--paper-dim)}.desc a{color:var(--jade);text-decoration:none;border-bottom:1px solid rgba(111,216,189,.3)}.desc a:hover{border-bottom-color:var(--jade)}.desc .pt{color:var(--gold);font-weight:700}.en-block{margin-top:1rem;padding-top:.8rem;border-top:1px dashed var(--line);opacity:.55;font-size:.78rem;font-style:italic}.desc h2,.desc h3{font-family:var(--serif);color:var(--paper);font-size:1rem;letter-spacing:.1em;margin:.9rem 0 .3rem}.desc p{margin:.4rem 0}.crumbs{display:flex;flex-wrap:wrap;gap:.3rem;font-size:.74rem;color:var(--paper-dim)}.crumbs span{border:1px solid var(--line);border-radius:6px;padding:.1rem .4rem;cursor:pointer}.crumbs span:hover{color:var(--paper);border-color:var(--paper-dim)}.arena-setup{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:3.6rem 1rem 1rem;pointer-events:none}.arena-setup .card{pointer-events:auto;max-height:calc(100vh - 4.6rem);max-height:calc(100dvh - 4.6rem);overflow:auto}.card.wide{width:min(30rem,92vw)}.rules{text-align:left;margin:.8rem 0 .4rem;padding-left:1.4rem;font-size:.82rem;line-height:1.9;color:var(--paper-dim)}.rules b{color:var(--paper)}.row-label{font-size:.7rem;letter-spacing:.24em;color:var(--gold);margin:.9rem 0 .35rem}.opts{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center}.opt{border:1px solid var(--line);border-radius:12px;padding:.45rem .75rem;cursor:pointer;background:#ffffff08;color:var(--paper);font-size:.84rem;letter-spacing:.06em;display:flex;flex-direction:column;align-items:center;gap:.1rem;transition:.15s}.opt:hover{border-color:var(--line-strong);transform:translateY(-1px)}.opt.on{border-color:var(--gold);background:#e0b25e1f;box-shadow:0 0 0 1px #e0b25e4d}.opt b{font-family:var(--serif);letter-spacing:.14em}.opt span{font-size:.66rem;color:var(--paper-dim)}.score{display:flex;align-items:center;gap:.9rem;margin-top:.15rem}.score .side{display:flex;align-items:center;gap:.45rem;padding:.25rem .6rem;border-radius:10px;border:1px solid transparent;transition:.2s}.score .side.on{border-color:var(--gold);background:#e0b25e1a}.score .side b{font-family:var(--serif);font-size:1.5rem;line-height:1}.score .side span{font-size:.7rem;color:var(--paper-dim);letter-spacing:.08em}.score .dot{width:.8rem;height:.8rem;border-radius:50%;box-shadow:0 0 0 1px #ffffff59}.score .vs{font-size:.72rem;letter-spacing:.16em;color:var(--paper-dim);min-width:4.2rem;text-align:center}.skill{margin:.2rem auto .1rem;max-width:22rem;text-align:left}.skill-row{display:flex;align-items:baseline;gap:.6rem;font-size:.74rem;color:var(--paper-dim);letter-spacing:.08em}.skill-row b{font-family:var(--serif);font-size:1.1rem;color:var(--paper)}.skill-row s{color:var(--paper-dim);font-weight:400;font-size:.9rem}.skill-row .band{margin-left:auto;color:var(--gold)}.skill-bar{height:5px;border-radius:3px;background:#efe6d424;overflow:hidden;margin-top:.3rem}.skill-bar i{display:block;height:100%;background:linear-gradient(90deg,#6fd8bd,#e0b25e,#e2604a);transition:width .6s cubic-bezier(.2,.8,.2,1)}.review .curve{width:100%;height:5.2rem;display:block;margin:.4rem 0 .2rem}.review .curve .line{fill:none;stroke:var(--gold);stroke-width:1.6}.review .curve .half{stroke:#efe6d440;stroke-width:1;stroke-dasharray:3 3}.review .curve .mark{fill:#e2604a}.review .curve .cur{fill:none;stroke:#5ad2ff;stroke-width:1.2}.swing{border:1px solid var(--line);border-radius:12px;padding:.55rem .75rem;cursor:pointer;background:#ffffff08;margin:.4rem 0;transition:.15s;font-size:.82rem;line-height:1.7}.swing:hover{border-color:var(--paper-dim);background:#ffffff14}.swing.on{border-color:var(--gold);background:#e0b25e1a}.swing b{font-family:var(--serif);letter-spacing:.06em}.swing .loss{color:#e2604a;font-family:var(--serif)}.swing .sub{display:block;color:var(--paper-dim);font-size:.74rem}.review .nav{display:flex;gap:.4rem;flex-wrap:wrap;margin:.6rem 0}.progress{height:4px;border-radius:2px;background:#efe6d424;overflow:hidden;margin:.5rem 0}.progress i{display:block;height:100%;background:var(--gold);transition:width .3s}.toast{position:absolute;left:50%;transform:translate(-50%);top:4.4rem;z-index:20;background:#060c0ff0;border:1px solid var(--gold);border-radius:999px;padding:.5rem 1.1rem;font-size:.82rem;letter-spacing:.08em;box-shadow:var(--shadow);animation:pop .3s cubic-bezier(.2,1.4,.4,1)}@keyframes pop{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.loading{position:absolute;inset:0;display:flex;flex-direction:column;gap:1rem;align-items:center;justify-content:center;letter-spacing:.3em;font-size:.8rem;color:var(--paper-dim)}.spin{width:2.4rem;height:2.4rem;border-radius:50%;border:2px solid var(--line);border-top-color:var(--gold);animation:sp 1s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}@media (max-width:900px){.dojo-panel.review{inset:auto 0 0;width:auto;height:40vh;height:40dvh;border-left:none;border-top:1px solid var(--line);border-radius:18px 18px 0 0}}@media (max-width:760px){.dojo-panel{inset:auto 0 0;width:auto;height:56vh;border-left:none;border-top:1px solid var(--line);border-radius:18px 18px 0 0}}@media (max-width:640px){.msg{font-size:.8rem;padding:.55rem .8rem;max-width:94vw}.tray{padding:1.2rem .7rem calc(.7rem + env(safe-area-inset-bottom))}.foe .name{font-size:1.06rem}.score{gap:.4rem}.score .side b{font-size:1.2rem}.arena-setup{padding-top:3.2rem}.hud{padding:.7rem .8rem}.actionbar{gap:.45rem}}.authform{display:flex;flex-direction:column;gap:.7rem;margin:1rem 0 .6rem}.authform label{display:flex;flex-direction:column;gap:.3rem;font-size:.74rem;letter-spacing:.1em;color:var(--paper-dim)}.authform input{background:#ffffff0d;border:1px solid var(--line);color:var(--paper);border-radius:10px;padding:.6rem .7rem;font-size:.95rem;font-family:inherit}.authform input:focus{outline:none;border-color:var(--gold);background:#ffffff14}.formerr{color:var(--blood);font-size:.78rem;margin:0;line-height:1.7}.case{position:absolute;left:0;top:0;bottom:0;width:min(19.5rem,32vw);display:flex;align-items:center;padding:4.5rem 1rem 1.2rem;pointer-events:none}.caseinner{pointer-events:auto;width:100%;background:linear-gradient(150deg,#142026e6,#060c0ff0);border:1px solid var(--line);border-radius:18px;padding:1.1rem 1.15rem;box-shadow:var(--shadow);backdrop-filter:blur(12px)}.caption{font-size:.66rem;letter-spacing:.32em;color:var(--gold);margin-bottom:.5rem}.casename{font-family:var(--serif);font-weight:900;letter-spacing:.12em;font-size:1.45rem;margin:0;cursor:text;display:flex;align-items:baseline;gap:.4rem}.casename i{font-style:normal;font-size:.7rem;color:var(--paper-dim);opacity:0;transition:.16s}.casename:hover i{opacity:1}.nameinput{width:100%;background:#ffffff0f;border:1px solid var(--gold);color:var(--paper);border-radius:10px;padding:.35rem .55rem;font-family:var(--serif);font-size:1.35rem;font-weight:900;letter-spacing:.1em}.nameinput:focus{outline:none}.caseel{font-size:.74rem;line-height:1.8;margin:.45rem 0 .8rem;opacity:.85}.casestats{display:flex;gap:1rem;margin:.9rem 0;padding:.7rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.casestats div{flex:1}.casestats dt{font-size:.62rem;letter-spacing:.14em;color:var(--paper-dim);margin-bottom:.15rem}.casestats dd{margin:0;font-family:var(--serif);font-size:1.1rem}.caseactions{display:flex;gap:.4rem;flex-wrap:wrap}.swatches .row{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.45rem}.sw{border:1px solid var(--line);background:#ffffff08;color:var(--paper-dim);border-radius:9px;padding:.34rem .55rem;font-size:.78rem;cursor:pointer;transition:.15s;font-family:var(--serif);letter-spacing:.06em}.sw.dot{width:1.5rem;height:1.5rem;padding:0;border-radius:50%;background:var(--sw);opacity:.5}.sw.dot:before{display:none}.sw.dot:hover{opacity:.85;transform:scale(1.1)}.sw.dot.on{opacity:1;box-shadow:0 0 0 2px var(--ink),0 0 0 3px var(--sw)}.sw:before{content:"";display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:var(--sw);margin-right:.35rem;vertical-align:-1px}.sw:hover{border-color:var(--paper-dim);color:var(--paper)}.sw.on{border-color:var(--sw);color:var(--paper);background:color-mix(in srgb,var(--sw) 16%,transparent)}.slot .nm .mark{color:var(--gold);font-style:normal;font-size:.62rem;margin-left:.2rem;vertical-align:2px}.tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin:.2rem 0 1.2rem}.codex{max-width:44rem;margin:0 auto;padding-bottom:2rem}.codex .lede{font-size:.92rem;line-height:2;color:var(--paper);border-left:2px solid var(--gold);padding-left:.9rem;margin:0 0 1.6rem}.codex section{margin-bottom:1.5rem}.codex h3{font-family:var(--serif);font-size:1.05rem;letter-spacing:.12em;margin:0 0 .45rem;color:var(--gold);font-weight:700}.codex p{margin:0;font-size:.88rem;line-height:2.05;color:var(--paper-dim)}.codex p b{color:var(--paper);font-weight:700}.topicrow h3{display:flex;align-items:baseline;gap:.5rem;font-size:1rem}.topicrow h3 .mono{font-size:.72rem;letter-spacing:.06em}.glossary{margin:0;display:grid;gap:.1rem}.glossary>div{display:grid;grid-template-columns:minmax(7.5rem,auto) 1fr;gap:.4rem 1rem;padding:.6rem 0;border-bottom:1px solid var(--line);align-items:baseline}.glossary dt{font-family:var(--serif);font-size:.95rem;letter-spacing:.08em;color:var(--paper)}.glossary dt em{display:block;font-size:.66rem;font-style:normal;color:var(--paper-dim);letter-spacing:.04em;margin-top:.1rem}.glossary dd{margin:0;font-size:.83rem;line-height:1.9;color:var(--paper-dim)}@media (max-width:560px){.glossary>div{grid-template-columns:1fr;gap:.15rem}}.topics{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.1rem}.topic{font-size:.66rem;letter-spacing:.1em;padding:.1rem .45rem;border-radius:5px;border:1px solid var(--line);color:var(--paper-dim);background:#00000040;cursor:help}.learned{margin:.8rem 0 .4rem;padding:.75rem .8rem;border-radius:12px;border:1px solid var(--line);background:#ffffff08}.learned .cap{display:block;margin-bottom:.4rem;letter-spacing:.34em}.learned p{margin:.5rem 0 0;font-size:.78rem;line-height:1.9;color:var(--paper-dim)}.learned .topic{border-color:var(--line-strong);color:var(--paper)}.viewhint{position:absolute;left:50%;transform:translate(-50%);top:5.6rem;font-size:.72rem;letter-spacing:.12em;color:var(--paper-dim);background:#060c0fcc;border:1px solid var(--line);border-radius:999px;padding:.28rem .8rem;pointer-events:none}.legend{display:flex;gap:.75rem;flex-wrap:wrap;margin:.55rem 0 .9rem;font-size:.72rem;color:var(--paper-dim)}.legend span{display:flex;align-items:center;gap:.3rem}.legend i{width:.6rem;height:.6rem;border-radius:50%;display:inline-block}.switch{display:flex;align-items:center;gap:.5rem;font-size:.76rem;color:var(--paper-dim);cursor:pointer;line-height:1.7}.switch input{accent-color:var(--gold);width:1rem;height:1rem;flex:none}.corner{position:absolute;left:.9rem;bottom:.9rem;z-index:30;display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;max-width:60vw}.corner .btn{background:#060c0fb8;backdrop-filter:blur(8px)}@media (max-width:760px){.hint-desktop{display:none}.corner{left:auto;right:.6rem;top:.85rem;bottom:auto}.corner .lbl{display:none}.corner .btn{padding:.4rem .55rem}}.goal{appearance:none;border:1px solid var(--line);background:#0000004d;border-radius:10px;padding:.4rem .6rem;margin-top:.15rem;cursor:pointer;display:flex;align-items:baseline;gap:.45rem;flex-wrap:wrap;text-align:left;transition:.16s;font-size:.82rem}.goal:hover{border-color:var(--gold);background:#e0b25e17}.goal .what{font-size:.7rem;letter-spacing:.12em;color:var(--paper-dim)}.goal b{font-family:var(--serif);letter-spacing:.06em;color:var(--paper);font-size:.92rem}.goal .more{font-size:.68rem;color:var(--gold);letter-spacing:.08em;margin-left:auto}.teach{position:absolute;left:1.1rem;top:8.4rem;width:min(23rem,calc(100vw - 2.2rem));max-height:calc(100vh - 16rem);max-height:calc(100dvh - 16rem);overflow:auto;background:#060c0ff2;border:1px solid var(--line-strong);border-radius:16px;padding:1rem 1.1rem;box-shadow:var(--shadow);backdrop-filter:blur(10px);animation:pop .25s cubic-bezier(.2,1.3,.4,1)}.teach .close{position:absolute;right:.6rem;top:.5rem;background:none;border:none;color:var(--paper-dim);cursor:pointer;font-size:.9rem;padding:.2rem .3rem}.teach .close:hover{color:var(--paper)}.teach h4{font-family:var(--serif);font-size:.86rem;letter-spacing:.16em;color:var(--gold);margin:0 0 .5rem;font-weight:700}.teach p{margin:0 0 .6rem;font-size:.82rem;line-height:1.95;color:var(--paper-dim)}.teach p b{color:var(--paper)}.teach .target b{color:var(--gold)}.teach .target em{display:block;font-style:normal;font-size:.7rem;opacity:.6;margin-top:.15rem}.teach .concept b{display:inline-block;min-width:2.6rem;margin-right:.35rem;font-family:var(--serif)}.teach .tip{margin:.4rem 0 0;padding-top:.6rem;border-top:1px dashed var(--line);font-size:.78rem;color:var(--paper)}@media (max-width:760px){.teach{left:.6rem;right:.6rem;width:auto;top:7.6rem;max-height:46vh}}@media (max-width:760px){.case{inset:auto 0 0;width:auto;height:auto;align-items:flex-end;padding:0 .6rem calc(.7rem + env(safe-area-inset-bottom))}.caseinner{border-radius:16px}.casestats{margin:.6rem 0}}
