:root{--page-bg: #f8f6f1;--page-bg-glow: #ffffff;--shell-bg: #ffffff;--panel-bg: #fdfbf7;--account-summary-bg: #f3efea;--countdown-from: #e1cdae;--countdown-to: #efc495;--countdown-bg-from: #f0e8dd;--countdown-text: #4a3418;--countdown-value-text: #4a3418;--countdown-value-bg: #ffffff;--countdown-urgent-from: #fde2e1;--countdown-urgent-text: #7f1d1d;--countdown-urgent-value-bg: #ffffff;--countdown-urgent-value-text: #b91c1c;--account-badge-bg: #2e1f0f;--account-badge-text: #f0c988;--account-btn-bg: rgba(74, 52, 24, .12);--account-btn-bg-hover: rgba(74, 52, 24, .22);--account-btn-border: rgba(74, 52, 24, .3);--account-btn-text: #4a3418;--toggle-thumb-bg: #ffffff;--title-bar-bg: #fdfbf5;--title-bar-text: #6b4a24;--accent-on-text: #fdf6e8;--pill-bg: #f1ece2;--pill-bg-hover: #e8e0d0;--border: rgba(90, 62, 24, .16);--text: #2b2013;--text-dim: #7a6a52;--state-done: #0e9f6e;--state-done-grad-from: #34d399;--state-done-grad-to: #059669;--state-done-text-muted: #74836a;--state-scored-text: #07573f;--state-progress-from: rgba(217, 78, 12, .78);--state-progress-to: rgba(251, 146, 60, .85);--state-progress-tip: #fdba74;--progress-chip-fill-from: #fdba74;--progress-chip-fill-to: #fdba74;--progress-chip-fill-text: #2b2623;--progress-chip-fill-top: #ffb366;--progress-chip-fill-bottom: #ff8c1a;--progress-chip-complete-top: #a8edd8;--progress-chip-complete-bottom: #51cea2;--state-todo-bg: #fbe0cb;--state-todo-border: rgba(234, 88, 12, .45);--state-todo-text: #c2410c;--btn-register-text: #8c4a00;--state-done-pastel-bg: #dcf5e9;--state-done-pastel-text: #157a52;--role-content-bg: #dceefc;--role-content-text: #1f7aad;--role-boss-bg: #fbe2e1;--role-boss-text: #c23b35;--progress-ring-navy: #34457f;--item-row-todo-bg: #fffdf8;--item-row-todo-border: #e8dec8;--item-row-done-bg: #eae5df;--count-pill-bg: #ecdfc7;--diff-easy: #7d8896;--diff-normal: #3f8fd1;--diff-hard: #e0578f;--diff-chaos: #3a1a1d;--diff-chaos-border: #7a3237;--diff-extreme: #8a1628;--diff-extreme-border: #e0364f;color-scheme:light;font-family:Pretendard,system-ui,-apple-system,Malgun Gothic,sans-serif}:root[data-theme=dark]{--page-bg: #14151a;--page-bg-glow: #1e2028;--shell-bg: #15161b;--panel-bg: #1b1d24;--account-summary-bg: #21232c;--countdown-from: #5b93f5;--countdown-to: #2f56a8;--countdown-bg-from: #1b2740;--countdown-text: #dbe7fb;--countdown-value-text: #93c5fd;--countdown-value-bg: #101115;--countdown-urgent-from: #33191a;--countdown-urgent-text: #fca5a5;--countdown-urgent-value-bg: #101115;--countdown-urgent-value-text: #fca5a5;--account-badge-bg: #0f1c35;--account-badge-text: #93c5fd;--account-btn-bg: rgba(255, 255, 255, .07);--account-btn-bg-hover: rgba(255, 255, 255, .13);--account-btn-border: rgba(255, 255, 255, .16);--account-btn-text: #ece9e2;--toggle-thumb-bg: #ece9e2;--title-bar-bg: #1b1d24;--title-bar-text: #7fb0f7;--accent-on-text: #ffffff;--pill-bg: #23252d;--pill-bg-hover: #2c2f39;--border: rgba(255, 255, 255, .09);--text: #ece9e2;--text-dim: #93959e;--state-done: #4ade80;--state-done-grad-from: #4ade80;--state-done-grad-to: #0f766e;--state-done-text-muted: #8b9096;--state-scored-text: #4ade80;--state-progress-from: rgba(194, 65, 12, .75);--state-progress-to: rgba(253, 186, 116, .8);--state-progress-tip: #fed7aa;--progress-chip-fill-from: rgba(217, 119, 6, .4);--progress-chip-fill-to: rgba(217, 119, 6, .4);--progress-chip-fill-text: #ece9e2;--progress-chip-fill-top: #c97a3a;--progress-chip-fill-bottom: #a85f1e;--progress-chip-complete-top: #2f7a5e;--progress-chip-complete-bottom: #1f5c45;--state-todo-bg: rgba(251, 146, 60, .16);--state-todo-border: rgba(251, 146, 60, .4);--state-todo-text: #fdba74;--btn-register-text: #7fb0f7;--state-done-pastel-bg: rgba(14, 159, 110, .18);--state-done-pastel-text: #6ee0b0;--role-content-bg: rgba(56, 145, 200, .18);--role-content-text: #7cc4ea;--role-boss-bg: rgba(217, 83, 79, .18);--role-boss-text: #f0918d;--progress-ring-navy: #9aa8e0;--item-row-todo-bg: #1f212a;--item-row-todo-border: #2e303a;--item-row-done-bg: #17181d;--count-pill-bg: #2a2c34;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-gutter:stable}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,var(--page-bg-glow) 0%,var(--page-bg) 60%);color:var(--text);padding:2rem 1rem;transition:background-color .2s ease,color .2s ease}.app-shell{width:100%;max-width:1200px;margin:0 auto;border-radius:16px;border:1px solid var(--border);box-shadow:0 20px 60px #0f172a26;background:var(--shell-bg)}:root[data-theme=dark] .app-shell{box-shadow:0 20px 60px #00000080}.title-bar{background:var(--title-bar-bg);padding:.8rem 1.5rem;display:grid;grid-template-columns:1fr minmax(0,auto) 1fr;align-items:center;gap:.75rem;border-bottom:1px solid var(--border);border-radius:16px 16px 0 0}.title-bar-brand{grid-column:1;justify-self:stretch;display:flex;align-items:center;gap:.6rem;text-decoration:none;min-width:2.5rem}.title-bar-logo{width:40px;height:40px;border-radius:50%;object-fit:cover;background:#fdf6e8;flex-shrink:0;box-shadow:0 2px 6px #2e1f0f33}.title-bar-text{font-family:Pretendard,system-ui,sans-serif;font-weight:800;font-size:1.2rem;letter-spacing:-.01em;color:var(--title-bar-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.title-bar-actions{grid-column:3;justify-self:end;display:flex;align-items:baseline;gap:.6rem}.theme-toggle{background:none;border:1px solid transparent;color:var(--text-dim);border-radius:999px;padding:.35rem .7rem;font-size:.8rem;cursor:pointer;white-space:nowrap}.theme-toggle:hover{background:var(--pill-bg-hover);color:var(--text)}.scroll-to-top-btn{position:fixed;right:1.25rem;bottom:1.25rem;z-index:200;width:60px;height:60px;border-radius:50%;border:none;background:var(--account-badge-bg);color:var(--account-badge-text);box-shadow:0 4px 14px #00000040;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,color .15s ease}.scroll-to-top-icon{margin-top:.1rem}.scroll-to-top-label{font-size:.6rem;font-weight:800;letter-spacing:-.02em;white-space:nowrap}.scroll-to-top-btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0000004d;background:var(--countdown-to);color:var(--countdown-text)}.app-nav{display:flex;gap:1.5rem;margin-bottom:1.25rem;border-bottom:1px solid var(--border);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.app-nav-link{flex-shrink:0;white-space:nowrap;padding:.5rem .1rem .7rem;margin-bottom:-1px;font-size:.9rem;font-weight:600;color:var(--text-dim);text-decoration:none;background:none;border:none;border-bottom:2.5px solid transparent}.app-nav-link:hover{color:var(--text)}.app-nav-link.active{color:var(--countdown-to);font-weight:800;border-bottom-color:var(--countdown-to)}.reset-countdown{grid-column:2;justify-self:center;display:inline-flex;align-items:center;gap:.75rem;padding:.5rem 1.2rem;border-radius:999px;background:var(--countdown-bg-from);border:1px solid var(--countdown-to);color:var(--countdown-text);font-weight:700;font-size:.8rem;white-space:nowrap;max-width:100%;min-width:0;box-shadow:0 1px 4px #2e1f0f1f}.reset-countdown-icon{flex-shrink:0;font-size:1rem;margin-right:.1rem}.reset-countdown-label{min-width:0;overflow:hidden;text-overflow:ellipsis}@media (max-width: 780px){.reset-countdown-detail{display:none}}.reset-countdown-value{flex-shrink:0;font-variant-numeric:tabular-nums;font-family:JetBrains Mono,Consolas,monospace;font-size:.9rem;font-weight:800;letter-spacing:.02em;color:var(--countdown-value-text);background:var(--countdown-value-bg);padding:.15rem .5rem;border-radius:6px}.reset-countdown.urgent{background:var(--countdown-urgent-from);border-color:var(--countdown-urgent-text);color:var(--countdown-urgent-text);animation:reset-countdown-pulse 1.4s ease-in-out infinite}.reset-countdown.urgent .reset-countdown-value{background:var(--countdown-urgent-value-bg);color:var(--countdown-urgent-value-text)}@keyframes reset-countdown-pulse{0%,to{box-shadow:0 0 #b91c1c00}50%{box-shadow:0 0 10px #b91c1c59}}.app{padding:1.5rem;text-align:left}.app h2{margin:0 0 .75rem;font-size:1.1rem}.app h3{margin:0 0 .5rem;font-size:1rem}.app hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.muted{color:var(--text-dim)}.error{color:#ff6b81}.search-form{display:flex;gap:.5rem;margin-bottom:1rem}.account-panel{position:relative}.account-row{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;font-size:.8rem}.account-row button{font-size:.75rem;padding:.3rem .6rem}.account-username-badge{background:none;color:var(--text-dim);padding:.25rem .3rem;font-weight:600;font-size:.75rem;white-space:nowrap}.account-btn{background:none;border:1px solid transparent;color:var(--text-dim);border-radius:999px;font-weight:600;white-space:nowrap;font-size:.75rem;padding:.3rem .6rem;display:inline-flex;align-items:center;text-decoration:none}.account-btn:hover{background:var(--account-btn-bg-hover)}.account-help-btn{width:1.4rem;height:1.4rem;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--account-btn-bg);border:1px solid var(--account-btn-border);color:var(--account-btn-text);font-weight:700;font-size:.7rem;line-height:1}.account-help-btn:hover{background:var(--account-btn-bg-hover)}.account-form,.account-help{position:absolute;top:100%;right:0;margin-top:.5rem;padding:.75rem;background:var(--panel-bg);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 20px #0003;z-index:10;min-width:180px}.account-form{display:flex;flex-direction:column;gap:.5rem}.account-help{width:15rem;max-width:70vw;color:var(--text);font-size:.8rem;line-height:1.5;text-align:left}.account-help p{margin:0 0 .5rem}.account-help p:last-child{margin-bottom:0}.account-form-forgot-link{align-self:flex-end;font-size:.72rem;color:var(--text-dim);text-decoration:none}.account-form-forgot-link:hover{color:var(--text);text-decoration:underline}.auth-page{max-width:360px;margin:2rem auto;padding:1.5rem;border-radius:12px;background:var(--panel-bg);border:1px solid var(--border);text-align:left}.auth-page .muted{font-size:.85rem;line-height:1.5;margin:.4rem 0 1rem}.auth-form{display:flex;flex-direction:column;gap:.9rem}.auth-field{display:flex;flex-direction:column;gap:.35rem;font-size:.8rem;font-weight:600;color:var(--text-dim)}.auth-field input{background:var(--pill-bg);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:.55rem .7rem;font-size:.9rem;font-weight:400}.auth-back-link{display:inline-block;margin-top:1rem;font-size:.8rem;color:var(--text-dim)}.auth-recovery-question{padding:.6rem .8rem;margin:-.5rem 0 1rem;border-radius:8px;background:var(--pill-bg);font-weight:700;font-size:.9rem}.account-form input{background:var(--pill-bg);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:.4rem .6rem;font-size:.85rem}.api-key-gate{padding:1rem;border-radius:12px;background:var(--panel-bg);border:1px solid var(--border)}.api-key-gate p{margin:.4rem 0 .9rem;font-size:.85rem;line-height:1.5}.search-form input,select{background:var(--pill-bg);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:.5rem;font-size:.95rem}.search-form input{flex:1}button{background:var(--pill-bg);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:.45rem .8rem;cursor:pointer;font-size:.9rem}button:hover{background:var(--pill-bg-hover)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.section-heading h2{margin:0}.btn-link{display:inline-block;text-decoration:none;border-radius:8px;padding:.45rem .9rem;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap}.btn-primary.btn-link{background:var(--countdown-to);color:var(--accent-on-text)}.btn-primary.btn-link:hover{filter:brightness(1.1)}.btn-secondary.btn-link{background:var(--pill-bg);border:1px solid var(--border);color:var(--text)}.btn-secondary.btn-link:hover{background:var(--pill-bg-hover)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem 1rem}.loading-screen-logo{width:64px;height:64px;border-radius:50%;object-fit:cover;animation:loading-screen-pulse 1.6s ease-in-out infinite}@keyframes loading-screen-pulse{0%,to{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1)}}.loading-screen-text{display:inline-flex;align-items:baseline;font-weight:700;font-size:.95rem;color:var(--text-dim)}.loading-screen-dots{display:inline-block;overflow:hidden;width:0;white-space:nowrap;animation:loading-screen-dots 1.4s steps(4,end) infinite}@keyframes loading-screen-dots{to{width:1.6em}}.empty-state{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;padding:1.5rem;border-radius:12px;background:var(--panel-bg);border:1px solid var(--border)}.manage-section{margin-bottom:0}.manage-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.manage-card{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-radius:12px;background:var(--panel-bg);border:1px solid var(--border)}.manage-card-reorder{display:flex;flex-direction:column;gap:.25rem;flex-shrink:0}.manage-world-reorder{display:flex;gap:.3rem;margin-left:auto;flex-shrink:0}.manage-card-reorder-btn{width:26px;height:22px;border-radius:6px;border:1px solid var(--border);background:var(--pill-bg);color:var(--text-dim);font-size:.7rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.manage-card-reorder-btn:hover:not(:disabled){background:var(--panel-bg-hover, var(--pill-bg));color:var(--text)}.manage-card-reorder-btn:disabled{opacity:.35;cursor:default}.manage-card-portrait{width:56px;height:56px;flex-shrink:0;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--pill-bg)}.manage-card-portrait img{width:100%;height:100%;object-fit:contain;transform:scale(2.4);transform-origin:50% 58%}.manage-card-info{flex:0 0 auto;width:12rem;min-width:0;display:flex;flex-direction:column;gap:.25rem}.manage-card-name{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manage-card-meta{display:flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manage-card-meta .world-tile-icon{width:18px;height:18px;flex-shrink:0}.manage-account-content{margin-bottom:1.5rem;padding:1rem;border:1px solid var(--border);border-radius:12px;background:var(--panel-bg)}.manage-account-content h3{margin:0 0 .25rem}.manage-account-content .muted{margin:0 0 .75rem;font-size:.85rem}.manage-card-categories{flex:1;min-width:0;border-left:1px solid var(--border);padding-left:1rem}.manage-card-categories-title{margin:0 0 .35rem;font-size:.7rem;font-weight:700;color:var(--text-dim)}.manage-card-categories-groups{display:flex;flex-wrap:wrap;gap:.5rem}.category-checkbox-chip{display:inline-flex;align-items:center;font-size:.78rem;font-weight:600;padding:.3rem .75rem;border-radius:999px;background:var(--pill-bg);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.category-checkbox-chip:hover{background:var(--pill-bg-hover)}.category-checkbox-chip input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;outline:none}.category-checkbox-chip:has(input:checked){background:var(--countdown-to);border-color:var(--countdown-to);color:var(--accent-on-text);font-weight:700;box-shadow:0 2px 6px #00000026}.category-checkbox-chip:has(input:focus-visible){outline:2px solid var(--countdown-to);outline-offset:2px}.register-section{margin-bottom:0}.registered-list,.available-list{list-style:none;padding:0;margin:0 0 1rem}.registered-list li,.available-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;border-radius:999px;background:var(--pill-bg);margin-bottom:.35rem}.register-controls{display:flex;gap:.4rem;align-items:center}.badge{font-size:.75rem;padding:.15rem .6rem;border-radius:999px;background:#0596692e;color:#15803d}.world-select-hint{margin:0 0 .6rem;font-size:.8rem}.world-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.7rem;margin-bottom:1.25rem}.world-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.9rem .5rem;border-radius:10px;background:var(--panel-bg);border:2px solid var(--border);color:var(--text);cursor:pointer;font:inherit;transition:background-color .15s ease,border-color .15s ease}.world-tile:hover{background:var(--pill-bg-hover)}.world-tile.open{border-color:var(--countdown-to);background:var(--shell-bg);box-shadow:0 2px 8px #c86d2626}:root[data-theme=dark] .world-tile.open{box-shadow:0 2px 8px #2f56a847}.world-tile-icon{width:32px;height:32px;object-fit:contain;image-rendering:auto}.world-tile-icon-fallback{display:inline-flex;align-items:center;justify-content:center;font-size:1.4rem}.world-tile-name{font-size:.9rem;font-weight:700}.world-tile-count{font-size:.7rem;opacity:.75}.world-expanded-panel{border-radius:10px;background:var(--panel-bg);border:1px solid var(--border);padding:.4rem;margin-bottom:1rem}.char-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:.6rem;padding:.75rem}.char-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem;padding:.7rem .5rem;border-radius:12px;background:var(--pill-bg);border:1px solid var(--border)}.char-card.registered{border-color:var(--state-done-pastel-text);background:var(--state-done-pastel-bg)}.char-card.registered .char-card-portrait{opacity:.55;filter:grayscale(.4);background:var(--state-done-pastel-bg)}.char-card-portrait{width:128px;height:128px;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--pill-bg)}.char-card-portrait img{width:100%;height:100%;object-fit:contain;transform:scale(2.4);transform-origin:50% 58%}.char-card-portrait-placeholder{font-weight:700;font-size:1.6rem;color:var(--text-dim)}.char-card-name{font-weight:700;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.char-card-meta{font-size:.7rem;color:var(--text-dim)}.char-card-controls{display:flex;flex-direction:column;gap:.35rem;width:100%}.char-card-controls select,.char-card-controls button,.char-card-controls .badge{width:100%;box-sizing:border-box;font-size:.75rem;padding:.4rem;border-radius:8px;text-align:center}.char-card-controls select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--panel-bg);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23888' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;background-size:.6rem;padding-right:1.6rem}.char-card-controls select:focus{outline:none;border-color:var(--countdown-to)}.char-card-controls .btn-primary{background:var(--countdown-to);border:1px solid var(--countdown-to);color:var(--accent-on-text);font-weight:700}.char-card-controls .btn-primary:hover{filter:brightness(1.1)}.btn-danger{background:#d9534f1a;border:1px solid rgba(217,83,79,.4);color:#d9534f;font-weight:600}.btn-danger:hover{border-color:#d9534f99;background:#d9534f2e}.dashboard-tabs{margin-bottom:1.25rem}.dashboard-tab{flex-shrink:0;padding:.55rem 1.1rem;border-radius:999px;border:1px solid var(--border);background:var(--pill-bg);color:var(--text-dim);font-weight:700;font-size:.85rem;white-space:nowrap;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.dashboard-tab.active{background:#a18874;border-color:#a18874;color:var(--accent-on-text)}:root[data-theme=dark] .dashboard-tab.active{background:var(--countdown-to);border-color:var(--countdown-to)}@media (hover: hover) and (pointer: fine){.dashboard-tab:not(.active):hover{background:var(--pill-bg-hover)}}.progress-ring-group{display:flex;flex-direction:column;align-items:center}.progress-ring{position:relative;flex-shrink:0;width:var(--ring-size);height:var(--ring-size)}.progress-ring-value-below{display:flex;flex-direction:column;align-items:center;gap:.1rem;margin-top:.35rem}.progress-ring svg{display:block;width:100%;height:100%;transition:filter .3s ease-out}@media (hover: hover) and (pointer: fine){.progress-ring:hover svg{filter:drop-shadow(0 3px 8px rgba(15,23,42,.25))}.progress-ring:hover .progress-ring-track{stroke:#ef444459}}.progress-ring-track{stroke:var(--pill-bg);transition:stroke .2s ease-out}.progress-ring-portrait{position:absolute;inset:calc(var(--ring-stroke, 10px) + 3px);display:flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px #0f172a1f,0 2px 6px #0f172a2e;transition:filter .2s ease-out,opacity .2s ease-out}.progress-ring-portrait.dim{opacity:.4;filter:grayscale(100%)}.progress-ring-portrait img{width:239%;height:226%;object-fit:contain;transform:scale(2.2);transform-origin:48% 50%}.progress-ring-fill{stroke:var(--progress-chip-fill-from);transition:stroke-dashoffset .9s cubic-bezier(.22,1,.36,1),stroke .4s ease}.progress-ring-fill-dailyQuest{stroke:var(--role-content-text)}.progress-ring-fill-weeklyBoss{stroke:var(--role-boss-text)}.progress-ring-fill-weeklyContent{stroke:var(--progress-ring-navy)}.progress-ring-fill.complete{stroke:var(--state-done-grad-to)}.progress-ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem}.progress-ring-value{font-weight:800;font-size:1rem;color:var(--text)}.progress-ring-label{font-size:.65rem;color:var(--text-dim)}.progress-ring-hover-info{display:none;position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%) translateY(4px);flex-direction:column;align-items:center;gap:.1rem;padding:.4rem .65rem;border-radius:8px;background:var(--panel-bg);border:1px solid var(--border);box-shadow:0 6px 16px #0f172a2e;font-size:.72rem;font-weight:700;color:var(--text);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease-out,transform .2s ease-out;z-index:5}.progress-ring-hover-info-count{color:var(--text-dim);font-weight:600}@media (hover: hover) and (pointer: fine){.progress-ring-hover-info{display:flex}.progress-ring:hover .progress-ring-hover-info{opacity:1;transform:translate(-50%) translateY(0)}}.dashboard-overview{display:flex;align-items:stretch;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.25rem;padding:1.1rem 1.4rem;border-radius:14px;background:var(--panel-bg);border:1px solid var(--border)}.dashboard-overview-half{flex:1 1 280px;min-width:0;display:flex;flex-direction:column;justify-content:center}.dashboard-overview-half h3{margin:0 0 .6rem;font-size:.95rem;text-align:center}.dashboard-overview-half:not(:first-child){border-left:1px solid var(--border);padding-left:1.5rem}.dashboard-overview-rings{display:flex;align-items:flex-start;justify-content:center;flex-wrap:wrap;gap:1.5rem}.dashboard-overview-ring{display:flex;flex-direction:column;align-items:center;gap:.5rem}.dashboard-overview-ring-caption{font-size:.8rem;font-weight:700;color:var(--text-dim);white-space:nowrap}.dashboard-overview-ring-primary .dashboard-overview-ring-caption{font-size:.85rem;font-weight:800;color:var(--text)}.dashboard-meso-card{margin-bottom:2rem;padding:1.1rem 1.4rem;border-radius:14px;background:var(--account-summary-bg);border:1px solid var(--border)}.dashboard-meso-card h3{margin:0 0 .3rem}.dashboard-meso-card .muted{font-size:.82rem}.dashboard-meso-stats{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:.75rem}.dashboard-meso-stat{display:flex;flex-direction:column;gap:.2rem}.dashboard-meso-stat-label{font-size:.78rem;color:var(--text-dim)}.dashboard-meso-stat-value{font-weight:800;font-size:1.15rem}.dashboard-meso-earned{color:var(--state-done)}.dashboard-meso-stat-value.dashboard-meso-earned{font-size:1.35rem}.dashboard-meso-bar-row{display:flex;align-items:center;gap:.6rem;margin-top:.9rem}.dashboard-meso-bar{flex:1;height:12px;border-radius:6px;background:var(--count-pill-bg);border:1px solid var(--border);overflow:hidden}.dashboard-meso-bar-fill{position:relative;height:100%;border-radius:6px;background:linear-gradient(to right,var(--state-done-grad-from),var(--state-done-grad-to));transition:width .3s ease;overflow:hidden}.dashboard-meso-bar-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:40%;background:linear-gradient(to right,transparent,rgba(255,255,255,.55),transparent);transform:translate(-150%);animation:dashboard-meso-bar-shimmer 2.6s ease-in-out infinite}@keyframes dashboard-meso-bar-shimmer{0%{transform:translate(-150%)}to{transform:translate(350%)}}@media (prefers-reduced-motion: reduce){.dashboard-meso-bar-fill:after{animation:none}}.dashboard-meso-bar-pct{flex-shrink:0;font-size:.75rem;font-weight:700;color:var(--text-dim);white-space:nowrap}.progress-bar-row{display:flex;align-items:center;gap:.6rem}.progress-bar-label{flex:0 0 auto;width:2.5rem;font-size:.69rem;font-weight:700;color:var(--text-dim)}.progress-bar-count{flex:0 0 auto;width:2.2rem;font-size:.69rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text);text-align:right}.progress-bar-track{flex:1 1 auto;height:12px;border-radius:6px;background:var(--count-pill-bg);border:1px solid var(--border);overflow:hidden}.progress-bar-fill{position:relative;height:100%;border-radius:6px;background:var(--progress-chip-fill-from);transition:width .8s cubic-bezier(.4,0,.2,1);overflow:hidden}@media (prefers-reduced-motion: no-preference){.progress-bar-fill{animation:progress-bar-fill-in .9s ease-out forwards}}@keyframes progress-bar-fill-in{0%{width:0%}}.progress-bar-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:40%;background:linear-gradient(to right,transparent,rgba(255,255,255,.55),transparent);transform:translate(-150%);animation:dashboard-meso-bar-shimmer 2.6s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.progress-bar-fill:after{animation:none}}@media (hover: hover) and (pointer: fine){.progress-bar-row:hover .progress-bar-fill{filter:brightness(1.15)}}.progress-bar-fill-content{background:var(--role-content-text)}.progress-bar-fill-boss{background:var(--role-boss-text)}.dashboard-ring-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:.75rem}.dashboard-ring-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .75rem;border-radius:12px;background:var(--item-row-todo-bg);border:1px solid var(--item-row-todo-border);transition:transform .3s ease-out,box-shadow .3s ease-out,border-color .2s ease-out,box-shadow .2s ease-out;cursor:pointer}.dashboard-ring-card.selected{border-color:var(--progress-chip-fill-from);box-shadow:0 0 0 2px var(--progress-chip-fill-from)}.dashboard-detail-panel{display:flex;flex-direction:column;gap:.9rem;margin-bottom:1.5rem;padding:1.25rem 1.5rem;border-radius:12px;background:var(--item-row-todo-bg);border:1px solid var(--item-row-todo-border);position:relative}.dashboard-detail-panel.complete{background:var(--state-done-pastel-bg);border-color:transparent}.dashboard-detail-panel-close{position:absolute;top:1rem;right:1rem;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;border:1px solid var(--border);background:var(--count-pill-bg);color:var(--text-dim);font-size:1rem;line-height:1;cursor:pointer}@media (hover: hover) and (pointer: fine){.dashboard-detail-panel-close:hover{color:var(--text);border-color:var(--progress-chip-fill-from)}}.daily-exp-symbol-tag.done{background:var(--state-done-pastel-bg);border-color:transparent}.daily-exp-symbol-pct{font-size:.62rem;font-weight:800;color:var(--state-todo-text)}.daily-exp-symbol-tag.done .daily-exp-symbol-pct{color:var(--state-done-pastel-text)}.dashboard-ring-card-expanded-top{display:flex;align-items:center;gap:16px}.dashboard-ring-card-expanded-top .dashboard-ring-card-name{font-size:18px;font-weight:800;text-align:left;color:var(--text);padding-left:.5rem;border-left:3px solid var(--role-content-text)}.dashboard-ring-card-identity{display:flex;flex-direction:column;gap:4px;min-width:0}.dashboard-ring-card-name-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.dashboard-ring-card-power-badge{display:inline-flex;align-items:baseline;gap:.3rem;font-size:.7rem;font-weight:600;color:var(--text-dim);white-space:nowrap}.combat-power-estimated-badge{display:inline-flex;align-items:center;font-size:.65rem;font-weight:800;padding:.12rem .5rem;border-radius:999px;background:var(--countdown-bg-from);border:1px solid var(--countdown-to);color:var(--countdown-text);cursor:help;white-space:nowrap;letter-spacing:.02em}.dashboard-ring-card-meta-row{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:400;color:var(--text-dim)}.dashboard-ring-card-meta-divider{font-size:10px;color:var(--text-dim)}.dashboard-ring-card-portrait-lg{width:88px;height:88px;flex-shrink:0;border-radius:14px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--pill-bg)}.dashboard-ring-card-portrait-lg img{width:239%;height:226%;object-fit:contain;transform:scale(2.2);transform-origin:48% 50%}.dashboard-ring-card-portrait-lg .char-card-portrait-placeholder{font-size:2rem}.dashboard-progress-columns{display:flex;align-items:stretch;gap:1rem}.dashboard-progress-section,.dashboard-meso-section{flex:1 1 260px;min-width:0;padding:16px 20px;border-radius:10px;border:1px solid var(--border);background:var(--panel-bg)}.dashboard-progress-section{display:flex;flex-direction:column;gap:.7rem}.dashboard-ring-card-bars{display:flex;flex-direction:column;justify-content:center;gap:.6rem}.dashboard-score-rows{display:flex;flex-direction:column;gap:.5rem}.dashboard-score-row{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;font-size:.69rem}.dashboard-score-row-label{font-weight:700;color:var(--role-content-text)}.dashboard-score-row-value{font-weight:700;font-variant-numeric:tabular-nums;color:var(--state-scored-text)}.dashboard-meso-section{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem}.dashboard-meso-section .dashboard-ring-card-section-title{align-self:center}.dashboard-meso-section .dashboard-ring-card-meso{flex-direction:row;align-items:baseline;gap:6px}.dashboard-meso-section .dashboard-meso-earned{font-size:20px;font-weight:800}.dashboard-meso-total{font-size:12px;font-weight:500;color:var(--text-dim)}.dashboard-ring-card-section{display:flex;flex-direction:column;gap:.7rem;padding-top:1rem;border-top:1px solid var(--border)}.dashboard-ring-card-section-title{align-self:flex-start;font-size:13px;font-weight:700;padding:0 0 0 .6rem;border-left:3px solid var(--progress-chip-fill-from);color:var(--text);line-height:1.3}.dashboard-loot-categories{display:grid;grid-template-columns:1fr 1fr;gap:0 1.75rem;align-items:start}.dashboard-loot-column{display:flex;flex-direction:column;gap:1.1rem}.dashboard-loot-categories>p.muted{grid-column:1 / -1}.dashboard-loot-category{display:flex;flex-direction:column;align-items:stretch;gap:.6rem}.dashboard-loot-subgroups{display:flex;flex-direction:column;gap:.7rem;width:100%}.dashboard-loot-subgroup{display:flex;flex-direction:column;gap:.4rem}.dashboard-loot-subgroup-label{align-self:flex-start;font-size:.68rem;font-weight:700;padding:0 0 0 .6rem;border-left:3px solid var(--progress-chip-fill-from);color:var(--text-dim);line-height:1.3}.dashboard-loot-category-label{align-self:flex-start;font-size:.8rem;font-weight:800;padding:0 0 0 .6rem;border-left:3px solid var(--progress-chip-fill-from);background:none;color:var(--text);line-height:1.3}.dashboard-loot-tags{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:.5rem}.dashboard-loot-tag{position:relative;display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.5rem .35rem .4rem;border-radius:10px;background:var(--item-row-todo-bg);border:1px solid var(--border);text-align:center;cursor:default;transition:transform .2s ease-out,box-shadow .2s ease-out}@media (hover: hover) and (pointer: fine){.dashboard-loot-tag:hover{transform:translateY(-2px);box-shadow:0 6px 14px #0f172a24}}.dashboard-loot-tag-icon{position:relative;width:34px;height:34px;flex:none}.dashboard-loot-tag-icon img{width:34px;height:34px;object-fit:contain;border-radius:7px}.dashboard-loot-tag-name{font-size:.66rem;font-weight:600;color:var(--text);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dashboard-loot-tag-count{position:absolute;bottom:-6px;right:-6px;display:inline-flex;align-items:center;justify-content:center;min-width:1.05rem;height:1.05rem;padding:0 .2rem;font-size:.55rem;font-weight:800;border-radius:999px;background:var(--state-progress-tip);color:#2b2623;box-shadow:0 1px 3px #0f172a40}.dashboard-loot-tag-claimed{position:absolute;top:-6px;left:-6px;display:inline-flex;align-items:center;justify-content:center;width:1.05rem;height:1.05rem;border-radius:999px;background:var(--state-done);color:#fff;font-size:.6rem;font-weight:800;box-shadow:0 1px 3px #0f172a40}.dashboard-ring-card.complete{background:var(--state-done-pastel-bg);border-color:transparent}.dashboard-ring-card.empty{border-color:var(--border)}.dashboard-ring-card.no-login{background:var(--role-boss-bg);border-color:var(--role-boss-text)}.dashboard-ring-card-portrait-wrap{position:relative;display:inline-block}.dashboard-ring-card-login-badge{position:absolute;top:-2px;right:-2px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#d9534f;color:#fff;font-size:.75rem;font-weight:900;line-height:1;border:2px solid var(--panel-bg);box-shadow:0 1px 3px #00000040}@media (hover: hover) and (pointer: fine){.dashboard-ring-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #0f172a29}}.dashboard-ring-card-name{font-weight:700;font-size:.85rem;color:var(--text);text-align:center}.dashboard-ring-card-meta{display:flex;flex-direction:column;align-items:center;gap:.3rem;font-size:.7rem;line-height:1.4;color:var(--text-dim);text-align:center}.dashboard-ring-card-login-hint{font-size:.7rem;line-height:1.5;color:var(--text-dim);text-align:center}.dashboard-ring-card-login-cta{display:inline-block;margin-top:.15rem;font-weight:700;color:var(--state-todo-text)}.dashboard-ring-card-meta-tag{font-weight:700}.dashboard-ring-card-meta-tag.content{color:var(--role-content-text)}.dashboard-ring-card-meta-tag.boss{color:var(--role-boss-text)}.dashboard-ring-card-meso{display:flex;flex-direction:column;align-items:center;gap:.1rem;font-size:.72rem;font-weight:700;color:var(--text-dim);text-align:center;white-space:nowrap}.boss-meso-debug-table{width:100%;border-collapse:collapse;font-size:.85rem}.boss-meso-debug-table th,.boss-meso-debug-table td{padding:.45rem .7rem;border-bottom:1px solid var(--border);text-align:right}.boss-meso-debug-table th:first-child,.boss-meso-debug-table td:first-child{text-align:left;font-weight:700}.boss-meso-debug-table th{color:var(--text-dim);font-size:.75rem}.dashboard-world-group{margin-bottom:2rem;border-radius:10px;transition:background-color .15s ease,box-shadow .15s ease}.dashboard-world-group.dragging{opacity:.5}.dashboard-world-group.drag-over{box-shadow:inset 0 0 0 2px var(--countdown-to);background:var(--pill-bg)}.dashboard-world-header{display:flex;align-items:center;gap:.65rem;margin-bottom:.9rem;padding-bottom:.6rem;font-weight:700;font-size:1rem;color:var(--text-dim);border-bottom:1px solid var(--border)}.dashboard-world-header[draggable=true]{cursor:grab}.world-filter-toggle{position:relative;display:inline-flex;align-items:stretch;margin-left:auto;padding:3px;border-radius:10px;background:var(--count-pill-bg);flex-shrink:0}.world-filter-indicator{position:absolute;top:3px;bottom:3px;left:0;border-radius:7px;background:var(--panel-bg);box-shadow:0 1px 3px #0f172a26;transition:transform .2s ease,width .2s ease}.world-filter-btn{position:relative;z-index:1;font-size:.72rem;font-weight:700;padding:.3rem .65rem;border-radius:7px;border:none;background:transparent;color:var(--text-dim);cursor:pointer;white-space:nowrap;transition:color .15s ease}.world-filter-btn.active{color:var(--text)}.world-filter-btn:hover{background:transparent}.world-filter-btn:not(.active):hover{color:var(--text)}.dashboard-world-header[draggable=true]:active{cursor:grabbing}.dashboard-world-drag-handle{color:var(--text-dim);font-size:.95rem;line-height:1;opacity:.6}.dashboard-world-header:hover .dashboard-world-drag-handle{opacity:1}.dashboard-world-header .world-tile-icon{width:30px;height:30px}.page-with-sidebar{display:flex;align-items:flex-start;gap:1.25rem}.page-main{flex:1;min-width:0}.character-jump-sidebar{display:none}@media (min-width: 900px){.character-jump-sidebar{display:flex;flex-direction:column;gap:.3rem;flex-shrink:0;width:190px;position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow-y:auto;padding:.7rem;border-radius:16px;border:1px solid var(--border);background:var(--account-summary-bg)}}@media (min-width: 1700px){.character-jump-sidebar{position:fixed;top:6rem;left:max(1rem,calc(50vw - 814px))}}.character-jump-world-group{display:flex;flex-direction:column;gap:.3rem}.character-jump-world-group:not(:first-child){margin-top:.6rem}.character-jump-world-header{display:inline-flex;align-items:center;gap:.35rem;width:fit-content;padding:.2rem .3rem;margin-bottom:.1rem;font-size:.72rem;font-weight:800;color:var(--text)}.character-jump-world-header .world-tile-icon{width:20px;height:20px}.character-jump-item{flex-shrink:0;display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:12px;border:1px solid var(--border);background:var(--panel-bg);box-shadow:inset 0 1px #fff6;cursor:pointer;text-align:left;width:100%}:root[data-theme=dark] .character-jump-item{box-shadow:none}.character-jump-item:hover{background:var(--pill-bg-hover)}.character-jump-item.active{background:var(--pill-bg);border:2px solid var(--countdown-to);box-shadow:0 0 0 1px var(--countdown-to),0 2px 10px #e6aa3c59}.character-jump-avatar{flex-shrink:0;width:40px;height:40px;border-radius:9px;overflow:hidden;background:var(--pill-bg);box-shadow:inset 0 0 0 1px #00000014,inset 0 2px 3px #0000001f;display:flex;align-items:center;justify-content:center}.character-jump-avatar img{width:100%;height:100%;object-fit:contain;transform:scale(2.4);transform-origin:50% 58%}.character-jump-avatar .char-card-portrait-placeholder{font-size:.9rem}.character-jump-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.character-jump-name{font-size:.82rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.character-jump-meta{font-size:.68rem;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scheduler-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem;margin-bottom:1rem}.scheduler-summary-group{display:flex;flex-direction:column;gap:.6rem;padding:.9rem 1rem;border-radius:12px;background:var(--panel-bg);border:1px solid var(--border)}.scheduler-summary-group-title{font-size:.85rem;font-weight:800;color:var(--text)}.scheduler-summary-group-stats{display:flex;gap:.6rem}.scheduler-summary-group.complete{background:color-mix(in srgb,var(--state-done) 42%,var(--panel-bg));border-color:transparent}.scheduler-summary-complete-msg{margin:0;text-align:center;font-size:.95rem;font-weight:800;color:var(--state-done-pastel-text)}.scheduler-summary-group-stats.dimmed>.scheduler-summary-stat{opacity:.45}.scheduler-summary-stat{flex:1;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.7rem .5rem;min-width:0;border-radius:10px;border:1px solid var(--border);text-align:center}.scheduler-summary-card-label{font-size:.78rem;font-weight:700;color:var(--text-dim)}.scheduler-summary-stat.content .scheduler-summary-card-label{color:var(--role-content-text)}.scheduler-summary-stat.boss .scheduler-summary-card-label{color:var(--role-boss-text)}.scheduler-summary-stat.complete{background:var(--state-done-pastel-bg)}.scheduler-summary-card-value{font-size:1.6rem;font-weight:800;color:var(--text)}.scheduler-summary-card-unit{margin-left:.3rem;font-size:.8rem;font-weight:600;color:var(--text-dim)}.scheduler-summary-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:.7rem .5rem;margin:0;font-size:.78rem}.account-summary{display:flex;flex-direction:column;gap:.65rem;margin-bottom:.9rem;padding:.85rem 1rem;border-radius:12px;background:var(--account-summary-bg);border:1px solid var(--border);border-left:3px solid var(--countdown-to)}.account-summary-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;border:none;background:transparent;cursor:pointer}.account-summary-label{font-size:.8rem;font-weight:800;color:var(--text)}.account-content-group{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.account-content-group-label{flex-shrink:0;font-size:.72rem;font-weight:700;color:var(--text-dim);background:var(--pill-bg);border:1px solid var(--border);border-radius:999px;padding:.25rem .65rem;white-space:nowrap}.account-content-cards{display:flex;flex-wrap:wrap;gap:.6rem}.account-content-card{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .7rem .25rem .3rem;border-radius:999px;background:var(--shell-bg);border:1px solid var(--border)}.account-content-card.complete{background:#0596691a;border-color:#05966959}.account-content-icon{position:relative;width:20px;height:20px;flex-shrink:0;border-radius:6px;overflow:hidden;background:var(--pill-bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center}.account-content-icon img{width:100%;height:100%;object-fit:contain}.account-content-icon-fallback{font-size:.7rem}.account-content-check{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:900;line-height:1;color:var(--state-done)}.account-content-info{display:flex;align-items:baseline;gap:.35rem;line-height:1.2}.account-content-name{font-size:.75rem;font-weight:700;color:var(--text);white-space:nowrap}.account-content-count{font-size:.7rem;font-weight:700;color:var(--text-dim);white-space:nowrap}.account-content-card.complete .account-content-count{color:var(--state-done)}.dashboard-card-identity{display:flex;align-items:center;gap:.6rem;min-width:0}.dashboard-card-identity-text{display:flex;flex-direction:column;gap:.2rem;min-width:0}.dashboard-card-title{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.dashboard-card-name{font-size:18px;font-weight:800;color:var(--text);padding-left:.5rem;border-left:3px solid var(--role-content-text)}.dashboard-card-power-box{display:flex;align-items:baseline;gap:.3rem}.dashboard-card-power-label{font-size:.68rem;font-weight:600;color:var(--text-dim);white-space:nowrap}.dashboard-card-power-value{font-size:.95rem;font-weight:800;color:var(--state-todo-text);white-space:nowrap}.dashboard-card-meta{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:400;color:var(--text-dim)}.dashboard-card-meta-divider{font-size:10px;color:var(--text-dim)}.role-badges{display:inline-flex;gap:.3rem}.role-badge{font-size:.65rem;font-weight:800;padding:.12rem .5rem;border-radius:999px;letter-spacing:.02em}.role-badge.role-content{background:var(--role-content-bg);color:var(--role-content-text)}.role-badge.role-boss{background:var(--role-boss-bg);color:var(--role-boss-text)}.role-badges-compact{gap:.25rem}.role-badge-dot{display:inline-flex;align-items:center;padding:2px 4px;border-radius:4px;font-size:.6rem;font-weight:800;line-height:1;flex-shrink:0;box-shadow:0 2px 4px #00000026}.role-badge-dot.role-content{background:#0284c7;color:#fff}.role-badge-dot.role-boss{background:#e11d48;color:#fff}.dashboard-list{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-direction:column;gap:.6rem}.dashboard-card{border-radius:14px;overflow:hidden;background:var(--panel-bg);border:1px solid var(--border);box-shadow:0 1px 3px #0f172a14;transition:border-color .15s ease,box-shadow .15s ease}.dashboard-card:has(.dashboard-card-header:hover){border-color:var(--countdown-to);box-shadow:0 4px 14px #0f172a1a}:root[data-theme=dark] .dashboard-card:has(.dashboard-card-header:hover){box-shadow:0 4px 14px #0006}.dashboard-card-header{width:100%;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;row-gap:.5rem;gap:.75rem;padding:12px 1.1rem;border:none;background:transparent;color:var(--text);font:inherit;font-weight:600;cursor:pointer;text-align:left;border-radius:0;transition:background-color .15s ease}.dashboard-card-header:hover{background:#ffffff0a}.dashboard-card-chevron{flex-shrink:0;font-size:1.4rem;font-weight:700;color:var(--text-dim);transition:transform .2s ease}.dashboard-card-chevron.open{transform:rotate(90deg)}.dashboard-card-portrait-wrap{position:relative;flex-shrink:0}.dashboard-card-portrait-badges{position:absolute;top:-4px;right:-4px;display:flex;gap:2px;z-index:1}.dashboard-card-portrait{width:72px;height:72px;flex-shrink:0;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--pill-bg)}.dashboard-card-portrait img{width:239%;height:226%;object-fit:contain;transform:scale(2.2);transform-origin:48% 50%}.dashboard-card-portrait .char-card-portrait-placeholder{font-size:1.5rem}.dashboard-card-header.complete{background:#05966914}.dashboard-card-header.no-login{background:var(--role-boss-bg)}.dashboard-card-login-badge{top:auto;bottom:-2px}.role-badge-complete{background:linear-gradient(to right,var(--state-done-grad-from),var(--state-done-grad-to));color:#06331d}.dashboard-card-header .progress{font-size:.85rem;padding:.15rem .6rem;border-radius:999px;background:var(--count-pill-bg)}.progress-group{display:flex;align-items:baseline;gap:.4rem;padding:.25rem .55rem;border-radius:10px;border:1px solid var(--border);background:var(--pill-bg)}.progress-group-label{flex-shrink:0;font-size:.72rem;font-weight:700;color:var(--text-dim);padding-right:.4rem;border-right:1px solid var(--border)}.progress-group-chips{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;flex:1;min-width:0}.status-card{display:flex;gap:20px;flex-wrap:wrap;margin-left:auto}.status-group{display:flex;flex-direction:column;gap:6px;min-width:170px;padding-left:16px;border-left:1px solid var(--border)}.status-group-title{font-size:12px;font-weight:800;color:var(--text-dim);padding-bottom:4px;border-bottom:1px solid var(--border)}.gauge-item{display:flex;align-items:center;gap:8px}.gauge-item-empty .gauge-track{opacity:.45;filter:grayscale(40%)}.gauge-label{flex:none;width:34px;font-size:11px;font-weight:700;color:var(--text-dim)}.gauge-track{flex:1;height:6px;border-radius:3px;background:var(--count-pill-bg);box-shadow:inset 0 1px 2px #00000014;overflow:hidden}.gauge-fill{display:block;height:100%;border-radius:3px;transition:width .6s ease}.gauge-fill.fill-orange{background:linear-gradient(90deg,var(--progress-chip-fill-top),var(--progress-chip-fill-bottom))}.gauge-fill.fill-green{background:linear-gradient(90deg,var(--progress-chip-complete-top),var(--progress-chip-complete-bottom))}.gauge-val{flex:none;width:32px;font-size:11px;font-weight:800;color:var(--text);text-align:right}.gauge-val.val-complete{color:var(--state-done)}.dashboard-card .scheduler-panels{padding:0 1.1rem 1.1rem}.scheduler-panels{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-top:.75rem}.maple-panel{flex:1 1 320px;min-width:0;border-radius:12px;overflow:hidden;border:1px solid var(--border);background:var(--panel-bg)}.panel-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;row-gap:.3rem;gap:.5rem;padding:.7rem 1rem;background:var(--panel-bg);border-bottom:1px solid var(--border);color:var(--text);font-weight:800;font-size:.95rem}.boss-count{flex-shrink:0;font-size:.75rem;font-weight:600;padding:.15rem .5rem;border-radius:999px;background:var(--text);color:var(--shell-bg)}.panel-body{padding:.75rem}.group-block+.group-block{margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--border)}.group-title{font-size:.92rem;font-weight:800;color:var(--text);margin:0 0 .6rem;padding-left:.6rem;border-left:3px solid var(--progress-chip-fill-from);text-transform:uppercase;letter-spacing:.04em}.boss-over-registered-hint{margin:0 0 .75rem;padding:.6rem .75rem;border-radius:8px;background:#f0b87629;border:1px solid rgba(240,184,118,.4);color:var(--text);font-size:.8rem;line-height:1.5}.panel-section{margin-bottom:.5rem}.section-title{display:inline-block;font-size:.75rem;font-weight:800;color:var(--text);background:var(--count-pill-bg);padding:.1rem .55rem;border-radius:999px;margin-bottom:.3rem}.item-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.3rem}.item-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.5rem;padding:.5rem .75rem;border-radius:10px;background:var(--item-row-todo-bg);border:1px solid var(--item-row-todo-border);box-shadow:0 1px 3px #0f172a0f}.item-row.clickable{cursor:pointer}.item-row.done{background:var(--item-row-done-bg);border-color:transparent;box-shadow:none}.item-row.done .item-name{color:var(--text-dim);font-weight:500}.item-row.has-progress{position:relative;isolation:isolate;overflow:hidden;background:var(--item-row-todo-bg)}.item-row.has-progress:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:var(--fill);background:linear-gradient(to right,var(--state-progress-from),var(--state-progress-to));z-index:-1}.item-row.has-progress:after{content:"";position:absolute;top:50%;left:var(--fill);width:6px;height:6px;border-radius:50%;background:var(--state-progress-tip);box-shadow:0 0 5px var(--state-progress-tip);transform:translate(-50%,-50%);z-index:-1}.done-check{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.15rem;height:1.15rem;margin-top:.15rem;border-radius:50%;background:var(--pill-bg);border:1.5px solid var(--border);color:var(--state-done);font-size:.68rem;font-weight:900;line-height:1}.done-check.todo{width:6px;height:6px;margin-top:0;align-self:center;background:var(--state-todo-text);border:none}.item-row.mismatch-warning{background:#f0b87629}.item-row .item-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:.15rem 0;font-size:.85rem;font-weight:600}.item-name-short{display:none}.item-row .difficulty-badge,.item-row .count-pill,.item-row .state-pill,.item-row .mismatch-hint{margin-top:.15rem}.item-row-trailing{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.item-boss-icon{width:1.45rem;height:1.45rem;flex-shrink:0;align-self:center;border-radius:5px;object-fit:cover;transition:filter .15s ease,opacity .15s ease}.item-row.done .item-boss-icon{filter:grayscale(100%);opacity:.55}.item-row.done .difficulty-badge{filter:grayscale(100%);opacity:.6}.mismatch-hint{flex-shrink:0;font-size:.85rem;line-height:1;cursor:help;background:none;border:none;padding:0}.mismatch-popover{position:fixed;z-index:100;padding:.65rem .8rem;border-radius:10px;background:var(--panel-bg);border:1px solid var(--border);box-shadow:0 8px 24px #0000004d;color:var(--text);font-size:.8rem;line-height:1.45;text-align:left}.loot-source-popover{position:fixed;z-index:100;display:flex;flex-direction:column;gap:.4rem;padding:.55rem .65rem;border-radius:10px;background:var(--panel-bg);border:1px solid var(--border);box-shadow:0 8px 24px #0000004d}.loot-source-popover-hint{font-size:.66rem;color:var(--text-dim);padding-bottom:.15rem;border-bottom:1px solid var(--border)}.loot-count-picker{display:flex;flex-wrap:wrap;gap:.3rem;padding-bottom:.3rem;border-bottom:1px solid var(--border)}.loot-count-pill{min-width:1.6rem;height:1.6rem;padding:0 .3rem;border-radius:999px;border:1px solid var(--border);background:var(--item-row-todo-bg);color:var(--text);font:inherit;font-weight:700;font-size:.75rem;cursor:pointer}.loot-count-pill:disabled{cursor:default;opacity:.6}.loot-count-pill.active{border-color:var(--state-done);background:var(--state-done-pastel-bg);color:var(--state-done-pastel-text)}.loot-count-input{width:3.4rem;height:1.6rem;padding:0 .3rem;border-radius:999px;border:1px solid var(--border);background:var(--item-row-todo-bg);color:var(--text);font:inherit;font-size:.75rem;text-align:center}.loot-count-input:disabled{opacity:.6}.loot-count-submit{height:1.6rem;padding:0 .55rem;border-radius:999px;border:1px solid var(--btn-register-text);background:transparent;color:var(--btn-register-text);font:inherit;font-weight:700;font-size:.7rem;cursor:pointer}.loot-count-submit:disabled{cursor:default;opacity:.6}.loot-source-list{display:flex;flex-direction:column;gap:.35rem}.loot-source-row{display:flex;align-items:center;gap:.4rem}.loot-source-name{font-size:.78rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.count-pill{font-size:.75rem;padding:.1rem .5rem;border-radius:999px;background:var(--state-todo-bg);border:1px solid var(--state-todo-border);color:var(--state-todo-text);font-weight:700;white-space:nowrap}.count-pill.done{background:none;border:none;padding:calc(.1rem + 1px) calc(.5rem + 1px);color:var(--state-done-text-muted);font-weight:600}.state-pill{font-size:.75rem;padding:.1rem .6rem;border-radius:999px;background-color:transparent;border:1px solid #363a47;color:#9d3131;font-weight:500;white-space:nowrap}.state-pill.done{background:none;border:none;padding:calc(.1rem + 1px) calc(.6rem + 1px);color:var(--state-done-text-muted);font-weight:600}.state-pill.scored{background:none;border:none;padding:calc(.1rem + 1px) calc(.6rem + 1px);color:var(--state-scored-text);font-weight:600}.item-party-size-badge{flex-shrink:0;align-self:center;font-size:.7rem;font-weight:700;padding:.05rem .45rem;border-radius:999px;background:var(--pill-bg);border:1px solid var(--border);color:var(--text-dim);white-space:nowrap}.item-party-size-row{flex:1 0 100%;display:flex;align-items:center;gap:.5rem;margin-top:.3rem;padding-top:.4rem;border-top:1px dashed var(--border);cursor:default}.item-party-size-label{font-size:.78rem;font-weight:700;color:var(--text-dim)}.item-party-size-row select{padding:.25rem .5rem;font-size:.8rem;border-radius:6px}.difficulty-badge{display:inline-block;width:4.2rem;flex-shrink:0;text-align:center;font-size:.65rem;font-weight:800;padding:.1rem .3rem;border-radius:5px;white-space:nowrap;color:#fff}.diff-easy{background:var(--diff-easy)}.diff-normal{background:var(--diff-normal)}.diff-hard{background:var(--diff-hard)}.diff-chaos{background:var(--diff-chaos);border:1px solid var(--diff-chaos-border)}.diff-extreme{background:var(--diff-extreme);border:1px solid var(--diff-extreme-border);text-shadow:0 0 4px rgba(224,54,79,.8)}@media (max-width: 560px){.app{padding:1.5rem .75rem}.scheduler-panels{flex-direction:column}.scheduler-summary-cards{grid-template-columns:1fr}.dashboard-world-header{flex-wrap:wrap}.world-filter-toggle{margin-left:0;flex-basis:100%}.dashboard-loot-categories{grid-template-columns:1fr}.dashboard-progress-columns{flex-direction:column}.dashboard-progress-section,.dashboard-meso-section{flex:1 1 auto}.progress-group{gap:.3rem;padding:.2rem .45rem;border-radius:10px}.progress-group-label{display:inline-block;min-width:2.2rem;padding-right:.3rem}.progress-group-chips{gap:.25rem}.manage-card{flex-wrap:wrap}.manage-card-info{width:auto}.manage-card-categories{flex-basis:100%;border-left:none;padding-left:0;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}.dashboard-card-header{flex-direction:column;align-items:flex-start}.status-card{flex-direction:column;gap:.7rem;width:100%}.status-group{min-width:0;width:100%;padding-left:0;border-left:none}.status-group:not(:first-child){padding-top:.6rem;border-top:1px solid var(--border)}.account-content-group{flex-direction:column;align-items:flex-start;gap:.3rem}.account-content-group-label{font-size:.68rem;padding:.15rem .5rem}.account-content-cards{gap:.35rem}.account-content-card{padding:.15rem .5rem;gap:0}.account-content-icon{display:none}.account-content-info{flex-direction:row;align-items:baseline;gap:.35rem}.account-content-name{font-size:.7rem}.account-content-count{font-size:.68rem}.item-row{gap:.3rem;padding:.35rem .5rem}.item-row .item-name{font-size:.78rem}.item-name-full{display:none}.item-name-short{display:inline}.difficulty-badge{width:3.4rem;font-size:.58rem;padding:.08rem .2rem}.item-row-trailing{gap:.35rem}.item-party-size-badge{font-size:.65rem;padding:.05rem .35rem}.count-pill,.state-pill{font-size:.68rem;padding:.08rem .4rem}.maple-panel{width:100%}.title-bar{display:flex;flex-wrap:wrap;justify-content:center;row-gap:.5rem}.maple-panel{flex-basis:auto}.app-nav{gap:1rem}.app-nav-link{font-size:.82rem;padding:.5rem .05rem .6rem}.reset-countdown{font-size:.72rem;padding:.4rem .8rem;gap:.45rem}.dashboard-overview-rings{flex-wrap:nowrap;gap:.5rem}.dashboard-overview-ring .progress-ring{width:76px;height:76px}.dashboard-overview-ring-primary .progress-ring{width:92px;height:92px}.dashboard-overview-ring .progress-ring-value{font-size:.85rem}.dashboard-overview-ring .progress-ring-label{font-size:.58rem}.dashboard-overview-ring-caption{font-size:.68rem;white-space:normal;max-width:76px;text-align:center;line-height:1.25}.dashboard-overview-half:not(:first-child){border-left:none;padding-left:0;border-top:1px solid var(--border);padding-top:1rem;margin-top:.25rem}.dashboard-meso-card{padding:1.1rem 1rem}.dashboard-meso-card .muted{word-break:keep-all;overflow-wrap:break-word}}.loot-log-week{margin-bottom:1.75rem}.loot-log-week-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;margin:0 0 .75rem}.loot-log-week-badge{font-size:.65rem;font-weight:800;padding:.15rem .5rem;border-radius:999px;background:var(--state-done-pastel-bg);color:var(--state-done-pastel-text)}.loot-log-day{display:flex;flex-direction:column;gap:.4rem;padding:.75rem 1rem;border-radius:10px;border:1px solid var(--border);background:var(--panel-bg);margin-bottom:.6rem}.loot-log-day-label{font-size:.75rem;font-weight:800;color:var(--text-dim)}.loot-log-entries{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.loot-log-entry{display:flex;align-items:center;gap:.6rem}.loot-log-entry-icon{flex:none;width:32px;height:32px}.loot-log-entry-icon img{width:32px;height:32px;object-fit:contain;border-radius:6px}.loot-log-entry-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.1rem}.loot-log-entry-name{font-size:.82rem;font-weight:700;color:var(--text)}.loot-log-entry-count{margin-left:.35rem;font-size:.72rem;font-weight:700;color:var(--state-done)}.loot-log-entry-meta{display:flex;align-items:center;gap:.35rem;font-size:.72rem;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loot-log-entry-divider{opacity:.6}.loot-log-entry-delete{flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;border:1px solid var(--border);background:none;color:var(--text-dim);cursor:pointer}@media (hover: hover) and (pointer: fine){.loot-log-entry-delete:hover{color:var(--text);border-color:var(--progress-chip-fill-from)}}
