.app-layout{flex-direction:column;height:100vh;min-height:100vh;display:flex;position:relative;overflow:hidden}.app-layout__bg{background:var(--color-bg-dark);z-index:0;position:fixed;inset:0}[data-theme=dark] .app-layout__bg{background:radial-gradient(at 20%,#3c32284d 0%,#0000 50%),radial-gradient(at 80%,#32281e4d 0%,#0000 50%),linear-gradient(#0f0e0d 0%,#1a1816 50%,#0f0e0d 100%)}[data-theme=light] .app-layout__bg{background:radial-gradient(at 30% 20%,#fffaf0cc 0%,#0000 50%),radial-gradient(at 70% 80%,#fff5e699 0%,#0000 50%),linear-gradient(#f0e4d0 0%,#e8dcc8 50%,#ddd0b8 100%)}.app-layout__vignette{pointer-events:none;z-index:1000;position:fixed;inset:0}[data-theme=dark] .app-layout__vignette{background:radial-gradient(#0000 0% 60%,#0006 100%)}[data-theme=light] .app-layout__vignette{background:radial-gradient(#0000 0% 70%,#8b5a2b1a 100%)}.app-header{z-index:10;flex-shrink:0;justify-content:center;align-items:center;gap:2.5rem;padding:1rem 2rem;display:flex;position:relative}.app-header__title{font-family:var(--font-display);letter-spacing:.35em;color:var(--color-text-gold);text-shadow:0 0 30px var(--glow-gold);font-size:1.75rem;font-weight:700}.app-header__nav{align-items:center;gap:.75rem;display:flex}.nav-arrow{width:28px;height:28px;color:var(--color-text-cream);transition:color var(--transition-fast), transform var(--transition-fast)}.nav-arrow:hover{color:var(--color-text-gold-bright);transform:scale(1.1)}.nav-arrow svg{width:100%;height:100%}.nav-label{font-family:var(--font-display);letter-spacing:.12em;color:var(--color-text-cream);text-transform:uppercase;font-size:.75rem;font-weight:600}.theme-toggle{width:40px;height:40px;color:var(--color-text-cream);border:1px solid var(--color-border);background:var(--color-bg-card);transition:all var(--transition-fast);border-radius:50%;padding:8px;position:absolute;top:50%;left:2rem;transform:translateY(-50%)}.theme-toggle:hover{color:var(--color-text-gold-bright);border-color:var(--color-text-gold);background:var(--color-bg-hover);transform:translateY(-50%)scale(1.1)}.theme-toggle svg{width:100%;height:100%}.app-header__level{align-items:center;gap:.75rem;display:flex;position:absolute;top:50%;right:2rem;transform:translateY(-50%)}.level-label{font-family:var(--font-display);letter-spacing:.1em;color:var(--color-text-cream);font-size:.7rem;font-weight:600}.level-value{font-family:var(--font-display);color:var(--color-text-gold);font-size:1.75rem;font-weight:700}.level-bar{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:3px;width:120px;height:6px;overflow:hidden}.level-bar__fill{background:linear-gradient(90deg, var(--color-text-gold), var(--color-text-gold-bright));height:100%}.level-xp{font-family:var(--font-body);color:var(--color-text-cream);font-size:.85rem;font-weight:600}.page-dots{z-index:10;flex-shrink:0;justify-content:center;gap:.5rem;padding-bottom:.75rem;display:flex;position:relative}.page-dot{background:var(--color-text-muted);opacity:.5;border-radius:50%;width:8px;height:8px}.page-dot--active{opacity:1;background:var(--color-text-gold);box-shadow:var(--glow-gold)}.app-main{z-index:10;flex:1;gap:0;padding:0 1.5rem 1.5rem;display:flex;position:relative;overflow:hidden}.panel{flex-direction:column;min-width:0;transition:width .3s,flex .3s;display:flex;position:relative}.panel--collapsed{overflow:hidden;flex:none!important}.panel__content{flex:1;min-height:0;padding:0 1rem;overflow:hidden auto}.panel--left{border-right:1px solid var(--color-divider)}.panel--left .panel__content{padding-left:.5rem}.panel--middle{min-width:300px}.panel--middle .panel__content{padding:0 1.5rem}.panel--right{border-left:1px solid var(--color-divider)}.panel--right .panel__content{padding-right:.5rem}.panel__collapse-btn{background:var(--color-bg-panel);border:1px solid var(--color-border);width:24px;height:56px;color:var(--color-text-cream);z-index:20;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.panel__collapse-btn:hover{background:var(--color-bg-hover);color:var(--color-text-gold-bright);border-color:var(--color-text-gold)}.panel__collapse-btn svg{width:16px;height:16px}.panel__collapse-btn--left{border-radius:0 6px 6px 0;right:-12px}.panel__collapse-btn--right{border-radius:6px 0 0 6px;left:-12px}.panel__collapsed-label{height:100%;font-family:var(--font-display);letter-spacing:.2em;color:var(--color-text-gold);text-transform:uppercase;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;padding:1rem 0;font-size:.8rem;font-weight:700;display:flex}.panel__collapsed-label span{writing-mode:horizontal-tb}.panel__resize-handle{cursor:col-resize;z-index:15;justify-content:center;align-items:center;width:10px;display:flex;position:absolute;top:0;bottom:0}.panel__resize-handle--right{right:-5px}.panel__resize-handle--left{left:-5px}.panel__resize-handle:hover .resize-handle__line,.panel__resize-handle:active .resize-handle__line{background:var(--color-text-gold);box-shadow:0 0 10px var(--color-text-gold);width:3px}.resize-handle__line{background:var(--color-border);width:2px;height:80px;transition:all var(--transition-fast);border-radius:2px}@media (max-width:1200px){.app-header__level{display:none}}@media (max-width:1000px){.theme-toggle{position:static;transform:none}.app-header{gap:1rem}}@media (max-width:900px){.app-main{flex-direction:column;padding:0 1rem 1rem}.panel--left,.panel--right{border:none;border-bottom:1px solid var(--color-divider);max-height:35vh;flex:none!important;width:100%!important}.panel__collapse-btn,.panel__resize-handle,.panel--right{display:none}}.quest-group-header{cursor:pointer;border-bottom:1px solid var(--color-divider);transition:background-color var(--transition-fast);background:var(--color-bg-card);justify-content:space-between;align-items:center;padding:.9rem .6rem;display:flex;position:relative}.quest-group-header:hover{background:var(--color-bg-hover)}.quest-group-header:focus-visible{outline:2px solid var(--color-text-gold);outline-offset:-2px}.quest-group-header__left{align-items:center;gap:.6rem;display:flex}.quest-group-header__chevron{width:22px;height:22px;color:var(--color-text-cream);transition:transform var(--transition-normal), color var(--transition-fast)}.quest-group-header--collapsed .quest-group-header__chevron{transform:rotate(-90deg)}.quest-group-header:hover .quest-group-header__chevron{color:var(--color-text-gold-bright)}.quest-group-header__title{font-family:var(--font-display);letter-spacing:.08em;color:var(--color-text-cream);text-transform:uppercase;align-items:center;gap:.5rem;font-size:.95rem;font-weight:700;display:flex}.quest-group-header__icon{font-size:1.1rem}.quest-group-header__right{align-items:center;gap:.75rem;display:flex}.quest-group-header__count{font-family:var(--font-display);text-align:center;min-width:1.5rem;font-size:1.1rem;font-weight:700}.quest-group-header__actions{opacity:0;transition:opacity var(--transition-fast);align-items:center;gap:.25rem;display:flex}.quest-group-header:hover .quest-group-header__actions{opacity:1}.quest-group-header__btn{width:28px;height:28px;color:var(--color-text-cream);border-radius:var(--radius-sm);transition:color var(--transition-fast), background-color var(--transition-fast);padding:5px}.quest-group-header__btn:hover{color:var(--color-text-gold-bright);background:var(--color-bg-selected)}.quest-group-header__btn svg{width:100%;height:100%}.quest-group-header__accent{opacity:.6;height:2px;position:absolute;bottom:0;left:0;right:0}.quest-shield{flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.quest-shield--sm{width:32px;height:38px}.quest-shield--md{width:42px;height:50px}.quest-shield--lg{width:56px;height:68px}.quest-shield__bg{filter:drop-shadow(0 2px 6px #0006);width:100%;height:100%;transition:filter var(--transition-fast);position:absolute;top:0;left:0}.quest-shield:hover .quest-shield__bg{filter:drop-shadow(0 2px 10px #b4323280)}.quest-shield--tracked .quest-shield__bg{filter:drop-shadow(0 0 12px #e8c96799)}.quest-shield__icon{z-index:1;margin-top:-4px;font-size:1.1rem;line-height:1;position:relative}.quest-shield--sm .quest-shield__icon{font-size:.85rem}.quest-shield--lg .quest-shield__icon{font-size:1.6rem}.quest-shield__level{font-family:var(--font-display);color:var(--color-text-gold-bright);text-shadow:0 1px 3px #000000e6,0 0 6px #000000b3;z-index:2;font-size:.8rem;font-weight:700;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.quest-shield--sm .quest-shield__level{font-size:.7rem}.quest-shield--lg .quest-shield__level{font-size:1rem}.quest-shield__tracked-indicator{width:16px;height:16px;color:var(--color-text-gold-bright);z-index:3;animation:2s ease-in-out infinite glowPulse;position:absolute;top:-6px;right:-6px}.quest-shield__tracked-indicator svg{filter:drop-shadow(0 0 6px);width:100%;height:100%}.quest-item{border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast), transform var(--transition-fast), border-color var(--transition-fast);background:var(--color-bg-card);border:1px solid var(--color-border);align-items:center;gap:.75rem;margin:.4rem 0;padding:.7rem .9rem;display:flex;position:relative}.quest-item:hover{background:var(--color-bg-hover);border-color:var(--color-text-gold)}.quest-item:focus-visible{outline:2px solid var(--color-text-gold);outline-offset:1px}.quest-item--selected{background:var(--color-bg-selected);border-color:var(--color-text-gold)}.quest-item--selected:before{content:"";background:var(--color-text-gold);width:4px;box-shadow:var(--glow-gold-strong);border-radius:2px 0 0 2px;position:absolute;top:0;bottom:0;left:0}.quest-item--tracked{background:var(--color-bg-selected);border-color:var(--color-text-gold)}.quest-item__content{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.quest-item__title{font-family:var(--font-display);letter-spacing:.02em;color:var(--color-text-gold);text-transform:none;white-space:nowrap;text-overflow:ellipsis;transition:color var(--transition-fast);font-size:1rem;font-weight:700;overflow:hidden}.quest-item:hover .quest-item__title{color:var(--color-text-gold-bright)}.quest-item__location{font-family:var(--font-body);color:var(--color-text-cream);font-size:.9rem;font-weight:500}.quest-item__progress{align-items:center;gap:.5rem;margin-top:.2rem;display:flex}.quest-item__progress-bar{background:var(--color-divider);border-radius:2px;flex:1;height:4px;overflow:hidden}.quest-item__progress-fill{background:var(--color-accent-green);height:100%;transition:width var(--transition-normal)}.quest-item__progress-text{color:var(--color-text-cream);font-size:.8rem;font-weight:600;font-family:var(--font-body)}.quest-item__track-btn{width:24px;height:24px;color:var(--color-text-muted);opacity:0;transition:opacity var(--transition-fast), color var(--transition-fast)}.quest-item:hover .quest-item__track-btn{opacity:.7}.quest-item__track-btn:hover,.quest-item__track-btn--active{color:var(--color-text-gold-bright);opacity:1!important}.quest-item__track-btn svg{width:100%;height:100%}.quest-item__indicator{border-top:8px solid #0000;border-bottom:8px solid #0000;border-right:8px solid var(--color-text-gold);width:0;height:0;position:absolute;top:50%;right:-10px;transform:translateY(-50%)}.quest-item__accent{display:none}.quest-group-list{flex-direction:column;height:100%;min-height:0;display:flex}.quest-search{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);flex-shrink:0;align-items:center;gap:.65rem;margin-bottom:.75rem;padding:.7rem .9rem;display:flex}.quest-search--focused{border-color:var(--color-text-gold);box-shadow:0 0 0 2px var(--glow-gold)}.quest-search__icon{width:20px;height:20px;color:var(--color-text-muted);flex-shrink:0}.quest-search__input{color:var(--color-text-cream);background:0 0;border:none;flex:1;padding:0;font-size:1rem;font-weight:500}.quest-search__input:focus{box-shadow:none;outline:none}.quest-search__input::placeholder{color:var(--color-text-muted);font-weight:400}.quest-search__clear{width:20px;height:20px;color:var(--color-text-muted);transition:color var(--transition-fast)}.quest-search__clear:hover{color:var(--color-text-gold-bright)}.quest-search__clear svg{width:100%;height:100%}.quest-groups{flex:1;min-height:0;overflow:hidden auto}.quest-group{margin-bottom:.25rem}.quest-group__items{padding:.3rem 0}.quest-group__empty{color:var(--color-text-muted);justify-content:space-between;align-items:center;padding:.9rem 1rem;font-size:.95rem;font-style:italic;font-weight:500;display:flex}.quest-group__add-btn{font-family:var(--font-display);letter-spacing:.05em;color:var(--color-text-gold);text-transform:uppercase;border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:all var(--transition-fast);padding:.4rem .7rem;font-size:.75rem;font-weight:600}.quest-group__add-btn:hover{background:var(--color-bg-hover);border-color:var(--color-text-gold)}.add-group-btn{color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;gap:.5rem;margin-top:.75rem;padding:.9rem;display:flex}.add-group-btn:hover{color:var(--color-text-gold-bright);border-color:var(--color-text-gold);background:var(--color-bg-hover)}.add-group-btn svg{width:20px;height:20px}.add-group-btn span{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:600}.subtask-list{margin:0;padding:0;list-style:none}.subtask-list--empty{color:var(--color-text-muted);padding:1rem 0;font-style:italic;font-weight:500}.subtask-item{border-bottom:1px solid var(--color-divider);border-radius:var(--radius-sm);transition:background-color var(--transition-fast);align-items:flex-start;gap:.85rem;margin:0 -.5rem;padding:.9rem .5rem;display:flex}.subtask-item:last-child{border-bottom:none}.subtask-item:hover{background:var(--color-bg-hover)}.subtask-checkbox{width:28px;height:28px;color:var(--color-text-muted);transition:color var(--transition-fast), transform var(--transition-fast);flex-shrink:0}.subtask-checkbox:hover{color:var(--color-text-gold-bright);transform:scale(1.1)}.subtask-checkbox svg{width:100%;height:100%}.subtask-checkbox__border{transition:fill var(--transition-fast)}.subtask-item--completed .subtask-checkbox{color:var(--color-accent-green)}.subtask-item--completed .subtask-checkbox__border{fill:#6aad6a4d}.subtask-checkbox__check{stroke-dasharray:24;animation:.3s forwards checkMark}.subtask-text{font-family:var(--font-body);color:var(--color-text-body);transition:color var(--transition-fast), text-decoration var(--transition-fast);flex:1;padding-top:3px;font-size:1.2rem;font-weight:500;line-height:1.5}.subtask-item--completed .subtask-text{color:var(--color-text-muted);text-decoration:line-through;-webkit-text-decoration-color:var(--color-text-muted);text-decoration-color:var(--color-text-muted)}.expansion-badge{--badge-color:var(--color-accent-red);justify-content:center;align-items:center;min-width:180px;padding:.5rem 1.5rem;display:inline-flex;position:relative}.expansion-badge__border{color:var(--badge-color);opacity:.8;position:absolute;inset:0}.expansion-badge__border svg{width:100%;height:100%}.expansion-badge__text{z-index:1;font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;color:var(--badge-color);text-shadow:0 0 10px #8b23234d;font-size:.7rem;font-weight:600;position:relative}.quest-details{flex-direction:column;height:100%;min-height:0;padding-top:1rem;display:flex}.quest-details--empty{justify-content:center;align-items:center;display:flex}.quest-details__empty-content{text-align:center;color:var(--color-text-muted);max-width:280px}.quest-details__empty-content svg{opacity:.5;width:64px;height:64px;margin-bottom:1rem}.quest-details__empty-content h2{color:var(--color-text-gold);margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.quest-details__empty-content p{color:var(--color-text-body);font-size:1rem;font-weight:500;line-height:1.6}.quest-details__header{flex-shrink:0;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.quest-details__shield{flex-shrink:0}.quest-details__title-block{flex:1;min-width:0}.quest-details__title{font-family:var(--font-display);letter-spacing:.05em;color:var(--color-text-gold);text-transform:uppercase;margin-bottom:.5rem;font-size:1.5rem;font-weight:700;line-height:1.3}.quest-details__meta{flex-direction:column;gap:.35rem;display:flex}.quest-details__location{font-family:var(--font-display);letter-spacing:.1em;color:var(--color-text-cream);text-transform:uppercase;font-size:.9rem;font-weight:600}.quest-details__level{font-family:var(--font-display);letter-spacing:.08em;color:var(--color-text-muted);text-transform:uppercase;font-size:.8rem;font-weight:500}.quest-details__actions{gap:.5rem;display:flex}.quest-action-btn{width:38px;height:38px;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:all var(--transition-fast);padding:8px}.quest-action-btn:hover{color:var(--color-text-gold-bright);border-color:var(--color-text-gold);background:var(--color-bg-hover)}.quest-action-btn--active{color:var(--color-text-gold-bright);border-color:var(--color-text-gold);background:var(--color-bg-selected)}.quest-action-btn svg{width:100%;height:100%}.quest-details__divider{flex-shrink:0;margin:.5rem 0 1rem}.quest-details__objectives{flex:1;min-height:0;overflow-y:auto}.quest-details__section-title{font-family:var(--font-display);letter-spacing:.1em;color:var(--color-text-cream);text-transform:uppercase;border-bottom:1px solid var(--color-divider);justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;font-size:.95rem;font-weight:600;display:flex}.quest-details__progress{font-family:var(--font-body);color:var(--color-text-gold);letter-spacing:normal;text-transform:none;font-size:1rem;font-weight:600}.quest-details__complete-prompt{border-radius:var(--radius-md);text-align:center;background:linear-gradient(135deg,#6aad6a33 0%,#6aad6a1a 100%);border:2px solid #6aad6a80;flex-shrink:0;margin-top:1rem;padding:1.25rem}.quest-details__complete-prompt p{font-family:var(--font-display);letter-spacing:.05em;color:var(--color-accent-green);margin-bottom:.75rem;font-size:1rem;font-weight:600}.quest-details__complete-actions{justify-content:center;gap:.75rem;display:flex}.complete-btn{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-sm);transition:all var(--transition-fast);align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.8rem;font-weight:600;display:flex}.complete-btn svg{width:18px;height:18px}.complete-btn--success{color:var(--color-accent-green);border:2px solid var(--color-accent-green)}.complete-btn--success:hover{background:#6aad6a40}.complete-btn--fail{color:var(--color-accent-red);border:2px solid var(--color-accent-red)}.complete-btn--fail:hover{background:#c43c3c40}.quest-details__badge{flex-shrink:0;justify-content:center;margin-top:auto;padding-top:1.5rem;display:flex}.quest-metadata{border-top:1px solid var(--color-divider);flex-direction:column;flex-shrink:0;gap:.85rem;margin-top:1.5rem;padding:1rem 0;display:flex}.quest-metadata__item{align-items:flex-start;gap:.75rem;display:flex}.quest-metadata__icon{width:22px;height:22px;color:var(--color-text-muted);flex-shrink:0;margin-top:2px}.quest-metadata__icon svg{width:100%;height:100%}.quest-metadata__content{flex-direction:column;gap:.15rem;display:flex}.quest-metadata__label{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);font-size:.7rem;font-weight:600}.quest-metadata__value{font-family:var(--font-body);color:var(--color-text-body);font-size:1rem;font-weight:600}.quest-metadata__subvalue{font-family:var(--font-body);color:var(--color-text-muted);font-size:.85rem;font-weight:500}.quest-metadata__item--reminder .quest-metadata__icon,.quest-metadata__item--reminder .quest-metadata__value{color:var(--color-text-gold)}.quest-metadata__item--completed .quest-metadata__icon,.quest-metadata__item--completed .quest-metadata__value{color:var(--color-accent-green)}.quest-metadata__item--failed .quest-metadata__icon,.quest-metadata__item--failed .quest-metadata__value{color:var(--color-accent-red)}.quest-description{flex-direction:column;height:100%;min-height:0;padding-top:1rem;display:flex}.quest-description--empty{text-align:center;color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.quest-description__empty-illustration{opacity:.5;width:100px;height:100px;margin-bottom:1rem}.quest-description__empty-illustration svg{width:100%;height:100%}.quest-description__empty-text{max-width:200px;color:var(--color-text-body);font-size:1rem;font-weight:500;line-height:1.6}.quest-description__header{border-bottom:1px solid var(--color-divider);flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.quest-description__title{font-family:var(--font-display);letter-spacing:.1em;color:var(--color-text-gold);text-transform:uppercase;font-size:1rem;font-weight:700}.quest-description__edit-btn{width:34px;height:34px;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:all var(--transition-fast);padding:7px}.quest-description__edit-btn:hover{color:var(--color-text-gold-bright);border-color:var(--color-text-gold);background:var(--color-bg-hover)}.quest-description__edit-btn svg{width:100%;height:100%}.quest-description__content{flex:1;min-height:0;overflow-y:auto}.quest-description__text{font-family:var(--font-body);color:var(--color-text-body);text-align:justify;-webkit-hyphens:auto;hyphens:auto;font-size:1.2rem;font-weight:500;line-height:1.85}.quest-description__text--empty{color:var(--color-text-muted);text-align:left;font-style:italic}.quest-description__flourish{color:var(--color-text-muted);opacity:.5;flex-shrink:0;justify-content:center;padding:1.5rem 0 .5rem;display:flex}.quest-description__flourish svg{width:100px;height:20px}.modal-backdrop{z-index:1000;background:#000c;justify-content:center;align-items:center;padding:2rem;animation:.2s forwards backdropFade;display:flex;position:fixed;inset:0}.modal{background:linear-gradient(135deg, var(--color-bg-panel) 0%, var(--color-bg-panel-alt) 100%);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;width:100%;max-width:520px;max-height:90vh;animation:.25s forwards modalScaleIn;display:flex;position:relative;box-shadow:0 0 0 1px #c4a2581a,0 20px 60px #00000080,inset 0 1px #ffffff08}.modal__header{border-bottom:1px solid var(--color-divider);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal__title{font-family:var(--font-display);letter-spacing:.1em;color:var(--color-text-gold);text-transform:uppercase;font-size:1rem;font-weight:500}.modal__close{width:28px;height:28px;color:var(--color-text-muted);transition:color var(--transition-fast);padding:4px}.modal__close:hover{color:var(--color-text-gold)}.modal__close svg{width:100%;height:100%}.modal__content{flex:1;padding:1.5rem;overflow-y:auto}.modal__corner{pointer-events:none;width:20px;height:20px;position:absolute}.modal__corner:before,.modal__corner:after{content:"";background:var(--color-text-gold);opacity:.3;position:absolute}.modal__corner--tl{top:-1px;left:-1px}.modal__corner--tl:before{width:20px;height:1px;top:0;left:0}.modal__corner--tl:after{width:1px;height:20px;top:0;left:0}.modal__corner--tr{top:-1px;right:-1px}.modal__corner--tr:before{width:20px;height:1px;top:0;right:0}.modal__corner--tr:after{width:1px;height:20px;top:0;right:0}.modal__corner--bl{bottom:-1px;left:-1px}.modal__corner--bl:before{width:20px;height:1px;bottom:0;left:0}.modal__corner--bl:after{width:1px;height:20px;bottom:0;left:0}.modal__corner--br{bottom:-1px;right:-1px}.modal__corner--br:before{width:20px;height:1px;bottom:0;right:0}.modal__corner--br:after{width:1px;height:20px;bottom:0;right:0}.modal-form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-label{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);font-size:.7rem}.form-input,.form-textarea,.form-select{width:100%;font-family:var(--font-body);color:var(--color-text-cream);background:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:.75rem 1rem;font-size:1rem}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--color-text-gold);outline:none;box-shadow:0 0 0 2px #c4a25826}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted)}.form-textarea{resize:vertical;min-height:120px}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-hint{color:var(--color-text-muted);margin-top:.25rem;font-size:.8rem}.form-actions{border-top:1px solid var(--color-divider);justify-content:flex-end;gap:.75rem;margin-top:1rem;padding-top:1rem;display:flex}.btn{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-sm);transition:all var(--transition-fast);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.75rem;font-weight:500;display:inline-flex}.btn svg{width:16px;height:16px}.btn--primary{background:linear-gradient(135deg, var(--color-text-gold) 0%, #b8963e 100%);color:var(--color-bg-dark);border:none}.btn--primary:hover{background:linear-gradient(135deg, var(--color-text-gold-bright) 0%, var(--color-text-gold) 100%);box-shadow:0 0 20px #c4a2584d}.btn--secondary{color:var(--color-text-cream);border:1px solid var(--color-border);background:0 0}.btn--secondary:hover{border-color:var(--color-text-cream);background:var(--color-bg-hover)}.btn--danger{color:var(--color-accent-red);border:1px solid var(--color-accent-red);background:0 0}.btn--danger:hover{background:#8b232333}.subtask-form-list{flex-direction:column;gap:.5rem;display:flex}.subtask-form-item{align-items:center;gap:.5rem;display:flex}.subtask-form-item .form-input{flex:1;padding:.5rem .75rem;font-size:.9rem}.subtask-form-item button{width:32px;height:32px;color:var(--color-text-muted);transition:color var(--transition-fast);padding:6px}.subtask-form-item button:hover{color:var(--color-accent-red)}.subtask-form-item button svg{width:100%;height:100%}.add-subtask-btn{color:var(--color-text-muted);font-family:var(--font-body);transition:color var(--transition-fast);align-items:center;gap:.5rem;padding:.5rem;font-size:.9rem;display:flex}.add-subtask-btn:hover{color:var(--color-text-gold)}.add-subtask-btn svg{width:18px;height:18px}.color-picker{flex-wrap:wrap;gap:.5rem;display:flex}.color-option{cursor:pointer;width:32px;height:32px;transition:transform var(--transition-fast), border-color var(--transition-fast);border:2px solid #0000;border-radius:50%}.color-option:hover{transform:scale(1.1)}.color-option--selected{border-color:var(--color-text-gold);box-shadow:0 0 0 2px var(--color-bg-dark), 0 0 10px #c4a25880}.emoji-picker{flex-wrap:wrap;gap:.5rem;display:flex}.emoji-option{border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;width:36px;height:36px;transition:all var(--transition-fast);justify-content:center;align-items:center;font-size:1.2rem;display:flex}.emoji-option:hover{background:var(--color-bg-hover);border-color:var(--color-text-muted)}.emoji-option--selected{background:var(--color-bg-selected);border-color:var(--color-text-gold)}.app-container{flex-direction:column;min-height:100vh;display:flex}:root,[data-theme=dark]{--color-bg-dark:#0f0e0d;--color-bg-panel:#1a1816;--color-bg-panel-alt:#151311;--color-bg-hover:#e8c9671f;--color-bg-selected:#e8c96733;--color-bg-card:#28231eb3;--color-text-gold:#f0d078;--color-text-gold-bright:gold;--color-text-cream:#d8c8a8;--color-text-muted:#9a8a70;--color-text-dark:#5d5244;--color-text-body:#d0c4a8;--color-accent-red:#c43c3c;--color-accent-red-bright:#e04545;--color-accent-red-dark:#8b2323;--color-accent-green:#6aad6a;--color-accent-blue:#6a9ac4;--color-border:#4d4536;--color-border-light:#5d5546;--color-divider:#3d3830;--color-scrollbar:#4d4536;--color-scrollbar-hover:#5d5546;--shadow-panel:0 0 40px #00000080;--shadow-inset:inset 0 0 60px #0006;--glow-gold:0 0 10px #e8c96766;--glow-gold-strong:0 0 20px #e8c96799}[data-theme=light]{--color-bg-dark:#e8dcc8;--color-bg-panel:#f5ead8;--color-bg-panel-alt:#efe4d2;--color-bg-hover:#643c1e1a;--color-bg-selected:#643c1e26;--color-bg-card:#fffaf0e6;--color-text-gold:#6b3a10;--color-text-gold-bright:#8b4513;--color-text-cream:#2d1f14;--color-text-muted:#5a4a3a;--color-text-dark:#1a1208;--color-text-body:#3d2a1a;--color-accent-red:#8b2323;--color-accent-red-bright:brown;--color-accent-red-dark:#5c1818;--color-accent-green:#2e5a2e;--color-accent-blue:#2e4a6a;--color-border:#b49a6a;--color-border-light:#c4aa7a;--color-divider:#c4b494;--color-scrollbar:#b49a6a;--color-scrollbar-hover:#a48a5a;--shadow-panel:0 0 40px #00000014;--shadow-inset:inset 0 0 60px #00000008;--glow-gold:0 0 10px #6b3a1026;--glow-gold-strong:0 0 20px #6b3a1040}:root{--font-display:"Cinzel", serif;--font-body:"Cormorant Garamond", serif;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s ease;--radius-sm:2px;--radius-md:4px;--radius-lg:8px}.texture-noise:before{content:"";pointer-events:none;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");position:absolute;inset:0}.texture-vignette:after{content:"";pointer-events:none;background:radial-gradient(#0000 0% 50%,#0006 100%);position:absolute;inset:0}.texture-leather{background:linear-gradient(135deg,#1e1914cc 0%,#14120fe6 50%,#0f0c0a 100%)}.divider-worn{background:linear-gradient(90deg, transparent 0%, var(--color-border) 10%, var(--color-border-light) 50%, var(--color-border) 90%, transparent 100%);height:1px;position:relative}.divider-worn:before,.divider-worn:after{content:"";background:var(--color-border-light);width:4px;height:3px;position:absolute;top:-1px}.divider-worn:before{left:20%}.divider-worn:after{right:30%}.corner-flourish{position:relative}.corner-flourish:before,.corner-flourish:after{content:"";border-color:var(--color-border-light);opacity:.5;border-style:solid;width:20px;height:20px;position:absolute}.corner-flourish:before{border-width:1px 0 0 1px;top:0;left:0}.corner-flourish:after{border-width:0 1px 1px 0;bottom:0;right:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:1000px;transform:translateY(0)}}@keyframes slideUp{0%{opacity:1;max-height:1000px;transform:translateY(0)}to{opacity:0;max-height:0;transform:translateY(-10px)}}@keyframes glowPulse{0%,to{box-shadow:0 0 5px #c4a25833}50%{box-shadow:0 0 15px #c4a25866}}@keyframes subtleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes shieldShimmer{0%{background-position:-100% 0}to{background-position:200% 0}}@keyframes textReveal{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes backdropFade{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.95)translateY(-20px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes checkMark{0%{stroke-dashoffset:24px}to{stroke-dashoffset:0}}.animate-fadeIn{animation:fadeIn var(--transition-normal) ease forwards}.animate-slideDown{animation:slideDown var(--transition-normal) ease forwards}.animate-glowPulse{animation:2s ease-in-out infinite glowPulse}.animate-textReveal{animation:textReveal var(--transition-normal) ease forwards}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-body);color:var(--color-text-cream);background-color:var(--color-bg-dark);min-height:100vh;font-size:1rem;font-weight:500;line-height:1.6;transition:background-color .3s,color .3s;overflow:hidden}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:.05em;color:var(--color-text-gold);text-transform:uppercase;font-weight:600}h1{letter-spacing:.1em;font-size:1.75rem;font-weight:700}h2{letter-spacing:.08em;font-size:1.25rem;font-weight:600}h3{letter-spacing:.06em;font-size:1rem;font-weight:600}p{font-family:var(--font-body);font-size:1.15rem;font-weight:500;line-height:1.8}a{color:var(--color-text-gold);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-text-gold-bright)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-bg-panel)}::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-hover)}*{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar) var(--color-bg-panel)}::selection{color:var(--color-text-gold-bright);background:#8b5a2b4d}:focus{outline:none}:focus-visible{outline:2px solid var(--color-text-gold);outline-offset:2px}button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer;background:0 0;border:none;font-weight:600}button:disabled{cursor:not-allowed;opacity:.5}input,textarea,select{font-family:var(--font-body);color:var(--color-text-cream);background:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);padding:.6rem .85rem;font-size:1.05rem;font-weight:500}input:focus,textarea:focus,select:focus{border-color:var(--color-text-gold);box-shadow:0 0 0 2px var(--glow-gold)}input::placeholder,textarea::placeholder{color:var(--color-text-muted);font-weight:400}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-gold{color:var(--color-text-gold)}.text-cream{color:var(--color-text-cream)}.text-muted{color:var(--color-text-muted)}.font-display{font-family:var(--font-display)}.font-body{font-family:var(--font-body)}.uppercase{text-transform:uppercase}.tracking-wide{letter-spacing:.05em}.tracking-wider{letter-spacing:.1em}
