*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#02040b;--panel:#09111f;--panel2:#0d1729;--line:rgba(112,164,226,.22);--line2:rgba(111,105,255,.28);--cyan:#5dd8ff;--violet:#956fff;--pink:#e42dff;--text:#f2f7ff;--muted:#91a0b8;--good:#6fffc2;--warn:#ffca70;--danger:#ff718f}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:radial-gradient(circle at 75% 0,rgba(72,68,190,.18),transparent 34%),#02040b;color:var(--text);font:16px/1.7 system-ui,-apple-system,"Segoe UI","Noto Sans JP",sans-serif;overflow-x:hidden}.noise{position:fixed;inset:0;pointer-events:none;opacity:.14;background-image:linear-gradient(rgba(83,158,220,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(83,158,220,.04) 1px,transparent 1px);background-size:48px 48px}button,input{font:inherit}button,a{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}[hidden]{display:none!important}.topbar{height:76px;padding:0 max(20px,calc((100% - 1420px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(2,4,11,.78);backdrop-filter:blur(18px);position:sticky;top:0;z-index:50}.brand{color:white;text-decoration:none;display:flex;align-items:end;gap:10px;line-height:1}.brand strong{font-size:23px;letter-spacing:5px}.brand span{font-size:9px;letter-spacing:3px;color:var(--cyan);padding-bottom:2px}.topnav{display:flex;gap:28px}.topnav a{color:var(--muted);text-decoration:none;font-size:10px;letter-spacing:2px;font-weight:800}.topnav a.active{color:#fff}.top-actions{display:flex;align-items:center;gap:11px}.plan-badge{font-size:9px;letter-spacing:2px;border:1px solid rgba(93,216,255,.35);border-radius:20px;padding:6px 10px;color:var(--cyan)}.mypage-link{color:#ddebff;text-decoration:none;border:1px solid var(--line);border-radius:9px;padding:8px 12px;font-size:10px;letter-spacing:1px}.panel{border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(13,23,42,.95),rgba(5,10,23,.95));box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
/* onboarding */.onboarding{min-height:calc(100vh - 76px);position:relative;display:grid;place-items:center;padding:54px 24px 70px;overflow:hidden}.onboarding:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 32%,rgba(61,127,255,.16),transparent 34%),radial-gradient(circle at 78% 70%,rgba(136,71,255,.12),transparent 28%);pointer-events:none}.onboarding-grid{position:absolute;inset:0;opacity:.24;background-image:linear-gradient(rgba(93,216,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(93,216,255,.05) 1px,transparent 1px);background-size:72px 72px;mask-image:radial-gradient(circle at center,#000 20%,transparent 78%)}.intro{position:relative;z-index:2;width:min(1000px,100%);text-align:center}.intro-kicker{color:var(--cyan);font-size:10px;letter-spacing:4px;font-weight:800}.intro h1{font-size:clamp(50px,8vw,96px);line-height:1.02;letter-spacing:-5px;margin:20px 0}.intro h1 span{background:linear-gradient(90deg,#77e4ff,#8a83ff,#df6cff);-webkit-background-clip:text;color:transparent}.intro>p{width:min(680px,100%);margin:0 auto;color:#b9c7dc;font-size:14px}.intro-features{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:36px auto 0;width:min(760px,100%)}.intro-features article{padding:18px;border:1px solid var(--line);border-radius:14px;background:rgba(8,17,34,.65);display:grid;text-align:left}.intro-features b{color:rgba(93,216,255,.35);font-size:24px}.intro-features span{color:var(--cyan);font-size:8px;letter-spacing:2px}.intro-features strong{font-size:14px;margin-top:4px}.intro-actions{display:flex;justify-content:center;gap:10px;margin-top:32px;flex-wrap:wrap}.primary,.secondary,.ghost{border-radius:11px;padding:12px 18px;font-weight:800}.primary{border:0;color:#03101a;background:linear-gradient(105deg,#5dd8ff,#a8a0ff)}.secondary,.ghost{border:1px solid var(--line);background:rgba(9,18,35,.74);color:#eaf5ff}.intro>small{display:block;margin-top:20px;color:#6f8098;font-size:9px;letter-spacing:1px}.scan-shell{position:relative;z-index:3;width:min(1000px,100%);border:1px solid var(--line);border-radius:24px;background:rgba(4,9,20,.88);backdrop-filter:blur(18px);padding:32px;box-shadow:0 40px 120px rgba(0,0,0,.35)}.scan-head{display:flex;align-items:center;justify-content:space-between}.scan-head p{font-size:8px;color:var(--cyan);letter-spacing:2px}.scan-head strong{font-size:12px;letter-spacing:2px}.scan-head button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:none;color:white;font-size:22px}.scan-progress{height:3px;background:#101c30;margin-top:22px;border-radius:10px;overflow:hidden}.scan-progress div{height:100%;width:0;background:linear-gradient(90deg,var(--cyan),var(--violet));transition:.3s}.scan-count{margin-top:22px;color:#677991;font-size:9px;letter-spacing:2px}.scan-question{margin-top:18px}.scan-question p:first-child{color:var(--cyan);font-size:9px;letter-spacing:2.5px;font-weight:800}.scan-question h2{font-size:clamp(29px,5vw,54px);line-height:1.15;margin-top:6px;letter-spacing:-2px}.scan-question p:last-child{color:var(--muted);font-size:12px;margin-top:9px}.scan-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:28px}.scan-option{min-height:86px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,rgba(12,23,42,.85),rgba(6,12,25,.85));color:#fff;text-align:left;padding:16px 18px;display:grid;gap:2px;transition:.18s}.scan-option:hover{border-color:rgba(93,216,255,.65);transform:translateY(-1px)}.scan-option b{font-size:14px}.scan-option span{font-size:10px;color:var(--muted)}.scan-footer{display:flex;align-items:center;justify-content:space-between;margin-top:24px;border-top:1px solid var(--line);padding-top:18px}.text-button{border:0;background:none;color:#b9c9db}.scan-footer span{font-size:9px;color:#66788f}
/* app shell */.coach-app{min-height:calc(100vh - 76px)}.app-shell{width:min(1460px,100%);margin:0 auto;display:grid;grid-template-columns:238px minmax(0,1fr);min-height:calc(100vh - 76px)}.side-rail{border-right:1px solid var(--line);padding:28px 18px;position:sticky;top:76px;height:calc(100vh - 76px);display:flex;flex-direction:column;background:rgba(3,8,17,.62);backdrop-filter:blur(12px)}.player-mini{display:grid;grid-template-columns:58px 1fr;gap:12px;align-items:center}.level-ring{width:58px;height:58px;border-radius:50%;border:1px solid rgba(93,216,255,.45);display:grid;place-items:center;align-content:center;box-shadow:inset 0 0 24px rgba(93,216,255,.08)}.level-ring span{font-size:7px;color:var(--cyan);letter-spacing:1px}.level-ring strong{font-size:22px;line-height:1}.player-mini>div:last-child{min-width:0;display:grid}.player-mini small{color:#61728a;font-size:7px;letter-spacing:1.5px}.player-mini b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-mini>div:last-child span{font-size:9px;color:var(--cyan)}.xp-wrap{margin-top:20px}.xp-head{display:flex;justify-content:space-between;color:#65758a;font-size:8px}.xp-track{height:5px;background:#0f1a2d;margin-top:7px;border-radius:6px;overflow:hidden}.xp-track div{height:100%;background:linear-gradient(90deg,var(--cyan),var(--violet));width:0}.app-nav{display:grid;gap:5px;margin-top:32px}.app-nav button{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;text-align:left;padding:11px 12px;border:1px solid transparent;border-radius:11px;background:none;color:#718298}.app-nav button span{grid-row:1/3;color:#3f526a;font-size:9px}.app-nav button b{font-size:11px;letter-spacing:1px}.app-nav button small{font-size:8px}.app-nav button.active{border-color:var(--line);background:#0c192c;color:#fff}.app-nav button.active span,.app-nav button.active small{color:var(--cyan)}.rail-foot{margin-top:auto}.rail-foot button{width:100%;padding:12px;border:1px solid rgba(149,111,255,.34);border-radius:11px;background:linear-gradient(135deg,rgba(82,52,170,.18),rgba(13,25,47,.8));color:#fff;text-align:left;display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto}.rail-foot button>span{grid-row:1/3;color:#b79cff}.rail-foot b{font-size:11px}.rail-foot small{font-size:8px;color:#9f8de4}.main-stage{padding:30px 32px 70px;min-width:0}.stage-head{display:flex;justify-content:space-between;align-items:end;padding-bottom:24px;border-bottom:1px solid var(--line)}.stage-head p,.section-head p,.card-label span,.build-card>span,.tree-detail>p,.coach-memory>p{color:var(--cyan);font-size:8px;font-weight:800;letter-spacing:2.5px}.stage-head h2{font-size:32px;letter-spacing:-1px}.stage-meta{display:flex;gap:28px}.stage-meta div{display:grid;text-align:right}.stage-meta span{font-size:7px;color:#63758d;letter-spacing:1.5px}.stage-meta b{font-size:11px}.view{padding-top:24px;animation:fade .2s ease}.hero-status{min-height:255px;padding:28px;display:grid;grid-template-columns:1fr 210px;gap:30px;align-items:center;position:relative;overflow:hidden}.hero-status:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-100px;top:-120px;background:radial-gradient(circle,rgba(93,216,255,.14),transparent 68%)}.hero-copy{position:relative;z-index:2}.hero-copy>p{color:var(--cyan);font-size:8px;letter-spacing:2px}.hero-copy h3{font-size:clamp(33px,5vw,61px);line-height:1;margin:10px 0}.hero-copy>span{color:#a8b7cb;font-size:12px}.hero-actions{display:flex;gap:8px;margin-top:24px;flex-wrap:wrap}.compact{padding:10px 14px;font-size:10px}.focus-core{position:relative;z-index:2;width:180px;height:180px;border-radius:50%;border:1px solid rgba(93,216,255,.34);display:grid;place-items:center;align-content:center;justify-self:end;text-align:center;background:rgba(4,12,25,.72)}.focus-core span{font-size:7px;letter-spacing:2px;color:#70829a}.focus-core strong{font-size:25px;letter-spacing:-1px}.focus-core small{font-size:36px;line-height:1;color:var(--cyan)}.pulse-ring{position:absolute;inset:12px;border:1px dashed rgba(149,111,255,.35);border-radius:50%;animation:spin 22s linear infinite}.section-block{margin-top:30px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:15px}.section-head h3{font-size:23px;margin-top:2px}.section-head>div>span{font-size:10px;color:var(--muted)}.section-head.large{margin-top:4px;margin-bottom:24px}.link-button{border:0;background:none;color:#a9c6e4;font-size:9px;letter-spacing:1px}.core-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}.core-card{padding:16px 13px;border:1px solid var(--line);border-radius:13px;background:#081223;position:relative;overflow:hidden}.core-card span{font-size:7px;color:#72839a;letter-spacing:1.2px}.core-card strong{display:block;font-size:24px;margin-top:5px}.core-card b{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.core-card .core-bar{height:3px;background:#142239;margin-top:12px}.core-card .core-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--violet))}.core-card.low{border-color:rgba(255,113,143,.28)}.core-card.low strong{color:#ff8ca4}.core-card.high{border-color:rgba(111,255,194,.24)}.core-card.high strong{color:#84ffcc}.hub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:28px}.hub-grid>.panel{min-height:235px;padding:22px;position:relative}.card-label{display:flex;justify-content:space-between}.card-label b{font-size:22px;color:rgba(93,216,255,.18)}.mission-card h3,.daily-card h3,.locked-card h3{font-size:21px;margin:24px 0 8px}.mission-card>p,.daily-card>p,.locked-card>p:not(:first-of-type){font-size:11px;color:var(--muted)}.mission-footer{position:absolute;bottom:20px;left:22px;right:22px;display:flex;justify-content:space-between;align-items:center}.mission-footer span{font-size:8px;color:#60738d;letter-spacing:1px}.reward-line{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;margin-top:18px}.reward-line span{font-size:8px;color:#6e8098}.reward-line b{color:var(--cyan);font-size:11px}.wide-button{width:100%;margin-top:14px}.locked-card{overflow:hidden}.locked-card:after,.coach-memory:after,.build-card.plus-lock:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 28%,rgba(87,57,188,.08));pointer-events:none}.lock-tag{display:inline-block;padding:5px 8px;border-radius:20px;border:1px solid rgba(149,111,255,.32);color:#b59cff!important;font-size:7px!important;letter-spacing:1px}.locked-card button,.coach-memory button,.build-card.plus-lock button{position:absolute;bottom:20px;left:22px;right:22px;border:1px solid rgba(149,111,255,.3);border-radius:9px;background:rgba(37,22,83,.28);color:#b9aaff;padding:9px;font-size:9px}.patch-preview{display:flex;align-items:center;gap:8px;margin-top:22px}.patch-preview span{font-size:7px;color:#73859b}.patch-preview b{font-size:25px;color:#7967b1}.patch-preview small{color:#5e718a}.ghost-versus{display:flex;align-items:center;gap:16px;margin-top:18px}.ghost-versus span{font-weight:900;font-size:17px}.ghost-versus small{font-size:8px;color:#60738d}.ghost-versus b{color:#7868ab}
/* quest */.quest-reset{display:grid;text-align:right}.quest-reset span{font-size:7px;color:#697b92}.quest-reset b{font-size:10px}.quest-list{display:grid;gap:12px}.quest-card{display:grid;grid-template-columns:80px 1fr auto;gap:18px;align-items:center;padding:20px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(145deg,#0b1729,#07101f);position:relative;overflow:hidden}.quest-card.locked{opacity:.65}.quest-rank{width:62px;height:62px;border-radius:16px;border:1px solid var(--line);display:grid;place-items:center;align-content:center;text-align:center}.quest-rank span{font-size:7px;color:#6d7e94}.quest-rank b{font-size:21px;color:var(--cyan)}.quest-body>span{font-size:8px;color:var(--cyan);letter-spacing:1px}.quest-body h3{font-size:18px;margin:2px 0}.quest-body p{font-size:10px;color:var(--muted)}.quest-actions{text-align:right}.quest-actions small{display:block;color:#64768e;font-size:7px}.quest-actions b{display:block;color:var(--cyan);font-size:11px;margin:3px 0 8px}.quest-actions button{border:1px solid var(--line);border-radius:9px;padding:9px 12px;background:#0c1b30;color:white;font-size:9px}.quest-actions button:disabled{opacity:.45;cursor:default}.quest-card.done{border-color:rgba(111,255,194,.26)}.quest-card.done:before{content:"QUEST CLEAR";position:absolute;top:8px;right:-31px;transform:rotate(35deg);background:rgba(111,255,194,.18);color:#8effce;font-size:6px;letter-spacing:1px;padding:4px 35px}.boss{margin-top:28px;padding:26px;display:grid;grid-template-columns:1fr 130px auto;align-items:center;gap:20px;position:relative;overflow:hidden}.boss h3{font-size:24px;margin:4px 0}.boss>div:first-child>span{font-size:10px;color:var(--muted)}.boss-mark{font-size:9px;color:#7869aa;letter-spacing:2px;text-align:center}.boss-mark b{font-size:14px}.boss button{border:1px solid rgba(149,111,255,.3);border-radius:10px;background:rgba(65,39,129,.2);color:#beaaff;padding:11px 14px;font-size:9px}
/* tree */.beta-tag,.local-tag{font-size:7px;letter-spacing:1.5px;border:1px solid var(--line);border-radius:20px;padding:6px 9px;color:var(--cyan)}.tree-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:13px}.skill-tree{min-height:560px;padding:28px;position:relative;overflow:hidden}.skill-tree:before{content:"";position:absolute;left:50%;top:54px;bottom:54px;width:1px;background:linear-gradient(var(--cyan),rgba(149,111,255,.2),transparent)}.tree-root{width:110px;height:72px;margin:0 auto 42px;border:1px solid rgba(93,216,255,.45);border-radius:16px;display:grid;place-items:center;align-content:center;background:#0b1c2e;position:relative;z-index:2}.tree-root span{font-size:7px;color:#6d7f96}.tree-root b{font-size:14px}.tree-nodes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 60px;position:relative;z-index:2}.tree-node{min-height:96px;border:1px solid var(--line);border-radius:14px;background:#081426;color:white;text-align:left;padding:14px;position:relative}.tree-node:before{content:"";position:absolute;top:50%;width:30px;height:1px;background:var(--line)}.tree-node:nth-child(odd):before{right:-31px}.tree-node:nth-child(even):before{left:-31px}.tree-node span{font-size:7px;color:#6e8096;letter-spacing:1px}.tree-node b{display:block;font-size:14px}.tree-node strong{font-size:27px;color:var(--cyan)}.tree-node small{font-size:9px;color:var(--muted);margin-left:4px}.tree-node.locked{filter:saturate(.35);opacity:.58}.tree-node.locked:after{content:"LIVN+";position:absolute;right:10px;top:9px;font-size:6px;color:#b8a4ff}.tree-detail{padding:24px;position:sticky;top:100px;height:max-content}.tree-detail h3{font-size:24px;margin:8px 0}.tree-detail>span{font-size:11px;color:var(--muted)}.tree-detail .detail-score{font-size:50px;color:var(--cyan);line-height:1;margin:24px 0 8px}.tree-detail .detail-quest{margin-top:20px;padding-top:17px;border-top:1px solid var(--line)}.tree-detail .detail-quest small{font-size:7px;color:#6d7f96}.tree-detail .detail-quest b{display:block;font-size:12px;margin-top:4px}
/* coach */.coach-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:13px}.chat-panel{min-height:590px;padding:20px;display:flex;flex-direction:column}.chat-log{display:grid;gap:10px;align-content:start;min-height:330px;max-height:480px;overflow:auto;padding-right:5px}.chat-message{max-width:86%;padding:13px 15px;border-radius:13px;font-size:11px;white-space:pre-wrap}.chat-message.coach{background:#0b1b30;border:1px solid var(--line)}.chat-message.user{justify-self:end;background:rgba(77,62,161,.22);border:1px solid rgba(149,111,255,.24)}.chat-message small{display:block;color:var(--cyan);font-size:6px;letter-spacing:1px;margin-bottom:5px}.quick-prompts{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:15px}.quick-prompts button{border:1px solid var(--line);border-radius:20px;background:#091528;color:#b9cce1;padding:7px 10px;font-size:8px}.chat-form{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.chat-form label{font-size:7px;color:#6f8097;letter-spacing:1.5px}.chat-form>div{display:grid;grid-template-columns:1fr 72px;gap:7px;margin-top:7px}.chat-form input{min-width:0;border:1px solid var(--line);border-radius:10px;background:#050d1a;color:white;padding:12px;font-size:16px}.chat-form button{border:0;border-radius:10px;background:linear-gradient(120deg,var(--cyan),var(--violet));font-weight:900;color:#06111b}.coach-memory{padding:22px;position:relative;min-height:330px}.coach-memory h3{font-size:22px;margin:10px 0 22px}.memory-line{display:grid;grid-template-columns:48px 1fr;gap:8px;padding:12px 0;border-bottom:1px solid var(--line)}.memory-line span{font-size:8px;color:var(--cyan)}.memory-line p{font-size:9px}.memory-line.dim{opacity:.45}
/* profile */.profile-grid{display:grid;grid-template-columns:1.3fr .8fr 1fr;gap:12px}.build-card{padding:24px;min-height:250px;position:relative;overflow:hidden}.build-card h3{font-size:28px;margin:10px 0}.build-card>p{font-size:10px;color:var(--muted)}.fact-row{display:grid;grid-template-columns:110px 1fr;padding:8px 0;border-bottom:1px solid var(--line);font-size:10px}.fact-row span{color:#708198}.strong-weak{display:grid;gap:18px;margin-top:30px}.strong-weak div{display:grid}.strong-weak small{color:#6e8097;font-size:7px}.strong-weak b{font-size:22px}.strong-weak div:first-child b{color:var(--good)}.strong-weak div:last-child b{color:#ff8ea5}
/* dialogs */dialog{border:1px solid var(--line2);border-radius:22px;background:#060b18;color:white;padding:0;box-shadow:0 40px 120px rgba(0,0,0,.6);width:min(620px,calc(100% - 30px))}dialog::backdrop{background:rgba(1,3,9,.82);backdrop-filter:blur(8px)}dialog form{padding:28px;position:relative}.dialog-close{position:absolute;right:18px;top:16px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:none;color:#fff;font-size:20px}.mission-dialog form>p,.plus-dialog form>span{color:var(--cyan);font-size:8px;letter-spacing:2px}.mission-dialog h2,.plus-dialog h2{font-size:30px;margin:8px 0 16px}.mission-box{padding:20px;border:1px solid var(--line);border-radius:13px;background:#09182b;font-size:14px}.mission-dialog form>small{display:block;color:var(--muted);font-size:9px;margin-top:10px}.mission-results{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:22px}.mission-results button{border:1px solid var(--line);border-radius:11px;background:#0a1729;color:white;padding:12px 8px;font-size:9px}.mission-results b{display:block;color:var(--cyan);margin-top:3px}.plus-emblem{display:inline-block;padding:6px 10px;border:1px solid rgba(149,111,255,.35);border-radius:20px;color:#bca9ff!important}.plus-dialog>form>p{font-size:11px;color:var(--muted)}.plus-features{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.plus-features span{font-size:7px;border:1px solid var(--line2);border-radius:20px;padding:6px 8px;color:#b8a7f8}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade{from{opacity:.25;transform:translateY(5px)}}
@media(max-width:1100px){.core-grid{grid-template-columns:repeat(3,1fr)}.tree-layout,.coach-layout{grid-template-columns:1fr}.tree-detail{position:static}.profile-grid{grid-template-columns:1fr 1fr}.profile-grid>:last-child{grid-column:1/-1}}
@media(max-width:760px){.topbar{height:68px;padding:0 14px}.topnav{display:none}.brand strong{font-size:20px}.mypage-link{display:none}.onboarding{min-height:calc(100vh - 68px);padding:30px 14px 50px}.intro h1{letter-spacing:-3px}.intro-features{grid-template-columns:1fr}.intro-features article{grid-template-columns:35px 1fr;grid-template-rows:auto auto}.intro-features b{grid-row:1/3}.intro-actions{flex-direction:column}.intro-actions button{width:100%}.scan-shell{padding:20px 16px}.scan-options{grid-template-columns:1fr}.scan-footer span{display:none}.app-shell{display:block}.side-rail{position:sticky;top:68px;height:auto;z-index:30;border-right:0;border-bottom:1px solid var(--line);padding:8px 10px;display:block}.player-mini,.xp-wrap,.rail-foot{display:none}.app-nav{margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:2px}.app-nav button{grid-template-columns:1fr;text-align:center;padding:8px 3px;display:grid}.app-nav button span,.app-nav button small{display:none}.app-nav button b{font-size:9px}.main-stage{padding:20px 14px 60px}.stage-head{align-items:start}.stage-head h2{font-size:24px}.stage-meta{gap:12px}.hero-status{grid-template-columns:1fr;padding:20px}.focus-core{justify-self:start;width:120px;height:120px}.focus-core small{font-size:28px}.core-grid{grid-template-columns:repeat(2,1fr)}.hub-grid{grid-template-columns:1fr}.quest-card{grid-template-columns:60px 1fr}.quest-actions{grid-column:1/-1;text-align:left;display:flex;align-items:center;gap:10px}.boss{grid-template-columns:1fr}.boss-mark{text-align:left}.tree-nodes{gap:12px 28px}.tree-node:before{width:14px}.tree-node:nth-child(odd):before{right:-15px}.tree-node:nth-child(even):before{left:-15px}.profile-grid{grid-template-columns:1fr}.profile-grid>:last-child{grid-column:auto}.mission-results{grid-template-columns:1fr}.chat-form>div{grid-template-columns:1fr 62px}.stage-meta div:first-child{display:none}}
@media(max-width:400px){.core-grid{grid-template-columns:1fr 1fr}.tree-nodes{grid-template-columns:1fr}.tree-node:before{display:none}.skill-tree:before{left:28px}.tree-root{margin-left:0}.stage-meta{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* V2 adaptive scan + progression */
.scan-result{position:relative;z-index:3;width:min(1080px,100%);border:1px solid rgba(93,216,255,.3);border-radius:24px;background:linear-gradient(145deg,rgba(5,12,26,.95),rgba(9,12,32,.95));padding:28px;box-shadow:0 40px 120px rgba(0,0,0,.4)}
.result-topline{display:flex;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--line);font-size:8px;letter-spacing:2px;color:var(--cyan)}.result-topline b{color:#8798af}
.result-hero{display:grid;grid-template-columns:1fr auto;gap:34px;align-items:center;padding:34px 0}.result-copy>p:first-child{font-size:9px;color:#8495ad;letter-spacing:2px}.result-copy>span{display:block;color:var(--cyan);font-size:8px;letter-spacing:2px;margin-top:12px}.result-copy h2{font-size:clamp(34px,6vw,64px);line-height:1.02;letter-spacing:-3px;margin:7px 0 12px}.result-copy>p:last-child{font-size:12px;color:#a8b8cb;max-width:680px}.result-style{display:inline-flex;gap:10px;border:1px solid var(--line2);border-radius:20px;padding:7px 11px;font-size:8px;letter-spacing:1.5px;color:#7f90a8;margin-bottom:13px}.result-style b{color:#bdaeff}.result-versus{display:flex;align-items:center;gap:14px}.result-versus div{width:150px;min-height:112px;border:1px solid var(--line);border-radius:16px;background:#081426;display:grid;place-items:center;align-content:center;text-align:center;padding:14px}.result-versus span{font-size:7px;letter-spacing:1.5px;color:#73859c}.result-versus b{font-size:18px;overflow-wrap:anywhere}.result-versus div:first-child b{color:var(--good)}.result-versus div:last-child b{color:#ff96aa}.result-versus i{font-style:normal;color:#54677f;font-size:12px}
.result-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px}.result-core-list{display:grid;gap:8px}.result-core{display:grid;grid-template-columns:130px minmax(0,1fr) 38px;gap:12px;align-items:center;padding:10px 13px;border:1px solid var(--line);border-radius:11px;background:rgba(8,18,34,.7)}.result-core>span{font-size:9px;font-weight:800}.result-core>div{height:5px;border-radius:8px;background:#101b2d;overflow:hidden}.result-core i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--violet))}.result-core>b{font-size:12px;text-align:right}.result-plan{padding:20px;border:1px solid var(--line);border-radius:15px;background:#081426}.result-plan>span{color:#6e819a;font-size:7px;letter-spacing:1.5px}.result-plan>b{display:block;font-size:19px;color:var(--cyan);margin:3px 0 12px}.result-plan p{font-size:10px;color:var(--muted);margin-bottom:18px}.result-retry{width:100%;margin-top:10px;font-size:9px}
.scan-insights{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:13px 0 6px}.scan-insights>div{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(8,18,34,.64);display:grid}.scan-insights span{font-size:7px;color:#65788f;letter-spacing:1.5px}.scan-insights b{font-size:12px;color:#dce8f7;margin-top:2px}
.match-log{margin-top:20px;padding:20px}.compact-head{margin-bottom:12px}.compact-head>span{font-size:7px;color:#62758c;letter-spacing:1.5px}.match-log #matchLog{display:grid;gap:7px}.empty-log{padding:14px;border:1px dashed var(--line);border-radius:10px}.empty-log span{font-size:7px;color:#63768e;letter-spacing:1.5px}.empty-log p{font-size:9px;color:var(--muted);margin-top:3px}.match-log-row{display:grid;grid-template-columns:1fr 80px auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#081426}.match-log-row>span{font-size:9px}.match-log-row>b{font-size:8px;letter-spacing:1px}.match-log-row>small{font-size:8px;color:#71839a}.match-log-row.clear>b{color:var(--good)}.match-log-row.partial>b{color:var(--warn)}.match-log-row.fail>b{color:var(--danger)}
.quest-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.quest-meta small{padding:4px 7px;border:1px solid var(--line);border-radius:20px;color:#75879e;font-size:7px}
.tree-root small{font-size:6px;color:#7f90a7;letter-spacing:1px}.tree-node.priority{border-color:rgba(255,113,143,.38)}.tree-node.mastery{border-color:rgba(111,255,194,.32)}.tree-node.priority span{color:#ff8ca3}.tree-node.mastery span{color:#7fffc8}.subskill-list{display:grid;gap:8px;margin-top:20px;padding-top:15px;border-top:1px solid var(--line)}.subskill-list>div{display:grid;grid-template-columns:90px minmax(0,1fr) 28px;gap:7px;align-items:center}.subskill-list span{font-size:7px;color:#8da0b7}.subskill-list i{height:4px;background:#101c2f;border-radius:8px;overflow:hidden}.subskill-list i b{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--violet))}.subskill-list strong{font-size:8px;text-align:right}.tree-plus-button{width:100%;margin-top:14px;border:1px solid rgba(149,111,255,.32);border-radius:10px;padding:10px;background:rgba(65,39,129,.14);color:#bbaaff;font-size:8px}
@media(max-width:900px){.result-hero{grid-template-columns:1fr}.result-versus{justify-content:flex-start}.result-body{grid-template-columns:1fr}.result-plan{order:-1}.scan-insights{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:760px){.scan-result{padding:19px 15px}.result-hero{padding:24px 0}.result-copy h2{letter-spacing:-2px}.result-versus{display:grid;grid-template-columns:1fr auto 1fr;width:100%}.result-versus div{width:auto;min-width:0}.result-body{grid-template-columns:1fr}.result-core{grid-template-columns:95px minmax(0,1fr) 30px}.scan-insights{grid-template-columns:1fr}.match-log-row{grid-template-columns:1fr auto}.match-log-row small{grid-column:1/-1}}

/* V4 PLAYER DNA / stronger game UI */
.dna-strip{margin-top:18px;padding:18px 20px;display:grid;grid-template-columns:190px minmax(0,1fr) 210px;gap:22px;align-items:center;border-color:rgba(149,111,255,.34);background:radial-gradient(circle at 12% 50%,rgba(149,111,255,.18),transparent 34%),linear-gradient(135deg,rgba(12,13,35,.96),rgba(5,12,25,.96));position:relative;overflow:hidden}.dna-strip:after{content:"DNA // SYNC";position:absolute;right:18px;top:8px;font-size:7px;letter-spacing:3px;color:rgba(190,170,255,.22)}.dna-emblem{min-height:104px;border:1px solid rgba(167,129,255,.4);clip-path:polygon(10% 0,100% 0,100% 82%,90% 100%,0 100%,0 18%);padding:16px;display:grid;align-content:center;background:linear-gradient(145deg,rgba(110,62,220,.16),rgba(8,15,31,.75))}.dna-emblem span,.dna-copy p,.sync-meter span,.dna-hero>div>span{font-size:7px;letter-spacing:2px;color:#a98fff}.dna-emblem strong{font-size:16px;margin:3px 0}.dna-emblem small{font-size:8px;color:#71839a}.dna-copy h3{font-size:20px;margin:3px 0}.dna-copy>span{font-size:10px;color:var(--muted)}.sync-meter{display:grid;gap:5px}.sync-meter b{font-size:26px}.sync-meter>div{height:5px;background:#12172c;border-radius:10px;overflow:hidden}.sync-meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,#805dff,#e45cff);box-shadow:0 0 16px rgba(172,88,255,.65)}.sync-meter small{font-size:7px;color:#7e719f;letter-spacing:1px}.dna-hero{padding:30px;display:grid;grid-template-columns:1fr 180px;align-items:center;gap:24px;background:radial-gradient(circle at 82% 45%,rgba(148,70,255,.2),transparent 27%),linear-gradient(145deg,#0c1026,#070b18)}.dna-hero h2{font-size:clamp(34px,5vw,62px);line-height:1;margin:8px 0 13px;background:linear-gradient(90deg,#fff,#b8a1ff,#e677ff);-webkit-background-clip:text;color:transparent}.dna-hero p{color:#a4b0c4;font-size:11px}.dna-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}.dna-tags span{border:1px solid rgba(149,111,255,.32);border-radius:20px;padding:5px 9px;font-size:8px;color:#c5b7ff}.dna-orb{width:160px;height:160px;border-radius:50%;border:1px solid rgba(149,111,255,.42);display:grid;place-items:center;align-content:center;justify-self:end;position:relative;box-shadow:inset 0 0 45px rgba(129,77,255,.13),0 0 45px rgba(129,77,255,.08)}.dna-orb:before,.dna-orb i{content:"";position:absolute;border-radius:50%;inset:12px;border:1px dashed rgba(228,93,255,.34);animation:spin 18s linear infinite}.dna-orb i{inset:28px;animation-direction:reverse;animation-duration:12s}.dna-orb span{font-size:7px;color:#8877ae;letter-spacing:2px}.dna-orb b{font-size:30px;color:#d7caff}.dna-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:12px;margin-top:14px}.dna-stats,.trait-card,.badge-card{padding:20px}.dna-stat{display:grid;grid-template-columns:90px minmax(0,1fr) 32px;gap:8px;align-items:center;margin-top:12px}.dna-stat span{font-size:8px;color:#8e9cb0}.dna-stat i{height:4px;background:#151a2f;border-radius:8px;overflow:hidden}.dna-stat i b{display:block;height:100%;background:linear-gradient(90deg,#725bff,#df5cff)}.dna-stat strong{font-size:9px;text-align:right}.trait-item,.badge-item{margin-top:10px;padding:12px;border:1px solid var(--line2);border-radius:11px;background:rgba(45,28,92,.12)}.trait-item small,.badge-item small{display:block;font-size:7px;letter-spacing:1.5px;color:#9d84ef}.trait-item b,.badge-item b{font-size:11px}.trait-item p,.badge-item p{font-size:8px;color:#77879d;margin-top:3px}.trait-item.locked,.badge-item.locked{opacity:.45;filter:saturate(.5)}
@media(max-width:1100px){.dna-strip{grid-template-columns:170px 1fr}.sync-meter{grid-column:1/-1}.dna-grid{grid-template-columns:1fr 1fr}.badge-card{grid-column:1/-1}}
@media(max-width:760px){.app-nav{grid-template-columns:repeat(6,1fr)}.dna-strip{grid-template-columns:1fr}.dna-hero{grid-template-columns:1fr}.dna-orb{justify-self:start;width:130px;height:130px}.dna-grid{grid-template-columns:1fr}.badge-card{grid-column:auto}}

/* ===== V5 : COACH landing responsive background ===== */
.onboarding{
  background-image:
    linear-gradient(90deg,rgba(2,5,14,.88) 0%,rgba(2,5,14,.72) 38%,rgba(2,5,14,.30) 68%,rgba(2,5,14,.18) 100%),
    url('./image/LIVNコーチ_desktop.png');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}
.onboarding:before{
  background:
    linear-gradient(180deg,rgba(2,5,14,.18),rgba(2,5,14,.48)),
    radial-gradient(circle at 22% 38%,rgba(120,62,255,.18),transparent 42%);
}
.onboarding-grid{opacity:.10}
.intro{text-align:left;margin-right:auto;width:min(1000px,100%)}
.intro>p{margin-left:0;margin-right:0}
.intro-features{margin-left:0;margin-right:0}
.intro-actions{justify-content:flex-start}
.intro>small{max-width:760px}

/* Tablet portrait */
@media (min-width:761px) and (max-width:1100px){
  .onboarding{
    background-image:
      linear-gradient(180deg,rgba(2,5,14,.42) 0%,rgba(2,5,14,.68) 58%,rgba(2,5,14,.88) 100%),
      url('./image/LIVNコーチ_タブレット.png');
    background-position:center center;
  }
  .intro{width:min(820px,100%);padding-top:8vh}
  .intro h1{font-size:clamp(54px,8vw,82px)}
}

/* Smartphone portrait */
@media (max-width:760px){
  .onboarding{
    background-image:
      linear-gradient(180deg,rgba(2,5,14,.34) 0%,rgba(2,5,14,.66) 42%,rgba(2,5,14,.94) 78%),
      url('./image/LIVNコーチ_スマホ.png');
    background-position:center top;
    background-size:cover;
  }
  .intro{padding-top:26vh;text-align:left}
  .intro h1{font-size:clamp(43px,13vw,64px);line-height:1.04}
  .intro>p{font-size:13px}
  .intro-features{margin-top:24px}
  .intro-actions{align-items:stretch}
}


/* ===== LIVN COACH PLUS V1 ===== */
body.livn-plus-active .plan-badge,
body.livn-plus-active #stagePlan{color:#e6dcff;text-shadow:0 0 16px rgba(176,121,255,.65)}
body.livn-plus-active #plusOpenRail{border-color:rgba(167,117,255,.55);background:linear-gradient(135deg,rgba(67,28,122,.72),rgba(11,65,105,.58));box-shadow:0 0 26px rgba(115,76,255,.14)}
.plus-unlocked{position:relative;border-color:rgba(148,103,255,.38)!important;background:linear-gradient(145deg,rgba(27,15,58,.82),rgba(7,27,48,.78))!important;box-shadow:inset 0 0 0 1px rgba(122,208,255,.04),0 18px 45px rgba(4,5,17,.22)}
.plus-unlocked .lock-tag{color:#d7c4ff!important;border-color:rgba(167,117,255,.38)!important;background:rgba(92,45,166,.20)!important}
.plus-unlocked button:not(:disabled){cursor:pointer;border-color:rgba(150,109,255,.38)!important;color:#fff!important}
.plus-unlocked button:disabled{opacity:.45;cursor:not-allowed}
.quest-card:not(.locked):nth-child(2),.quest-card:not(.locked):nth-child(3){border-color:rgba(151,104,255,.28);box-shadow:inset 3px 0 0 rgba(134,91,255,.35)}
.quest-card:not(.locked):nth-child(2) .quest-actions button,.quest-card:not(.locked):nth-child(3) .quest-actions button{background:linear-gradient(110deg,rgba(87,54,181,.88),rgba(25,130,180,.72));color:#fff;border-color:rgba(166,134,255,.42)}
.boss.plus-unlocked{border-color:rgba(234,120,255,.34)!important;background:radial-gradient(circle at 85% 20%,rgba(197,56,255,.11),transparent 36%),linear-gradient(145deg,rgba(24,12,47,.91),rgba(8,24,42,.89))!important}
.plus-tree-active{border-color:rgba(151,104,255,.48)!important;color:#dacdff!important;background:linear-gradient(110deg,rgba(99,56,190,.17),rgba(35,140,190,.12))!important}
.plus-dialog #plusDescription{white-space:pre-line;line-height:1.8}
.plus-dialog .plus-features span{border-color:rgba(158,114,255,.27)}
body.livn-plus-active .plus-dialog .plus-emblem{color:#d7c4ff}
@media(max-width:760px){.plus-unlocked{min-height:0}.boss.plus-unlocked{gap:16px}.coach-memory.plus-unlocked{min-height:280px}}


/* ===== LIVN+ FREE PREVIEW / PLUS FIX ===== */
/* FREE: Plus content remains visible, with a soft locked preview on top. */
body:not(.livn-plus-active) .plus-lock{position:relative!important;overflow:hidden!important;isolation:isolate}
body:not(.livn-plus-active) .plus-lock::before{content:"";position:absolute;inset:0;z-index:20;background:linear-gradient(145deg,rgba(5,8,18,.30),rgba(31,18,62,.48));backdrop-filter:blur(1.4px);-webkit-backdrop-filter:blur(1.4px);pointer-events:none}
body:not(.livn-plus-active) .plus-lock::after{content:"✦  LIVN+\A加入後に解放されます";white-space:pre;position:absolute;z-index:21;left:50%;top:50%;transform:translate(-50%,-50%);width:max-content;max-width:calc(100% - 36px);padding:12px 18px;border:1px solid rgba(178,135,255,.42);border-radius:13px;background:rgba(9,8,23,.78);box-shadow:0 12px 38px rgba(0,0,0,.28),0 0 28px rgba(139,91,255,.10);color:#f0eaff;text-align:center;font-size:10px;font-weight:800;line-height:1.7;letter-spacing:1.4px;pointer-events:none}
body:not(.livn-plus-active) .plus-lock>*{filter:saturate(.72);opacity:.72}
body:not(.livn-plus-active) .plus-lock button{pointer-events:auto}

/* Plus cards must return to normal document flow after unlock. */
.plus-unlocked{overflow:hidden}
.plus-unlocked button{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;width:100%;margin-top:18px;padding:10px 14px;border-radius:9px;background:rgba(72,43,142,.26)}
.coach-memory.plus-unlocked button{position:static!important}
.build-card.plus-unlocked{min-height:250px;height:auto;align-self:start}
.profile-grid{align-items:start}
.profile-grid>.build-card{height:auto}

/* Weekly boss button stays above decorative layers and is clickable. */
.boss.plus-unlocked{isolation:isolate}
.boss.plus-unlocked>*{position:relative;z-index:2}
.boss.plus-unlocked button{pointer-events:auto!important;position:relative!important;z-index:5;width:auto;margin-top:0}

@media(max-width:760px){
  body:not(.livn-plus-active) .plus-lock::after{font-size:9px;padding:10px 14px}
  .boss.plus-unlocked button{width:100%;margin-top:4px}
}

/* ===== WEEKLY BOSS BATTLE V2 ===== */
.boss-dialog{width:min(820px,calc(100% - 28px));border-color:rgba(211,104,255,.36);background:radial-gradient(circle at 82% 8%,rgba(151,44,255,.18),transparent 34%),#050914;overflow:hidden}
.boss-dialog-shell{position:relative;padding:28px}
.boss-dialog-kicker{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-right:50px}
.boss-dialog-kicker span{font-size:8px;letter-spacing:2.4px;color:#caaeff;font-weight:900}
.boss-dialog-kicker b{font-size:8px;letter-spacing:1.8px;color:var(--cyan);padding:5px 9px;border:1px solid rgba(93,216,255,.22);border-radius:20px;background:rgba(15,37,61,.55)}
.boss-dialog-title{display:grid;grid-template-columns:1fr 118px;gap:24px;align-items:center;margin-top:18px}
.boss-dialog-title small{font-size:8px;color:#6e7f97;letter-spacing:1.8px}.boss-dialog-title h2{font-size:38px;line-height:1;margin:5px 0 10px;letter-spacing:-1px}.boss-dialog-title p{font-size:11px;color:var(--muted);max-width:560px}
.boss-emblem{width:104px;height:104px;border-radius:50%;display:grid;place-items:center;justify-self:end;border:1px solid rgba(213,103,255,.4);background:radial-gradient(circle,rgba(192,53,255,.20),rgba(31,14,64,.25));box-shadow:inset 0 0 38px rgba(211,78,255,.10),0 0 40px rgba(120,69,255,.08);font-size:11px;letter-spacing:3px;color:#d6b8ff;font-weight:900}
.boss-progress-wrap{margin-top:22px;padding:15px 16px;border:1px solid rgba(145,105,255,.22);border-radius:13px;background:rgba(9,16,34,.72)}.boss-progress-wrap>div{display:flex;justify-content:space-between;align-items:center}.boss-progress-wrap span{font-size:8px;letter-spacing:1.4px;color:#71829a}.boss-progress-wrap b{font-size:10px;color:#dccfff}.boss-progress-wrap>i{display:block;height:5px;margin-top:9px;background:#121a31;border-radius:20px;overflow:hidden}.boss-progress-wrap>i>b{display:block;height:100%;width:0;background:linear-gradient(90deg,#8f5eff,#e66fff,#65dcff);transition:width .25s ease}
.boss-phase-list{display:grid;gap:10px;margin-top:14px}.boss-phase{border:1px solid var(--line);border-radius:15px;padding:18px;background:linear-gradient(145deg,rgba(9,18,35,.92),rgba(7,11,24,.92));position:relative;overflow:hidden;transition:.18s}.boss-phase.active{border-color:rgba(202,104,255,.45);box-shadow:inset 3px 0 0 rgba(197,89,255,.6),0 12px 34px rgba(37,14,66,.18)}.boss-phase.cleared{border-color:rgba(111,255,194,.26);background:linear-gradient(145deg,rgba(8,28,28,.78),rgba(7,17,27,.90))}.boss-phase.locked{opacity:.58}.boss-phase-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.boss-phase-head>div:first-child{display:grid}.boss-phase-head span{font-size:7px;color:#b69cff;letter-spacing:2px}.boss-phase-head b{font-size:16px;margin-top:1px}.boss-phase-score{display:grid;text-align:right}.boss-phase-score small{font-size:7px;color:#64768f}.boss-phase-score strong{font-size:22px;color:var(--cyan);line-height:1.1}.boss-phase h3{font-size:13px;margin:12px 0 3px}.boss-phase>p{font-size:10px;color:#a7b5c8}.boss-phase-condition{display:inline-block;margin-top:9px;padding:6px 9px;border:1px solid rgba(96,152,214,.17);border-radius:8px;color:#7186a1;font-size:8px;background:rgba(8,19,36,.62)}.boss-phase-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(112,164,226,.12)}.boss-phase-foot>span,.boss-phase-foot>b{font-size:8px;letter-spacing:1px;color:#71839a}.boss-phase-actions{display:flex;gap:7px}.boss-phase-actions button{border:1px solid var(--line);border-radius:9px;background:#0c182c;color:#dce9fb;padding:8px 11px;font-size:8px}.boss-phase-actions button.primary{border:0;color:#06101a;background:linear-gradient(105deg,#80dcff,#ba9cff)}.boss-clear-stamp{color:#7dffbf!important;font-weight:900;letter-spacing:2px!important}.boss-reward{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:14px 16px;border:1px solid rgba(224,103,255,.24);border-radius:12px;background:linear-gradient(110deg,rgba(80,31,130,.18),rgba(17,65,91,.18))}.boss-reward strong{font-size:9px;letter-spacing:1.4px;color:#d3b9ff}.boss-reward span{font-size:9px;color:#9db2c9}.boss-start-button{width:100%;margin-top:14px;padding:13px 16px}
@media(max-width:760px){.boss-dialog-shell{padding:22px 15px 16px}.boss-dialog-kicker{align-items:flex-start;flex-direction:column;gap:7px}.boss-dialog-title{grid-template-columns:1fr}.boss-dialog-title h2{font-size:31px}.boss-emblem{display:none}.boss-phase{padding:15px}.boss-phase-foot{align-items:stretch;flex-direction:column}.boss-phase-actions{display:grid;grid-template-columns:1fr 1fr}.boss-phase-actions button{width:100%}.boss-reward{align-items:flex-start;flex-direction:column;gap:4px}}


/* ===== LIVN+ CORE HISTORY V1 ===== */
.history-dialog{width:min(980px,calc(100% - 28px));max-height:min(900px,calc(100vh - 28px));border-color:rgba(129,105,255,.38);background:radial-gradient(circle at 86% 4%,rgba(103,75,255,.15),transparent 32%),#050914;overflow:auto}
.history-dialog-shell{position:relative;padding:28px}
.history-dialog-head{display:flex;justify-content:space-between;align-items:end;gap:24px;padding-right:48px}.history-dialog-head>div:first-child>span,.history-chart-head span,.history-log-head span{font-size:8px;letter-spacing:2.2px;color:#bdaaff;font-weight:900}.history-dialog-head h2{font-size:34px;line-height:1;margin:6px 0 9px}.history-dialog-head p{font-size:10px;color:var(--muted)}
.history-range,.history-metric-tabs,.history-core-tabs{display:flex;gap:6px;flex-wrap:wrap}.history-range button,.history-metric-tabs button,.history-core-tabs button{border:1px solid var(--line);border-radius:9px;background:rgba(8,17,33,.78);color:#8798af;padding:8px 11px;font-size:8px;font-weight:800}.history-range button.active,.history-metric-tabs button.active,.history-core-tabs button.active{border-color:rgba(150,113,255,.54);background:linear-gradient(110deg,rgba(88,50,171,.55),rgba(23,92,133,.45));color:#fff;box-shadow:0 0 20px rgba(117,86,255,.08)}
.history-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:22px}.history-summary-grid article{border:1px solid var(--line);border-radius:13px;padding:14px;background:linear-gradient(145deg,rgba(11,20,38,.86),rgba(7,11,24,.86));display:grid}.history-summary-grid span{font-size:7px;letter-spacing:1.6px;color:#71839a}.history-summary-grid strong{font-size:25px;line-height:1.15;margin-top:5px;color:#e9f4ff}.history-summary-grid article:nth-child(2) strong,.history-summary-grid article:nth-child(3) strong{color:#9de6ff}.history-summary-grid small{font-size:8px;color:#6d7d93;margin-top:4px}
.history-chart-card,.history-log-card{margin-top:12px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,rgba(9,18,35,.88),rgba(5,10,22,.92));padding:18px}.history-chart-head,.history-log-head{display:flex;justify-content:space-between;align-items:end;gap:18px}.history-chart-head h3,.history-log-head h3{font-size:18px;margin-top:2px}.history-core-tabs{margin-top:12px}.history-chart-wrap{margin-top:14px;height:310px;border:1px solid rgba(112,164,226,.12);border-radius:12px;background:radial-gradient(circle at 50% 100%,rgba(79,58,177,.09),transparent 54%),rgba(3,8,18,.62);overflow:hidden}.history-chart-wrap svg{display:block;width:100%;height:100%}.history-grid-line{stroke:rgba(116,160,213,.13);stroke-width:1}.history-axis-label,.history-date-label{fill:#64758c;font:10px system-ui,-apple-system,"Segoe UI",sans-serif}.history-date-label{font-size:9px}.history-line{fill:none;stroke:#80dcff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 7px rgba(111,141,255,.48))}.history-area{fill:url(#none);fill:rgba(116,93,255,.10)}.history-dot{fill:#d8c9ff;stroke:#6bdcff;stroke-width:2}.history-svg-empty{fill:#74869d;font:12px system-ui,-apple-system,"Segoe UI",sans-serif}.history-chart-note{margin-top:9px;color:#718299;font-size:8px;letter-spacing:.4px}
.history-log-head>small{font-size:8px;color:#6f8198}.history-log{display:grid;margin-top:10px}.history-log-row{display:grid;grid-template-columns:1.25fr .8fr 1fr;gap:12px;align-items:center;padding:11px 2px;border-top:1px solid rgba(112,164,226,.10)}.history-log-row:first-child{border-top:0}.history-log-row>div{display:flex;align-items:center;gap:10px}.history-log-row span{font-size:9px;color:#8294aa}.history-log-row b{font-size:8px;color:#beaaff;border:1px solid rgba(155,113,255,.22);padding:3px 6px;border-radius:10px}.history-log-row>strong{font-size:10px}.history-log-row>small{font-size:8px;color:#6f829a;text-align:right}.history-empty{padding:22px;text-align:center;color:#718299;font-size:9px}
@media(max-width:760px){.history-dialog{max-height:calc(100vh - 16px);width:calc(100% - 16px)}.history-dialog-shell{padding:22px 14px 16px}.history-dialog-head{align-items:flex-start;flex-direction:column;padding-right:42px;gap:14px}.history-dialog-head h2{font-size:29px}.history-summary-grid{grid-template-columns:repeat(2,1fr)}.history-chart-head{align-items:flex-start;flex-direction:column}.history-chart-wrap{height:270px}.history-log-row{grid-template-columns:1fr auto}.history-log-row>small{grid-column:1/3;text-align:left}.history-range,.history-metric-tabs{width:100%}.history-range button,.history-metric-tabs button{flex:1}.history-core-tabs{max-height:84px;overflow:auto}}

/* ===== LIVN+ PLAYER PATCH NOTES V1 ===== */
.patch-dialog{width:min(920px,calc(100% - 28px));max-height:min(900px,calc(100vh - 28px));border-color:rgba(124,190,255,.34);background:radial-gradient(circle at 82% 5%,rgba(82,114,255,.16),transparent 32%),radial-gradient(circle at 8% 90%,rgba(155,78,255,.10),transparent 34%),#050914;overflow:auto}
.patch-dialog-shell{position:relative;padding:28px}.patch-dialog-head{display:flex;justify-content:space-between;align-items:end;gap:22px;padding-right:48px}.patch-dialog-head>div:first-child>span,.patch-section-head span{font-size:8px;letter-spacing:2.2px;color:#8fdfff;font-weight:900}.patch-dialog-head h2{font-size:34px;line-height:1;margin:6px 0 9px}.patch-dialog-head p{font-size:10px;color:var(--muted)}.patch-version{min-width:112px;display:grid;text-align:right}.patch-version small{font-size:7px;color:#687c95;letter-spacing:1.5px}.patch-version b{font-size:12px;color:#c9bcff;letter-spacing:1.8px}
.patch-hero{margin-top:22px;border:1px solid rgba(99,183,255,.22);border-radius:17px;padding:21px;display:grid;grid-template-columns:1fr 130px;gap:20px;align-items:center;background:linear-gradient(130deg,rgba(21,65,105,.22),rgba(66,28,116,.16));position:relative;overflow:hidden}.patch-hero:after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:-80px;top:-90px;background:radial-gradient(circle,rgba(95,219,255,.12),transparent 66%);pointer-events:none}.patch-hero>div:first-child{position:relative;z-index:1}.patch-hero>div:first-child>span{font-size:8px;color:#7adfff;letter-spacing:1.8px;font-weight:900}.patch-hero h3{font-size:25px;line-height:1.2;margin:6px 0}.patch-hero p{font-size:10px;color:#9dafc4}.patch-overall{position:relative;z-index:1;display:grid;text-align:center;padding:13px;border:1px solid rgba(104,214,255,.22);border-radius:13px;background:rgba(5,17,31,.62)}.patch-overall small{font-size:7px;letter-spacing:2px;color:#6d8199}.patch-overall strong{font-size:34px;line-height:1.15;color:#8fe8ff}.patch-overall strong.negative{color:#ff8ca4}.patch-overall span{font-size:8px;color:#6d829a}
.patch-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:12px}.patch-summary-grid article{display:grid;padding:14px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(145deg,rgba(10,20,38,.84),rgba(6,11,24,.9))}.patch-summary-grid span{font-size:7px;color:#70839a;letter-spacing:1.5px}.patch-summary-grid strong{font-size:22px;line-height:1.2;margin-top:4px}.patch-summary-grid article:first-child strong{color:#8fe8ff}.patch-summary-grid article:nth-child(2) strong{color:#ffb0c1}.patch-summary-grid small{font-size:8px;color:#6f8197;margin-top:3px}
.patch-core-card,.patch-analysis-card{margin-top:12px;border:1px solid var(--line);border-radius:16px;padding:18px;background:linear-gradient(145deg,rgba(9,18,35,.88),rgba(5,10,22,.92))}.patch-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px}.patch-section-head h3{font-size:18px;margin-top:2px}.patch-section-head>small{font-size:7px;color:#63768e;letter-spacing:1.4px}.patch-core-list{display:grid;gap:8px;margin-top:13px}.patch-core-row{display:grid;grid-template-columns:minmax(130px,1fr) 70px minmax(150px,1.6fr) 66px;gap:12px;align-items:center;padding:11px 12px;border:1px solid rgba(112,164,226,.11);border-radius:11px;background:rgba(7,14,28,.62)}.patch-core-row>div:first-child{display:grid}.patch-core-row>div:first-child span{font-size:7px;color:#657890;letter-spacing:1.2px}.patch-core-row>div:first-child b{font-size:10px}.patch-core-values{font-size:9px;color:#8da0b5;text-align:center}.patch-core-track{height:5px;background:#111d31;border-radius:20px;overflow:hidden;position:relative}.patch-core-track i{display:block;height:100%;background:linear-gradient(90deg,#5fd9ff,#9e83ff);border-radius:20px}.patch-core-delta{text-align:right;font-size:11px;color:#8fe8ff}.patch-core-delta.negative{color:#ff8ca4}.patch-core-delta.neutral{color:#70839a}.patch-empty{padding:22px;text-align:center;font-size:9px;color:#718299}
.patch-analysis{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:13px}.patch-analysis article{padding:14px;border:1px solid rgba(112,164,226,.11);border-radius:11px;background:rgba(7,14,28,.62)}.patch-analysis article span{display:block;font-size:7px;letter-spacing:1.4px;color:#7ddfff}.patch-analysis article b{display:block;font-size:11px;margin:5px 0 3px}.patch-analysis article p{font-size:9px;color:#8194aa}.patch-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.patch-actions button{padding:10px 15px;font-size:9px}
@media(max-width:760px){.patch-dialog{width:calc(100% - 16px);max-height:calc(100vh - 16px)}.patch-dialog-shell{padding:22px 14px 16px}.patch-dialog-head{align-items:flex-start;flex-direction:column;padding-right:42px;gap:10px}.patch-dialog-head h2{font-size:29px}.patch-version{text-align:left}.patch-hero{grid-template-columns:1fr}.patch-overall{text-align:left}.patch-summary-grid{grid-template-columns:repeat(2,1fr)}.patch-core-row{grid-template-columns:1fr auto}.patch-core-track{grid-column:1/3}.patch-core-delta{grid-row:1;grid-column:2}.patch-core-values{display:none}.patch-analysis{grid-template-columns:1fr}.patch-actions{display:grid;grid-template-columns:1fr 1fr}.patch-actions button{width:100%}}


/* ===== LIVN+ GHOST PLAYER V1 ===== */
.ghost-dialog{width:min(940px,calc(100% - 28px));max-height:min(900px,calc(100vh - 28px));border-color:rgba(192,108,255,.38);background:radial-gradient(circle at 14% 6%,rgba(132,71,255,.17),transparent 31%),radial-gradient(circle at 88% 82%,rgba(71,199,255,.11),transparent 34%),#050914;overflow:auto}
.ghost-dialog-shell{position:relative;padding:28px}
.ghost-dialog-head{display:flex;align-items:end;justify-content:space-between;gap:22px;padding-right:48px}.ghost-dialog-head>div:first-child>span,.ghost-section-head span{font-size:8px;letter-spacing:2.2px;color:#c4a8ff;font-weight:900}.ghost-dialog-head h2{font-size:34px;line-height:1;margin:6px 0 9px}.ghost-dialog-head p{font-size:10px;color:var(--muted)}
.ghost-range{display:flex;gap:6px;flex-wrap:wrap}.ghost-range button{border:1px solid var(--line);border-radius:9px;background:rgba(8,17,33,.78);color:#8798af;padding:8px 11px;font-size:8px;font-weight:800}.ghost-range button.active{border-color:rgba(190,111,255,.5);background:linear-gradient(110deg,rgba(90,48,167,.62),rgba(18,87,129,.42));color:#fff;box-shadow:0 0 20px rgba(117,86,255,.08)}
.ghost-duel{display:grid;grid-template-columns:1fr 140px 1fr;gap:12px;align-items:stretch;margin-top:22px}.ghost-player,.ghost-vs-core{border:1px solid var(--line);border-radius:17px;background:linear-gradient(145deg,rgba(10,18,36,.88),rgba(5,10,23,.94));padding:20px;position:relative;overflow:hidden}.ghost-player:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;top:-88px;right:-72px;background:radial-gradient(circle,rgba(154,103,255,.11),transparent 66%);pointer-events:none}.ghost-player-now{border-color:rgba(91,216,255,.24)}.ghost-player>span{font-size:7px;letter-spacing:2px;color:#8f79c9;font-weight:900}.ghost-player-now>span{color:#6edfff}.ghost-player>small{display:block;font-size:8px;color:#667991;margin-top:8px}.ghost-player>strong{display:block;font-size:48px;line-height:1;margin-top:10px;letter-spacing:-2px;color:#d8c7ff}.ghost-player-now>strong{color:#8fe8ff}.ghost-player>b{display:block;font-size:8px;color:#6d8098;letter-spacing:1.2px;margin-top:3px}.ghost-player>div{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding-top:12px;border-top:1px solid rgba(112,164,226,.11)}.ghost-player>div small{font-size:7px;color:#65778f;letter-spacing:1.4px}.ghost-player>div em{font-style:normal;font-size:10px;color:#e9f2ff;font-weight:900}
.ghost-vs-core{display:grid;place-items:center;align-content:center;text-align:center;background:radial-gradient(circle,rgba(139,68,255,.15),transparent 62%),rgba(6,10,23,.9);border-color:rgba(170,103,255,.25)}.ghost-vs-core>span{font-size:6px;letter-spacing:2px;color:#715e9f}.ghost-vs-core>strong{font-size:34px;line-height:1;margin:8px 0 9px;color:#bd9cff;text-shadow:0 0 24px rgba(160,87,255,.2)}.ghost-vs-core>b{font-size:17px;color:#8fe8ff}.ghost-vs-core>b.negative{color:#ff8ca4}.ghost-vs-core>small{font-size:6px;letter-spacing:1.7px;color:#66788f;margin-top:3px}
.ghost-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:12px}.ghost-summary-grid article{display:grid;padding:14px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(145deg,rgba(10,20,38,.84),rgba(6,11,24,.9))}.ghost-summary-grid span{font-size:7px;color:#70839a;letter-spacing:1.4px}.ghost-summary-grid strong{font-size:23px;line-height:1.2;margin-top:4px}.ghost-summary-grid article:first-child strong,.ghost-summary-grid article:nth-child(2) strong{color:#8fe8ff}.ghost-summary-grid strong.negative{color:#ff8ca4!important}.ghost-summary-grid small{font-size:8px;color:#6f8197;margin-top:3px}
.ghost-core-card,.ghost-analysis-card{margin-top:12px;border:1px solid var(--line);border-radius:16px;padding:18px;background:linear-gradient(145deg,rgba(9,18,35,.88),rgba(5,10,22,.92))}.ghost-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px}.ghost-section-head h3{font-size:18px;margin-top:2px}.ghost-section-head>small{font-size:7px;color:#63768e;letter-spacing:1.4px}
.ghost-core-list{display:grid;gap:8px;margin-top:13px}.ghost-core-row{display:grid;grid-template-columns:minmax(118px,1fr) 56px minmax(145px,1.5fr) 56px 72px;gap:10px;align-items:center;padding:11px 12px;border:1px solid rgba(112,164,226,.11);border-radius:11px;background:rgba(7,14,28,.62)}.ghost-core-row.win{border-color:rgba(97,225,255,.18)}.ghost-core-row.loss{border-color:rgba(255,113,143,.16)}.ghost-core-name{display:grid}.ghost-core-name span{font-size:7px;color:#657890;letter-spacing:1.2px}.ghost-core-name b{font-size:10px}.ghost-core-score{display:grid;text-align:center}.ghost-core-score small{font-size:6px;color:#66788f}.ghost-core-score strong{font-size:17px;line-height:1.1}.ghost-core-score.past strong{color:#baa2ed}.ghost-core-score.now strong{color:#84e6ff}.ghost-core-bars{display:grid;gap:5px}.ghost-core-bars i{display:block;height:4px;background:#111d31;border-radius:20px;overflow:hidden}.ghost-core-bars i b{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,#7358c3,#b391ff)}.ghost-core-bars i:last-child b{background:linear-gradient(90deg,#5fd9ff,#9e83ff)}.ghost-core-result{display:grid;text-align:right}.ghost-core-result b{font-size:6px;letter-spacing:1.2px;color:#65778e}.ghost-core-result strong{font-size:11px;color:#8fe8ff}.ghost-core-row.loss .ghost-core-result strong{color:#ff8ca4}.ghost-core-row.tie .ghost-core-result strong{color:#71839a}.ghost-empty{padding:24px;text-align:center;font-size:9px;color:#718299}
.ghost-analysis{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:13px}.ghost-analysis article{padding:14px;border:1px solid rgba(112,164,226,.11);border-radius:11px;background:rgba(7,14,28,.62)}.ghost-analysis article span{display:block;font-size:7px;letter-spacing:1.4px;color:#bda4ff}.ghost-analysis article b{display:block;font-size:11px;margin:5px 0 3px}.ghost-analysis article p{font-size:9px;color:#8194aa}
.ghost-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.ghost-actions button{padding:10px 15px;font-size:9px}
@media(max-width:760px){.ghost-dialog{width:calc(100% - 16px);max-height:calc(100vh - 16px)}.ghost-dialog-shell{padding:22px 14px 16px}.ghost-dialog-head{align-items:flex-start;flex-direction:column;padding-right:42px;gap:12px}.ghost-dialog-head h2{font-size:29px}.ghost-range{width:100%}.ghost-range button{flex:1}.ghost-duel{grid-template-columns:1fr 76px 1fr;gap:7px}.ghost-player,.ghost-vs-core{padding:14px 10px}.ghost-player>strong{font-size:32px}.ghost-vs-core>strong{font-size:25px}.ghost-vs-core>b{font-size:12px}.ghost-summary-grid{grid-template-columns:repeat(2,1fr)}.ghost-core-row{grid-template-columns:1fr 48px 48px 58px}.ghost-core-bars{grid-column:1/5}.ghost-core-score.past{grid-column:2}.ghost-core-score.now{grid-column:3}.ghost-core-result{grid-column:4;grid-row:1}.ghost-analysis{grid-template-columns:1fr}.ghost-actions{display:grid;grid-template-columns:1fr 1fr}.ghost-actions button{width:100%}}
\n\n/* ===== LIVN+ COACH MEMORY V1 ===== */
.memory-dialog{width:min(960px,calc(100% - 28px));max-height:min(910px,calc(100vh - 28px));border-color:rgba(113,212,255,.28);background:radial-gradient(circle at 13% 8%,rgba(69,190,255,.13),transparent 31%),radial-gradient(circle at 88% 15%,rgba(142,83,255,.14),transparent 31%),#050914;overflow:auto}
.memory-dialog-shell{position:relative;padding:28px}.memory-dialog-head{display:flex;align-items:end;justify-content:space-between;gap:22px;padding-right:48px}.memory-dialog-head>div:first-child>span,.memory-section-head span,.memory-timeline-head>div>span{font-size:8px;letter-spacing:2.2px;color:#77ddff;font-weight:900}.memory-dialog-head h2{font-size:34px;line-height:1;margin:6px 0 9px}.memory-dialog-head p{font-size:10px;color:var(--muted);max-width:650px}.memory-live{display:grid;grid-template-columns:9px auto;gap:2px 7px;align-items:center;text-align:right;min-width:112px}.memory-live i{width:7px;height:7px;border-radius:50%;background:#6fffc2;box-shadow:0 0 13px rgba(111,255,194,.72);grid-row:1/3}.memory-live span{font-size:6px;letter-spacing:1.4px;color:#697d94}.memory-live b{font-size:11px;color:#87ffd0;letter-spacing:1px}
.memory-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:22px}.memory-summary-grid article{display:grid;padding:14px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(145deg,rgba(10,20,38,.84),rgba(6,11,24,.9))}.memory-summary-grid span{font-size:7px;color:#70839a;letter-spacing:1.4px}.memory-summary-grid strong{font-size:21px;line-height:1.2;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.memory-summary-grid article:first-child strong,.memory-summary-grid article:nth-child(2) strong{color:#8fe8ff}.memory-summary-grid strong.alert{color:#ff8ca4!important}.memory-summary-grid small{font-size:8px;color:#6f8197;margin-top:3px}
.memory-insight-card,.memory-timeline-card{margin-top:12px;border:1px solid var(--line);border-radius:16px;padding:18px;background:linear-gradient(145deg,rgba(9,18,35,.88),rgba(5,10,22,.92))}.memory-section-head,.memory-timeline-head{display:flex;align-items:end;justify-content:space-between;gap:16px}.memory-section-head h3,.memory-timeline-head h3{font-size:18px;margin-top:2px}.memory-section-head>small{font-size:7px;color:#63768e;letter-spacing:1.4px}.memory-insights{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:13px}.memory-insight{padding:14px;border:1px solid rgba(112,164,226,.11);border-radius:11px;background:rgba(7,14,28,.62)}.memory-insight span{display:block;font-size:7px;letter-spacing:1.4px;color:#7ddfff}.memory-insight b{display:block;font-size:11px;margin:5px 0 3px}.memory-insight p{font-size:9px;color:#8194aa}.memory-insight.success{border-color:rgba(111,255,194,.16)}.memory-insight.success span,.memory-insight.success b{color:#85f0c2}.memory-insight.alert{border-color:rgba(255,113,143,.18)}.memory-insight.alert span,.memory-insight.alert b{color:#ff9bb0}
.memory-filter-tabs{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.memory-filter-tabs button{border:1px solid var(--line);border-radius:9px;background:rgba(8,17,33,.78);color:#8798af;padding:7px 9px;font-size:7px;font-weight:800}.memory-filter-tabs button.active{border-color:rgba(93,216,255,.45);background:linear-gradient(110deg,rgba(29,104,142,.55),rgba(75,47,145,.42));color:#fff}.memory-timeline-caption{display:block;margin-top:9px;color:#64778f;font-size:7px;letter-spacing:1px}.memory-timeline{display:grid;margin-top:8px;max-height:350px;overflow:auto;padding-right:4px}.memory-event{display:grid;grid-template-columns:18px 1fr;gap:8px;position:relative;padding:10px 0}.memory-event:before{content:"";position:absolute;left:5px;top:24px;bottom:-11px;width:1px;background:rgba(112,164,226,.14)}.memory-event:last-child:before{display:none}.memory-event-dot{width:11px;height:11px;border-radius:50%;margin-top:4px;border:2px solid #5dd8ff;background:#081323;box-shadow:0 0 10px rgba(93,216,255,.18);z-index:2}.memory-event.success .memory-event-dot{border-color:#6fffc2}.memory-event.alert .memory-event-dot{border-color:#ff718f}.memory-event.scan .memory-event-dot{border-color:#a98aff}.memory-event-main{padding:0 0 10px;border-bottom:1px solid rgba(112,164,226,.09)}.memory-event-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.memory-event-meta span{font-size:7px;color:#667991}.memory-event-meta b{font-size:6px;letter-spacing:1px;color:#9de6ff;border:1px solid rgba(93,216,255,.18);border-radius:20px;padding:2px 6px}.memory-event-meta small{font-size:7px;color:#aa8fff}.memory-event-main p{font-size:9px;color:#a8b8cb;margin-top:5px}.memory-empty{padding:28px;text-align:center;color:#718299;font-size:9px}.memory-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.memory-dialog-actions button{padding:10px 15px;font-size:9px}
@media(max-width:760px){.memory-dialog{width:calc(100% - 16px);max-height:calc(100vh - 16px)}.memory-dialog-shell{padding:22px 14px 16px}.memory-dialog-head{align-items:flex-start;flex-direction:column;padding-right:42px;gap:10px}.memory-dialog-head h2{font-size:29px}.memory-live{text-align:left}.memory-summary-grid{grid-template-columns:repeat(2,1fr)}.memory-insights{grid-template-columns:1fr}.memory-timeline-head{align-items:flex-start;flex-direction:column}.memory-filter-tabs{justify-content:flex-start;width:100%}.memory-filter-tabs button{flex:1}.memory-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.memory-dialog-actions button{width:100%}}


/* ===== LIVN COACH V14 / PLAN UI + RESPONSIVE FINAL PASS ===== */
/* FREE users see the real feature preview. Only the interaction is locked. */
body:not(.livn-plus-active) .quest-card.plus-lock.locked{opacity:1;cursor:pointer}
body:not(.livn-plus-active) .quest-card.plus-lock>*{filter:saturate(.78);opacity:.78}
body:not(.livn-plus-active) .quest-card.plus-lock .quest-actions button{position:relative!important;z-index:24;opacity:1;filter:none;background:rgba(49,31,96,.72);border-color:rgba(174,132,255,.42);color:#e1d7ff}
body:not(.livn-plus-active) .quest-card.plus-lock::before{background:linear-gradient(145deg,rgba(5,8,18,.22),rgba(31,18,62,.38));backdrop-filter:blur(.8px);-webkit-backdrop-filter:blur(.8px)}
body:not(.livn-plus-active) .quest-card.plus-lock::after{top:50%;padding:10px 15px;font-size:9px;line-height:1.55}
body:not(.livn-plus-active) .plus-lock{cursor:pointer}
body:not(.livn-plus-active) .plus-lock button{position:relative;z-index:24}

/* Plan status is visually consistent everywhere. */
.plan-badge,#stagePlan{transition:.2s ease}
body:not(.livn-plus-active) .plan-badge{color:#9db0c8;background:rgba(8,16,30,.58)}
body.livn-plus-active .plan-badge{background:linear-gradient(105deg,rgba(92,45,166,.24),rgba(33,120,166,.20));border-color:rgba(174,129,255,.48)}

/* Keep all Plus cards compact and aligned after they unlock. */
.hub-grid>.plus-unlocked,.profile-grid>.plus-unlocked,.coach-memory.plus-unlocked{height:auto;min-height:235px;align-self:start}
.coach-memory.plus-unlocked{min-height:300px}
.profile-grid>.plus-unlocked{min-height:250px}
.plus-unlocked .lock-tag{width:max-content}

/* Dialogs: safer scrolling on smaller screens and mobile browsers. */
.boss-dialog,.history-dialog,.patch-dialog,.ghost-dialog,.memory-dialog,.plus-dialog,.mission-dialog{overscroll-behavior:contain}
.boss-dialog-shell,.history-dialog-shell,.patch-dialog-shell,.ghost-dialog-shell,.memory-dialog-shell{min-width:0}

/* Tablet */
@media (min-width:761px) and (max-width:1100px){
  .app-shell{grid-template-columns:205px minmax(0,1fr)}
  .side-rail{padding:24px 14px}
  .main-stage{padding:26px 22px 64px}
  .stage-head h2{font-size:29px}
  .hero-status{grid-template-columns:minmax(0,1fr) 170px;gap:20px}
  .focus-core{width:155px;height:155px}
  .hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .boss{grid-template-columns:minmax(0,1fr) 96px;gap:16px}
  .boss>button{grid-column:1/-1;width:100%}
  .profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .profile-grid>:last-child{grid-column:1/-1}
  .history-summary-grid,.patch-summary-grid,.ghost-summary-grid,.memory-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .patch-analysis,.ghost-analysis,.memory-insights{grid-template-columns:1fr 1fr}
}

/* Smartphone */
@media (max-width:760px){
  .topbar{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
  .top-actions{gap:7px}
  .plan-badge{font-size:8px;letter-spacing:1.3px;padding:5px 8px}
  .side-rail{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}
  .app-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:2px}
  .app-nav button{min-width:0;padding:9px 2px}
  .app-nav button b{font-size:8px;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .main-stage{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(64px,calc(44px + env(safe-area-inset-bottom)))}
  .stage-head{gap:12px}
  .stage-meta{min-width:max-content}
  .section-head.large{align-items:flex-start;gap:12px}
  .section-head.large>div{min-width:0}
  .section-head.large h3{font-size:21px;line-height:1.25}
  .hero-copy h3{font-size:clamp(31px,10vw,44px)}
  .hero-status{min-height:0}
  .hub-grid>.panel{min-height:220px;padding:19px}
  .mission-footer{left:19px;right:19px;bottom:18px;gap:8px}
  .mission-footer span{max-width:56%}
  .quest-card{padding:17px 15px;gap:12px;grid-template-columns:52px minmax(0,1fr)}
  .quest-rank{width:50px;height:50px;border-radius:13px}
  .quest-body h3{font-size:16px;line-height:1.35}
  .quest-actions{justify-content:space-between;flex-wrap:wrap}
  .quest-actions button{margin-left:auto}
  .boss{padding:20px;gap:12px}
  .boss h3{font-size:21px;line-height:1.3}
  .boss-mark{display:flex;gap:8px;align-items:center}
  .boss.plus-unlocked button,.boss>button{width:100%!important}
  body:not(.livn-plus-active) .plus-lock::after{max-width:calc(100% - 24px);letter-spacing:1px}
  body:not(.livn-plus-active) .quest-card.plus-lock::after{top:48%;font-size:8px;padding:9px 12px}
  .coach-memory.plus-unlocked,.profile-grid>.plus-unlocked{min-height:0}
  .history-chart-wrap{min-width:0;overflow:hidden}
  .history-chart{max-width:100%}
  .plus-dialog,.mission-dialog{width:calc(100% - 16px);max-height:calc(100vh - 16px);overflow:auto}
  .plus-dialog form,.mission-dialog form{padding:24px 15px 18px}
}

@media (max-width:430px){
  .brand span{display:none}
  .stage-head h2{font-size:22px}
  .stage-meta{gap:8px}
  .stage-meta div:last-child span{display:none}
  .core-grid{gap:7px}
  .core-card{padding:14px 11px}
  .hub-grid>.panel{min-height:205px}
  .quest-actions small{display:none}
  .history-summary-grid,.patch-summary-grid,.ghost-summary-grid,.memory-summary-grid{grid-template-columns:1fr 1fr}
  .patch-actions,.ghost-actions,.memory-dialog-actions{grid-template-columns:1fr}
}

/* ===== V15 PERSONAL SKILL TREE ===== */
.tree-node.selected{border-color:rgba(93,216,255,.72);box-shadow:0 0 0 1px rgba(93,216,255,.12),0 0 28px rgba(93,216,255,.08)}
.tree-node-progress{display:block;height:3px;margin-top:10px;background:#101c30;border-radius:8px;overflow:hidden}
.tree-node-progress b{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--violet))}
.skill-route{position:relative;z-index:3;margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}
.skill-route-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}
.skill-route-head span{font-size:7px;letter-spacing:2px;color:var(--cyan);font-weight:800}
.skill-route-head h4{font-size:20px;margin-top:2px}
.skill-route-head p{font-size:9px;color:var(--muted);margin-top:3px}
.skill-route-total{display:flex;align-items:end;gap:5px;white-space:nowrap}.skill-route-total b{font-size:30px;line-height:1;color:var(--cyan)}.skill-route-total span{font-size:8px;color:#6f8098;padding-bottom:3px}
.skill-route-line{display:grid;grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr) 26px minmax(0,1fr) 26px minmax(0,1fr) 26px minmax(0,1fr);align-items:center;gap:0}
.skill-route-connector{height:1px;background:linear-gradient(90deg,rgba(93,216,255,.42),rgba(149,111,255,.22))}
.skill-route-node{position:relative;min-width:0;min-height:132px;padding:14px 12px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(145deg,rgba(10,24,44,.96),rgba(5,11,24,.96));color:#fff;text-align:left;display:flex;flex-direction:column;gap:5px;transition:.18s;overflow:hidden}
.skill-route-node:hover,.skill-route-node.focused{transform:translateY(-1px);border-color:rgba(93,216,255,.55)}
.skill-route-node>span{font-size:6px;color:#6d8098;letter-spacing:1.5px}.skill-route-node>b{font-size:11px;line-height:1.35;min-height:30px}.skill-route-node>i{display:block;height:4px;background:#101c30;border-radius:8px;overflow:hidden;margin-top:auto}.skill-route-node>i em{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--violet))}.skill-route-node>small{font-size:7px;color:var(--cyan);font-weight:800;letter-spacing:.7px}.skill-route-node>u{position:absolute;inset:auto 8px 8px;text-decoration:none;text-align:center;padding:5px 4px;border-radius:7px;background:rgba(48,30,94,.86);border:1px solid rgba(149,111,255,.28);font-size:6px;color:#c4b4ff}
.skill-route-node.cleared{border-color:rgba(111,255,194,.38);background:linear-gradient(145deg,rgba(12,40,40,.84),rgba(5,18,24,.94))}.skill-route-node.cleared>small{color:var(--good)}.skill-route-node.cleared:after{content:"✓";position:absolute;right:10px;top:8px;color:var(--good);font-weight:900}
.skill-route-node.ready{border-color:rgba(93,216,255,.7);box-shadow:inset 0 0 22px rgba(93,216,255,.06)}
.skill-route-node.route-locked{filter:saturate(.4);opacity:.52}.skill-route-node.plus-locked{filter:saturate(.55);opacity:.72;border-color:rgba(149,111,255,.32)}
.skill-route-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.skill-route-stats span{border:1px solid var(--line);background:#071323;border-radius:20px;padding:5px 9px;font-size:6px;color:#6d8098;letter-spacing:.8px}.skill-route-stats b{color:#d8edff;margin-left:3px;font-size:8px}
.tree-detail-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.tree-detail-top>p{color:var(--cyan);font-size:7px;font-weight:800;letter-spacing:2px}.skill-node-state{font-size:6px;letter-spacing:1px;padding:5px 7px;border:1px solid var(--line);border-radius:20px;color:#8799b0}.skill-node-state.ready{color:var(--cyan);border-color:rgba(93,216,255,.42)}.skill-node-state.clear{color:var(--good);border-color:rgba(111,255,194,.34)}
.skill-node-heading{border-top:1px solid var(--line);padding-top:16px;margin-top:18px}.skill-node-heading span{font-size:7px;color:#6d8098;letter-spacing:1.4px}.skill-node-heading b{display:block;font-size:15px;margin-top:3px}.skill-node-description{font-size:10px!important;color:#9bacbf!important;margin-top:8px}
.skill-node-progress-large{margin-top:18px}.skill-node-progress-large>div{display:flex;justify-content:space-between;align-items:end}.skill-node-progress-large span{font-size:7px;color:#6d8098}.skill-node-progress-large b{font-size:16px;color:var(--cyan)}.skill-node-progress-large>i{display:block;height:5px;background:#101c30;border-radius:10px;overflow:hidden;margin-top:6px}.skill-node-progress-large>i em{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--violet))}
.skill-requirements{display:grid;gap:8px;margin-top:16px}.skill-requirement{padding:9px 10px;border:1px solid rgba(112,164,226,.15);border-radius:9px;background:rgba(5,13,26,.65)}.skill-requirement>div{display:flex;justify-content:space-between;gap:8px}.skill-requirement span{font-size:7px;color:#8293a9}.skill-requirement b{font-size:8px;color:#d9e9fb}.skill-requirement>i{display:block;height:3px;background:#101c30;border-radius:8px;overflow:hidden;margin-top:6px}.skill-requirement>i em{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--violet))}
.tree-claim-button{width:100%;margin-top:16px;border:1px solid rgba(93,216,255,.45);border-radius:10px;padding:11px 10px;background:linear-gradient(105deg,rgba(50,129,163,.22),rgba(72,61,153,.22));color:#dff7ff;font-size:8px;font-weight:800;letter-spacing:.7px}.tree-claim-button:hover:not(:disabled){border-color:var(--cyan)}.tree-claim-button:disabled{opacity:.48;cursor:not-allowed}.tree-claim-button.plus:not(:disabled){border-color:rgba(149,111,255,.42);color:#c5b8ff;background:rgba(62,38,127,.18)}
.tree-plus-preview{margin-top:9px;padding:10px;border:1px solid rgba(149,111,255,.22);border-radius:9px;background:rgba(43,27,88,.14);display:grid;gap:2px}.tree-plus-preview strong{font-size:7px;color:#bba9ff;letter-spacing:1px}.tree-plus-preview span{font-size:7px;color:#7d719e}

@media(max-width:1100px){.skill-route-line{grid-template-columns:1fr 18px 1fr 18px 1fr;row-gap:14px}.skill-route-line .skill-route-node:nth-of-type(4),.skill-route-line .skill-route-node:nth-of-type(5){grid-row:3}.skill-route-line .skill-route-connector:nth-of-type(n+4){display:none}}
@media(max-width:760px){.skill-tree{padding:20px 14px;min-height:0}.skill-route-head{align-items:flex-start}.skill-route-line{display:grid;grid-template-columns:1fr;gap:9px}.skill-route-connector{width:1px;height:12px;margin:0 auto}.skill-route-node{min-height:105px}.skill-route-line .skill-route-node:nth-of-type(4),.skill-route-line .skill-route-node:nth-of-type(5){grid-row:auto}.skill-route-line .skill-route-connector:nth-of-type(n+4){display:block}.skill-route-stats{gap:5px}.tree-detail{padding:20px}}
@media(max-width:400px){.skill-route-head{display:grid;grid-template-columns:1fr auto}.skill-route-head p{grid-column:1/-1}.skill-route-total b{font-size:24px}}


/* ===== V16 TITLES & BADGES ===== */
.player-mini>div:last-child em{font-style:normal;font-size:7px;color:#b9aaff;letter-spacing:.8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.achievement-panel{margin-top:18px;padding:24px;overflow:hidden;position:relative}
.achievement-panel:before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-150px;top:-190px;background:radial-gradient(circle,rgba(149,111,255,.12),transparent 68%);pointer-events:none}
.achievement-head{position:relative;z-index:2;display:flex;align-items:end;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:18px}
.achievement-head>div:first-child>span,.achievement-section-head span{font-size:7px;letter-spacing:2px;color:var(--cyan);font-weight:800}.achievement-head h3{font-size:23px;margin-top:2px}.achievement-head p{font-size:9px;color:var(--muted);margin-top:3px}
.achievement-counter{display:grid;text-align:right}.achievement-counter b{font-size:34px;line-height:1;color:#c6b8ff}.achievement-counter span{font-size:6px;letter-spacing:1.5px;color:#746a93;margin-top:3px}
.equipped-build{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px;margin-top:18px}
.equipped-title,.equipped-badges{border:1px solid rgba(149,111,255,.22);border-radius:14px;background:linear-gradient(145deg,rgba(42,28,81,.22),rgba(7,15,29,.82));padding:16px}
.equipped-title>span,.equipped-badges>span{display:block;font-size:7px;color:#81759e;letter-spacing:1.2px}.equipped-title strong{display:block;font-size:20px;color:#fff;margin-top:7px;letter-spacing:.3px}.equipped-title small{display:block;font-size:7px;color:#6f8098;margin-top:3px}
#equippedBadgeSlots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}#equippedBadgeSlots button,.empty-badge{min-height:62px;border:1px solid var(--line);border-radius:10px;background:#071323;color:#fff;display:grid;place-items:center;align-content:center;gap:2px;padding:7px;text-align:center}#equippedBadgeSlots button{cursor:pointer}#equippedBadgeSlots button:hover{border-color:rgba(93,216,255,.5)}#equippedBadgeSlots b,.empty-badge b{font-size:17px;color:var(--cyan);line-height:1}#equippedBadgeSlots span,.empty-badge span{font-size:5px;color:#7b8ca2;letter-spacing:.6px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-badge{opacity:.48}.empty-badge b{color:#52647b}
.achievement-columns{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.achievement-section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:10px}.achievement-section-head b{font-size:13px}
.title-collection,.badge-collection{display:grid;gap:8px}.title-card,.badge-card{position:relative;width:100%;border:1px solid rgba(112,164,226,.17);border-radius:12px;background:linear-gradient(145deg,rgba(8,20,37,.94),rgba(5,11,23,.94));color:#fff;text-align:left;transition:.16s;overflow:hidden}.title-card{padding:13px 14px}.title-card:hover,.badge-card:hover{border-color:rgba(93,216,255,.46);transform:translateY(-1px)}.title-card>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.title-card>div span{font-size:11px;font-weight:800;letter-spacing:.4px}.title-card>div em{font-style:normal;font-size:6px;color:#b7a3ff;letter-spacing:.8px}.title-card p{font-size:7px;color:#7789a0;margin-top:3px}.title-card>i,.badge-card i{display:block;height:3px;background:#101c30;border-radius:6px;overflow:hidden;margin-top:9px}.title-card>i b,.badge-card i b{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--violet))}.title-card>small{display:block;font-size:6px;color:#6e8098;margin-top:5px;letter-spacing:.5px}.title-card.unlocked{border-color:rgba(111,255,194,.22)}.title-card.equipped{border-color:rgba(93,216,255,.62);box-shadow:inset 0 0 24px rgba(93,216,255,.05)}.title-card.equipped:after{content:"EQUIPPED";position:absolute;right:10px;bottom:8px;font-size:5px;color:var(--cyan);letter-spacing:1px}.title-card.plus-locked,.badge-card.plus-locked{filter:saturate(.65)}.title-card>u,.badge-card>u{position:absolute;inset:0;display:grid;place-items:center;text-decoration:none;background:rgba(6,8,17,.48);backdrop-filter:blur(1.5px);font-size:7px;font-weight:800;letter-spacing:.7px;color:#d3c8ff;pointer-events:none}
.badge-card{min-height:78px;padding:10px;display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;align-items:center}.badge-card>strong{width:48px;height:48px;border-radius:13px;border:1px solid rgba(93,216,255,.22);background:radial-gradient(circle at 35% 25%,rgba(93,216,255,.12),rgba(9,19,36,.9));display:grid;place-items:center;font-size:18px;color:#a9eaff}.badge-card>div{min-width:0}.badge-card>div>span{font-size:9px;font-weight:800}.badge-card>div>p{font-size:6px;color:#75879f;margin-top:1px}.badge-card>div>small{display:block;font-size:6px;color:#708198;margin-top:4px}.badge-card>em{position:absolute;right:8px;top:7px;font-style:normal;color:#b79cff;font-size:8px}.badge-card.unlocked>strong{border-color:rgba(111,255,194,.26);color:var(--good)}.badge-card.equipped{border-color:rgba(93,216,255,.62)}.badge-card.equipped>strong{box-shadow:0 0 18px rgba(93,216,255,.08)}
@media(max-width:900px){.achievement-columns{grid-template-columns:1fr}.equipped-build{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.achievement-panel{padding:18px 14px}.achievement-head{align-items:flex-start}.achievement-head h3{font-size:20px}.achievement-head p{max-width:230px}.achievement-counter b{font-size:28px}.equipped-build{grid-template-columns:1fr}.achievement-columns{gap:14px}.badge-card{grid-template-columns:43px minmax(0,1fr)}.badge-card>strong{width:43px;height:43px}.title-card>u,.badge-card>u{font-size:6px}}
