/* Editorial art surfaces and purpose-built route actions. */
.entry-quick-actions{--control-accent:var(--entry-accent,var(--accent));display:flex;gap:5px;align-items:stretch;margin-top:20px;padding:4px;border-radius:13px;background:#ffffff04;max-width:100%}
.entry-quick-actions .quick-finish{display:flex;align-items:center;justify-content:flex-start;gap:11px;flex:1;min-width:0;min-height:47px;padding:7px 12px 7px 8px!important;border-radius:10px;background:linear-gradient(125deg,color-mix(in srgb,var(--control-accent,var(--accent)) 15%,transparent),color-mix(in srgb,var(--control-accent,var(--accent)) 6%,transparent));color:var(--ink);text-align:left;transition:background .25s,box-shadow .25s,transform .25s}
.quick-finish .action-glyph{display:grid;place-items:center;flex:0 0 29px;height:29px;border-radius:9px;background:color-mix(in srgb,var(--control-accent,var(--accent)) 18%,transparent);color:var(--control-accent,var(--accent))}.action-glyph svg{width:17px;height:17px}.quick-finish b{font:600 11px Inter,sans-serif;letter-spacing:.015em}.quick-finish .action-tail{margin-left:auto;color:var(--control-accent,var(--accent));font-size:15px}.action-undo{margin-left:auto;font-size:9px;color:var(--muted)}
.entry-quick-actions .quick-finish:hover{background:color-mix(in srgb,var(--control-accent,var(--accent)) 22%,transparent);box-shadow:0 5px 24px color-mix(in srgb,var(--control-accent,var(--accent)) 8%,transparent);transform:translateY(-1px)}.entry-quick-actions.is-finished .quick-finish{color:var(--control-accent,var(--accent));background:color-mix(in srgb,var(--control-accent,var(--accent)) 12%,transparent)}.entry-quick-actions.is-finished .action-glyph{background:var(--control-accent,var(--accent));color:var(--bg)}
.route-menu-trigger{flex:0 0 43px;display:grid;place-items:center;border-radius:10px;background:#ffffff05;color:var(--muted);font-size:23px;letter-spacing:1px;line-height:1;transition:background .2s,color .2s}.route-menu-trigger:hover,.route-menu-trigger[aria-expanded=true]{background:#ffffff0b;color:var(--control-accent,var(--accent))}.route-state{display:block;margin:9px 7px 0;font-size:9px;color:var(--muted)}
.entry-route-menu{position:fixed;inset:auto;margin:0;width:270px;padding:11px;border:0;border-radius:16px;background:color-mix(in srgb,var(--bg) 97%,white);box-shadow:0 24px 90px #0009;color:var(--ink);max-height:calc(100dvh - 100px);overflow:auto}.route-menu-title{display:block;padding:10px 12px 13px;color:var(--muted);font:600 10px Inter,sans-serif;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.entry-route-menu>button{width:100%;display:flex;align-items:center;gap:13px;padding:12px;border-radius:9px;text-align:left}.entry-route-menu>button:hover,.entry-route-menu>button:focus-visible{background:#ffffff07}.route-icon{width:25px;color:var(--control-accent,var(--accent));font-size:21px;text-align:center}.entry-route-menu b{display:block;font:500 12px Inter,sans-serif}.entry-route-menu small{display:block;color:var(--muted);font-size:9px;margin-top:5px}.entry-route-menu i{margin-left:auto;color:var(--control-accent,var(--accent));font-style:normal}.entry-route-menu:popover-open{animation:panel-arrival .2s ease both}
.operation .entry-quick-actions{max-width:370px}.comic-interlude>.entry-quick-actions{flex:0 0 100%;max-width:300px;margin-left:auto;background:#30293808}.comic-interlude .entry-quick-actions .quick-finish{flex:1;min-width:0;background:linear-gradient(110deg,#d1b57240,#b3964e16);color:#302b34}.comic-interlude .entry-quick-actions .action-glyph{color:#6d5325;background:#b49c5725}.comic-interlude .entry-quick-actions .action-tail,.comic-interlude .route-menu-trigger{color:#725b34}.comic-interlude .route-menu-trigger{background:#30293808}.level-story .entry-quick-actions{max-width:400px}
.journey-page .save-line:empty{display:none}.adventure-body .entry-tools{margin-top:20px}.adventure-body .entry-tools .button{padding:0;background:none!important;color:var(--muted);font-size:10px;font-weight:400}.operation-content .entry-tools .button{padding:0;background:none!important;color:var(--muted);font-size:10px;font-weight:400}.comic-actions{gap:10px}
.journey-page .site-footer{min-height:100px;justify-content:space-between}.journey-summary .summary-heading{margin-bottom:15px}.summary-middle>p:empty{display:none}
.jak-daxter{--bg:#0c1919;--accent:#e7be75;background:radial-gradient(ellipse at 85% 14%,#377b5733,transparent 37%),radial-gradient(ellipse at 8% 42%,#68562f22,transparent 26%),#0c1919}
.jak-daxter .journey-hero{height:790px;max-height:none;min-height:740px}.jak-daxter .hero-art{inset:0}.jak-daxter .hero-art>img{object-position:72% 0%;filter:saturate(1.08)}.jak-daxter .hero-shade{background:linear-gradient(90deg,#0c1919 1%,#0c1919e8 25%,#0c191980 49%,#0c191914 80%),linear-gradient(0deg,#0c1919,transparent 45%)}.jak-daxter .hero-copy{padding-top:44px;width:62%;max-width:860px}.jak-daxter .hero-logo{height:100px;margin:18px 0 12px;width:240px}.jak-daxter .hero-copy h1{font-size:clamp(60px,5.5vw,86px)}.jak-daxter .hero-copy>p{max-width:430px}.jak-daxter .hero-facts{margin-top:24px;gap:35px}.jak-daxter .hero-facts b{font-size:22px}
.jak-world-selector{display:flex;align-items:stretch;gap:8px;margin-top:28px;max-width:520px}.jak-world-selector>button{display:flex;align-items:center;gap:9px;text-align:left;flex:1;min-width:0;padding:8px;border-radius:11px;background:#0b17198c;backdrop-filter:blur(12px);transition:background .25s,transform .25s,box-shadow .25s}.jak-world-selector>button:hover{transform:translateY(-3px);background:#15332bd9}.jak-world-selector>button[aria-selected=true]{background:#b8a06521;box-shadow:0 7px 30px #0003}.jak-world-selector img{width:38px;height:46px;object-fit:cover;border-radius:5px}.jak-world-selector small{display:block;font-size:6px;letter-spacing:.08em;color:#b7bdaf;line-height:1.6}.jak-world-selector b{display:block;font:600 10px Inter;margin-top:3px;color:#f2e8ce}
.precursor-sigil{position:absolute;right:4%;top:9%;width:560px;height:560px;color:#f7ce8152;z-index:-1;mix-blend-mode:screen;pointer-events:none;animation:precursor-turn 80s linear infinite}.precursor-sigil svg{width:100%;height:100%}.precursor-weather{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.precursor-weather i{position:absolute;left:58%;top:70%;width:3px;height:3px;border-radius:50%;background:#c7efd2;box-shadow:0 0 15px 4px #7fd78b28;animation:eco-dust 10s ease-in-out infinite}.precursor-weather i:nth-child(2){left:72%;top:30%;animation-delay:-3s}.precursor-weather i:nth-child(3){left:87%;top:65%;animation-delay:-6s}.precursor-weather i:nth-child(4){left:35%;top:45%;animation-delay:-8s}.precursor-weather i:nth-child(5){left:93%;top:12%;animation-delay:-5s}
.jak-daxter[data-jak-world=haven]{--accent:#c6acde}.jak-daxter[data-jak-world=haven] .hero-shade{background:linear-gradient(90deg,#0c1919 3%,#0c1919ed 30%,#15142e75 63%,transparent),linear-gradient(0deg,#0c1919,transparent 40%)}.jak-daxter[data-jak-world=wasteland]{--accent:#e5ab70}.jak-daxter[data-jak-world=wasteland] .hero-art>img{object-position:72% 39%}
.jak-daxter .trilogy-grid{gap:26px}.jak-daxter .adventure-scene{height:280px}.jak-daxter .adventure-body{padding:27px}.jak-daxter .adventure-cover{width:94px;height:132px;top:-112px;filter:drop-shadow(0 12px 18px #0007)}.jak-daxter .adventure-card{background:linear-gradient(160deg,#1c30295c,#152321);box-shadow:0 22px 60px #0002}.jak-daxter .adventure-body>p{min-height:124px}.jak-daxter .world-lore{background:radial-gradient(ellipse at 18% 48%,#82935b17,transparent 60%)}.jak-daxter .section-heading h2{font-size:56px}.jak-daxter .archive-strip{background:linear-gradient(120deg,#28362b66,#13241e)}
@keyframes precursor-turn{to{rotate:360deg}}@keyframes eco-dust{0%,100%{opacity:0;translate:0 10px}40%{opacity:.9}80%{opacity:.2;translate:-28px -60px}}
@media(max-width:1050px){.jak-daxter .hero-copy{width:74%}.jak-daxter .hero-copy h1{font-size:66px}.jak-daxter .adventure-body{padding:22px}.jak-daxter .section-heading h2{font-size:46px}.jak-world-selector{max-width:470px}}
@media(max-width:760px){.jak-daxter .journey-hero{height:780px;min-height:0}.jak-daxter .hero-copy{width:100%;padding:40px 6% 0}.jak-daxter .hero-copy h1{font-size:61px}.jak-daxter .hero-logo{height:98px;width:230px}.jak-daxter .hero-art>img{object-position:62% center;opacity:.75}.jak-daxter .hero-shade{background:linear-gradient(90deg,#0c1919dd,#0c19193a),linear-gradient(0deg,#0c1919,transparent 70%)}.jak-daxter .hero-facts{gap:26px;margin-top:27px}.jak-world-selector{gap:6px;margin-top:24px}.jak-world-selector img{display:none}.jak-world-selector>button{min-height:58px;padding:12px 11px}.jak-world-selector b{font-size:10px}.jak-world-selector small{font-size:6px}.precursor-sigil{width:440px;height:440px;right:-140px;top:20%;opacity:.5}.jak-daxter .section-heading h2{font-size:39px}.jak-daxter .adventure-scene{height:260px}.jak-daxter .adventure-body>p{min-height:0}.entry-quick-actions .quick-finish{min-height:47px}.operation .entry-quick-actions{max-width:none}.comic-interlude>.entry-quick-actions{max-width:none}.quick-finish b{font-size:11px}}
.reduced-motion .precursor-sigil,.reduced-motion .precursor-weather i{animation:none!important}@media(prefers-reduced-motion:reduce){.precursor-sigil,.precursor-weather i{animation:none!important}}
@media(max-width:760px){.jak-daxter:not([data-jak-world]) .hero-art>img,.jak-daxter[data-jak-world=coast] .hero-art>img{object-position:75% center}}
/* Activity and completion share one control; undo remains a separate touch target. */
.progress-undo{flex:0 0 auto;min-width:44px;min-height:44px;padding:6px!important;border:0;border-radius:9px;background:#ffffff05;color:var(--muted,#b6c5d0);font:500 10px Inter,Arial,sans-serif}
.progress-undo:hover,.progress-undo:focus-visible{background:#ffffff10;color:var(--ink,#fff)}
.progress-actions{align-items:stretch;gap:5px}.progress-actions .complete-button{flex:1;min-width:0}.progress-actions .progress-undo{margin-top:13px}
.progress-actions .route-options-button{flex:0 0 36px;width:36px}.progress-actions .check-box{flex-shrink:0}
.progress-actions.is-playing .complete-button,.entry-quick-actions.is-playing .quick-finish{background:color-mix(in srgb,var(--control-accent,var(--accent)) 24%,transparent)}
.progress-actions [data-complete]:disabled,.entry-quick-actions [data-finish]:disabled{opacity:1;cursor:default;transform:none}
.dossier-footer .progress-actions{display:flex;flex-wrap:wrap}.dossier-footer .progress-undo{margin-top:0}.dossier-actions .entry-quick-actions{margin-top:0;flex:1}
.comic-interlude .progress-undo{color:#725b34;background:#30293808}
