@import url("https://fonts.googleapis.com/css2?family=IM+Fell+English:ital@0;1&family=MedievalSharp&family=Cinzel:wght@400;600;700&family=Open+Sans:wght@400;600&display=swap");:root{--bg-page:#0e0d0b;--bg-panel:#1c1710;--bg-card:#221e14;--bg-card-hover:#2a2518;--border-gold:#7a5c1e;--border-bright:#c8a040;--gold:#c8a040;--gold-light:#f0d080;--gold-dim:#8a6820;--text-primary:#ede0c4;--text-secondary:#a09070;--text-dim:#6a5c40;--red:#c0392b;--green:#27ae60;--col-skill:#f0d060;--col-item:#4ecdc4;--col-quest:#b48eff;--col-achievement:#ff8c42;--col-pet:#ff6b9d;--col-diary:#74b9ff;--col-milestone:#fff;--col-chunk_roll:#ff9f43;--col-lost_footage:#c0392b;--col-commentary:#8e44ad}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg-page);color:var(--text-primary);font-family:Open Sans,sans-serif;font-size:14px;line-height:1.6;min-height:100vh}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-panel)}::-webkit-scrollbar-thumb{background:var(--border-gold);border-radius:3px}.site-header{background:linear-gradient(180deg,#1a1408,#0e0d0b);border-bottom:2px solid var(--border-gold);padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:16px;height:60px}.site-header h1{font-family:Cinzel,serif;font-size:20px;font-weight:700;color:var(--gold-light);letter-spacing:1px;white-space:nowrap}.next-roll-estimate{display:flex;align-items:center;gap:8px;padding:4px 12px;border:1px solid var(--border-gold);border-radius:4px;background:rgba(200,160,64,.06);font-size:12px;white-space:nowrap}.next-roll-label{color:var(--text-secondary)}.next-roll-value{color:var(--gold-light);font-weight:600}.next-roll-method,.next-roll-range{color:var(--text-dim)}.next-roll-method{font-style:italic}.header-sep{flex:1 1}.header-links{display:flex;gap:12px}.header-links a{color:var(--text-secondary);text-decoration:none;font-size:13px;padding:6px 12px;border:1px solid var(--border-gold);border-radius:4px;transition:all .15s}.header-links a:hover{color:var(--gold-light);border-color:var(--border-bright);background:rgba(200,160,64,.08)}.timeline-page-wrapper{display:flex;max-width:1600px;margin:0 auto;gap:0;padding:0 16px;height:calc(100vh - 60px);overflow:hidden}.sidebar{padding:24px 16px 24px 0}.sidebar,.sidebar-right{width:220px;flex-shrink:0;height:100%;overflow-y:auto}.sidebar-right{padding:24px 0 24px 16px}.sidebar-section{background:var(--bg-panel);border:1px solid var(--border-gold);border-radius:6px;overflow:hidden;margin-bottom:16px}.sidebar-title{font-family:Cinzel,serif;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);background:rgba(200,160,64,.1);padding:8px 12px}.sidebar-title,.skills-grid{border-bottom:1px solid var(--border-gold)}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;background:var(--border-gold);border-top:1px solid var(--border-gold)}.skill-cell{background:var(--bg-panel);display:flex;flex-direction:column;align-items:center;padding:6px 4px;gap:3px;cursor:default;transition:background .1s}.skill-cell:hover{background:var(--bg-card-hover)}.skill-cell .skill-level{font-size:11px;font-weight:600;color:var(--gold-light);line-height:1}.skill-cell .skill-name{font-size:9px;color:var(--text-dim);text-align:center;line-height:1}.total-level{padding:10px 12px;display:flex;justify-content:space-between;align-items:center}.total-level span:first-child{color:var(--text-secondary);font-size:12px}.total-level span:last-child{color:var(--gold-light);font-size:15px;font-weight:700;font-family:Cinzel,serif}.content{flex:1 1;padding:24px 0 24px 24px;min-width:0;display:flex;flex-direction:column;height:100%;overflow:hidden}.timeline{position:relative;padding-left:40px;padding-right:16px;flex:1 1;overflow-y:auto;min-height:0;padding-bottom:100vh}.timeline:before{display:none}.timeline-entry:before{content:"";position:absolute;left:-26px;top:0;bottom:-20px;width:2px;background:var(--border-gold);opacity:.5}.timeline-entry{position:relative;margin-bottom:20px;animation:fadeSlideIn .3s ease forwards}@keyframes fadeSlideIn{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}.entry-node{position:absolute;left:-33px;top:18px;width:16px;height:16px;border-radius:50%;border:2px solid;background:var(--bg-page);z-index:1;transition:transform .15s}.timeline-entry:hover .entry-node{transform:scale(1.3)}.entry-card{background:var(--bg-card);border:1px solid var(--border-gold);border-left-width:3px;border-radius:6px;overflow:hidden;transition:background .15s,box-shadow .15s;cursor:default}.entry-card:hover{background:var(--bg-card-hover);box-shadow:0 4px 20px rgba(0,0,0,.5)}.entry-header{display:flex;align-items:flex-start;gap:12px;padding:14px 16px 10px}.entry-icon{width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:4px;background:hsla(0,0%,100%,.05);overflow:hidden}.entry-icon .icon-fallback{font-size:18px;line-height:1}.entry-meta{flex:1 1;min-width:0}.entry-title{font-family:Cinzel,serif;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.entry-subtitle{font-size:11px;color:var(--text-secondary);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.entry-date{color:var(--text-dim)}.entry-badge{padding:1px 6px;border-radius:10px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.entry-body{padding:0 16px 14px;font-size:13px;color:var(--text-secondary);line-height:1.7}.level-up-display{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:4px 10px;background:rgba(240,208,96,.08);border:1px solid var(--border-gold);border-radius:20px;font-size:12px}.level-up-display .arrow{color:var(--gold)}.level-up-display .new-level{font-weight:700;color:var(--gold-light);font-size:14px}.entry-tags{display:flex;flex-wrap:wrap;gap:4px;padding:0 16px 12px}.entry-tag{font-size:10px;padding:2px 7px;border-radius:10px;background:hsla(0,0%,100%,.05);color:var(--text-dim);border:1px solid hsla(0,0%,100%,.08)}.timeline-entry.pinned .entry-card{box-shadow:0 0 0 1px var(--border-bright),0 4px 20px rgba(200,160,64,.15)}.pin-indicator{float:right;font-size:12px;color:var(--gold);margin-left:8px}.type-skill_level{color:var(--col-skill);border-left-color:var(--col-skill)!important}.type-item{color:var(--col-item);border-left-color:var(--col-item)!important}.type-quest{color:var(--col-quest);border-left-color:var(--col-quest)!important}.type-achievement{color:var(--col-achievement);border-left-color:var(--col-achievement)!important}.type-pet{color:var(--col-pet);border-left-color:var(--col-pet)!important}.type-diary{color:var(--col-diary);border-left-color:var(--col-diary)!important}.type-milestone{color:var(--col-milestone);border-left-color:var(--col-milestone)!important}.type-chunk_roll{color:var(--col-chunk_roll);border-left-color:var(--col-chunk_roll)!important}.type-lost_footage{color:var(--col-lost_footage);border-left-color:var(--col-lost_footage)!important}.type-commentary{color:var(--col-commentary);border-left-color:var(--col-commentary)!important}.badge-skill_level{background:rgba(240,208,96,.15);color:var(--col-skill)}.badge-item{background:rgba(78,205,196,.15);color:var(--col-item)}.badge-quest{background:rgba(180,142,255,.15);color:var(--col-quest)}.badge-achievement{background:rgba(255,140,66,.15);color:var(--col-achievement)}.badge-pet{background:rgba(255,107,157,.15);color:var(--col-pet)}.badge-diary{background:rgba(116,185,255,.15);color:var(--col-diary)}.badge-milestone{background:hsla(0,0%,100%,.12);color:var(--col-milestone)}.badge-chunk_roll{background:rgba(255,159,67,.15);color:var(--col-chunk_roll)}.badge-lost_footage{background:rgba(192,57,43,.15);color:var(--col-lost_footage)}.badge-commentary{background:rgba(142,68,173,.15);color:var(--col-commentary)}.empty-state{text-align:center;padding:60px 20px;color:var(--text-dim)}.empty-state .icon{font-size:48px;margin-bottom:12px}.empty-state p{font-size:14px}.empty-state a{color:var(--gold);text-decoration:none}.empty-state a:hover{text-decoration:underline}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;gap:16px;color:var(--text-dim)}.spinner{width:32px;height:32px;border:3px solid var(--border-gold);border-top-color:var(--gold-light);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.step-nav{display:flex;align-items:center;gap:16px;padding:14px 18px;background:var(--bg-panel);border:1px solid var(--border-gold);border-radius:8px;margin-bottom:20px;min-height:80px;flex-shrink:0}.step-btn{background:var(--bg-card);border:1px solid var(--border-gold);color:var(--text-secondary);padding:9px 18px;border-radius:5px;cursor:pointer;font-size:13px;font-family:inherit;font-weight:600;letter-spacing:.3px;white-space:nowrap;transition:all .15s;flex-shrink:0}.step-btn:hover:not(:disabled){color:var(--gold-light);border-color:var(--border-bright);background:rgba(200,160,64,.1)}.step-btn:disabled{opacity:.3;cursor:not-allowed}.step-btn-next{background:rgba(200,160,64,.08);border-color:var(--border-bright);color:var(--gold-light)}.step-btn-next:hover:not(:disabled){background:rgba(200,160,64,.2)}.step-info{flex:1 1;text-align:center;min-width:0}.step-counter{display:flex;align-items:baseline;justify-content:center;gap:6px;margin-bottom:4px}.step-num{font-family:Cinzel,serif;font-size:17px;font-weight:700;color:var(--gold-light)}.step-of{font-size:12px;color:var(--text-dim)}.step-entry-name{font-size:12px;color:var(--text-secondary);margin-bottom:8px;display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.step-type-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.step-progress-track{width:100%;height:3px;background:hsla(0,0%,100%,.06);border-radius:2px;overflow:hidden}.step-progress-fill{height:100%;background:linear-gradient(90deg,var(--gold-dim),var(--gold-light));border-radius:2px;transition:width .4s cubic-bezier(.4,0,.2,1)}.episode-jumps{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-shrink:0}.episode-jumps-label{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);white-space:nowrap;flex-shrink:0}.episode-jump-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bg-card);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%237a5c1e' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;border:1px solid var(--border-gold);color:var(--text-primary);padding:5px 26px 5px 10px;border-radius:5px;font-size:13px;font-family:inherit;cursor:pointer;transition:border-color .15s;flex:1 1;width:0}.episode-jump-select:focus{outline:none;border-color:var(--border-bright)}.episode-jump-select option,.spotlight-card{background:var(--bg-card)}.spotlight-card{border:1px solid var(--border-bright);border-left-width:4px;border-radius:8px;margin-bottom:24px;box-shadow:0 0 0 1px rgba(200,160,64,.12),0 6px 30px rgba(0,0,0,.5);animation:spotlightIn .25s ease;overflow:hidden;flex-shrink:0}@keyframes spotlightIn{0%{opacity:.5;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.spotlight-header{display:flex;align-items:center;justify-content:space-between;padding:8px 18px;border-bottom:1px solid rgba(200,160,64,.15);background:rgba(200,160,64,.06)}.spotlight-badge{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:7px}.spotlight-badge-dot{width:7px;height:7px;border-radius:50%}.spotlight-body{display:flex;align-items:flex-start;gap:16px;padding:16px 18px;flex-wrap:wrap}.spotlight-icon{width:52px;height:52px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.05);border-radius:6px;overflow:hidden}.spotlight-icon .icon-fallback{font-size:26px}.spotlight-text{flex:1 1;min-width:180px}.spotlight-title{font-family:Cinzel,serif;font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:3px}.spotlight-date{font-size:12px;color:var(--text-dim);margin-bottom:8px}.spotlight-desc{font-size:13px;color:var(--text-secondary);line-height:1.7}.spotlight-change{display:flex;align-items:center;gap:14px;padding:10px 14px;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.07);border-radius:6px;flex-shrink:0;min-width:160px}.spotlight-change-icon{width:32px;height:32px;image-rendering:pixelated}.spotlight-change-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);margin-bottom:4px}.spotlight-change-levels{display:flex;align-items:center;gap:8px}.lvl-old{font-size:16px;color:var(--text-secondary)}.lvl-arrow{font-size:14px;color:var(--gold)}.lvl-new{font-size:22px;font-weight:700;color:var(--gold-light);font-family:Cinzel,serif}.entry-past .entry-card{opacity:.55;transition:opacity .2s}.entry-past:hover .entry-card{opacity:.8}.entry-past .entry-body,.entry-past .entry-tags{display:none}.entry-past .entry-header{padding:7px 12px}.entry-past .entry-icon{width:22px;height:22px}.entry-past .entry-title{font-size:12px}.entry-past .entry-subtitle{display:none}.entry-past .entry-node{width:10px;height:10px;top:14px}.entry-current .entry-card{animation:revealEntry .28s cubic-bezier(.2,0,.2,1);box-shadow:0 0 0 1px var(--border-bright),0 4px 20px rgba(200,160,64,.2);background:var(--bg-card-hover)}@keyframes revealEntry{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.entry-now-badge{display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--gold);background:rgba(200,160,64,.15);border:1px solid var(--border-gold);border-radius:10px;padding:2px 7px;margin-right:7px;vertical-align:middle}.skill-just-changed{animation:skillPulse .8s ease}@keyframes skillPulse{0%{background:rgba(240,208,96,.35)}to{background:var(--bg-panel)}}.chunk-map{background:var(--bg-panel);border:1px solid var(--border-gold);border-radius:6px;overflow:hidden;margin-bottom:16px}.chunk-map-hero{margin:0 auto 18px;width:100%;max-width:460px;flex-shrink:0;align-self:center;border-color:var(--border-bright);box-shadow:0 0 24px rgba(255,159,67,.12)}.chunk-map-head{display:flex;align-items:center;justify-content:space-between;font-family:Cinzel,serif;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);background:rgba(200,160,64,.1);padding:8px 12px;border-bottom:1px solid var(--border-gold)}.chunk-map-count{color:var(--col-chunk_roll);letter-spacing:.5px}.chunk-map-canvas{position:relative;width:100%;background-color:#000;background-position:50%;background-repeat:no-repeat;image-rendering:auto;overflow:hidden}.chunk-map-dim{position:absolute;inset:0;background:#000;z-index:1}.chunk-picker .chunk-map-dim{background:rgba(8,8,6,.62)}.chunk-cell{position:absolute;z-index:2;image-rendering:auto;box-shadow:inset 0 0 0 1px rgba(255,159,67,.9)}.chunk-cell-stickered{box-shadow:inset 0 0 0 2px var(--gold-light),0 0 6px hsla(43,79%,72%,.5);z-index:3}.chunk-cell-just{z-index:4;box-shadow:inset 0 0 0 1px #ffd9a0,0 0 5px rgba(255,159,67,.85);animation:chunkPulse 1.1s ease}@keyframes chunkPulse{0%{transform:scale(1.6);box-shadow:inset 0 0 0 1.5px #fff,0 0 11px #ffc878}to{transform:scale(1);box-shadow:inset 0 0 0 1px #ffd9a0,0 0 5px rgba(255,159,67,.85)}}.chunk-picker{border:1px solid var(--border-gold);border-radius:6px;overflow:hidden;width:100%}.chunk-picker-canvas{cursor:crosshair}.chunk-pick{position:absolute;z-index:2;image-rendering:auto;cursor:pointer}.chunk-pick-avail{box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.25)}.chunk-pick-avail:hover{box-shadow:inset 0 0 0 2px #fff;background:hsla(0,0%,100%,.14)}.chunk-pick-sel{box-shadow:inset 0 0 0 2px #ffd9a0,0 0 6px rgba(255,159,67,.7)}.chunk-pick-taken{z-index:1;opacity:.7;cursor:not-allowed;box-shadow:inset 0 0 0 1px rgba(150,165,185,.6)}.chunk-picker-legend{display:flex;gap:16px;padding:8px 12px;font-size:11px;color:var(--text-secondary);background:var(--bg-panel);border-top:1px solid var(--border-gold)}.chunk-picker-legend .lg{display:inline-block;width:11px;height:11px;margin-right:5px;vertical-align:middle;background:rgba(60,55,40,.6)}.lg-sel{box-shadow:inset 0 0 0 2px #ffd9a0}.lg-taken{box-shadow:inset 0 0 0 1px rgba(150,165,185,.85)}.lg-avail{box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.45)}.episode-divider{position:relative;margin:4px 0 20px -40px;display:flex;align-items:center;gap:12px}.episode-divider:before{content:"";width:28px;height:2px;background:var(--border-bright);flex-shrink:0}.episode-divider:after{content:"";position:absolute;left:14px;top:-4px;bottom:-20px;width:2px;background:var(--border-gold);opacity:.5}.episode-divider span{font-family:Cinzel,serif;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gold);padding:3px 12px;border:1px solid var(--border-gold);background:var(--bg-page);border-radius:3px}.goals-list{list-style:none;padding:4px 0}.goal-item{display:flex;align-items:baseline;gap:8px;padding:5px 12px;color:var(--text-secondary);line-height:1.4}.goal-check,.goal-item{font-size:11px;transition:color .2s}.goal-check{flex-shrink:0;font-weight:700;width:12px;text-align:center;color:var(--text-dim)}.goal-item.completed .goal-check{color:#2ecc71}.goal-item.completed .goal-text{color:#2ecc71;opacity:.75;text-decoration:line-through}.goal-item.bonus .goal-check{color:var(--text-dim)}.goal-item.bonus .goal-text{color:var(--text-dim);font-style:italic}.goal-item.bonus.completed .goal-check,.goal-item.bonus.completed .goal-text{color:var(--gold-dim)}.goal-item.goal-new{background:rgba(255,159,67,.1);box-shadow:inset 2px 0 0 var(--col-chunk_roll);animation:goalNew 1.3s ease}.goal-item.goal-new .goal-text{color:var(--gold-light);font-style:normal}.goal-item.goal-new .goal-check{color:var(--col-chunk_roll)}.goal-new-badge{margin-left:auto;flex-shrink:0;align-self:center;font-size:8px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#1a1209;background:var(--col-chunk_roll);padding:1px 5px;border-radius:3px}@keyframes goalNew{0%{background:rgba(255,159,67,.42)}to{background:rgba(255,159,67,.1)}}.goals-sep{height:1px;background:rgba(122,92,30,.3);margin:4px 12px}.goals-bonus-label{font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim);padding:2px 12px 0}.mood-picker{display:flex;gap:6px;flex-wrap:wrap}.mood-pill{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;border:1px solid var(--border);background:var(--bg-entry);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:border-color .15s,background .15s,color .15s;white-space:nowrap}.mood-pill:hover{border-color:var(--gold-dim);color:var(--text-primary)}.mood-pill.selected{color:var(--bg-dark);border-color:transparent;font-weight:600}.mood-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600}.mood-dot-inline{font-size:13px;line-height:1}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.72);display:flex;align-items:flex-start;justify-content:center;z-index:200;padding:40px 16px;overflow-y:auto}.modal-box{background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;width:100%;max-width:760px;flex-shrink:0}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border)}.modal-header h3{font-family:Cinzel,serif;font-size:15px;color:var(--gold-light);margin:0}.modal-close{background:none;border:none;color:var(--text-dim);font-size:20px;cursor:pointer;line-height:1;padding:0 4px;transition:color .15s}.modal-close:hover{color:var(--text-primary)}.admin-layout{max-width:960px;margin:0 auto;padding:24px 16px 60px}.admin-layout h2{font-family:Cinzel,serif;font-size:18px;color:var(--gold-light);margin-bottom:4px}.admin-layout .subtitle{color:var(--text-secondary);font-size:13px;margin-bottom:28px}.panel{background:var(--bg-panel);border:1px solid var(--border-gold);border-radius:6px;overflow:hidden;margin-bottom:24px}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:rgba(200,160,64,.06);border-bottom:1px solid var(--border-gold)}.panel-header h3{font-family:Cinzel,serif;font-size:13px;color:var(--gold);letter-spacing:.5px}.panel-body{padding:20px}.form-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:14px;gap:14px;margin-bottom:14px}.form-group{display:flex;flex-direction:column;gap:5px}.form-group label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group select,.form-group textarea{background:var(--bg-card);border:1px solid var(--border-gold);color:var(--text-primary);padding:8px 10px;border-radius:4px;font-size:13px;font-family:inherit;transition:border-color .15s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--border-bright)}.form-group textarea{min-height:70px;resize:vertical}.form-group select option{background:var(--bg-card)}.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.btn{padding:8px 18px;border-radius:4px;border:1px solid transparent;cursor:pointer;font-size:13px;font-family:inherit;font-weight:600;letter-spacing:.3px;transition:all .15s;display:inline-flex;align-items:center;gap:6px}.btn-primary{background:rgba(200,160,64,.15);border-color:var(--border-bright);color:var(--gold-light)}.btn-primary:hover{background:rgba(200,160,64,.25)}.btn-secondary{background:transparent;border-color:var(--border-gold);color:var(--text-secondary)}.btn-secondary:hover{border-color:var(--border-bright);color:var(--text-primary)}.btn-danger{background:rgba(192,57,43,.15);border-color:rgba(192,57,43,.5);color:#e74c3c}.btn-danger:hover{background:rgba(192,57,43,.25)}.btn-sm{padding:4px 10px;font-size:11px}.entry-list{display:flex;flex-direction:column;gap:10px}.admin-entry{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg-card);border:1px solid rgba(122,92,30,.4);border-radius:5px;transition:border-color .15s,opacity .15s;cursor:default}.admin-entry:hover{border-color:var(--border-gold)}.admin-entry.dragging{opacity:.35}.admin-entry.drag-over-above{border-top:2px solid var(--gold-light)}.admin-entry.drag-over-below{border-bottom:2px solid var(--gold-light)}.drag-handle{color:var(--text-dim);font-size:14px;cursor:-webkit-grab;cursor:grab;flex-shrink:0;padding-top:2px;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.admin-entry-icon{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.admin-entry-info{flex:1 1;min-width:0}.admin-entry-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-entry-meta{font-size:11px;color:var(--text-dim)}.admin-entry-actions{display:flex;gap:6px;flex-shrink:0;align-items:flex-start}.btn-insert{background:none;border:1px solid var(--border);color:var(--text-dim);padding:3px 8px;border-radius:4px;font-size:11px;font-family:inherit;cursor:pointer;transition:all .15s;white-space:nowrap}.btn-insert:hover{border-color:var(--border-gold);color:var(--gold-light);background:rgba(200,160,64,.06)}.toast{position:fixed;bottom:24px;right:24px;z-index:500;padding:11px 18px;border-radius:6px;font-size:13px;font-weight:600;box-shadow:0 4px 16px rgba(0,0,0,.5);pointer-events:none;animation:toast-in .2s ease}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast-success{background:rgba(39,174,96,.2);border:1px solid rgba(39,174,96,.5);color:#2ecc71}.toast-error{background:rgba(192,57,43,.2);border:1px solid rgba(192,57,43,.5);color:#e74c3c}.goal-admin-section-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px}.goal-admin-empty{font-size:13px;color:var(--text-dim);margin:0 0 4px}.goal-admin-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;border:1px solid var(--border);margin-bottom:6px;background:rgba(0,0,0,.12);transition:border-color .15s}.goal-admin-row:hover{border-color:var(--border-gold)}.goal-admin-check{font-size:15px;width:18px;text-align:center;color:var(--text-dim);flex-shrink:0}.goal-admin-check.done{color:#2ecc71}.goal-admin-info{flex:1 1;min-width:0}.goal-admin-text{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goal-admin-meta{font-size:11px;color:var(--text-dim);margin-top:2px}.goal-admin-actions{display:flex;gap:6px;flex-shrink:0;align-items:center}.goal-modal-context{font-size:13px;color:var(--text-secondary);margin:0 0 16px}.goal-modal-context strong{color:var(--text-primary)}.modal-box-sm{max-width:480px}.step-link-btn{padding:7px 10px;font-size:14px;line-height:1;min-width:36px;text-align:center}.admin-outer{display:flex;align-items:flex-start;justify-content:center}.admin-outer .admin-layout{flex:1 1;min-width:0}.admin-outer.sim-active{justify-content:flex-start}.admin-outer.sim-active .admin-layout{max-width:960px}.sim-sidebar{width:260px;flex-shrink:0;position:-webkit-sticky;position:sticky;top:60px;height:calc(100vh - 60px);overflow-y:auto;border-left:1px solid var(--border-gold);background:var(--bg-panel)}.sim-panel{padding:16px}.sim-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--border-gold);margin-bottom:4px}.sim-panel-eyebrow{font-size:9px;font-family:Cinzel,serif;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin-bottom:3px}.sim-panel-name{font-family:Cinzel,serif;font-size:12px;font-weight:600;color:var(--text-primary)}.sim-section-label{font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim);margin:12px 0 6px}.sim-active-btn{color:var(--col-chunk_roll)!important;border-color:var(--col-chunk_roll)!important}@media (max-width:768px){.timeline-page-wrapper{flex-direction:column;height:auto;overflow:visible;padding:0 8px}.sidebar{display:none}.sidebar-right{width:100%;padding:0 0 24px}.content,.sidebar-right{height:auto;overflow:visible}.content{padding:12px 0}.timeline{flex:none;overflow-y:auto;max-height:260px;padding-left:28px;padding-right:4px;padding-bottom:8px}.entry-node{left:-24px}.episode-divider{margin-left:-28px}.step-nav{min-height:auto;gap:8px;padding:10px 12px;flex-wrap:wrap}.step-btn{padding:7px 12px;font-size:12px}.step-link-btn{padding:7px 9px;min-width:32px}.spotlight-body{padding:12px;gap:10px}.spotlight-change{flex:1 1 100%;min-width:0}.spotlight-title{font-size:14px}.chunk-map-hero{max-width:100%}.episode-jump-select{max-width:none}}.spotlight-card-epic{border-width:2px 2px 2px 5px;animation:epicIn .35s cubic-bezier(.22,1,.36,1)}.spotlight-card-epic.type-pet{border-color:var(--col-pet);box-shadow:0 0 32px rgba(255,107,157,.25),0 6px 30px rgba(0,0,0,.6)}.spotlight-card-epic.type-chunk_roll{border-color:var(--col-chunk_roll);box-shadow:0 0 32px rgba(255,159,67,.25),0 6px 30px rgba(0,0,0,.6)}.spotlight-card-epic.type-skill_level{border-color:var(--col-skill);box-shadow:0 0 32px rgba(240,208,96,.25),0 6px 30px rgba(0,0,0,.6)}@keyframes epicIn{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.spotlight-card-epic .spotlight-title{font-size:20px}.spotlight-max-badge{display:inline-block;margin-left:8px;padding:1px 6px;font-size:9px;font-weight:900;letter-spacing:1.5px;background:var(--col-skill);color:#1a1000;border-radius:3px;vertical-align:middle}.episode-progress{white-space:nowrap;flex-shrink:0}.chunk-map-desc,.episode-progress{font-size:11px;color:var(--text-dim)}.chunk-map-desc{line-height:1.5;padding:6px 4px 10px;margin:0}.chunk-tasks-desc{font-size:10px;color:var(--text-dim);font-style:italic;font-weight:400;letter-spacing:0;text-transform:none;margin-top:3px}.entry-dim{opacity:.35}.entry-dim:hover{opacity:.7;transition:opacity .15s}.intro-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.intro-card{background:var(--bg-card);border:1px solid var(--border-gold);border-radius:12px;padding:40px 36px;max-width:420px;width:calc(100% - 40px);text-align:center;box-shadow:0 0 60px rgba(200,160,64,.2),0 20px 60px rgba(0,0,0,.7);animation:slideUp .25s cubic-bezier(.22,1,.36,1)}@keyframes slideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.intro-logo{font-size:40px;margin-bottom:12px}.intro-title{font-family:Cinzel,serif;font-size:24px;font-weight:700;color:var(--gold);margin:0 0 16px}.intro-body{font-size:15px;line-height:1.65;color:var(--text-secondary);margin:0 0 28px}.intro-btn{background:var(--gold);color:#1a1000;border:none;border-radius:6px;padding:11px 28px;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;transition:background .15s,transform .1s}.intro-btn:hover{background:#e8c44a;transform:translateY(-1px)}.play-btn{min-width:40px;font-size:15px}.play-btn-active{color:var(--gold)!important;border-color:var(--gold)!important}.reaction-bar{display:flex;gap:6px;padding:10px 16px 14px;border-top:1px solid rgba(200,160,64,.1)}.reaction-btn{display:flex;align-items:center;gap:4px;padding:5px 11px;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.1);border-radius:20px;cursor:pointer;font-size:15px;font-family:inherit;color:inherit;transition:all .15s}.reaction-btn:hover{background:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.25);transform:scale(1.08)}.reaction-active{background:rgba(200,160,64,.15)!important;border-color:var(--border-gold)!important}.reaction-count{font-size:12px;color:var(--text-secondary)}.recap-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:500;background:rgba(0,0,0,.65);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .2s ease}.recap-card{background:var(--bg-card);border:1px solid var(--border-gold);border-radius:12px;padding:36px 44px;text-align:center;max-width:380px;width:calc(100% - 40px);box-shadow:0 0 60px rgba(200,160,64,.2),0 20px 60px rgba(0,0,0,.7);animation:slideUp .3s cubic-bezier(.22,1,.36,1)}.recap-eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);margin-bottom:10px}.recap-title{font-family:Cinzel,serif;font-size:22px;font-weight:700;color:var(--gold);margin-bottom:8px}.recap-meta{font-size:13px;color:var(--text-dim);margin-bottom:24px}.recap-btn{background:transparent;border:1px solid var(--border-gold);color:var(--gold);border-radius:6px;padding:8px 22px;font-size:13px;font-family:inherit;cursor:pointer;transition:background .15s}.recap-btn:hover{background:rgba(200,160,64,.12)}.graph-open-btn{width:100%;margin-top:8px;padding:9px;background:rgba(200,160,64,.07);border:1px solid var(--border-gold);border-radius:6px;color:var(--gold);font-size:12px;font-family:inherit;cursor:pointer;transition:background .15s}.graph-open-btn:hover{background:rgba(200,160,64,.15)}.graph-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:600;background:rgba(0,0,0,.75);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.graph-modal{background:var(--bg-panel);border:1px solid var(--border-gold);border-radius:12px;padding:20px 22px;width:min(860px,95vw);max-height:92vh;overflow-y:auto;animation:slideUp .25s cubic-bezier(.22,1,.36,1)}.graph-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.graph-title{font-family:Cinzel,serif;font-size:16px;font-weight:700;color:var(--gold)}.graph-close{background:transparent;border:none;color:var(--text-dim);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:color .15s;line-height:1}.graph-close:hover{color:var(--text-primary)}.graph-pills{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:14px}.graph-pill{padding:3px 10px;font-size:11px;border-radius:20px;border:1px solid hsla(0,0%,100%,.15);background:transparent;color:var(--text-dim);cursor:pointer;font-family:inherit;transition:all .15s}.graph-pill:hover{border-color:hsla(0,0%,100%,.3);color:var(--text-secondary)}.graph-pill.active{font-weight:600}.graph-svg{display:block;border-radius:6px;background:rgba(0,0,0,.25)}.graph-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;padding-top:10px;border-top:1px solid hsla(0,0%,100%,.06)}.graph-legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.graph-legend-swatch{width:14px;height:3px;border-radius:2px;flex-shrink:0}