:root{--cream:#fbf9f4;--cream-deep:#f5eedf;--white:#fff;--ink:#201e1b;--ink-soft:#4e483f;--muted:#827b72;--faint:#aba398;--gold:#c19b57;--gold-deep:#836737;--gold-bright:#f0debb;--gold-border:#c19b5733;--gold-faint:#c19b5714;--win:#2d823d;--win-soft:#2d823d0f;--loss:#c74338;--loss-soft:#c743380f;--warning-color:#aa6b18;--warning-bg:#e68f3014;--warning-border:#e68f3029;--warning-bar:#e59137;--panel:#ffffffa6;--panel-glow:#ffffffd9;--shadow-sm:0 4px 18px #322d2504, 0 1px 3px #322d2503;--shadow-md:0 16px 36px #322d2508, 0 2px 8px #322d2504, inset 0 1px 0 #fffffff2;--shadow-lg:0 24px 56px #322d250d, 0 4px 16px #322d2505, inset 0 1px 0 #fffffff2;--radius-lg:24px;--radius-md:16px;--radius-sm:10px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--ink);background:radial-gradient(circle at 50% -20%,#ead49b29 0%,#fefcf8cc 50%,#f5efe3f2 100%),repeating-linear-gradient(115deg,#ffffff4d 0 46px,#f6f2eb33 46px 92px);min-height:100vh;font-family:Playfair Display,serif;position:relative;overflow-x:hidden}.page-aura{pointer-events:none;z-index:0;background:linear-gradient(90deg,#c19b570f,#0000 12% 88%,#c19b570f),radial-gradient(circle at 50% 10%,#ead49b24,#0000 30%);position:fixed;inset:0}@supports (animation-timeline:scroll()){.page-aura{animation:linear both page-aura-scroll;animation-timeline:scroll()}}@keyframes page-aura-scroll{0%{background-color:#0000}to{filter:hue-rotate(10deg)saturate(1.08);background-color:#c19b5706}}@media print{.page-aura{display:none!important}}.grand-hall{z-index:1;flex-direction:column;gap:20px;max-width:980px;margin:0 auto;padding:18px 16px 48px;display:flex;position:relative}.section-panel{-webkit-backdrop-filter:blur(16px)saturate(1.1);backdrop-filter:blur(16px)saturate(1.1);border-radius:var(--radius-lg);background:#ffffff9e;border:1px solid #ffffffb3;outline:1px solid #c19b5714;padding:28px;position:relative;box-shadow:0 16px 48px #322d2506,0 2px 8px #322d2504,inset 0 1px #fffffff2}.pantheon-header{text-align:center;flex-direction:column;gap:14px;padding:22px 28px;display:flex}.hero-crest{justify-content:center;align-items:center;gap:12px;display:flex}.crest-line{background:linear-gradient(90deg, transparent, var(--gold), transparent);width:60px;height:1px}.crest-mark{letter-spacing:2.4px;text-transform:uppercase;color:var(--gold-deep);font-family:Cinzel,serif;font-size:10px;font-weight:700}.title-block{flex-direction:column;gap:6px;display:flex}.title-block .eyebrow{letter-spacing:1.8px;text-transform:uppercase;color:var(--muted);font-family:Cinzel,serif;font-size:10px}.title-block h1{letter-spacing:2.5px;text-transform:uppercase;color:var(--gold-deep);font-family:Cinzel,serif;font-size:clamp(34px,5.3vw,58px);line-height:.94}.title-block .subtitle{max-width:660px;color:var(--ink-soft);margin:8px auto 0;font-size:14px;line-height:1.45}.hero-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:4px;display:flex}.hero-link,.refresh-all-btn,.action-btn{letter-spacing:1.2px;text-transform:uppercase;cursor:pointer;border:1px solid var(--gold-border);color:var(--gold-deep);background:#ffffffad;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-family:Cinzel,serif;font-size:10px;font-weight:700;text-decoration:none;transition:background .2s,border-color .2s,transform .1s;display:inline-flex}.hero-link:hover,.refresh-all-btn:hover:not(:disabled),.action-btn:hover{background:#ffffffeb;border-color:#c19b5766}.hero-link:active,.action-btn:active{transform:translateY(1px)}.section-header-inline{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.section-kicker{letter-spacing:1.8px;text-transform:uppercase;color:var(--gold);margin-bottom:4px;font-family:Cinzel,serif;font-size:10px;font-weight:700;display:block}.section-header-inline h2{color:var(--gold-deep);text-transform:uppercase;letter-spacing:1.5px;font-family:Cinzel,serif;font-size:clamp(18px,2.4vw,24px)}.section-hint{letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);font-family:Cinzel,serif;font-size:10px}.vigil-grid{flex-direction:column;gap:20px;display:flex}.status-counters{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.stat-box{border-radius:var(--radius-sm);text-align:center;background:#fffdfa99;border:1px solid #c19b5724;flex-direction:column;gap:4px;padding:12px 8px;transition:transform .2s,box-shadow .2s;display:flex}.stat-box:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.stat-box strong{color:var(--ink);font-family:Cinzel,serif;font-size:24px;font-weight:900;line-height:1}.stat-box span{letter-spacing:.8px;text-transform:uppercase;color:var(--muted);font-family:Cinzel,serif;font-size:9px;font-weight:700}.stat-box.count-safe{background:linear-gradient(#2f7d340a,#ffffff80);border-left:3px solid #3d8b5c}.stat-box.count-warning{background:linear-gradient(#e68f300a,#ffffff80);border-left:3px solid #d98125}.stat-box.count-danger{background:linear-gradient(#bb3d340a,#ffffff80);border-left:3px solid #bb3d34}.stat-box.count-decaying{background:linear-gradient(#bb3d3414,#ffffff80);border-left:3px solid #bb3d34;box-shadow:0 0 10px #bb3d3414}.stat-box.count-inactive{border-left:3px solid var(--muted)}.vigil-meter-container{flex-direction:column;gap:8px;display:flex}.meter-header{justify-content:space-between;align-items:flex-end;font-size:12px;display:flex}.meter-header span{letter-spacing:1px;color:var(--ink-soft);font-family:Cinzel,serif;font-weight:700}.meter-header strong{color:var(--gold-deep);font-family:Cinzel,serif;font-size:14px}.burden-meter{background:#8d857b1f;border:1px solid #c19b5714;border-radius:999px;height:8px;position:relative;overflow:hidden}.burden-meter span{background:linear-gradient(90deg,#bb3d34,#d98125 50%,#3d8b5c);border-radius:999px;height:100%;transition:width .6s cubic-bezier(.25,.8,.25,1);display:block}.vigil-footer{border-top:1px solid var(--gold-faint);color:var(--ink-soft);justify-content:space-between;align-items:center;padding-top:12px;font-size:12px;display:flex}.countdown-wrapper{align-items:center;gap:8px;display:flex}.countdown-digits{letter-spacing:1px;color:var(--ink);font-family:Cinzel,serif;font-size:15px;font-weight:700}.countdown-digits.countdown-urgent{color:var(--loss);animation:1s infinite alternate pulseRed}@keyframes pulseRed{0%{opacity:.8}to{opacity:1;text-shadow:0 0 4px #bb3d3433}}.sort-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-bottom:12px;display:flex}.sort-controls span{letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-family:Cinzel,serif;font-size:9px}.sort-btn{letter-spacing:.8px;text-transform:uppercase;color:var(--ink-soft);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:4px 10px;font-family:Cinzel,serif;font-size:9px;font-weight:700;transition:all .2s}.sort-btn:hover{color:var(--gold-deep);background:var(--gold-faint)}.sort-btn.active{color:var(--gold-deep);border-color:var(--gold-border);box-shadow:var(--shadow-sm);background:#ffffffb3}.cards-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.player-card{border-radius:var(--radius-md);-webkit-backdrop-filter:blur(14px)saturate(1.1);backdrop-filter:blur(14px)saturate(1.1);background:#ffffff94;border:1px solid #ffffffa6;outline:1px solid #c19b5712;flex-direction:column;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;box-shadow:0 8px 32px #322d2505,0 1px 3px #322d2503,inset 0 1px #ffffffd9}.player-card:hover{background:#ffffffb8;border-color:#ffffffd9;outline-color:#c19b5729;transform:translateY(-4px);box-shadow:0 20px 48px #c19b5712,0 4px 12px #322d2505,inset 0 1px #fffffff2}.card-identity-header{border-bottom:1px solid #c19b5714;align-items:center;gap:12px;padding:16px 18px;display:flex;position:relative}.profile-icon-wrapper{border-radius:var(--radius-sm);border:1px solid var(--gold-border);background:var(--cream);flex-shrink:0;width:48px;height:48px;position:relative;overflow:hidden}.profile-icon-wrapper img{object-fit:cover;width:100%;height:100%}.identity-text{flex-direction:column;flex-grow:1;min-width:0;display:flex}.friend-name{letter-spacing:.5px;color:var(--gold-deep);white-space:nowrap;text-overflow:ellipsis;font-family:Cinzel,serif;font-size:16px;font-weight:700;overflow:hidden}.riot-id{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-family:Playfair Display,serif;font-size:12px;font-style:italic;overflow:hidden}.rank-lp{letter-spacing:.8px;color:var(--ink-soft);text-transform:uppercase;margin-top:2px;font-family:Cinzel,serif;font-size:10px}.pill{letter-spacing:.9px;text-transform:uppercase;border-radius:999px;align-items:center;padding:4px 10px;font-family:Cinzel,serif;font-size:9px;font-weight:700;display:inline-flex;box-shadow:0 2px 8px #00000004}.decay-pill{color:var(--ink-soft);background:#ffffffb3;border:1px solid #c19b5726;gap:4px;position:relative}.decay-pill strong{font-weight:700}.decay-safe{color:#1b6d2a;background:#2d823d0a;border-color:#2d823d38;box-shadow:0 0 10px #2d823d08}.decay-warning{color:#a45a0f;background:#e68f300a;border-color:#e68f3040;box-shadow:0 0 10px #e68f300a}.decay-danger{color:#ac3025;background:#c743380a;border-color:#c7433847;box-shadow:0 0 10px #c743380d}.decay-decaying{color:#ac3025;background:#c743380f;border-color:#c7433859;box-shadow:0 0 12px #c7433814}.decay-inactive{color:var(--muted);background:#827b720a;border-color:#827b7226}.player-card.card-danger{background:#fffefe99;border-color:#ffffffb3;outline-color:#c7433838}.player-card.card-decaying{background:#fffdfda6;border-color:#ffffffbf;outline-color:#c7433859;animation:4s ease-in-out infinite decayPulse}@keyframes decayPulse{0%,to{outline-color:#c7433859;box-shadow:0 8px 32px #322d2505,0 1px 3px #322d2503,inset 0 1px #ffffffd9}50%{outline-color:#c7433899;box-shadow:0 20px 48px #c743381a,0 4px 12px #322d2505,inset 0 1px #fffffff2}}.card-body{flex-direction:column;flex-grow:1;gap:16px;padding:16px 18px;display:flex}.stat-chips-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.stat-chip{border-radius:var(--radius-sm);text-align:center;background:#ffffff80;border:1px solid #c19b571a;flex-direction:column;justify-content:center;gap:4px;padding:10px 4px;display:flex}.stat-chip-label{letter-spacing:.6px;color:var(--muted);text-transform:uppercase;font-family:Cinzel,serif;font-size:8px;font-weight:700}.stat-chip-val{color:var(--ink);font-family:Cinzel,serif;font-size:13px;font-weight:900}.stat-chip-val.exposure-danger{color:var(--loss)}.stat-chip-val.exposure-safe{color:var(--win)}.card-progress-wrapper{flex-direction:column;gap:6px;display:flex}.card-progress-label-row{justify-content:space-between;align-items:center;font-size:11px;display:flex}.card-progress-label-row span{color:var(--ink-soft)}.card-progress-label-row strong{color:var(--gold-deep);font-family:Cinzel,serif}.bank-progress-bar{background:#8d857b14;border-radius:999px;height:6px;overflow:hidden}.bank-progress-bar span{border-radius:999px;height:100%;transition:width .4s;display:block}.bank-progress-bar.bar-safe span{background-color:#3d8b5c}.bank-progress-bar.bar-warning span{background-color:#d98125}.bank-progress-bar.bar-danger span,.bank-progress-bar.bar-decaying span{background-color:#bb3d34}.bank-progress-bar.bar-inactive span{background-color:var(--muted)}.card-metadata-footer{color:var(--muted);border-top:1px solid #c19b570f;justify-content:space-between;align-items:center;padding-top:12px;font-size:11px;font-style:italic;display:flex}.inspect-btn{color:var(--gold-deep);cursor:pointer;text-transform:uppercase;letter-spacing:.8px;background:0 0;border:none;align-items:center;gap:4px;font-family:Cinzel,serif;font-size:9px;font-weight:700;transition:color .2s;display:inline-flex}.inspect-btn:hover{color:var(--gold)}.inspect-btn svg{fill:currentColor;width:8px;height:8px;transition:transform .2s}.inspect-btn.expanded svg{transform:rotate(180deg)}.card-detail-panel{background:#f8f4ec8c;border-top:1px solid #c19b571a;flex-direction:column;gap:14px;padding:16px 18px;animation:.25s cubic-bezier(.25,.8,.25,1) forwards slideDown;display:none}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.detail-narrative{color:var(--ink-soft);font-size:12px;line-height:1.5}.forecast-mini-wrapper{flex-direction:column;gap:6px;display:flex}.forecast-mini-header{letter-spacing:.8px;color:var(--muted);text-transform:uppercase;font-family:Cinzel,serif;font-size:8px;font-weight:700}.forecast-mini-grid{grid-template-columns:repeat(14,1fr);gap:4px;display:grid}.forecast-day-box{aspect-ratio:1;cursor:help;border-radius:4px;transition:transform .15s;position:relative}.forecast-day-box:hover{z-index:2;transform:scale(1.1)}.day-box-safe{background-color:#3d8b5cbf;border:1px solid #3d8b5ce6}.day-box-warning{background-color:#d98125bf;border:1px solid #d98125e6}.day-box-danger{background-color:#bb3d34bf;border:1px solid #bb3d34e6}.day-box-decaying{background-color:#bb3d34e6;border:1px solid #bb3d34;box-shadow:inset 0 0 4px #00000026}.day-box-inactive{background-color:#8e857b33;border:1px solid #8e857b4d}.detail-calibration-actions{border-top:1px dotted #c19b5726;align-items:center;gap:8px;padding-top:12px;display:flex}.detail-calibration-actions span{letter-spacing:.8px;color:var(--muted);text-transform:uppercase;margin-right:auto;font-family:Cinzel,serif;font-size:8px;font-weight:700}.cal-action-btn{border:1px solid var(--gold-border);background:var(--white);color:var(--gold-deep);cursor:pointer;border-radius:999px;padding:4px 10px;font-family:Cinzel,serif;font-size:8px;font-weight:700;transition:all .15s}.cal-action-btn:hover{background:var(--cream-deep);border-color:#c19b574d}.cal-action-btn.btn-delete{color:var(--loss);border-color:#bb3d342e}.cal-action-btn.btn-delete:hover{background:var(--loss-soft);border-color:#bb3d344d}.timeline-wrapper{flex-direction:column;gap:16px;display:flex}.timeline-axis-header{letter-spacing:1px;color:var(--muted);text-transform:uppercase;border-bottom:1px solid var(--gold-faint);justify-content:space-between;padding-bottom:8px;font-family:Cinzel,serif;font-size:9px;font-weight:700;display:flex}.timeline-rows{flex-direction:column;gap:14px;display:flex}.timeline-row{flex-direction:column;gap:6px;display:flex}.timeline-row-info{justify-content:space-between;align-items:center;font-size:12px;display:flex}.timeline-row-info strong{color:var(--gold-deep);letter-spacing:.5px;font-family:Cinzel,serif;font-weight:700}.timeline-row-info span{color:var(--muted);font-size:11px}.timeline-row-info span.warning-alert{color:var(--loss);font-weight:700}.timeline-bar-outer{background:#827b720d;border:1px solid #ffffff80;border-radius:999px;height:8px;position:relative;overflow:hidden;box-shadow:inset 0 1px 2px #322d2508}.timeline-bar-fill{border-radius:999px;height:100%;transition:width .5s}.timeline-bar-fill.fill-safe{background:var(--win)}.timeline-bar-fill.fill-warning{background:var(--warning-bar)}.timeline-bar-fill.fill-danger{background:var(--loss)}.timeline-bar-fill.fill-decaying{background:var(--loss);animation:2.5s infinite alternate barPulse}@keyframes barPulse{0%{opacity:.7}to{opacity:1}}.timeline-ticks{justify-content:space-between;padding:0 2px;display:flex}.timeline-tick-mark{background-color:var(--gold-faint);width:1px;height:4px}.rules-table{border-collapse:collapse;text-align:left;width:100%;margin-top:10px;font-size:13px}.rules-table th{letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-deep);border-bottom:2px solid var(--gold-border);padding:10px 8px;font-family:Cinzel,serif;font-size:10px;font-weight:700}.rules-table td{border-bottom:1px solid var(--gold-faint);color:var(--ink-soft);padding:12px 8px}.rules-table tr:last-child td{border-bottom:none}.rules-table td strong{color:var(--ink)}.rules-footer{color:var(--muted);margin-top:14px;font-size:12px;font-style:italic;display:block}.admin-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.admin-card-head select,.admin-card-head input{border-radius:var(--radius-sm);border:1px solid var(--gold-border);background:var(--white);color:var(--ink);outline:none;padding:6px 10px;font-family:Playfair Display,serif;font-size:13px}.admin-card-head select:focus,.admin-card-head input:focus{border-color:var(--gold)}.admin-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:16px;display:grid}.admin-field{flex-direction:column;gap:4px;display:flex}.admin-field label{letter-spacing:.8px;text-transform:uppercase;color:var(--muted);font-family:Cinzel,serif;font-size:9px;font-weight:700}.admin-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.decay-admin-form input,.decay-admin-form select{border-radius:var(--radius-sm);border:1px solid var(--gold-border);background:var(--white);color:var(--ink);outline:none;width:100%;padding:8px 12px;font-family:Playfair Display,serif;font-size:13px;transition:border-color .2s}.decay-admin-form input:focus,.decay-admin-form select:focus{border-color:var(--gold)}.decay-admin-form input[readonly],.decay-admin-form select[disabled]{background:var(--cream-deep)!important;color:var(--ink-soft)!important;border-color:var(--gold-faint)!important;cursor:not-allowed!important}.signature-badge{z-index:30;box-shadow:var(--shadow-sm);color:var(--ink-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:1.2px;text-transform:uppercase;background:#fffdfadb;border:1px solid #c19b572e;border-radius:999px;align-items:center;gap:6px;padding:8px 11px;font-family:Cinzel,serif;font-size:10px;text-decoration:none;display:inline-flex;position:fixed;bottom:14px;left:14px}.signature-badge strong{color:var(--gold-deep)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#2b292566;justify-content:center;align-items:center;padding:16px;display:none;position:fixed;inset:0}.modal-content{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);background:linear-gradient(#fffffff5,#f8f4ecfa);border:1px solid #c19b574d;width:100%;max-width:500px;padding:24px;animation:.3s cubic-bezier(.25,.8,.25,1) forwards modalAppear}@keyframes modalAppear{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{border-bottom:1px solid var(--gold-faint);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.modal-header h3{color:var(--gold-deep);letter-spacing:1px;text-transform:uppercase;font-family:Cinzel,serif;font-size:18px}.modal-close{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:20px;line-height:1}.modal-close:hover{color:var(--ink)}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);color:var(--white);border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;z-index:10;box-shadow:var(--shadow-md);background:#2b2925f0;padding:6px 10px;font-family:Playfair Display,serif;font-size:11px;transition:all .15s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}[data-tooltip]:hover:after{opacity:1;transform:translate(-50%)translateY(0)}@media (width<=960px){.cards-grid{grid-template-columns:1fr}.stat-chips-grid{grid-template-columns:repeat(2,2fr)}}@media (width<=600px){.status-counters{grid-template-columns:repeat(3,1fr)}.stat-box.count-inactive{grid-column:span 3}.stat-chips-grid{grid-template-columns:1fr}.vigil-footer{flex-direction:column;align-items:flex-start;gap:10px}.countdown-wrapper{justify-content:space-between;width:100%}.sort-controls{justify-content:flex-start;width:100%}}.card-rank-emblem{object-fit:contain;transform-origin:50%;filter:drop-shadow(0 4px 10px #412d1233)saturate(1.15);flex-shrink:0;width:54px;height:54px;margin:0 6px;transition:transform .2s;transform:scale(2.8)translateY(-2px)}::view-transition-group(*){animation-duration:.45s;animation-timing-function:cubic-bezier(.34,1.4,.64,1)}.player-card,.timeline-row{will-change:transform, opacity}
