:root{--bg:#060a14;--bg-2:#0a1122;--panel:#0d162cd9;--line:#4fb7ff40;--glow:#4fb7ff;--glow-soft:#4fb7ff24;--text:#d7e3f4;--text-dim:#8b9bb4;--accent:#4fb7ff;--success:#5dd6a2;--gold:#ffd84d;--danger:#ff6b6b;--bright:#fff;--field:var(--field);--field-soft:var(--field-soft);--field-strong:var(--field-strong);--topbar-bg:#060a14b3;--font-display:"Orbitron", sans-serif;--font-body:"Rajdhani", sans-serif}[data-theme=light]{--bg:#edf2f9;--bg-2:#e2eaf5;--panel:#ffffffe0;--line:#1e78c84d;--glow:#1e78c8;--glow-soft:#1e78c81f;--text:#24364f;--text-dim:#5b7392;--accent:#1a6cb8;--success:#1e9e66;--gold:#a87b00;--danger:#d5484f;--bright:#0b1c33;--field:#fff;--field-soft:#1e78c80d;--field-strong:#fffffff7;--topbar-bg:#fffc}*{box-sizing:border-box}body{background:radial-gradient(ellipse 80% 50% at 50% -10%, #4fb7ff1f, transparent), radial-gradient(ellipse 60% 40% at 90% 110%, #b18cff14, transparent), var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-body);margin:0;font-size:17px;line-height:1.45;overflow-x:hidden}#root{min-height:100vh}.feed-list,.chat-log,.report-panel{scrollbar-width:thin;scrollbar-color:#4fb7ff59 transparent}.feed-list::-webkit-scrollbar{width:5px}.chat-log::-webkit-scrollbar{width:5px}.report-panel::-webkit-scrollbar{width:5px}.feed-list::-webkit-scrollbar-track{background:0 0}.chat-log::-webkit-scrollbar-track{background:0 0}.report-panel::-webkit-scrollbar-track{background:0 0}.feed-list::-webkit-scrollbar-thumb{background:#4fb7ff59;border-radius:999px}.chat-log::-webkit-scrollbar-thumb{background:#4fb7ff59;border-radius:999px}.report-panel::-webkit-scrollbar-thumb{background:#4fb7ff59;border-radius:999px}.feed-list::-webkit-scrollbar-thumb:hover{background:#4fb7ff99}.feed-list{padding-right:8px;-webkit-mask-image:linear-gradient(#000 calc(100% - 26px),#0000);mask-image:linear-gradient(#000 calc(100% - 26px),#0000)}.panel{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:10px;padding:24px;position:relative;box-shadow:0 0 24px #4fb7ff14,inset 0 0 40px #4fb7ff0a}.panel:before{content:"";pointer-events:none;border-radius:10px;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff0f}.panel-title{font-family:var(--font-display);letter-spacing:3px;color:var(--accent);text-shadow:0 0 12px #4fb7ff99;margin:0 0 16px;font-size:15px}.section-title{font-family:var(--font-display);letter-spacing:2px;color:var(--accent);margin:20px 0 4px;font-size:13px}.logo{font-family:var(--font-display);letter-spacing:6px;background:linear-gradient(#d3ecff 0%,#5fb9ff 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 4px;font-size:32px;font-weight:700}[data-theme=light] .logo{background:linear-gradient(#2a86d4 0%,#0e4d8f 100%);-webkit-background-clip:text;background-clip:text}.logo.small{letter-spacing:4px;font-size:18px}.logo-dot{color:var(--accent);margin-left:6px}.tagline{color:var(--text-dim);margin:0 0 24px}.hint{color:var(--text-dim);margin:4px 0 12px;font-size:15px}.loading{min-height:100vh;font-family:var(--font-display);letter-spacing:3px;color:var(--accent);text-shadow:0 0 14px #4fb7ffb3;place-items:center;display:grid}label{color:var(--text-dim);letter-spacing:1px;text-transform:uppercase;margin-bottom:14px;font-size:14px;font-weight:600;display:block}input,textarea{background:var(--field);border:1px solid var(--line);width:100%;color:var(--text);font-family:var(--font-body);border-radius:6px;outline:none;margin-top:6px;padding:10px 12px;font-size:16px;transition:border-color .15s,box-shadow .15s;display:block}input:focus,textarea:focus{border-color:var(--glow);box-shadow:0 0 12px #4fb7ff59}textarea{resize:vertical}input[type=number]{appearance:textfield}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.btn{font-family:var(--font-display);letter-spacing:2px;color:var(--accent);border:1px solid var(--line);cursor:pointer;background:#4fb7ff14;border-radius:6px;padding:10px 18px;font-size:13px;transition:all .15s}.btn:hover:not(:disabled){background:#4fb7ff2e;box-shadow:0 0 16px #4fb7ff66}.btn:disabled{opacity:.5;cursor:default}.btn-primary{border-color:var(--glow);width:100%;color:var(--bright);text-shadow:0 0 8px #4fb7ffcc;background:linear-gradient(#4fb7ff40,#4fb7ff1a);margin-top:10px;padding:13px}.btn-link{color:var(--text-dim);cursor:pointer;font-family:var(--font-body);text-underline-offset:3px;background:0 0;border:none;padding:6px 4px;font-size:15px;text-decoration:underline}.btn-link:hover{color:var(--accent)}.password-field{margin-top:6px;position:relative}.password-field input{margin-top:0;padding-right:66px}.password-toggle{color:var(--text-dim);font-family:var(--font-body);letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:13px;font-weight:600;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-toggle:hover{color:var(--accent)}.divider{color:var(--text-dim);letter-spacing:2px;text-transform:uppercase;align-items:center;gap:12px;margin:18px 0 14px;font-size:13px;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.btn-google{width:100%;font-family:var(--font-body);letter-spacing:.5px;color:var(--text);border:1px solid var(--line);cursor:pointer;background:#ffffff0d;border-radius:6px;justify-content:center;align-items:center;gap:10px;padding:12px;font-size:16px;font-weight:600;transition:all .15s;display:flex}.btn-google:hover{background:#ffffff1a;box-shadow:0 0 14px #4fb7ff40}.form-error{color:var(--danger);margin:10px 0;font-size:15px}.form-message{color:var(--success);margin:10px 0;font-size:15px}.auth-screen{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-panel{text-align:center;width:100%;max-width:420px}.auth-panel form{text-align:left}.auth-panel.wide{max-width:560px}.chip-row{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.chip{font-family:var(--font-body);border:1px solid var(--line);color:var(--text);cursor:pointer;background:#4fb7ff0f;border-radius:999px;padding:5px 12px;font-size:14px}.chip:hover{border-color:var(--glow);box-shadow:0 0 10px #4fb7ff4d}.chip.active{color:var(--accent);border-color:var(--glow);box-shadow:0 0 10px #4fb7ff59}.task-adder{grid-template-columns:1fr 84px auto;align-items:center;gap:8px;margin-top:8px;display:grid}.task-adder input{margin-top:0}.draft-tasks{margin:12px 0;padding:0;list-style:none}.draft-tasks li{border-bottom:1px dashed #4fb7ff26;justify-content:space-between;align-items:center;padding:6px 0;display:flex}.draft-tasks em{color:var(--gold);margin-left:8px;font-style:normal}.shell main{gap:20px;max-width:760px;margin:0 auto;padding:24px 16px 80px;display:grid}.topbar{padding:14px 22px;padding-top:calc(14px + env(safe-area-inset-top,0px));border-bottom:1px solid var(--line);background:var(--topbar-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.topbar nav{align-items:center;gap:18px;display:flex}.topbar nav a{color:var(--text-dim);font-family:var(--font-display);letter-spacing:2px;font-size:12px;text-decoration:none}.topbar nav a.active{color:var(--accent);text-shadow:0 0 10px #4fb7ffb3}.settings{position:relative}.settings-btn{background:var(--field-soft);border:1px solid var(--line);width:38px;height:38px;color:var(--text-dim);cursor:pointer;border-radius:8px;place-items:center;transition:all .15s;display:grid}.settings-btn:hover{color:var(--accent);border-color:var(--glow);box-shadow:0 0 12px #4fb7ff4d}.settings-backdrop{z-index:110;position:fixed;inset:0}.settings-menu{z-index:111;background:var(--field-strong);border:1px solid var(--line);border-radius:10px;width:220px;padding:14px;animation:.15s notice-in;position:absolute;top:46px;right:0;box-shadow:0 8px 30px #00000059,0 0 20px #4fb7ff26}.settings-label{font-family:var(--font-display);letter-spacing:2px;color:var(--text-dim);text-transform:uppercase;margin-bottom:8px;font-size:10px;display:block}.settings-theme-row{gap:8px;display:flex}.settings-divider{background:var(--line);height:1px;margin:14px 0}.settings-signout{text-align:left;width:100%;color:var(--danger);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:16px;font-weight:600}.bottom-nav{display:none}@media (width<=680px){.top-nav{display:none}.bottom-nav{z-index:100;background:var(--topbar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:8px 4px calc(8px + env(safe-area-inset-bottom));grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:var(--text-dim);font-family:var(--font-display);letter-spacing:1.5px;border-radius:8px;justify-items:center;gap:3px;padding:4px 0;font-size:9px;text-decoration:none;display:grid}.bottom-nav a.active{color:var(--accent);text-shadow:0 0 10px #4fb7ffb3}.bottom-nav a.active svg{filter:drop-shadow(0 0 6px #4fb7ffb3)}.shell main{padding-bottom:calc(92px + env(safe-area-inset-bottom))}.rest-timer{bottom:calc(84px + env(safe-area-inset-bottom))}}.status-panel{background-image:repeating-linear-gradient(0deg,#4fb7ff06 0 1px,#0000 1px 26px),repeating-linear-gradient(90deg,#4fb7ff06 0 1px,#0000 1px 26px)}.status-panel:after{content:"";pointer-events:none;opacity:.55;background:linear-gradient(var(--glow), var(--glow)) left 0 top 0 / 20px 2px, linear-gradient(var(--glow), var(--glow)) left 0 top 0 / 2px 20px, linear-gradient(var(--glow), var(--glow)) right 0 top 0 / 20px 2px, linear-gradient(var(--glow), var(--glow)) right 0 top 0 / 2px 20px, linear-gradient(var(--glow), var(--glow)) left 0 bottom 0 / 20px 2px, linear-gradient(var(--glow), var(--glow)) left 0 bottom 0 / 2px 20px, linear-gradient(var(--glow), var(--glow)) right 0 bottom 0 / 20px 2px, linear-gradient(var(--glow), var(--glow)) right 0 bottom 0 / 2px 20px;background-repeat:no-repeat;position:absolute;inset:7px}.status-eyebrow{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.status-eyebrow>span:first-child{font-family:var(--font-display);letter-spacing:4px;color:var(--text-dim);font-size:11px}.today-chip{font-family:var(--font-display);letter-spacing:2px;color:var(--gold);background:#ffd84d12;border:1px solid #ffd84d73;border-radius:999px;padding:4px 12px;font-size:11px;animation:2.6s ease-in-out infinite chip-glow;box-shadow:0 0 14px #ffd84d40}@keyframes chip-glow{0%,to{box-shadow:0 0 10px #ffd84d33}50%{box-shadow:0 0 20px #ffd84d73}}@keyframes badge-breathe{0%,to{filter:brightness();transform:scale(1)}50%{filter:brightness(1.25);transform:scale(1.03)}}.panel-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.panel-head .btn-link{flex:none;padding:0}.dashboard{gap:20px;display:grid}.status-top{align-items:center;gap:20px;display:flex}.rank-badge{font-family:var(--font-display);background:var(--field-soft);border:2px solid;border-radius:10px;flex:none;place-items:center;width:84px;height:84px;font-size:42px;font-weight:700;animation:3.2s ease-in-out infinite badge-breathe;display:grid}.status-meta{flex:1;min-width:0}.status-meta h2{font-family:var(--font-display);letter-spacing:2px;color:var(--bright);margin:0;font-size:20px}.level-label{color:var(--text-dim);margin:2px 0 8px;font-size:15px}.xp-bar,.goal-bar{background:var(--field);border:1px solid var(--line);border-radius:999px;height:12px;overflow:hidden}.xp-fill{background:linear-gradient(90deg, #2b7fd4, var(--glow));height:100%;transition:width .6s;position:relative;overflow:hidden;box-shadow:0 0 14px #4fb7ffcc}.xp-fill:after,.goal-fill:after{content:"";background:linear-gradient(100deg,#0000 30%,#ffffff59 50%,#0000 70%);animation:2.6s ease-in-out infinite bar-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes bar-shimmer{0%{transform:translate(-100%)}55%,to{transform:translate(100%)}}.goal-fill{background:linear-gradient(90deg, #c9a227, var(--gold));height:100%;transition:width .6s;position:relative;overflow:hidden;box-shadow:0 0 14px #ffd84db3}.xp-caption{color:var(--text-dim);margin-top:4px;font-size:13px}.weight-row{flex-wrap:wrap;gap:12px;margin:20px 0 10px;display:flex}.stat-tile{border:1px solid var(--line);background:var(--field-soft);border-radius:8px;flex:1;gap:2px;min-width:110px;padding:10px 14px;transition:box-shadow .2s,border-color .2s;display:grid;position:relative}.stat-tile:before{content:"";background:var(--glow);opacity:.7;border-radius:2px;height:2px;position:absolute;top:0;left:10px;right:60%}.stat-tile:hover{border-color:var(--glow);box-shadow:0 0 14px #4fb7ff40}.stat-label{letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);font-size:12px}.stat-value{font-family:var(--font-display);color:var(--bright);font-size:18px}.weight-form{gap:8px;margin-top:14px;display:flex}.weight-form input{max-width:260px;margin-top:0}.plan-view{margin-top:18px}.plan-title{font-family:var(--font-display);letter-spacing:2px;color:var(--bright);text-shadow:0 0 10px #4fb7ff99;margin:0 0 4px;font-size:16px}.plan-day{margin:16px 0}.plan-day-header{align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.plan-day-name{font-family:var(--font-display);letter-spacing:2px;color:var(--accent);font-size:13px}.plan-day-focus{color:var(--text-dim);font-size:14px}.plan-table{border-collapse:collapse;width:100%}.plan-table th{text-align:left;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);border-bottom:1px solid var(--line);padding:4px;font-size:12px}.plan-table td{vertical-align:top;border-bottom:1px dashed #4fb7ff26;padding:7px 4px}.plan-table .num{white-space:nowrap}.plan-note{color:var(--text-dim);font-size:13px;display:block}.protocol-list{margin:8px 0 0;padding:0;list-style:none}.protocol-row{border-bottom:1px dashed #4fb7ff26;flex-wrap:wrap;align-items:center;gap:14px;padding:10px 4px;display:flex}.protocol-row .protocol-info{flex:1;min-width:200px}.protocol-row.done .protocol-name{color:var(--text-dim);text-decoration:line-through}.protocol-info{flex:1;gap:2px;min-width:0;display:grid}.protocol-name{font-weight:600}.mini-field{gap:2px;margin-bottom:0;display:grid}.mini-field span{letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);font-size:10px;font-weight:700}.mini-field input{margin-top:0}.protocol-log{flex:none;align-items:flex-end;gap:6px;display:flex}.protocol-log .mini-field input{width:64px;padding:7px 8px;font-size:15px}.protocol-log .btn{padding:7px 12px;font-size:12px}.extra-form{grid-template-columns:1fr 64px 84px auto;align-items:end;gap:8px;margin-top:14px;display:grid}.extra-form input{margin-top:0}.extra-tag{align-items:center;gap:4px;margin-right:10px;display:inline-flex}.finish-btn{margin-top:16px}.protocol-target{color:var(--text-dim);white-space:nowrap;font-size:14px}.protocol-progress{font-family:var(--font-display);color:var(--gold);text-align:right;flex:none;min-width:36px;padding-right:4px;font-size:13px}.protocol-progress.done{color:var(--success);text-shadow:0 0 10px #5dd6a299}.protocol-links{gap:12px;display:flex}.mini-link{color:var(--text-dim);font-family:var(--font-body);letter-spacing:1px;text-transform:uppercase;text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.mini-link:hover{color:var(--accent)}.note-preview{color:var(--gold);opacity:.85;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-style:italic;display:block;overflow:hidden}.note-editor{flex:100%;align-items:flex-end;gap:8px;width:100%;padding:4px 0 8px;display:flex}.note-editor textarea{flex:1;margin-top:0;font-size:15px}.guide-text{white-space:pre-wrap;font-family:var(--font-body);background:var(--field-soft);border:1px solid var(--line);border-radius:8px;margin:12px 0;padding:14px;font-size:16px;line-height:1.5}.report-panel a.btn{text-align:center;margin-bottom:8px;text-decoration:none;display:block}.history-tools{flex-wrap:wrap;align-items:baseline;gap:14px;margin:4px 0 8px;display:flex}@keyframes rest-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.rest-timer{z-index:90;background:var(--field-strong);border:1px solid var(--glow);border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:6px 12px;width:min(420px,100vw - 24px);padding:12px 16px;animation:.2s rest-in;display:grid;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 0 26px #4fb7ff73,inset 0 0 24px #4fb7ff14}.rest-info{grid-column:1/-1;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.rest-label{font-family:var(--font-display);letter-spacing:2px;color:var(--accent);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.rest-count{font-family:var(--font-display);color:var(--bright);text-shadow:0 0 12px #4fb7ffcc;font-size:22px}.rest-bar{background:var(--field);border:1px solid var(--line);border-radius:999px;height:8px;overflow:hidden}.rest-fill{background:linear-gradient(90deg, #2b7fd4, var(--glow));height:100%;transition:width .5s linear;box-shadow:0 0 12px #4fb7ffcc}.rest-timer .btn-link{flex:none;padding:0}.chart{width:100%;height:auto;margin:4px 0 8px;display:block}.chart-axis{font-family:var(--font-body);fill:var(--text-dim);font-size:10px}.chart-ref{font-family:var(--font-display);letter-spacing:1px;fill:var(--gold);font-size:9px}.chart-value{font-family:var(--font-display);fill:var(--bright);font-size:11px}.forgot-link{padding:0 0 10px;font-size:14px}.settings-delete{text-align:left;width:100%;color:var(--text-dim);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:14px}.settings-delete:hover{color:var(--danger)}.hunter-title{font-family:var(--font-display);letter-spacing:2px;color:var(--gold);text-shadow:0 0 10px #ffd84d80;margin-top:2px;font-size:11px}.board-title{font-family:var(--font-display);letter-spacing:1.5px;color:var(--gold);margin-top:1px;font-size:9px;display:block}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.badge{text-align:left;border:1px solid var(--line);background:var(--field-soft);cursor:pointer;opacity:.38;font-family:var(--font-body);border-radius:8px;gap:3px;padding:12px;transition:all .15s;display:grid;position:relative}.badge:disabled{cursor:default}.badge.earned{opacity:1;border-color:#ffd84d66;box-shadow:0 0 12px #ffd84d1f}.badge.earned:hover{border-color:var(--gold);box-shadow:0 0 16px #ffd84d59}.badge.current{border-color:var(--gold);box-shadow:0 0 18px #ffd84d66,inset 0 0 16px #ffd84d14}.badge-name{font-family:var(--font-display);letter-spacing:1.5px;color:var(--gold);font-size:12px}.badge:not(.earned) .badge-name{color:var(--text-dim)}.badge-how{color:var(--text-dim);font-size:13px}.badge-current{font-family:var(--font-display);letter-spacing:1.5px;color:var(--gold);font-size:9px;position:absolute;top:8px;right:10px}.rank-guide-toggle{margin-top:14px;padding-left:0}.rank-guide{border-top:1px dashed #4fb7ff26;margin-top:6px;padding-top:12px}.rank-ladder{margin:0;padding:0;list-style:none}.rank-row{border-radius:6px;align-items:center;gap:12px;padding:8px 6px;display:flex}.rank-row.current{background:#4fb7ff12;box-shadow:inset 0 0 14px #4fb7ff14}.rank-chip{font-family:var(--font-display);text-align:center;background:var(--field-soft);letter-spacing:1px;white-space:nowrap;border:1px solid;border-radius:6px;flex:none;min-width:44px;padding:4px 8px;font-size:13px;font-weight:700}.rank-req{flex:none;width:170px;font-weight:600}.rank-note{color:var(--text-dim);flex:1;font-size:14px}.rank-you{color:var(--accent);font-family:var(--font-display);letter-spacing:2px;text-shadow:0 0 10px #4fb7ffb3;font-size:11px}@media (width<=560px){.rank-note{display:none}.rank-req{width:auto}}.quest-count{font-family:var(--font-display);color:var(--success);text-shadow:0 0 10px #5dd6a280;margin-left:auto;font-size:15px}.quest-count em{color:var(--text-dim);font-size:12px;font-style:normal}.quest-mini-bar{background:var(--field);border:1px solid var(--line);border-radius:999px;height:5px;margin:8px 0 12px;overflow:hidden}.quest-mini-fill{background:linear-gradient(90deg, #2f9b70, var(--success));height:100%;transition:width .5s;box-shadow:0 0 10px #5dd6a2b3}.quest-list{margin:0 0 16px;padding:0;list-style:none}.quest{border-bottom:1px dashed #4fb7ff26;align-items:center;gap:12px;padding:11px 4px;display:flex}.quest.done .quest-title{color:var(--text-dim);text-decoration:line-through}.quest-check{border:1px solid var(--line);background:var(--field);width:28px;height:28px;color:var(--success);cursor:pointer;border-radius:6px;flex:none;font-size:16px;transition:all .15s}.quest-check:hover:not(:disabled){border-color:var(--glow);box-shadow:0 0 12px #4fb7ff80}.quest-check:disabled{cursor:default;border-color:#5dd6a266;box-shadow:0 0 10px #5dd6a240}.quest-title{flex:1}.quest-xp{color:var(--gold);font-size:15px;font-weight:600}.quest-remove{font-size:13px;text-decoration:none}.empty{color:var(--text-dim);padding:12px 0}.training{gap:20px;display:grid}.set-form{grid-template-columns:1fr 90px 90px auto;align-items:end;gap:8px;margin-bottom:8px;display:grid}.set-form input{margin-top:0}.set-list{margin:0;padding:0;list-style:none}.set-list li{border-bottom:1px dashed #4fb7ff26;flex-wrap:wrap;align-items:baseline;gap:14px;padding:9px 4px;display:flex}.set-exercise{min-width:140px;font-weight:700}.set-sets{flex-wrap:wrap;gap:8px;display:flex}.set-pill{border:1px solid var(--line);background:#4fb7ff0f;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:14px;display:inline-flex}.set-delete{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0;font-size:11px}.set-delete:hover{color:var(--danger)}.pr-line{color:var(--gold);margin:6px 0 12px;font-size:15px}.pr-line strong{font-family:var(--font-display);text-shadow:0 0 10px #ffd84d80;font-size:14px}.history-list{margin:0;padding:0;list-style:none}.history-list li{border-bottom:1px dashed #4fb7ff26;gap:16px;padding:8px 4px;display:flex}.history-date{width:120px;color:var(--text-dim);flex:none;font-size:14px}.history-sets{flex:1;font-size:15px}.quest-undo{color:var(--text-dim);font-size:13px;text-decoration:none}@media (width<=560px){.set-form{grid-template-columns:1fr 70px 70px}.set-form .btn{grid-column:1/-1}.protocol-row{flex-wrap:wrap}.protocol-info{flex:100%}.protocol-log,.protocol-log .mini-field{flex:1}.protocol-log .mini-field input{width:100%}.extra-form{grid-template-columns:1fr 60px 70px}.extra-form .btn{grid-column:1/-1}}.tab-row{gap:10px;margin-bottom:16px;display:flex}.tab{font-family:var(--font-display);letter-spacing:2px;border:1px solid var(--line);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:6px;padding:9px 16px;font-size:12px}.tab.active{color:var(--accent);border-color:var(--glow);box-shadow:0 0 12px #4fb7ff59}.coach-section textarea{margin-bottom:12px}.plan-output{background:var(--field);border:1px solid var(--line);white-space:pre-wrap;font-family:var(--font-body);border-radius:8px;margin-top:18px;padding:18px;font-size:16px;line-height:1.55}.estimate{margin-top:18px}.estimate table{border-collapse:collapse;width:100%}.estimate td{border-bottom:1px dashed #4fb7ff26;padding:7px 4px}.estimate .num{text-align:right;font-family:var(--font-display);font-size:14px}.estimate .total-row td{color:var(--gold);border-bottom:none;padding-top:12px;font-weight:700}.macros{color:var(--text-dim);gap:16px;margin-top:10px;font-weight:600;display:flex}.fav-chip{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:8px 14px;display:inline-flex}.fav-chip:active{background:#4fb7ff26}.fav-chip .set-delete{padding:4px 2px}.fav-add{color:var(--text);font-family:var(--font-body);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:14px;overflow:hidden}.fav-chip:hover .fav-add{color:var(--accent)}.estimate-actions{gap:10px;margin-top:14px;display:flex}.intake-list{margin:0;padding:0;list-style:none}.intake-list li{border-bottom:1px dashed #4fb7ff26;align-items:center;gap:12px;padding:8px 4px;display:flex}.intake-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.intake-kcal{font-family:var(--font-display);color:var(--gold);flex:none;font-size:13px}.intake-total{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;padding:12px 4px 0;font-size:16px;display:flex}.intake-total strong{color:var(--gold);font-family:var(--font-display);font-size:15px}.intake-total .macros{margin-top:0}.feed-list{max-height:340px;margin:0;padding:0;list-style:none;overflow-y:auto}.feed-row{border-bottom:1px dashed #4fb7ff26;align-items:baseline;gap:10px;padding:8px 4px;display:flex}.feed-row.self{opacity:.75}.feed-glyph{text-align:center;flex:none;width:22px;font-size:13px}.feed-glyph.quest{color:var(--success)}.feed-glyph.achievement{color:var(--gold)}.feed-glyph.workout{color:var(--accent)}.feed-glyph.weight{color:var(--text-dim)}.feed-text{flex:1;min-width:0;font-size:15px}.feed-text strong{font-weight:700}.feed-time{color:var(--text-dim);flex:none;font-size:12px}.rankings{gap:20px;display:grid}.board-list{margin:0;padding:0;list-style:none}.board-row{border-bottom:1px dashed #4fb7ff26;border-radius:6px;align-items:center;gap:12px;padding:10px 8px;display:flex}.board-row.self{background:#4fb7ff12;box-shadow:inset 0 0 14px #4fb7ff14}.board-row.friend{background:#5dd6a20f;box-shadow:inset 0 0 14px #5dd6a212}.board-row.friend .board-name:after{content:"◆ friend";font-family:var(--font-display);letter-spacing:2px;color:var(--success);vertical-align:middle;margin-left:8px;font-size:9px}.board-pos{font-family:var(--font-display);color:var(--text-dim);text-align:right;flex:none;width:26px;font-size:14px}.board-row:first-child .board-pos{color:var(--gold);text-shadow:0 0 10px #ffd84db3}.board-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.board-name em{color:var(--text-dim);margin-left:8px;font-size:14px;font-style:normal;font-weight:400}.board-level{color:var(--text-dim);flex:none;font-size:14px}.board-xp{font-family:var(--font-display);color:var(--gold);flex:none;font-size:13px}.board-add{flex:none;padding:5px 12px;font-size:11px}.share-toggle{text-transform:none;letter-spacing:0;color:var(--text-dim);cursor:pointer;align-items:flex-start;gap:10px;margin:4px 0 16px;font-size:15px;display:flex}.share-toggle input{width:auto;accent-color:var(--accent);margin-top:3px}.ally-search{gap:8px;margin-bottom:14px;display:flex}.ally-search input{margin-top:0}.ally-list{margin:0 0 8px;padding:0;list-style:none}.ally-list li{border-bottom:1px dashed #4fb7ff26;align-items:center;gap:12px;padding:9px 4px;display:flex}.ally-state{color:var(--text-dim);font-size:14px;font-style:italic}.ally-actions{align-items:center;gap:8px;display:flex}.maintenance-line{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;font-size:16px;display:flex}.maintenance-line strong{color:var(--gold);font-family:var(--font-display);font-size:15px}.stats-form{grid-template-columns:90px 70px 90px 1fr auto;align-items:end;gap:8px;margin-bottom:16px;display:grid}.stats-form select{background:var(--field);border:1px solid var(--line);width:100%;color:var(--text);font-family:var(--font-body);border-radius:6px;padding:9px 8px;font-size:15px;display:block}.kcal-bar{background:var(--field);border:1px solid var(--line);border-radius:999px;height:10px;margin-top:10px;overflow:hidden}.kcal-fill{background:linear-gradient(90deg, #2b7fd4, var(--glow));height:100%;transition:width .4s;box-shadow:0 0 12px #4fb7ffb3}.kcal-fill.over{background:linear-gradient(90deg, #c2452d, var(--danger));box-shadow:0 0 12px #ff6b6bb3}@media (width<=560px){.stats-form{grid-template-columns:1fr 1fr}.stats-form .btn{grid-column:1/-1}}.chat-log{flex-direction:column;gap:10px;max-height:420px;padding:4px 2px 12px;display:flex;overflow-y:auto}.chat-msg{white-space:pre-wrap;word-break:break-word;border-radius:10px;max-width:85%;padding:10px 14px;font-size:16px;line-height:1.45}.chat-msg.user{background:#4fb7ff24;border:1px solid #4fb7ff4d;align-self:flex-end}.chat-msg.coach{background:var(--field);border:1px solid var(--line);align-self:flex-start}.chat-msg.pending{color:var(--text-dim)}.chat-tag{font-family:var(--font-display);letter-spacing:2px;color:var(--accent);margin-bottom:4px;font-size:10px;display:block}.chat-input{align-items:flex-end;gap:8px;display:flex}.chat-input textarea{flex:1;margin-top:0}.chat-actions{gap:16px;margin-top:10px;display:flex}.party-detail{margin:8px 0 14px}.ptr{z-index:120;background:var(--field-strong);border:1px solid var(--glow);font-family:var(--font-display);letter-spacing:2px;color:var(--accent);pointer-events:none;white-space:nowrap;border-radius:999px;align-items:center;gap:10px;padding:9px 18px;font-size:11px;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%);box-shadow:0 0 22px #4fb7ff73}.ptr-icon{font-size:14px;transition:transform 50ms linear;display:inline-block}@keyframes ptr-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ptr-icon.spinning{animation:.8s linear infinite ptr-spin}.report-overlay{z-index:130;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#03060cbf;justify-content:center;align-items:center;padding:20px;animation:.2s notice-in;display:flex;position:fixed;inset:0}.report-panel{border-color:var(--glow);width:100%;max-width:440px;max-height:85vh;overflow-y:auto;box-shadow:0 0 40px #4fb7ff59,inset 0 0 40px #4fb7ff0f}.report-title{font-family:var(--font-display);letter-spacing:4px;color:var(--bright);text-shadow:0 0 14px #4fb7ffb3;margin:4px 0 2px;font-size:20px}.report-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0;display:grid}.report-stat{border:1px solid var(--line);background:var(--field-soft);border-radius:8px;gap:2px;padding:10px 12px;display:grid}.report-line{margin:8px 0;font-size:15px}.report-line.gold{color:var(--gold)}.report-verdict{border-left:2px solid var(--gold);background:#ffd84d0f;margin:14px 0 6px;padding:12px 14px;font-size:16px;font-style:italic}@media (width<=560px){.report-grid{grid-template-columns:repeat(2,1fr)}}.week-xp{font-family:var(--font-display);color:var(--gold);margin-left:auto;font-size:14px}.muscle-row{flex-wrap:wrap;gap:8px;margin:6px 0 4px;display:flex}.muscle-chip{font-family:var(--font-display);letter-spacing:1.5px;border:1px solid var(--line);color:var(--text-dim);background:var(--field-soft);opacity:.55;border-radius:999px;padding:6px 14px;font-size:11px}.muscle-chip.hit{opacity:1;color:var(--success);border-color:#5dd6a280;box-shadow:0 0 12px #5dd6a240}.side-done{color:var(--success)}.side-required{color:var(--danger)}.rank-progress-caption{font-family:var(--font-body);letter-spacing:0;color:var(--text-dim);text-transform:none;font-size:13px}.sigil-line{border-top:1px dashed #4fb7ff26;flex-wrap:wrap;align-items:center;gap:14px;margin-top:16px;padding-top:12px;display:flex}.sigil-badge{font-family:var(--font-display);letter-spacing:2px;color:var(--gold);text-shadow:0 0 12px #ffd84d99;border:1px solid #ffd84d80;border-radius:999px;padding:6px 14px;font-size:12px;animation:2.6s ease-in-out infinite chip-glow}.trial-list{margin:8px 0;padding:0;list-style:none}.trial{border-bottom:1px dashed #4fb7ff26;align-items:baseline;gap:10px;padding:7px 4px;display:flex}.trial-mark{text-align:center;width:18px;color:var(--text-dim);flex:none}.trial.done .trial-mark{color:var(--success);text-shadow:0 0 8px #5dd6a299}.trial-name{font-family:var(--font-display);letter-spacing:1.5px;color:var(--text);flex:none;min-width:130px;font-size:11px}.trial.done .trial-name{color:var(--success)}.trial-how{color:var(--text-dim);font-size:14px}.ascension-overlay{z-index:200;background:#01030a;justify-content:center;align-items:center;animation:.25s notice-in;display:flex;position:fixed;inset:0;overflow:hidden}.asc-scanlines{pointer-events:none;background:repeating-linear-gradient(0deg,#ffffff06 0 1px,#0000 1px 4px);animation:6s linear infinite scan-drift;position:absolute;inset:0}@keyframes scan-drift{0%{background-position:0 0}to{background-position:0 40px}}.asc-stage{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.asc-stage.shaking{animation:1.5s linear screen-shake}@keyframes screen-shake{0%{transform:translate(0)}3%{transform:translate(-12px,8px)}6%{transform:translate(11px,-9px)}9%{transform:translate(-9px,-6px)}12%{transform:translate(8px,8px)}15%{transform:translate(-7px,5px)}18%{transform:translate(5px,-4px)}22%{transform:translate(-3px,2px)}26%{transform:translate(0)}55%{transform:translate(0)}58%{transform:translate(-5px,3px)}61%{transform:translate(4px,-3px)}64%{transform:translate(-2px,2px)}68%{transform:translate(0)}to{transform:translate(0)}}.asc-nebula{filter:blur(70px);opacity:.16;pointer-events:none;border-radius:50%;width:70vmax;height:70vmax;position:absolute}.asc-nebula.n1{background:radial-gradient(circle, var(--rc), transparent 65%);animation:11s ease-in-out infinite alternate nebula-drift;top:-20vmax;left:-15vmax}.asc-nebula.n2{background:radial-gradient(circle,#4f6bff,#0000 65%);animation:13s ease-in-out infinite alternate-reverse nebula-drift;bottom:-25vmax;right:-18vmax}@keyframes nebula-drift{0%{transform:translate(0)scale(1)}to{transform:translate(8vmax,6vmax)scale(1.25)}}.magic-circle{pointer-events:none;filter:drop-shadow(0 0 10px var(--rc)) drop-shadow(0 0 26px color-mix(in srgb, var(--rc) 45%, transparent));position:absolute}.mc-main{opacity:0;width:min(96vmin,640px);height:min(96vmin,640px);animation:1s cubic-bezier(.2,.9,.3,1) forwards mc-in;top:50%;left:50%;transform:translate(-50%,-50%)}.phase-3 .mc-main,.phase-4 .mc-main{animation:1s cubic-bezier(.2,.9,.3,1) forwards mc-in,3.2s ease-in-out 1s infinite mc-pulse}@keyframes mc-in{0%{opacity:0;transform:translate(-50%,-50%)scale(2.1)rotate(-40deg)}60%{opacity:.75}to{opacity:.6;transform:translate(-50%,-50%)scale(1)rotate(0)}}@keyframes mc-pulse{0%,to{opacity:.6;filter:drop-shadow(0 0 10px var(--rc)) drop-shadow(0 0 26px color-mix(in srgb, var(--rc) 45%, transparent))}50%{opacity:.9;filter:drop-shadow(0 0 18px var(--rc)) drop-shadow(0 0 44px color-mix(in srgb, var(--rc) 65%, transparent))}}.mc-sat{opacity:0;width:clamp(120px,24vmin,210px);height:clamp(120px,24vmin,210px);animation:1.2s .35s forwards mc-sat-in}.mc-s1{top:7%;left:4%}.mc-s2{animation-delay:.6s;bottom:9%;right:4%}@keyframes mc-sat-in{0%{opacity:0;transform:scale(.4)}to{opacity:.4;transform:scale(1)}}.mc-spin-slow{transform-origin:100px 100px;animation:34s linear infinite mc-spin}.mc-spin-rev{transform-origin:100px 100px;animation:22s linear infinite reverse mc-spin}.mc-spin-fast{transform-origin:100px 100px;animation:13s linear infinite mc-spin}@keyframes mc-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mc-runes{fill:var(--rc);letter-spacing:3px;opacity:.95}.mc-runes.small{opacity:.75;letter-spacing:2px}.asc-gyro{perspective:900px;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.gyro-ring{border:2px solid var(--rc);width:min(56vmin,380px);height:min(56vmin,380px);box-shadow:0 0 14px var(--rc), inset 0 0 14px color-mix(in srgb, var(--rc) 55%, transparent);opacity:0;border-radius:50%;animation:.5s forwards gyro-in;position:absolute}.gyro-ring.g1{animation:.5s forwards gyro-in,6.5s linear .5s infinite gyro-x}.gyro-ring.g2{animation:.5s .2s forwards gyro-in,8.5s linear .7s infinite gyro-y}@keyframes gyro-in{0%{opacity:0;transform:scale(1.8)}to{opacity:.55;transform:scale(1)}}@keyframes gyro-x{0%{transform:rotateX(66deg)rotate(0)}to{transform:rotateX(66deg)rotate(360deg)}}@keyframes gyro-y{0%{transform:rotateY(66deg)rotate(0)}to{transform:rotateY(66deg)rotate(-360deg)}}.asc-grid{pointer-events:none;background-image:linear-gradient(color-mix(in srgb, var(--rc) 35%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--rc) 35%, transparent) 1px, transparent 1px);transform-origin:top;opacity:.5;background-size:46px 46px;height:45%;animation:1.6s linear infinite grid-run;position:absolute;bottom:0;left:-20%;right:-20%;transform:perspective(420px)rotateX(64deg);-webkit-mask-image:linear-gradient(#0000,#000 30%,#0000 95%);mask-image:linear-gradient(#0000,#000 30%,#0000 95%)}@keyframes grid-run{0%{background-position:0 0,0 0}to{background-position:0 46px,0 0}}.ascension-rank.chroma{position:relative}.ascension-rank.chroma:before,.ascension-rank.chroma:after{content:attr(data-rank);text-shadow:none;animation:1s ease-out forwards chroma-fade;position:absolute;inset:0}.ascension-rank.chroma:before{color:#29f4ff;transform:translate(-4px,1px)}.ascension-rank.chroma:after{color:#ff3df0;transform:translate(4px,-1px)}@keyframes chroma-fade{0%{opacity:.7}60%{opacity:.35}to{opacity:0}}.asc-orbit{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.asc-shard{background:var(--rc);width:10px;height:10px;box-shadow:0 0 12px var(--rc);animation:8.4s linear infinite shard-orbit;animation-delay:var(--od);position:absolute;transform:rotate(45deg)}@keyframes shard-orbit{0%{transform:rotate(var(--oa)) translateX(min(34vmin, 220px)) rotate(45deg) scale(1);opacity:.9}50%{opacity:.35}to{transform:rotate(calc(var(--oa) + 360deg)) translateX(min(34vmin, 220px)) rotate(405deg) scale(1);opacity:.9}}.asc-alert{text-align:center;animation:.3s alert-in}@keyframes alert-in{0%{opacity:0;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.asc-alert-line{font-family:var(--font-display);letter-spacing:6px;color:#fff;font-size:26px}.asc-alert-sub{font-family:var(--font-display);letter-spacing:4px;color:var(--rc);margin-top:12px;font-size:12px}.glitch{animation:.9s step-end infinite glitch-flicker;position:relative}.glitch:before,.glitch:after{content:attr(data-text);opacity:.75;position:absolute;inset:0}.glitch:before{color:#0ff;clip-path:inset(10% 0 55%);animation:.45s steps(2,end) infinite glitch-slice;transform:translate(-2.5px)}.glitch:after{color:#f0f;clip-path:inset(55% 0 12%);animation:.6s steps(2,end) infinite reverse glitch-slice;transform:translate(2.5px)}@keyframes glitch-flicker{0%,92%{opacity:1}93%{opacity:.3}94%{opacity:1}97%{opacity:.5}98%{opacity:1}}@keyframes glitch-slice{0%{clip-path:inset(10% 0 55%)}33%{clip-path:inset(40% 0 20%)}66%{clip-path:inset(70% 0 5%)}to{clip-path:inset(20% 0 45%)}}.asc-charge{place-items:center;width:100%;height:100%;display:grid;position:relative}.charge-ring{border:2px solid var(--rc);opacity:0;border-radius:50%;width:60px;height:60px;animation:1.2s cubic-bezier(.5,0,.8,.4) infinite ring-implode;position:absolute}.charge-ring.c2{animation-delay:.3s}.charge-ring.c3{animation-delay:.6s}.charge-ring.c4{animation-delay:.9s}@keyframes ring-implode{0%{opacity:0;transform:scale(16)}25%{opacity:.9}to{opacity:0;transform:scale(.4)}}.charge-core{background:var(--rc);width:26px;height:26px;box-shadow:0 0 30px var(--rc), 0 0 90px var(--rc);border-radius:50%;animation:1.3s ease-in forwards core-build}@keyframes core-build{0%{filter:brightness();transform:scale(.4)}to{filter:brightness(2.2);transform:scale(2.4)}}.asc-flash{pointer-events:none;background:#fff;animation:.55s ease-out forwards flash-out;position:absolute;inset:0}@keyframes flash-out{0%{opacity:1}to{opacity:0}}.shockwave{border:3px solid var(--rc);opacity:0;pointer-events:none;border-radius:50%;width:90px;height:90px;animation:1.1s cubic-bezier(.1,.6,.3,1) forwards shock-out;position:absolute}.shockwave.s2{border-width:2px;animation-delay:.12s}.shockwave.s3{border-width:1px;animation-delay:.24s}@keyframes shock-out{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(22)}}.asc-burst{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.asc-particle{width:var(--ps);height:var(--ps);background:var(--rc);box-shadow:0 0 10px var(--rc);opacity:0;animation:1.3s cubic-bezier(.1,.7,.3,1) forwards particle-fly;animation-delay:var(--pd);border-radius:50%;position:absolute}@keyframes particle-fly{0%{transform:rotate(var(--ang)) translateX(0) scale(1.4);opacity:1}to{transform:rotate(var(--ang)) translateX(var(--dist)) scale(.2);opacity:0}}.ascension-content{text-align:center;z-index:2;position:relative}.ascension-rank{font-family:var(--font-display);color:var(--rc);text-shadow:0 0 30px var(--rc), 0 0 80px var(--rc), 0 0 160px color-mix(in srgb, var(--rc) 60%, transparent);font-size:clamp(120px,40vw,220px);font-weight:700;line-height:1}.ascension-rank.slam{animation:.5s cubic-bezier(.15,1.3,.3,1) forwards rank-slam,2.4s ease-in-out .6s infinite badge-breathe}@keyframes rank-slam{0%{opacity:0;filter:blur(10px)brightness(3);transform:scale(7)}55%{opacity:1;filter:blur()brightness(1.6);transform:scale(.88)}75%{transform:scale(1.06)}to{filter:brightness();transform:scale(1)}}.ascension-label{font-family:var(--font-display);color:#fff;text-shadow:0 0 20px var(--rc);margin:18px 0 8px;font-size:20px}.ascension-label.tracking{animation:.9s forwards track-open}@keyframes track-open{0%{letter-spacing:1px;opacity:0}to{letter-spacing:12px;opacity:1}}.asc-sub{font-family:var(--font-display);letter-spacing:3px;color:var(--text-dim);margin-bottom:28px;font-size:10px;animation:.8s .3s backwards fade-up}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.asc-rise{letter-spacing:4px;width:auto;padding:13px 56px;animation:.8s .6s backwards fade-up}.asc-embers{pointer-events:none;position:absolute;inset:0;overflow:hidden}.asc-ember{bottom:-10px;left:var(--ex);background:var(--rc);width:4px;height:4px;box-shadow:0 0 8px var(--rc);opacity:0;animation:ember-rise var(--et) linear var(--ed) infinite;border-radius:50%;position:absolute}@keyframes ember-rise{0%{opacity:0;transform:translateY(0)}10%{opacity:.9}to{opacity:0;transform:translateY(-105vh)translate(30px)}}.changelog-body{font-size:15px}.changelog-body ul{margin:10px 0;padding-left:18px}.changelog-body li{margin-bottom:8px}.notice-stack{z-index:100;gap:12px;width:min(340px,100vw - 36px);display:grid;position:fixed;top:74px;right:18px}@keyframes notice-in{0%{opacity:0;transform:translateY(-12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.notice{background:var(--field-strong);border:1px solid var(--glow);cursor:pointer;border-radius:8px;padding:14px 16px;animation:.25s notice-in;box-shadow:0 0 24px #4fb7ff73,inset 0 0 24px #4fb7ff14}.notice-success{border-color:var(--success);box-shadow:0 0 24px #5dd6a273,inset 0 0 24px #5dd6a214}.notice-rankup{border-color:var(--gold);box-shadow:0 0 28px #ffd84d8c,inset 0 0 26px #ffd84d1a}.notice-header{font-family:var(--font-display);letter-spacing:3px;color:var(--text-dim);margin-bottom:6px;font-size:11px}.notice-diamond{color:var(--accent)}.notice-success .notice-diamond{color:var(--success)}.notice-rankup .notice-diamond{color:var(--gold)}.notice-title{font-family:var(--font-display);letter-spacing:2px;color:var(--bright);text-shadow:0 0 10px #4fb7ffcc;margin-bottom:4px;font-size:16px}.notice-rankup .notice-title{text-shadow:0 0 12px #ffd84de6}.notice-line{color:var(--text);font-size:15px}@media (width<=560px){.status-top{text-align:center;flex-direction:column}.row{grid-template-columns:1fr}.weight-row{gap:16px}.tab-row .tab{padding:8px 12px;font-size:11px}.maintenance-line{gap:6px 10px;font-size:14px}.maintenance-line strong{font-size:13px}.coach-section textarea{font-size:15px}.estimate td{padding:6px 2px;font-size:14px}.estimate .num{font-size:12px}.estimate-actions{flex-direction:column}.estimate-actions .btn{width:100%}.intake-list li{gap:8px;padding:7px 2px}.intake-name{font-size:15px}.intake-kcal{font-size:12px}.intake-total{font-size:14px}.macros{gap:10px;font-size:13px}body{font-size:16px}.panel{padding:16px 14px}.shell main{padding:14px 10px calc(86px + env(safe-area-inset-bottom,0px));gap:14px}.topbar{padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top,0px))}.topbar nav{gap:12px}.topbar nav a{letter-spacing:1px;font-size:10px}.topbar .btn-link{padding:4px 0;font-size:13px}.logo.small{letter-spacing:2px;font-size:14px}.rank-badge{width:68px;height:68px;font-size:34px}.weight-row{justify-content:space-between;gap:12px}.stat-value{font-size:16px}.weight-form input{max-width:none}.chip{padding:4px 10px;font-size:13px}.fav-add{max-width:48vw}.chat-msg{max-width:94%}.board-name em{margin-left:0;font-size:12px;display:block}.board-level{display:none}.history-date{width:92px;font-size:13px}.rank-guide .hint{font-size:14px}}.profile-head{align-items:center;gap:16px;margin-bottom:16px;display:flex}.profile-sigil{width:64px;height:64px;font-family:var(--font-display,inherit);text-shadow:0 0 12px;box-shadow:0 0 14px color-mix(in srgb, currentColor 35%, transparent), inset 0 0 10px color-mix(in srgb, currentColor 20%, transparent);border:2px solid;border-radius:12px;flex:none;place-items:center;font-size:1.6rem;font-weight:700;display:grid}.profile-name{letter-spacing:.04em;margin:0;font-size:1.3rem}.profile-handle{color:var(--text-dim);margin:4px 0 0;font-size:.9rem}.profile-title{color:var(--accent)}.profile-stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.profile-stat{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.profile-stat .stat-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);font-size:.7rem}.profile-stat .stat-value{font-size:1.05rem;font-weight:600}.profile-form{flex-direction:column;gap:14px;max-width:420px;display:flex}.profile-form label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);flex-direction:column;gap:6px;font-size:.8rem;display:flex}.profile-form input{width:100%}.ascension-overlay.phase-armed{cursor:pointer}.asc-seal-prompt{letter-spacing:.45em;color:var(--rc);text-shadow:0 0 12px var(--rc);margin-top:22px;font-size:.85rem;animation:1.6s ease-in-out infinite seal-pulse}@keyframes seal-pulse{0%,to{opacity:.45;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}.ascension-rank.ticker{opacity:.85;filter:blur(1px);text-shadow:0 0 30px var(--rc);animation:none;transform:scale(1.1)}.asc-pillar{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--rc) 55%, white) 45%, #fff 50%, color-mix(in srgb, var(--rc) 55%, white) 55%, transparent);filter:blur(6px);pointer-events:none;width:min(30vmin,220px);animation:.9s ease-out forwards pillar-burst;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}@keyframes pillar-burst{0%{opacity:0;transform:translate(-50%)scaleX(.05)}12%{opacity:1;transform:translate(-50%)scaleX(1.15)}35%{opacity:.8;transform:translate(-50%)scaleX(.9)}to{opacity:0;transform:translate(-50%)scaleX(2.4)}}.asc-particle.white{box-shadow:0 0 8px #fff, 0 0 18px var(--rc);background:#fff}.ascension-overlay.sss{background:radial-gradient(circle at 50% 42%,#16000a 0%,#030004 72%)}.ascension-overlay.sss:after{content:"";pointer-events:none;z-index:1;animation:2.6s ease-in-out infinite sss-vignette;position:absolute;inset:0;box-shadow:inset 0 0 22vmin #ff143c47}@keyframes sss-vignette{0%,to{opacity:.55}50%{opacity:1}}@keyframes sss-flicker{0%,to{filter:brightness();transform:skew(0)}7%{filter:brightness(1.55);transform:skew(-1.2deg)}9%{filter:brightness(.85);transform:skew(.6deg)}11%{filter:brightness(1.25);transform:skew(0)}54%{filter:brightness(1.4);transform:skew(.9deg)}56%{filter:brightness();transform:skew(0)}81%{filter:brightness(.8)}83%{filter:brightness(1.3)}85%{filter:brightness()}}.ascension-overlay.sss .magic-circle{filter:drop-shadow(0 0 12px var(--rc)) drop-shadow(0 0 34px #ff00328c)}.ascension-overlay.sss .asc-seal-prompt{color:#ff2b50;text-shadow:0 0 14px #ff2b50,0 0 40px #ff003299}.mc-colossal{opacity:0;width:165vmin;height:165vmin;animation:1.4s forwards colossal-in;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes colossal-in{0%{opacity:0;transform:translate(-50%,-50%)scale(1.4)rotate(30deg)}to{opacity:.16;transform:translate(-50%,-50%)scale(1)rotate(0)}}.sss-storm{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.sss-mote{left:var(--mx);width:var(--ms);height:var(--ms);opacity:0;animation:mote-rise var(--mt) linear var(--md) infinite;background:radial-gradient(circle,#ffb3c0 0%,#ff2b50 55%,#0000 75%);border-radius:50%;position:absolute;bottom:-12px;box-shadow:0 0 10px #ff2850e6}@keyframes mote-rise{0%{opacity:0;transform:translate(0)scale(1)}8%{opacity:.9}60%{opacity:.7;transform:translate(3vmin,-55vh)scale(1.15)}to{opacity:0;transform:translate(-2vmin,-108vh)scale(.5)}}.sss-impact{z-index:60;color:#05000a;font-family:var(--font-display);pointer-events:none;background:#fff;place-items:center;font-size:clamp(120px,40vw,220px);font-weight:700;line-height:1;animation:.5s step-end forwards impact-frame;display:grid;position:absolute;inset:0}@keyframes impact-frame{0%{opacity:1;filter:invert(0)}14%{opacity:0}22%{opacity:1;filter:invert()}30%,to{opacity:0}}.sss-echo{color:#0000;-webkit-text-stroke:2px #ff3c5fd9;text-shadow:none;pointer-events:none;opacity:0;justify-content:center;align-items:center;animation:2.4s ease-out infinite echo-out;display:flex;position:absolute;inset:0}.sss-echo.e2{animation-delay:.8s}.sss-echo.e3{animation-delay:1.6s}@keyframes echo-out{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}.ascension-overlay.sss .asc-stage:not(.shaking){animation:2.6s ease-in-out infinite sss-heartbeat}@keyframes sss-heartbeat{0%,to{transform:scale(1)}8%{transform:scale(1.018)}16%{transform:scale(1)}24%{transform:scale(1.012)}32%,to{transform:scale(1)}}.ascension-overlay.sss .asc-stage,.ascension-overlay.sss .ascension-content{z-index:2}a.board-name{color:inherit;cursor:pointer;text-decoration:none}a.board-name:hover{color:var(--accent)}.profile-edit-link{align-self:flex-start;margin-left:auto}.sparkline{width:100%;height:auto;margin:10px 0 4px;display:block}.spark-line{fill:none;stroke:var(--accent);stroke-width:2.2px;stroke-linecap:round;filter:drop-shadow(0 0 6px color-mix(in srgb, var(--accent) 60%, transparent))}.spark-dot{fill:var(--accent);filter:drop-shadow(0 0 5px var(--accent))}.spark-goal{stroke:var(--gold,#e7c66a);stroke-width:1px;stroke-dasharray:5 5;opacity:.75}.spark-goal-label,.spark-now-label{fill:var(--text-dim);font-size:10px}.spark-now-label{fill:var(--text);font-weight:600}@media (width<=640px){.protocol-log{flex:100%;gap:10px;width:100%;margin-top:8px}.protocol-log .mini-field{flex:1 1 0}.protocol-log .mini-field input{width:100%;padding:11px 10px;font-size:16px}.protocol-log .btn{flex:none;padding:11px 18px}}.tour-panel{max-width:480px}.tour-dots{justify-content:center;gap:8px;margin:14px 0;display:flex}.tour-dot{background:var(--line);border-radius:2px;width:8px;height:8px;transform:rotate(45deg)}.tour-dot.on{background:var(--accent);box-shadow:0 0 8px var(--accent)}.tour-actions{justify-content:space-between;gap:10px;display:flex}.prestige-row{flex-wrap:wrap;gap:10px;display:flex}.prestige-badge{color:#ff8fa3;letter-spacing:.08em;text-transform:uppercase;border:1px solid #ff4d6d;border-radius:8px;align-items:center;gap:7px;padding:7px 13px;font-size:13px;display:inline-flex;box-shadow:0 0 12px #ff4d6d40,inset 0 0 8px #ff4d6d1f}.prestige-diamond{color:#ff4d6d;text-shadow:0 0 8px #ff4d6d}.quest-suggest{border:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 7%, transparent);box-shadow:0 0 18px color-mix(in srgb, var(--accent) 18%, transparent);border-radius:10px;margin-top:14px;padding:14px 16px}.quest-suggest p{margin:8px 0 12px;font-size:14px;line-height:1.5}.quest-suggest-actions{flex-wrap:wrap;gap:10px;display:flex}.sss-eclipse{aspect-ratio:1;opacity:0;pointer-events:none;background:radial-gradient(circle,#000 56%,#0a0003e6 62%,#0000 71%);border-radius:50%;width:min(72vmin,500px);animation:2.2s forwards eclipse-in,5.5s ease-in-out 2.2s infinite eclipse-breathe;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 55px 16px #ff143c80,0 0 150px 60px #ff002838,inset 0 0 46px #ff1e3c59}@keyframes eclipse-in{0%{opacity:0;transform:translate(-50%,-46%)scale(.6)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes eclipse-breathe{0%,to{box-shadow:0 0 55px 16px #ff143c80,0 0 150px 60px #ff002838,inset 0 0 46px #ff1e3c59}50%{box-shadow:0 0 80px 26px #ff143cbf,0 0 210px 90px #ff002859,inset 0 0 70px #ff1e3c8c}}.ascension-rank{position:relative}.sss-flame{z-index:-1;color:#ff2742;text-shadow:none;filter:blur(14px);opacity:.65;pointer-events:none;animation:2.2s ease-in-out infinite flame-rise;position:absolute;inset:0}.sss-flame.f2{color:#93001f;filter:blur(30px);opacity:.8;animation-duration:3.1s;animation-delay:.5s}@keyframes flame-rise{0%,to{transform:translateY(0)scaleY(1)}50%{transform:translateY(-16px)scaleY(1.14)}}.sss-mote.rune{width:auto;height:auto;box-shadow:none;color:#ff4664d9;font-size:calc(var(--ms) * 4);text-shadow:0 0 9px #ff2850e6;background:0 0;border-radius:0}.ascension-overlay.sss .ascension-rank.slam{animation:.85s cubic-bezier(.2,1,.3,1) forwards sss-slam,2.8s step-end 1s infinite sss-flicker}@keyframes sss-slam{0%{opacity:0;filter:blur(12px)brightness(4);transform:scale(8)}38%{opacity:1;filter:blur()brightness(2.6);transform:scale(1)}56%{filter:brightness(2.6);transform:scale(1)}72%{filter:brightness(1.5);transform:scale(1.12)}to{filter:brightness();transform:scale(1)}}.bw-tag{border:1px dashed var(--line);color:var(--text-dim);letter-spacing:.14em;cursor:pointer;background:0 0;border-radius:8px;align-self:flex-end;padding:9px 12px;font-size:12px;font-weight:700}.bw-tag:hover{color:var(--accent);border-color:var(--accent)}.seen-label{color:var(--text-dim);white-space:nowrap;font-size:13px}.seen-label.online{color:#58e089;text-shadow:0 0 8px #58e08980}.side-fill{background:linear-gradient(90deg,#b58cff88,#b58cff)}.side-fill.done{background:linear-gradient(90deg,#58e08988,#58e089)}.side-progress-caption{color:var(--text-dim);letter-spacing:.06em;margin:4px 0 0;font-size:12px}.avatar{object-fit:cover;border:1px solid var(--line);background:var(--panel);border-radius:50%;flex:none}.avatar-fallback{color:var(--accent);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.avatar-btn{cursor:pointer;background:0 0;border:none;flex:none;padding:0;position:relative}.avatar-btn .avatar-edit{letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:1px 6px;font-size:9px;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}.avatar-btn:hover .avatar-edit{color:var(--accent);border-color:var(--accent)}.board-week{color:#58e089;text-align:right;letter-spacing:.05em;font-size:11px;font-style:normal;display:block}.quest.standard{border-left:3px solid var(--gold,#e7c66a);padding-left:10px}.rank-tag{letter-spacing:.14em;text-transform:uppercase;color:var(--gold,#e7c66a);border:1px solid color-mix(in srgb, var(--gold,#e7c66a) 55%, transparent);vertical-align:middle;border-radius:6px;margin-left:8px;padding:1px 6px;font-size:10px;font-style:normal;display:inline-block}.chip-standard{border-color:color-mix(in srgb, var(--gold,#e7c66a) 60%, transparent);color:var(--gold,#e7c66a)}.week-green{color:#58e089}.week-green small{color:var(--text-dim);font-size:11px;font-weight:400}.level-label.level-sub{margin-top:10px}.item-card{background:linear-gradient(135deg,#7ee8ff14,#b58cff14);border:1px solid #7ee8ff;border-radius:12px;flex-wrap:wrap;align-items:center;gap:14px;width:100%;padding:12px 16px;display:flex;box-shadow:0 0 16px #7ee8ff40,inset 0 0 14px #7ee8ff14}.item-glyph{color:#7ee8ff;text-shadow:0 0 12px #7ee8ff,0 0 30px #7ee8ff99;font-size:30px;animation:2.8s ease-in-out infinite shard-pulse}@keyframes shard-pulse{0%,to{text-shadow:0 0 12px #7ee8ff,0 0 30px #7ee8ff99}50%{text-shadow:0 0 18px #7ee8ff,0 0 46px #7ee8ffe6}}.item-body{flex-direction:column;flex:1;gap:3px;min-width:200px;display:flex}.item-name{font-family:var(--font-display);letter-spacing:.2em;color:#7ee8ff;font-size:13px}.item-desc{color:var(--text-dim);font-size:13px;line-height:1.45}
