.auth-page{padding:var(--space-4)}.auth-container{width:100%;max-width:420px}body{min-height:100vh;display:flex;flex-direction:column}.main-content{padding:var(--space-6);max-width:1200px;margin-inline:auto;flex:1;width:100%}.dashboard-grid{display:grid;grid-template-columns:280px 1fr;gap:var(--space-6);align-items:start}.dashboard-sidebar{display:flex;flex-direction:column;gap:var(--space-4)}.dashboard-sidebar a.stat-item{display:flex;color:inherit;text-decoration:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:background-color .2s ease,color .2s ease}.dashboard-sidebar a.stat-item:hover{color:var(--slate-obsidian);background-color:var(--slate-accent)}.dashboard-main{display:flex;flex-direction:column;gap:var(--space-6)}.date-card .card-body{display:flex;flex-direction:column;gap:var(--space-1)}.date-card-day{font-size:var(--text-xs);font-family:var(--font-body);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--slate-accent)}.ql-link-row{position:relative}.ql-picker-pinned .ql-picker-btn{color:var(--slate-success)}.date-card-date{font-family:var(--font-display);font-size:var(--text-xl);color:var(--slate-pearl);line-height:var(--leading-tight)}.day-detail-overlay{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.5);display:flex;align-items:flex-start;justify-content:center;padding-top:10vh;overflow-y:auto}.day-detail-panel{width:100%;max-width:520px;max-height:80vh;overflow-y:auto;animation:panel-slide-in .15s ease}@keyframes panel-slide-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.day-detail-divider{height:1px;background:rgba(211,218,217,.12);margin:0}.empty-state{text-align:center;padding:var(--space-12) var(--space-6);color:var(--slate-ash)}.empty-state-icon{font-size:var(--text-5xl);margin-bottom:var(--space-4);opacity:.5}.empty-state-title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--slate-fog);margin-bottom:var(--space-2)}.empty-state-text{font-size:var(--text-sm);margin-bottom:var(--space-6);max-width:40ch;margin-inline:auto}.flash-message{position:relative;padding-right:var(--space-10)}.flash-dismiss{position:absolute;top:var(--space-3);right:var(--space-3);background:none;border:none;color:inherit;font-size:var(--text-xl);cursor:pointer;opacity:.7;line-height:1}.flash-dismiss:hover{opacity:1}.mobile-menu{display:none;flex-direction:column;background:var(--surface-1);border-bottom:var(--border-subtle);padding:var(--space-2) var(--space-4)}.mobile-menu.is-open{display:flex}.mobile-menu a{display:block;padding:var(--space-3) var(--space-2);color:var(--slate-fog);border-radius:var(--radius-md);font-size:var(--text-sm)}.mobile-menu a:hover{background-color:var(--slate-accent);border-color:var(--slate-accent-soft);color:var(--slate-obsidian)}.mobile-menu-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-2);margin-top:var(--space-2);border-top:var(--border-subtle)}.mobile-menu-toggle{display:none}.landing-page{padding:var(--space-6)}.landing-hero{text-align:center;padding:var(--space-24) var(--space-6) var(--space-12);max-width:640px;margin-inline:auto}.landing-hero h1{font-size:var(--text-5xl);margin-bottom:var(--space-6)}.landing-hero .subtitle{font-size:var(--text-lg);color:var(--slate-fog);margin-bottom:var(--space-10);max-width:48ch;margin-inline:auto;line-height:var(--leading-loose)}.landing-cta{display:flex;gap:var(--space-4);justify-content:center}.landing-how{max-width:560px;margin:var(--space-12) auto var(--space-8);padding-inline:var(--space-6)}.landing-how h2{font-size:var(--text-xs);font-family:var(--font-body) !important;font-weight:600;color:var(--slate-ash);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin-bottom:var(--space-6)}.landing-step{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) 0}.landing-step+.landing-step{border-top:var(--border-subtle)}.landing-step-number{width:28px;height:28px;border-radius:var(--radius-full);background:var(--slate-accent);color:var(--slate-void);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--text-xs);flex-shrink:0;margin-top:2px}.landing-highlight{text-align:center;max-width:860px;margin:var(--space-12) auto var(--space-8);padding-inline:var(--space-6)}.landing-highlight h2{font-size:var(--text-2xl);margin-bottom:var(--space-3);color:var(--slate-pearl)}.landing-highlight p{font-size:var(--text-sm);max-width:52ch;margin-inline:auto;margin-bottom:var(--space-8);line-height:var(--leading-loose)}.landing-highlight .btn{margin-top:var(--space-6)}.landing-highlight-image img{width:100%;border-radius:var(--radius-lg);border:1px solid var(--surface-3);box-shadow:0 8px 32px rgba(0,0,0,.3);transition:transform .3s ease,box-shadow .3s ease}.landing-highlight-image img:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,.4)}.landing-showcase{max-width:1080px;margin:var(--space-16) auto;padding-inline:var(--space-6)}.landing-showcase-section{display:grid;grid-template-columns:1fr 1.3fr;gap:var(--space-10);align-items:center;margin-bottom:var(--space-16)}.landing-showcase-section.reverse{grid-template-columns:1.3fr 1fr}.landing-showcase-section.reverse .landing-showcase-text{order:2}.landing-showcase-section.reverse .landing-showcase-image{order:1}.landing-showcase-text h2{font-size:var(--text-2xl);margin-bottom:var(--space-3);color:var(--slate-pearl)}.landing-showcase-text p{font-size:var(--text-sm);color:var(--slate-fog);line-height:var(--leading-loose);margin-bottom:var(--space-4)}.showcase-note{font-size:var(--text-xs) !important;color:var(--slate-ash) !important;font-style:italic;margin-top:var(--space-3)}.landing-showcase-list{list-style:none;padding:0;margin:0}.landing-showcase-list li{position:relative;padding-left:var(--space-5);padding-block:var(--space-1);font-size:var(--text-sm);color:var(--slate-fog)}.landing-showcase-list li::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:var(--slate-accent)}.landing-showcase-image img{width:100%;border-radius:var(--radius-lg);border:1px solid var(--surface-3);box-shadow:0 8px 32px rgba(0,0,0,.3);transition:transform .3s ease,box-shadow .3s ease}.landing-showcase-image img:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,.4)}.landing-bottom-cta{text-align:center;padding:var(--space-12) var(--space-6);max-width:640px;margin-inline:auto}.landing-bottom-cta h2{font-size:var(--text-3xl);margin-bottom:var(--space-3);color:var(--slate-pearl)}.landing-bottom-cta p{font-size:var(--text-base);margin-bottom:var(--space-6)}.showcase-side-cta{position:fixed;left:var(--space-6);top:50%;transform:translateY(-50%);width:200px;background:var(--surface-2);border:1px solid var(--surface-3);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);z-index:50;box-shadow:0 8px 32px rgba(0,0,0,.3)}.showcase-side-cta h3{font-size:var(--text-base);color:var(--slate-pearl);margin:0;line-height:var(--leading-snug)}.showcase-side-cta p{font-size:var(--text-xs);color:var(--slate-fog);margin:0;line-height:var(--leading-normal)}.showcase-side-cta .btn{width:100%;text-align:center;font-size:var(--text-sm);padding:var(--space-2) var(--space-3)}.showcase-bottom-cta{display:none;text-align:center;padding:var(--space-12) var(--space-6);max-width:640px;margin-inline:auto}.showcase-bottom-cta h2{font-size:var(--text-2xl);margin-bottom:var(--space-3);color:var(--slate-pearl)}.showcase-bottom-cta p{font-size:var(--text-base);margin-bottom:var(--space-6)}@media(max-width: 1400px){.showcase-side-cta{display:none}.showcase-bottom-cta{display:block}}.landing-features{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--space-6);max-width:960px;margin:var(--space-8) auto var(--space-16);padding-inline:var(--space-6)}.landing-feature{padding:var(--space-6);text-align:left}.landing-feature h3{font-family:var(--font-body);font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-2);color:var(--slate-pearl)}.landing-feature p{font-size:var(--text-sm);color:var(--slate-fog);line-height:var(--leading-normal)}@media(max-width: 768px){.landing-showcase-section,.landing-showcase-section.reverse{grid-template-columns:1fr;gap:var(--space-6)}.landing-showcase-section .landing-showcase-text,.landing-showcase-section .landing-showcase-image,.landing-showcase-section.reverse .landing-showcase-text,.landing-showcase-section.reverse .landing-showcase-image{order:unset}.landing-showcase{padding-inline:var(--space-4);margin:var(--space-10) auto}.landing-showcase-section{margin-bottom:var(--space-10)}.landing-bottom-cta h2{font-size:var(--text-2xl)}}@media(max-width: 640px){.landing-hero{padding:var(--space-10) var(--space-4) var(--space-6)}.landing-hero h1{font-size:var(--text-3xl)}.landing-hero .subtitle{font-size:var(--text-base)}.landing-features{grid-template-columns:1fr;gap:var(--space-4);padding-inline:var(--space-4)}.landing-how{padding-inline:var(--space-4)}}.collapsible-header{cursor:pointer;user-select:none;display:flex;align-items:center;gap:var(--space-2)}.collapsible-header .chevron{transition:transform var(--duration-fast) var(--ease-out);width:16px;height:16px}.collapsible-header.collapsed .chevron{transform:rotate(-90deg)}.collapsible-body{overflow:hidden;transition:max-height var(--duration-normal) var(--ease-out)}.collapsible-body.collapsed{max-height:0 !important}.quick-add{display:flex;gap:var(--space-2)}.quick-add .form-input{flex:1}.cookie-consent{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-toast);padding:var(--space-4) var(--space-6);background:var(--surface-1);border-top:var(--border-default);box-shadow:0 -4px 20px rgba(42,40,49,.4);transform:translateY(100%);opacity:0;transition:transform var(--duration-slow) var(--ease-out),opacity var(--duration-slow) var(--ease-out)}.cookie-consent[aria-hidden=false]{transform:translateY(0);opacity:1}.cookie-consent__body{max-width:960px;margin:0 auto;display:flex;align-items:center;gap:var(--space-6)}@media(max-width: 640px){.cookie-consent__body{flex-direction:column;text-align:center;gap:var(--space-4)}}.cookie-consent__text{font-size:var(--text-sm);color:var(--slate-fog);line-height:var(--leading-normal);margin:0}.cookie-consent__text strong{color:var(--slate-pearl)}.cookie-consent__dismiss{flex-shrink:0}.task-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--surface-1);border:var(--border-subtle);border-radius:var(--radius-lg);transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.task-card:hover{border-color:var(--slate-obsidian)}.task-card.is-completed{opacity:.6}.task-card.is-completed .task-title{text-decoration:line-through}.task-card.is-next{border-color:var(--slate-accent);background:rgba(194,134,107,.05)}.task-priority{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.task-priority.priority-high{background:var(--slate-danger)}.task-priority.priority-medium{background:var(--slate-warning)}.task-priority.priority-low{background:var(--slate-success)}.task-body{flex:1;min-width:0}.task-title{font-weight:500;color:var(--slate-pearl);font-size:var(--text-base)}.task-meta{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1);font-size:var(--text-xs);color:var(--slate-ash)}.task-notes{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--slate-fog);display:none}.task-card.expanded .task-notes{display:block}.task-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.next-task-section{margin-bottom:var(--space-4)}.next-task-label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--slate-accent);margin-bottom:var(--space-2)}.daily-progress{display:flex;align-items:center;gap:var(--space-3)}.daily-progress-text{font-size:var(--text-sm);color:var(--slate-fog);white-space:nowrap;font-family:var(--font-mono)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.section-title{font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--slate-ash)}.btn-done{background:rgba(110,148,119,.15);color:var(--slate-success);border:1px solid rgba(110,148,119,.3);border-radius:var(--radius-md);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.btn-done:hover{background:rgba(110,148,119,.25)}.btn-undo{background:rgba(194,162,78,.15);color:var(--slate-warning);border:1px solid rgba(194,162,78,.3);border-radius:var(--radius-md);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.btn-undo:hover{background:rgba(194,162,78,.25)}.btn-stop{background:rgba(184,92,92,.15);color:var(--slate-danger);border:1px solid rgba(184,92,92,.3);border-radius:var(--radius-md);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:all .15s ease}.btn-stop:hover{background:rgba(184,92,92,.25)}.btn-delete{background:none;color:var(--slate-muted);border:none;border-radius:var(--radius-md);padding:var(--space-1);font-size:var(--text-sm);line-height:1;cursor:pointer;opacity:0;transition:opacity .15s ease,color .15s ease}.task-card:hover .btn-delete{opacity:.6}.btn-delete:hover{opacity:1 !important;color:var(--slate-danger)}@keyframes confetti-burst{0%{transform:translate(0, 0) rotate(0deg) scale(1);opacity:1}100%{transform:translate(var(--dx), var(--dy)) rotate(var(--rot)) scale(0.3);opacity:0}}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10000}.task-complete-anim{animation:task-complete-glow .25s ease forwards}@keyframes task-complete-glow{0%{box-shadow:0 0 0 0 rgba(110,203,99,0);border-color:rgba(211,218,217,.08)}40%{box-shadow:0 0 20px 4px rgba(110,203,99,.3);border-color:rgba(110,203,99,.5)}100%{box-shadow:0 0 0 0 rgba(110,203,99,0);border-color:rgba(110,203,99,.2);opacity:.6}}.completed-flash{background:rgba(110,203,99,.25) !important;color:#6ecb63 !important;border-color:rgba(110,203,99,.4) !important;font-weight:600 !important}.character-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--surface-1);border:var(--border-subtle);border-radius:var(--radius-lg);transition:border-color var(--duration-fast) var(--ease-out);text-decoration:none}.character-card:hover{border-color:var(--slate-obsidian);background:var(--slate-accent)}.character-card:hover .task-title{color:var(--slate-obsidian)}.character-switcher .form-select{background-color:var(--surface-2);font-size:var(--text-sm);padding:var(--space-1) var(--space-8) var(--space-1) var(--space-3);min-width:160px}.stat-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) 0;font-size:var(--text-sm)}.stat-label{color:var(--slate-ash)}.stat-value{font-family:var(--font-mono);color:var(--slate-pearl);font-weight:500}.hiscore-card{display:flex;flex-direction:column;padding:var(--space-3);background:var(--surface-1);border:var(--border-subtle);border-radius:var(--radius-md);text-align:center}.hiscore-card:hover .text-xs{color:var(--slate-pearl)}.stats-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--space-2)}.stat-cell{display:flex;flex-direction:column;padding:var(--space-3);background:var(--surface-1);border:var(--border-subtle);border-radius:var(--radius-md);text-align:center}.stat-cell.stat-maxed{border-color:rgba(194,134,107,.3);background:rgba(194,134,107,.05)}.stat-skill-name{font-size:var(--text-xs);color:var(--slate-ash);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-1)}.stat-level{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:600;color:var(--slate-pearl)}.stat-xp{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--slate-fog);margin-top:2px}.stat-cell:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-cell:hover .stat-skill-name{color:var(--slate-pearl)}.boss-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--space-2)}.boss-cell{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);background:var(--surface-1);border:var(--border-subtle);border-radius:var(--radius-md)}.boss-name{font-size:var(--text-sm);color:var(--slate-fog)}.boss-kc{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;color:var(--slate-pearl)}@media(max-width: 768px){.stats-grid{grid-template-columns:repeat(2, 1fr)}.boss-grid{grid-template-columns:1fr}}.form-select-sm{font-size:var(--text-sm);padding:.35rem 2rem .35rem .625rem}.calendar-grid{display:grid;grid-template-columns:repeat(7, minmax(0, 1fr));grid-auto-rows:minmax(80px, auto);border:1px solid rgba(211,218,217,.1);border-radius:var(--radius-md);overflow:hidden}.calendar-header-cell{padding:var(--space-2) var(--space-1);text-align:center;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--slate-ash);background:var(--surface-2);border-bottom:1px solid rgba(211,218,217,.1)}.calendar-day{min-height:80px;padding:var(--space-2);background:var(--surface-1);cursor:pointer;transition:background .15s ease;position:relative;display:flex;flex-direction:column;border-right:1px solid rgba(211,218,217,.06);border-bottom:1px solid rgba(211,218,217,.06)}.calendar-day:nth-child(7n+14){border-right:none}.calendar-day:hover{background:var(--slate-accent)}.calendar-day.is-today{outline:2px solid var(--slate-accent);outline-offset:-2px;z-index:1}.calendar-day.is-selected{background:rgba(194,134,107,.12)}.calendar-day.is-other-month{opacity:.35}.calendar-day-number{font-size:var(--text-sm);font-weight:500;color:var(--slate-pearl);margin-bottom:var(--space-1)}.calendar-day.is-today .calendar-day-number{color:var(--slate-accent);font-weight:700}.calendar-day-indicators{display:flex;flex-wrap:wrap;gap:3px;margin-top:auto}.calendar-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.calendar-dot.dot-daily{background:var(--slate-accent)}.calendar-dot.dot-weekly{background:var(--slate-info)}.calendar-dot.dot-onetime{background:var(--slate-warning)}.calendar-dot.dot-completed{background:var(--slate-success)}.calendar-dot.dot-gains{background:var(--slate-accent)}.calendar-plan-indicator{font-size:9px;color:var(--slate-fog);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:2px;line-height:1.2}.calendar-progress{display:flex;align-items:center;gap:2px;margin-top:2px}.calendar-progress-text{font-size:9px;font-family:var(--font-mono);color:var(--slate-ash)}.calendar-progress-bar{flex:1;height:2px;background:rgba(211,218,217,.1);border-radius:1px;overflow:hidden}.calendar-progress-fill{height:100%;background:var(--slate-success);border-radius:1px;transition:width .15s ease}.calendar-loading{grid-column:1/-1;text-align:center;padding:var(--space-6);color:var(--slate-ash);font-size:var(--text-sm)}#dayDetail{position:fixed;z-index:200;width:360px;max-height:480px;overflow-y:auto;box-shadow:0 12px 48px rgba(0,0,0,.5);animation:day-detail-pop .12s ease}@keyframes day-detail-pop{from{opacity:0;transform:scale(0.95)}to{opacity:1;transform:scale(1)}}.day-detail-backdrop{position:fixed;inset:0;z-index:199}#dayDetail .card-body>.mb-4{margin-bottom:var(--space-3)}@media(max-width: 640px){#dayDetail{width:calc(100vw - 24px);left:12px !important}}.plan-display{background:var(--surface-1);border:1px solid rgba(211,218,217,.1);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);min-height:48px;font-size:var(--text-sm);line-height:1.6;color:var(--slate-pearl)}.plan-display h3,.plan-display h4,.plan-display h5{font-family:var(--font-display);color:var(--slate-pearl);margin:var(--space-3) 0 var(--space-1)}.plan-display h3:first-child,.plan-display h4:first-child,.plan-display h5:first-child{margin-top:0}.plan-display h3{font-size:var(--text-lg)}.plan-display h4{font-size:var(--text-base)}.plan-display h5{font-size:var(--text-sm);font-weight:600}.plan-display strong{color:var(--slate-pearl);font-weight:600}.plan-display em{font-style:italic}.plan-display code{background:rgba(211,218,217,.08);padding:1px 4px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.9em}.plan-display ul{list-style:disc;padding-left:var(--space-4);margin:var(--space-2) 0}.plan-display li{margin-bottom:var(--space-1)}.plan-display p{margin-bottom:var(--space-2)}.plan-display p:last-child{margin-bottom:0}#dayTasksList .section-header{gap:var(--space-2)}#dayTasksList .section-header .section-title{margin-right:auto}.day-task-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface-1);border:1px solid rgba(211,218,217,.1);border-radius:var(--radius-md);font-size:var(--text-sm)}.day-task-item.is-completed{opacity:.6}.day-task-item.is-completed .day-task-title{text-decoration:line-through}.day-task-title{flex:1;min-width:0}.day-task-type{font-size:var(--text-xs);flex-shrink:0}.day-task-delete{background:none;border:none;color:var(--slate-danger);cursor:pointer;font-size:var(--text-xs);padding:2px 6px;border-radius:var(--radius-sm);opacity:0;transition:opacity .15s ease;flex-shrink:0}.day-task-item:hover .day-task-delete{opacity:1}.day-task-delete:hover{background:rgba(184,92,92,.2)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.modal-content{background:var(--surface-0);border:1px solid rgba(211,218,217,.12);border-radius:var(--radius-lg);padding:var(--space-6);width:100%;max-width:540px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.5)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.modal-header h4{font-family:var(--font-display);font-size:var(--text-xl);color:var(--slate-pearl)}.mini-calendar-wrapper{border:1px solid rgba(211,218,217,.1);border-radius:var(--radius-md);overflow:hidden;max-width:320px}.mini-calendar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background:var(--surface-2)}.mini-calendar-title{font-size:var(--text-sm);font-weight:600;color:var(--slate-pearl)}.mini-calendar-grid{display:grid;grid-template-columns:repeat(7, minmax(0, 1fr))}.mini-cal-header{padding:var(--space-1);text-align:center;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--slate-ash);background:var(--surface-2);border-bottom:1px solid rgba(211,218,217,.1)}.mini-cal-day{padding:var(--space-1);text-align:center;font-size:var(--text-sm);cursor:pointer;color:var(--slate-pearl);border-right:1px solid rgba(211,218,217,.04);border-bottom:1px solid rgba(211,218,217,.04);transition:background .1s ease}.mini-cal-day:hover{background:var(--surface-2)}.mini-cal-day.is-other-month{opacity:.3}.mini-cal-day.is-today{font-weight:700;color:var(--slate-accent)}.mini-cal-day.is-selected{background:var(--slate-accent);color:var(--slate-void);font-weight:700;border-radius:var(--radius-sm)}.mini-cal-day.is-past{opacity:.4}.mini-calendar-selected{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);border-top:1px solid rgba(211,218,217,.1)}.toggle-row{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;user-select:none}.toggle-row input[type=checkbox]{width:36px;height:20px;appearance:none;-webkit-appearance:none;background:var(--surface-2);border:1px solid rgba(211,218,217,.15);border-radius:10px;position:relative;cursor:pointer;transition:background .15s ease;flex-shrink:0}.toggle-row input[type=checkbox]::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--slate-ash);border-radius:50%;transition:transform .15s ease,background .15s ease}.toggle-row input[type=checkbox]:checked{background:var(--slate-accent);border-color:var(--slate-accent)}.toggle-row input[type=checkbox]:checked::after{transform:translateX(16px);background:var(--slate-void)}.toggle-label{font-size:var(--text-sm);font-weight:500;color:var(--slate-pearl)}.recurring-options{padding:var(--space-3);margin-top:var(--space-2);background:var(--surface-2);border-radius:var(--radius-md);border:1px solid rgba(211,218,217,.06)}.recurring-opt.btn-primary{pointer-events:none}a.card-link{display:block;color:inherit;text-decoration:none;transition:background-color .2s ease,color .2s ease,transform .15s ease}a.card-link:hover{color:var(--slate-obsidian);background-color:var(--slate-accent);transform:translateY(-2px)}.tool-card{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4)}.tool-card-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--surface-2);color:var(--slate-accent);transition:background-color .2s ease,color .2s ease}.tool-card:hover .tool-card-icon{background:var(--slate-obsidian);color:var(--slate-obsidian)}.tool-card-title{font-weight:600;color:var(--slate-pearl);margin-bottom:var(--space-1);font-size:var(--text-sm)}.tool-card-desc{font-size:var(--text-xs);color:var(--slate-ash);margin:0;line-height:var(--leading-normal);transition:color .2s ease}.tool-card:hover .tool-card-title,.tool-card:hover .tool-card-desc{color:var(--slate-obsidian)}.quick-link-card{position:relative;padding:var(--space-3) var(--space-4)}.quick-link-title{font-size:var(--text-sm);font-weight:500}.quick-link-arrow{font-size:var(--text-xs);color:var(--slate-ash);transition:opacity .15s ease}.quick-link-card:hover .quick-link-arrow{opacity:0}.quick-link-delete{position:absolute;top:50%;right:var(--space-2);transform:translateY(-50%);opacity:0;transition:opacity .15s ease}.quick-link-delete-btn{color:var(--slate-ash);font-size:1rem;line-height:1;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:rgba(0,0,0,0);border-radius:var(--radius);cursor:pointer;transition:color .15s ease,background-color .15s ease}.quick-link-delete-btn:hover{color:var(--slate-danger);background-color:color-mix(in srgb, var(--slate-danger) 10%, transparent)}.quick-link-card:hover .quick-link-delete{opacity:1}.ref-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.ref-table th,.ref-table td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--surface-3)}.ref-table th{font-size:var(--text-xs);font-weight:600;color:var(--slate-pearl);text-transform:uppercase;letter-spacing:.04em;background:var(--surface-1);white-space:nowrap}.ref-table td{color:var(--slate-fog)}.ref-table tbody tr{transition:background-color .15s ease}.ref-table tbody tr:hover{background-color:var(--surface-1)}.ref-table tbody tr:last-child td{border-bottom:none}.ref-col-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-3);background:var(--surface-2);border:1px solid var(--surface-3);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--slate-fog);line-height:1;transition:border-color .15s ease}.ref-col-chip:hover{border-color:var(--slate-blush)}.ref-col-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ref-col-chip-text{font-weight:500;color:var(--slate-pearl)}.ref-col-chip-color,.ref-col-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:50%;background:rgba(0,0,0,0);color:var(--slate-ash);font-size:12px;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease}.ref-col-chip-color:hover{background:var(--surface-3);color:var(--slate-pearl)}.ref-col-chip-remove:hover{background:rgba(184,92,92,.2);color:var(--danger, var(--slate-danger))}.ref-color-popover{background:var(--surface-1);border:1px solid var(--surface-3);border-radius:var(--radius-lg);padding:var(--space-3);box-shadow:var(--shadow-lg);min-width:176px;animation:refColorFadeIn .12s ease-out}@keyframes refColorFadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ref-color-grid{display:grid;grid-template-columns:repeat(5, 1fr);gap:6px;margin-bottom:var(--space-3)}.ref-color-swatch{width:28px;height:28px;border-radius:var(--radius-md);border:2px solid rgba(0,0,0,0);cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease;padding:0;outline:none}.ref-color-swatch:hover{transform:scale(1.15);box-shadow:0 0 0 2px var(--surface-0)}.ref-color-swatch-selected{border-color:var(--slate-pearl) !important;box-shadow:0 0 0 2px var(--surface-0),0 0 0 3px var(--slate-pearl)}.ref-color-swatch-none{background:var(--surface-2);color:var(--slate-ash);font-size:13px;display:inline-flex;align-items:center;justify-content:center;border:2px dashed var(--surface-3)}.ref-color-swatch-none:hover{border-color:var(--slate-blush);color:var(--slate-fog)}.ref-color-custom{display:flex;align-items:center;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--surface-2)}.ref-color-custom label{color:var(--slate-ash);white-space:nowrap}.ref-color-custom-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:28px;border:1px solid var(--surface-3);border-radius:var(--radius-md);background:rgba(0,0,0,0);cursor:pointer;padding:2px}.ref-color-custom-input::-webkit-color-swatch-wrapper{padding:0}.ref-color-custom-input::-webkit-color-swatch{border:none;border-radius:calc(var(--radius-md) - 2px)}.ref-color-custom-input::-moz-color-swatch{border:none;border-radius:calc(var(--radius-md) - 2px)}.ref-row-entry{display:flex;align-items:flex-end;gap:var(--space-2);padding:var(--space-3);margin-bottom:var(--space-2);background:var(--surface-0);border:1px solid var(--surface-2);border-radius:var(--radius-md);transition:border-color .15s ease}.ref-row-entry:hover{border-color:var(--surface-3)}.ref-row-fields{display:flex;flex-wrap:wrap;gap:var(--space-3);flex:1}.ref-row-fields .form-group{flex:1;min-width:120px}.ref-row-remove{flex-shrink:0;margin-bottom:var(--space-1)}.flip-modal-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(42,40,49,.7);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:flipFadeIn .15s ease-out}@keyframes flipFadeIn{from{opacity:0}to{opacity:1}}.flip-modal{width:100%;max-width:440px;max-height:90vh;overflow-y:auto;animation:flipSlideIn .15s ease-out}.flip-modal:hover{transform:none;box-shadow:var(--shadow-lg)}@keyframes flipSlideIn{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.templates-page .section-title--sub{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--slate-blush)}.templates-page .inline{display:inline}.template-card,.template-set-card{padding:var(--space-4)}.template-card--link,.template-set-card--link{text-decoration:none;display:block}.template-card--link:hover,.template-set-card--link:hover{background-color:var(--surface-2)}.template-card-title{font-weight:600;color:var(--slate-pearl);text-decoration:none}.template-delete-btn{color:var(--danger)}.quest-progress-bar{height:8px;background:var(--surface-2);border-radius:var(--radius-full);overflow:hidden}.quest-progress-fill{height:100%;background:linear-gradient(90deg, var(--accent-ember), var(--accent-copper));border-radius:var(--radius-full);transition:width .6s ease}.quest-search-wrap{display:flex;align-items:center;gap:var(--space-2)}.quest-search-wrap .form-input{max-width:320px}.quest-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--space-2);padding:var(--space-2) 0}.quest-cell{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);background:var(--surface-1);border:var(--border-subtle);border-radius:var(--radius-md);transition:transform .15s ease,box-shadow .15s ease}.quest-cell:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.quest-name{font-size:var(--text-sm);color:var(--slate-fog)}.quest-qp{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--slate-ash);white-space:nowrap;margin-left:var(--space-2)}.quest-finished{border-left:3px solid rgba(76,175,80,.5)}.quest-finished .quest-name{color:var(--slate-pearl)}.quest-finished .quest-qp{color:rgba(76,175,80,.8)}.quest-in-progress{border-left:3px solid rgba(255,193,7,.5)}.quest-in-progress .quest-name{color:var(--slate-pearl)}.quest-in-progress .quest-qp{color:rgba(255,193,7,.8)}.quest-not-started{opacity:.7}.quest-not-started .quest-name{color:var(--slate-ash)}.quest-not-started:hover{opacity:1}.quest-actions{flex-shrink:0;margin-left:var(--space-2)}.btn-quest-task{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid var(--surface-3);border-radius:var(--radius-sm);background:rgba(0,0,0,0);color:var(--slate-ash);font-size:14px;font-weight:600;line-height:1;cursor:pointer;transition:all .15s ease;padding:0}.btn-quest-task:hover{background:var(--accent-ember);border-color:var(--accent-ember);color:var(--slate-obsidian);transform:scale(1.1)}.btn-quest-task.added{background:rgba(76,175,80,.2);border-color:rgba(76,175,80,.5);color:rgba(76,175,80,.8);pointer-events:none}@media(max-width: 768px){.quest-grid{grid-template-columns:1fr}}.admin-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.admin-table th,.admin-table td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:var(--border-subtle)}.admin-table th{color:var(--slate-ash);font-weight:500;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}.admin-table tbody tr{transition:background .15s ease}.admin-table tbody tr:hover{background:var(--surface-1)}.announcement-banner{position:relative;padding:var(--space-3) var(--space-4);padding-right:var(--space-8);border-radius:var(--radius-md);margin-bottom:var(--space-3);border-left:4px solid;background:var(--surface-1)}.announcement-banner.announcement-info{border-left-color:var(--slate-info, #64b5f6)}.announcement-banner.announcement-warning{border-left-color:rgba(255,193,7,.7)}.announcement-banner.announcement-update{border-left-color:rgba(76,175,80,.7)}.announcement-banner.announcement-event{border-left-color:var(--accent-ember)}.announcement-title{font-weight:600;font-size:var(--text-sm);color:var(--slate-pearl);margin-bottom:2px}.announcement-body{font-size:var(--text-xs);color:var(--slate-fog);line-height:1.5}.announcement-dismiss{position:absolute;top:var(--space-2);right:var(--space-2);background:none;border:none;color:var(--slate-ash);cursor:pointer;padding:4px;line-height:1;font-size:16px;opacity:.6;transition:opacity .15s}.announcement-dismiss:hover{opacity:1}html,body{overflow-x:hidden;max-width:100vw}.main-content,.navbar,.mobile-menu,.slate-footer{max-width:100vw;overflow-x:hidden}@media(max-width: 768px){.stat-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:50%}.task-meta{flex-wrap:wrap}.main-content{padding:var(--space-4)}.dashboard-grid{grid-template-columns:1fr}.dashboard-sidebar{position:static;order:1}.dashboard-main{order:0}.day-detail-panel{max-width:100%;margin-inline:var(--space-4)}.mobile-menu-toggle{display:inline-flex}.navbar-links{display:none !important}.character-switcher{display:none}.landing-features{grid-template-columns:1fr}.landing-hero h1{font-size:var(--text-3xl)}.navbar .nav-desktop-only{display:none !important}.calendar-grid{grid-auto-rows:minmax(52px, auto)}.calendar-day{min-height:52px;padding:var(--space-1)}.calendar-day-number{font-size:var(--text-xs)}.calendar-plan-indicator{display:none}.calendar-progress{display:none}.modal-content{max-width:calc(100vw - var(--space-6));padding:var(--space-4)}}@media(max-width: 480px){.main-content{padding:var(--space-3)}.navbar{padding:var(--space-3) var(--space-3)}.char-header{flex-direction:column;align-items:flex-start !important;gap:var(--space-3)}.char-header-actions{width:100%;flex-wrap:wrap}.char-header-actions .btn{flex:1 1 auto;text-align:center;min-width:0}.quest-summary-row{flex-direction:column}.stats-grid{grid-template-columns:repeat(2, 1fr)}.hiscore-summary-row{flex-direction:column}.hiscore-summary-row .hiscore-card{flex:none;width:100%}.quest-search-wrap .form-input{max-width:100%}.empty-state{padding:var(--space-6) var(--space-3)}.card{padding:var(--space-3)}.slate-footer-inner{gap:var(--space-4)}}[data-theme=light] .task-card:hover{border-color:rgba(42,40,49,.15)}[data-theme=light] .task-card.is-next{background:rgba(168,113,79,.08)}[data-theme=light] .character-card:hover{border-color:rgba(42,40,49,.15)}[data-theme=light] .mobile-menu{background:var(--surface-1)}[data-theme=light] .mobile-menu a:hover{background:rgba(42,40,49,.05)}[data-theme=light] .navbar-links a:hover,[data-theme=light] .navbar-links a.active{background:rgba(42,40,49,.05)}[data-theme=light] .stat-cell.stat-maxed{border-color:rgba(168,113,79,.3);background:rgba(168,113,79,.06)}[data-theme=light] .btn-done{background:rgba(74,125,85,.12);color:var(--slate-success);border-color:rgba(74,125,85,.25)}[data-theme=light] .btn-done:hover{background:rgba(74,125,85,.2)}[data-theme=light] .btn-undo{background:rgba(158,131,48,.12);color:var(--slate-warning);border-color:rgba(158,131,48,.25)}[data-theme=light] .btn-undo:hover{background:rgba(158,131,48,.2)}[data-theme=light] .calendar-grid{border-color:rgba(42,40,49,.12)}[data-theme=light] .calendar-day{border-color:rgba(42,40,49,.08)}[data-theme=light] .calendar-header-cell{border-color:rgba(42,40,49,.1)}[data-theme=light] .calendar-day:hover{background:rgba(42,40,49,.04)}[data-theme=light] .calendar-day.is-selected{background:rgba(168,113,79,.08)}.theme-toggle{background:none;border:none;color:var(--slate-fog);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.theme-toggle:hover{color:var(--slate-pearl);background:rgba(211,218,217,.08)}[data-theme=light] .theme-toggle:hover{background:rgba(42,40,49,.05)}.theme-toggle .icon-sun,.theme-toggle .icon-moon{width:18px;height:18px;pointer-events:none}.theme-toggle .icon-moon{display:none}[data-theme=light] .theme-toggle .icon-sun{display:none}[data-theme=light] .theme-toggle .icon-moon{display:block}
