.puzzle-symbols{position:absolute;width:0;height:0;overflow:hidden}
.puzzle-journey-room{--world-tone:#9a6846;position:relative}
.puzzle-journey-title{margin-bottom:1rem}
.puzzle-rank-ribbon{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;margin:1rem 0 1.15rem;padding:.9rem 1rem;overflow:hidden;color:var(--theme-text);background:radial-gradient(circle at 8% 0%,color-mix(in srgb,var(--world-tone) 18%,transparent),transparent 30%),linear-gradient(120deg,var(--theme-surface),var(--theme-surface-alt));border:1px solid color-mix(in srgb,var(--world-tone) 36%,var(--theme-border));border-radius:18px;box-shadow:var(--theme-shadow)}
.puzzle-rank-ribbon::after{content:"";position:absolute;right:17%;bottom:-70px;width:180px;height:140px;border:1px solid color-mix(in srgb,var(--world-tone) 16%,transparent);border-radius:50%;transform:rotate(-12deg);pointer-events:none}
.puzzle-rank-emblem{display:grid;place-items:center;width:62px;aspect-ratio:1;color:color-mix(in srgb,var(--world-tone) 78%,var(--theme-text));background:color-mix(in srgb,var(--world-tone) 15%,var(--theme-surface));border:1px solid color-mix(in srgb,var(--world-tone) 45%,var(--theme-border));border-radius:17px;box-shadow:inset 0 1px color-mix(in srgb,var(--theme-text) 9%,transparent)}
.puzzle-rank-emblem svg{width:39px;height:39px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.puzzle-rank-copy{min-width:0}
.puzzle-rank-line{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.55rem}
.puzzle-rank-line>div:first-child{display:flex;align-items:baseline;gap:.55rem;min-width:0}
.puzzle-rank-eyebrow{color:var(--theme-text-soft);font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.puzzle-rank-line strong{font-family:"DM Serif Display",Georgia,serif;font-size:1.35rem;line-height:1}
.puzzle-rank-line>div:first-child>span:last-child{color:var(--theme-text-muted);font-size:.84rem;font-weight:750}
.puzzle-points-total{display:flex;align-items:baseline;gap:.35rem;color:var(--theme-text-soft)}
.puzzle-points-total strong{color:var(--theme-text);font-family:"Archivo",sans-serif;font-size:1.45rem;font-variant-numeric:tabular-nums}
.puzzle-points-total span{font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.puzzle-progress-track{position:relative;height:9px;overflow:hidden;background:color-mix(in srgb,var(--theme-text) 9%,var(--theme-surface));border-radius:99px;box-shadow:inset 0 1px 2px color-mix(in srgb,var(--theme-text) 12%,transparent)}
.puzzle-progress-track>span{display:block;width:0;height:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--world-tone) 82%,var(--theme-text)),color-mix(in srgb,var(--world-tone) 72%,var(--theme-gold)));border-radius:inherit;box-shadow:0 0 14px color-mix(in srgb,var(--world-tone) 35%,transparent);transition:width .65s cubic-bezier(.2,.8,.2,1)}
.puzzle-progress-caption{display:flex;justify-content:space-between;gap:1rem;margin-top:.4rem;color:var(--theme-text-muted);font-size:.73rem}
.puzzle-rank-actions{position:relative;z-index:1;display:flex;gap:.55rem}
.puzzle-rank-actions .btn{min-height:44px;padding-inline:.9rem;white-space:nowrap}
.puzzle-rank-actions svg,.puzzle-actions svg{width:18px;height:18px}
.puzzle-journey-layout{align-items:start}.puzzle-quest-rail{gap:.75rem}.puzzle-quest-card{overflow:visible}
.puzzle-quest-card .puzzle-card-topline{display:grid;grid-template-columns:auto 1fr auto}
.puzzle-difficulty-badge{padding:.28rem .48rem;color:var(--theme-text);font-size:.7rem;font-weight:800;letter-spacing:0;text-transform:none;background:var(--theme-surface-alt);border:1px solid var(--theme-border);border-radius:7px}
.puzzle-reward-preview{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin:.15rem 0 .8rem;color:var(--theme-text-muted);font-size:.77rem}
.puzzle-reward-preview>span{display:inline-flex;align-items:center;gap:.3rem}.puzzle-reward-preview svg{width:15px;height:15px;color:var(--theme-gold);fill:none;stroke:currentColor;stroke-width:1.8}.puzzle-reward-preview strong{color:var(--theme-text)}
.puzzle-result-panel{margin:.8rem 0;padding:.85rem;background:linear-gradient(135deg,color-mix(in srgb,var(--puzzle-positive) 13%,var(--theme-surface)),var(--theme-surface-alt));border:1px solid color-mix(in srgb,var(--puzzle-positive) 35%,var(--theme-border));border-radius:13px}
.puzzle-result-panel[hidden]{display:none}.puzzle-result-heading{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem}
.puzzle-next-action[hidden],.puzzle-action-row[hidden]{display:none!important}
.puzzle-result-check{display:grid;place-items:center;width:32px;height:32px;color:var(--theme-surface);background:var(--puzzle-positive);border-radius:50%}
.puzzle-result-check svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.5}.puzzle-result-heading>div{display:flex;flex-direction:column;gap:.1rem}
.puzzle-result-heading span{color:var(--theme-text-muted);font-size:.72rem;font-weight:750}.puzzle-result-heading strong{color:var(--theme-text)}
.puzzle-result-total{color:var(--puzzle-positive)!important;font-size:1.25rem;font-variant-numeric:tabular-nums}
.puzzle-bonus-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem;margin:.75rem 0 0}
.puzzle-bonus-list>div{min-width:0;padding-top:.5rem;border-top:1px solid color-mix(in srgb,var(--theme-border) 70%,transparent)}
.puzzle-bonus-list dt{overflow:hidden;color:var(--theme-text-muted);font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.puzzle-bonus-list dd{margin:.12rem 0 0;color:var(--theme-text);font-size:.78rem;font-weight:800}
.puzzle-result-note{margin:.65rem 0 0;color:var(--theme-text-muted);font-size:.72rem}
.puzzle-action-row{display:grid;grid-template-columns:1fr auto;gap:.5rem}.puzzle-action-row .btn{min-width:0}
.puzzle-next-action{background:var(--puzzle-positive);border-color:color-mix(in srgb,var(--puzzle-positive) 75%,var(--theme-border))}
.puzzle-next-action:hover{background:color-mix(in srgb,var(--puzzle-positive) 88%,var(--theme-text))}
.puzzle-daily-card{padding:1rem!important}.puzzle-daily-card .card-title{font-size:1rem}
.puzzle-mission-reward{padding:.3rem .48rem;color:color-mix(in srgb,var(--theme-gold) 75%,var(--theme-text));font-size:.73rem;font-weight:850;background:color-mix(in srgb,var(--theme-gold) 13%,var(--theme-surface));border-radius:7px}
.puzzle-daily-card>p{margin:.55rem 0;color:var(--theme-text-muted);font-size:.78rem}
.puzzle-mission-progress{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.puzzle-mission-pips{display:flex;align-items:center;flex:1}
.puzzle-mission-pips span{position:relative;z-index:1;display:grid;place-items:center;width:30px;height:30px;color:var(--theme-text-muted);font-size:.72rem;font-weight:850;background:var(--theme-surface-alt);border:1px solid var(--theme-border);border-radius:50%}
.puzzle-mission-pips span:not(:last-child){margin-right:24px}.puzzle-mission-pips span:not(:last-child)::after{content:"";position:absolute;top:50%;left:100%;width:25px;height:2px;background:var(--theme-border)}
.puzzle-mission-pips span.is-complete{color:var(--theme-surface);background:var(--puzzle-positive);border-color:var(--puzzle-positive)}.puzzle-mission-pips span.is-complete::after{background:color-mix(in srgb,var(--puzzle-positive) 70%,var(--theme-border))}
.puzzle-mission-pips svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2}.puzzle-mission-progress>strong{color:var(--theme-text);font-size:.82rem;font-variant-numeric:tabular-nums}
.puzzle-session-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;margin-top:.8rem}.puzzle-session-stats span{display:flex;flex-direction:column;gap:.1rem;padding:.45rem;color:var(--theme-text-muted);font-size:.63rem;background:var(--theme-surface-alt);border:1px solid var(--theme-border);border-radius:8px}.puzzle-session-stats strong{color:var(--theme-text);font-size:.92rem;font-variant-numeric:tabular-nums}
.puzzle-save-note{padding-top:.65rem;border-top:1px solid var(--theme-border)}.puzzle-save-note a{color:var(--theme-link);font-weight:750}
.puzzle-journey-dialog,.puzzle-promotion-dialog{color:var(--theme-text);background:var(--theme-surface);border:1px solid var(--theme-border);box-shadow:0 26px 80px color-mix(in srgb,#000 35%,transparent)}
.puzzle-journey-dialog{width:min(1080px,calc(100vw - 2rem));max-height:min(760px,calc(100vh - 2rem));padding:0;border-radius:22px}
.puzzle-journey-dialog::backdrop,.puzzle-promotion-dialog::backdrop{background:color-mix(in srgb,#101817 70%,transparent);backdrop-filter:blur(5px)}
.puzzle-dialog-shell{padding:1.25rem;overflow:auto}.puzzle-dialog-shell>header{display:flex;align-items:start;justify-content:space-between;gap:1rem}
.puzzle-dialog-shell h2,.puzzle-promotion-dialog h2{margin:.15rem 0 .25rem;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(1.8rem,3vw,2.7rem)}
.puzzle-dialog-shell header p:last-child,.puzzle-promotion-dialog>p:not(.workspace-kicker){margin:0;color:var(--theme-text-muted)}
.puzzle-dialog-close{display:grid;flex:0 0 auto;place-items:center;width:44px;height:44px;color:var(--theme-text);background:var(--theme-surface-alt);border:1px solid var(--theme-border);border-radius:12px;cursor:pointer}
.puzzle-dialog-close svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2}
.puzzle-journey-summary{display:flex;justify-content:space-between;gap:1rem;margin:1rem 0;padding:.75rem 1rem;background:var(--theme-surface-alt);border:1px solid var(--theme-border);border-radius:12px}.puzzle-journey-summary span{color:var(--theme-text-muted);font-size:.82rem}.puzzle-journey-summary strong{color:var(--theme-text)}
.puzzle-world-path{display:grid;grid-template-columns:repeat(9,minmax(90px,1fr));gap:.4rem;margin:0;padding:1rem 0 .25rem;list-style:none}.puzzle-world-node{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;text-align:center}
.puzzle-world-connector{position:absolute;top:34px;left:calc(50% + 34px);width:calc(100% - 64px);height:3px;background:var(--theme-border)}.puzzle-world-node:last-child .puzzle-world-connector{display:none}.puzzle-world-node.is-completed .puzzle-world-connector{background:color-mix(in srgb,var(--node-tone) 68%,var(--theme-border))}
.puzzle-world-medallion{position:relative;z-index:1;display:grid;place-items:center;width:68px;height:68px;color:color-mix(in srgb,var(--node-tone) 80%,var(--theme-text));background:color-mix(in srgb,var(--node-tone) 13%,var(--theme-surface));border:2px solid color-mix(in srgb,var(--node-tone) 42%,var(--theme-border));border-radius:22px;transform:rotate(5deg)}
.puzzle-world-medallion svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transform:rotate(-5deg)}
.puzzle-world-node.is-current .puzzle-world-medallion{color:var(--theme-surface);background:color-mix(in srgb,var(--node-tone) 82%,var(--theme-text));box-shadow:0 0 0 5px color-mix(in srgb,var(--node-tone) 17%,transparent)}.puzzle-world-node.is-locked{opacity:.68}

@media(min-width:1161px){
  .puzzle-journey-title{min-height:0;margin-bottom:.5rem}
  .puzzle-journey-title .puzzle-page-lead{display:none}
  .puzzle-journey-title .puzzle-heading-mark{width:42px;height:42px;border-radius:12px}
  .puzzle-journey-title h1{font-size:clamp(1.7rem,2.2vw,2.2rem)}
  .puzzle-rank-ribbon{margin:.5rem 0 .7rem;padding:.5rem .75rem}
  .puzzle-rank-emblem{width:48px;border-radius:13px}
  .puzzle-rank-emblem svg{width:31px;height:31px}
  .puzzle-rank-line{margin-bottom:.3rem}
  .puzzle-progress-caption{margin-top:.28rem}
  .puzzle-rank-actions .btn{min-height:38px}
}
.puzzle-world-node>div{display:flex;flex-direction:column;align-items:center;gap:.12rem;margin-top:.65rem}.puzzle-world-state{color:color-mix(in srgb,var(--node-tone) 76%,var(--theme-text));font-size:.62rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.puzzle-world-node strong{color:var(--theme-text);font-family:"DM Serif Display",Georgia,serif;font-size:1rem}.puzzle-world-node>div>span:not(.puzzle-world-state),.puzzle-world-node small{color:var(--theme-text-muted);font-size:.68rem}.puzzle-world-node small{margin-top:.25rem}
.puzzle-promotion-dialog{position:relative;width:min(430px,calc(100vw - 2rem));padding:2rem;overflow:hidden;text-align:center;border-radius:24px}.puzzle-promotion-emblem{display:grid;place-items:center;width:88px;height:88px;margin:0 auto 1rem;color:var(--world-tone);background:color-mix(in srgb,var(--world-tone) 14%,var(--theme-surface));border:1px solid color-mix(in srgb,var(--world-tone) 42%,var(--theme-border));border-radius:28px}
.puzzle-promotion-emblem svg{width:56px;height:56px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.puzzle-promotion-dialog .btn{min-height:46px;margin-top:1.25rem}.puzzle-promotion-dialog[open]{animation:puzzle-promotion-in .32s cubic-bezier(.2,.9,.3,1.15)}
@keyframes puzzle-promotion-in{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:1160px){.puzzle-rank-ribbon{grid-template-columns:auto minmax(0,1fr)}.puzzle-rank-actions{grid-column:1/-1;justify-content:flex-end}.puzzle-bonus-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.puzzle-rank-ribbon{margin-top:.75rem}.puzzle-world-path{grid-template-columns:1fr;gap:0;padding-left:.25rem}.puzzle-world-node{display:grid;grid-template-columns:64px 1fr;gap:.9rem;min-height:95px;text-align:left}.puzzle-world-medallion{width:58px;height:58px;border-radius:18px}.puzzle-world-medallion svg{width:36px;height:36px}.puzzle-world-connector{top:58px;left:28px;width:3px;height:37px}.puzzle-world-node>div{align-items:flex-start;margin:.1rem 0 0}}
@media(max-width:680px){.puzzle-journey-title{grid-template-columns:auto 1fr}.puzzle-journey-title .puzzle-availability{grid-column:1/-1;justify-self:start}.puzzle-rank-ribbon{grid-template-columns:auto 1fr;gap:.7rem;padding:.8rem;border-radius:15px}.puzzle-rank-emblem{width:52px;border-radius:14px}.puzzle-rank-emblem svg{width:33px;height:33px}.puzzle-rank-line{align-items:start}.puzzle-rank-line>div:first-child{flex-wrap:wrap;gap:.15rem .45rem}.puzzle-rank-eyebrow{flex-basis:100%}.puzzle-points-total{flex-direction:column;align-items:end;gap:0}.puzzle-points-total strong{font-size:1.2rem}.puzzle-progress-caption{flex-direction:column;gap:.1rem}.puzzle-rank-actions{justify-content:stretch}.puzzle-rank-actions .btn{flex:1;padding-inline:.65rem}.puzzle-result-heading{grid-template-columns:auto 1fr}.puzzle-result-total{grid-column:2}.puzzle-bonus-list{grid-template-columns:repeat(2,minmax(0,1fr))}.puzzle-action-row{grid-template-columns:1fr 1fr}.puzzle-journey-dialog{width:calc(100vw - 1rem);max-height:calc(100vh - 1rem);border-radius:17px}.puzzle-dialog-shell{padding:1rem}.puzzle-dialog-shell>header{gap:.65rem}.puzzle-journey-summary{flex-direction:column;gap:.25rem}}
@media(max-width:400px){.puzzle-rank-line strong{font-size:1.14rem}.puzzle-rank-actions .btn{font-size:.78rem}.puzzle-session-stats{gap:.25rem}.puzzle-session-stats span{padding:.38rem}}
@media(prefers-reduced-motion:reduce){.puzzle-progress-track>span,.puzzle-promotion-dialog[open]{animation:none;transition:none}}
