:root{font-family:Sora,sans-serif;color:#EEF1FF;background:#05060F;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#05060F}body{overflow:hidden}button,input,select{font:inherit}.app-shell{min-height:100vh;position:relative;overflow:hidden;background:radial-gradient(ellipse at 73% 45%,#1a205440 0,transparent 45%),radial-gradient(ellipse at 25% 18%,#432e6a40 0,transparent 38%),#05060F}.star-field{position:absolute;inset:0;pointer-events:none;opacity:.55;background-image:radial-gradient(1px 1px at 7% 22%,#fff 0,transparent 100%),radial-gradient(1px 1px at 16% 71%,#A9C8FF 0,transparent 100%),radial-gradient(1px 1px at 28% 35%,#fff 0,transparent 100%),radial-gradient(1px 1px at 39% 84%,#fff 0,transparent 100%),radial-gradient(1px 1px at 52% 17%,#A9C8FF 0,transparent 100%),radial-gradient(1px 1px at 68% 77%,#fff 0,transparent 100%),radial-gradient(1px 1px at 82% 25%,#fff 0,transparent 100%),radial-gradient(1px 1px at 93% 63%,#A9C8FF 0,transparent 100%);background-size:180px 150px}.star-field:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 20% 35%,#7C6CFF16 0,transparent 34%),radial-gradient(ellipse at 90% 60%,#3d7dff13 0,transparent 34%)}#globe{position:absolute;inset:0;z-index:0}#globe canvas{outline:none}.topbar{position:absolute;z-index:3;top:0;left:0;right:0;height:92px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 34px;border-bottom:1px solid #b9c0e326;background:linear-gradient(#05060ff0,transparent)}.nav-left{display:flex;gap:24px}.nav-left a{color:#A3ABD6;text-decoration:none;font:300 10px Unbounded,sans-serif;letter-spacing:.16em;text-transform:uppercase}.nav-left a:hover,.nav-left .nav-active{color:#EEF1FF}.brand{text-align:center;color:#EEF1FF;text-decoration:none;font:400 12px/1.6 Unbounded,sans-serif;letter-spacing:.3em}.level-readout{justify-self:end;display:grid;grid-template-columns:auto 118px auto;align-items:center;gap:12px;color:#A3ABD6;font-size:9px}.level-label{font:300 9px Unbounded,sans-serif;letter-spacing:.13em}.level-label span{color:#F3D98E}.level-bar{height:3px;background:#A3ABD633;border-radius:4px;overflow:hidden}.level-bar i{display:block;width:38%;height:100%;background:#F3D98E}.level-readout strong{font-weight:500;color:#EEF1FF;white-space:nowrap}.hero-copy{position:absolute;z-index:2;top:145px;left:50%;transform:translateX(-50%);text-align:center;width:min(440px,80vw);pointer-events:none}.eyebrow,.panel-kicker{font:300 9px Unbounded,sans-serif;letter-spacing:.25em;color:#A9C8FF}.hero-copy h1{margin:18px 0 12px;font:500 clamp(28px,4vw,48px)/1.25 Sora,sans-serif;color:#EEF1FF;letter-spacing:-.04em}.hero-copy h1 span{color:#A9C8FF}.hero-note{margin:0;color:#A3ABD6;font-size:12px}.command-panel,.collection-panel,.result-panel{position:absolute;z-index:4;background:#0c0e26d1;border:1px solid #b9c0e347;backdrop-filter:blur(18px);box-shadow:0 20px 70px #0007;border-radius:16px}.command-panel{left:34px;bottom:40px;width:min(560px,calc(100vw - 68px));padding:20px}.command-form{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin-top:15px}.command-form input{min-width:0;border:1px solid #b9c0e34a;border-radius:9px;background:#05060f88;color:#EEF1FF;outline:none;padding:13px 14px;font-size:12px}.command-form input::placeholder{color:#A3ABD6}.command-form input:focus{border-color:#A9C8FF}.command-form button,.panel-tools button,.result-actions button{border:1px solid #b9c0e355;border-radius:8px;background:#101536;color:#A3ABD6;padding:0 13px;font-size:10px;cursor:pointer}.command-form button:hover,.panel-tools button:hover,.result-actions button:hover{border-color:#A9C8FF;color:#EEF1FF}.command-form .go-button{background:#7C6CFF;color:#fff;border-color:#7C6CFF}.panel-tools{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:14px}.panel-tools label{color:#A3ABD6;font:300 9px Unbounded,sans-serif;letter-spacing:.2em}.panel-tools select{border:1px solid #b9c0e355;background:#101536;color:#EEF1FF;border-radius:7px;padding:8px 10px;font-size:11px}.panel-tools button{padding:8px 13px}.selected-place{margin-top:13px;display:grid;grid-template-columns:8px 1fr;gap:0 9px;align-items:center;color:#EEF1FF}.selected-place strong{font-size:12px;font-weight:500}.selected-place small{grid-column:2;color:#A3ABD6;font-size:10px;margin-top:3px}.status-dot{width:8px;height:8px;border-radius:50%;background:#A9C8FF;box-shadow:0 0 14px #A9C8FF}.panel-attribution{margin:15px 0 0;color:#737da9;font-size:9px}.panel-attribution a{color:#A3ABD6}.search-results{margin-top:9px;max-height:140px;overflow:auto;border:1px solid #b9c0e355;border-radius:8px;background:#080a1ad9}.search-results button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #b9c0e31d;background:transparent;color:#EEF1FF;padding:10px;font-size:10px;cursor:pointer}.search-results button:hover{background:#7C6CFF22}.inline-status{margin-top:10px;color:#A3ABD6;font-size:10px}.collection-panel{right:34px;bottom:40px;width:220px;padding:17px}.collection-panel strong,.collection-panel small{display:block}.collection-panel strong{margin-top:15px;color:#EEF1FF;font-size:12px;font-weight:500}.collection-panel small{margin-top:6px;color:#A3ABD6;font-size:10px;line-height:1.5}.result-panel{top:108px;right:34px;width:min(390px,calc(100vw - 68px));padding:19px;max-height:calc(100vh - 148px);overflow:auto}.close-button{position:absolute;top:12px;right:13px;background:transparent;border:0;color:#A3ABD6;font-size:22px;cursor:pointer}.result-panel h2{margin:14px 0 10px;font:400 15px Unbounded,sans-serif;letter-spacing:.06em;color:#EEF1FF}.compare{position:relative;aspect-ratio:3/2;overflow:hidden;border-radius:9px;background:#05060F}.compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.compare img:first-child{filter:saturate(.8);}.compare img:nth-child(2){clip-path:inset(0 0 0 0)}.compare-slider{position:absolute;left:10px;right:10px;bottom:10px;display:grid;gap:4px}.compare-slider span{font:300 8px Unbounded,sans-serif;letter-spacing:.14em;color:#EEF1FF;text-shadow:0 1px 5px #000}.compare-slider input{accent-color:#F3D98E}.result-caption{color:#F3D98E;font-size:14px;line-height:1.5;margin:16px 0 6px}.result-note{color:#A3ABD6;font-size:11px;line-height:1.6;margin:0}.result-actions{display:flex;gap:8px;margin-top:15px}.result-actions button{padding:9px 11px}.result-actions button:first-child{background:#7C6CFF;color:#fff;border-color:#7C6CFF}.footer{position:absolute;z-index:3;bottom:12px;left:34px;right:34px;display:flex;justify-content:space-between;color:#737da9;font-size:9px;letter-spacing:.04em}.error-message{position:absolute;z-index:8;left:50%;top:102px;transform:translateX(-50%);padding:10px 14px;border-radius:8px;background:#291327e8;border:1px solid #ec8aab66;color:#ffc5d4;font-size:11px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.globe-pin{width:54px;height:36px;border-radius:5px;overflow:visible;position:relative;box-shadow:0 0 16px #A9C8FF77;border:1px solid #c9d1e9;transition:transform .2s}.globe-pin img{width:100%;height:100%;object-fit:cover;border-radius:4px}.globe-pin.legendary{border:2px solid #F3D98E;box-shadow:0 0 20px #F3D98Eaa}.globe-pin.rare{border:2px solid #A9C8FF;box-shadow:0 0 18px #A9C8FF99}.globe-pin.common{border-color:#b9c0e3}.globe-pin:hover{transform:scale(1.35);z-index:3}.globe-pin span{display:none;position:absolute;left:50%;top:40px;transform:translateX(-50%);padding:4px 7px;border:1px solid #b9c0e355;border-radius:5px;background:#0c0e26f2;color:#EEF1FF;white-space:nowrap;font-size:9px}.globe-pin:hover span{display:block}.globe-pin:after{content:"";position:absolute;left:50%;bottom:-9px;width:1px;height:9px;background:#F3D98E88}.reduced-motion *{animation:none!important;transition:none!important}.reduced-motion .globe-pin{transition:none}
@media(max-width:800px){body{overflow:auto}.topbar{padding:0 18px;height:76px}.nav-left{gap:12px}.nav-left a,.level-label{font-size:8px;letter-spacing:.1em}.level-readout{grid-template-columns:80px 60px auto;gap:6px}.hero-copy{top:105px}.hero-copy h1{font-size:28px}.command-panel{left:15px;bottom:24px;width:calc(100vw - 30px)}.collection-panel{display:none}.footer{left:15px;right:15px;font-size:8px}.result-panel{right:15px;width:calc(100vw - 30px);top:90px}.panel-attribution{font-size:8px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.detail-panel{position:absolute;z-index:5;top:108px;right:34px;bottom:34px;width:420px;overflow:auto;padding:24px;background:#0c0e26d1;border:1px solid #b9c0e347;backdrop-filter:blur(18px);box-shadow:0 20px 70px #0008;border-radius:16px}.detail-panel h2{margin:15px 0 8px;font:400 18px Unbounded,sans-serif;letter-spacing:.06em;color:#EEF1FF}.detail-meta{color:#A3ABD6;font-size:10px;line-height:1.6;margin:0 0 16px}.orbit-preview{height:170px;position:relative;overflow:hidden;border-radius:9px;border:1px solid #b9c0e355;background:#05060F}.orbit-preview img{width:100%;height:100%;display:block;object-fit:cover}.orbit-preview span{position:absolute;left:10px;top:10px;padding:6px 8px;border:1px solid #b9c0e366;border-radius:4px;background:#0c0e26cc;color:#EEF1FF;font:300 8px Unbounded,sans-serif;letter-spacing:.14em}.detail-styles{display:flex;gap:6px;flex-wrap:wrap;margin:17px 0}.style-chip{border:1px solid #b9c0e355;border-radius:20px;background:transparent;color:#A3ABD6;padding:8px 10px;font-size:9px;cursor:pointer}.style-chip.active,.style-chip:hover{color:#05060F;background:#F3D98E;border-color:#F3D98E}.capture-button{display:grid;place-items:center;width:72px;height:72px;margin:22px auto 4px;border-radius:50%;border:1px solid #F3D98E;background:#F3D98E;color:#05060F;font:500 10px Unbounded,sans-serif;letter-spacing:.08em;cursor:pointer;box-shadow:0 0 30px #F3D98E55}.capture-button:disabled{opacity:.35;cursor:not-allowed}.capture-progress{padding-top:16px}.progress-step{display:flex;align-items:center;gap:13px;padding:18px 0;border-bottom:1px solid #b9c0e326;color:#737da9;font:300 9px Unbounded,sans-serif;letter-spacing:.08em}.progress-step span{flex:1;color:#A3ABD6;font:11px Sora,sans-serif;letter-spacing:0}.progress-step.active{color:#F3D98E}.progress-step.active span{color:#EEF1FF}.progress-step b{font-size:10px;font-weight:400}.rarity-line{margin:0 0 12px;color:#F3D98E;font:400 11px Unbounded,sans-serif;letter-spacing:.13em}.tilt-card{position:relative;aspect-ratio:3/2;transform:perspective(900px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg)) scale(.95);transform-style:preserve-3d;transition:transform .45s ease;opacity:0}.tilt-card.revealed{opacity:1;transform:perspective(900px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg)) scale(1)}.tilt-card.flipped{transform:perspective(900px) rotateY(180deg)}.foil{position:absolute;inset:0;border-radius:10px;pointer-events:none;z-index:4;background:radial-gradient(circle at var(--foil-x,50%) var(--foil-y,50%),#fff9 0,transparent 28%);mix-blend-mode:screen;opacity:.12}.card-front,.card-back{position:absolute;inset:0;backface-visibility:hidden;border:3px solid #b9c0e3;border-radius:10px;overflow:hidden;background:#05060F;box-shadow:0 0 24px #b9c0e366}.card-front{border-color:#A9C8FF}.card-back{transform:rotateY(180deg);padding:24px;background:#101536;border-color:#F3D98E;display:flex;align-items:center;justify-content:center}.card-back:before{content:"";position:absolute;inset:10px;border:1px dashed #F3D98E66;border-radius:6px}.card-back .result-note{position:relative;z-index:1;width:68%;font:400 16px/1.65 Caveat,cursive;color:#EEF1FF}.compare{position:relative;aspect-ratio:3/2;overflow:hidden;border-radius:7px;background:#05060F}.compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.compare img:first-child{filter:saturate(.8)}.compare img:nth-child(2){clip-path:inset(0 0 0 0)}.compare-slider{position:absolute;left:10px;right:10px;bottom:8px;display:grid;gap:4px}.compare-slider span{font:300 8px Unbounded,sans-serif;letter-spacing:.1em;color:#EEF1FF;text-shadow:0 1px 5px #000}.compare-slider input{accent-color:#F3D98E}.stamp{position:absolute;top:23px;right:23px;width:58px;height:58px;border:1px dotted #F3D98E;border-radius:7px;display:grid;place-items:center;color:#F3D98E;font-size:18px;transform:rotate(7deg)}.stamp small{font:300 6px Unbounded,sans-serif;text-align:center;line-height:1.6}.postmark{position:absolute;right:34px;bottom:30px;width:76px;height:76px;border:1px solid #A9C8FF;border-radius:50%;display:grid;place-items:center;color:#A9C8FF;font:300 7px Unbounded,sans-serif;text-align:center;white-space:pre-line;transform:rotate(-15deg)}.xp-reward{margin:13px 0 0;color:#F3D98E;font-size:10px}.detail-panel .result-actions{display:flex;gap:8px;margin-top:13px}.detail-panel .result-actions button{padding:9px 11px}.detail-panel .result-actions button:first-child{background:#7C6CFF;color:#fff;border-color:#7C6CFF}.result-caption{color:#F3D98E;font-size:12px;line-height:1.5;margin:12px 0 0}.turn-button{float:right;border:0;background:transparent;color:#A3ABD6;font-size:10px;cursor:pointer}.legendary .card-front{border-color:#F3D98E;box-shadow:0 0 30px #F3D98E99}.rare .card-front{border-color:#A9C8FF;box-shadow:0 0 25px #A9C8FF77}
@media(max-width:800px){.detail-panel{left:15px;right:15px;bottom:15px;top:auto;width:auto;max-height:72vh;z-index:8}.detail-panel .capture-button{margin-top:14px}}
.mode-toggle{position:absolute;z-index:4;top:103px;left:50%;transform:translateX(-50%);display:flex;gap:3px;padding:3px;border:1px solid #b9c0e347;border-radius:22px;background:#0c0e26d1;backdrop-filter:blur(14px)}
.mode-button{border:0;border-radius:17px;background:transparent;color:#A3ABD6;padding:8px 13px;font:300 9px Unbounded,sans-serif;letter-spacing:.08em;cursor:pointer;white-space:nowrap}.mode-button.active{background:#F3D98E;color:#05060F}.mode-button:hover:not(.active){color:#EEF1FF}
.event-context{display:grid;gap:5px;margin:0 0 15px;padding:11px 12px;border:1px solid #7FE3C455;border-radius:8px;background:#7FE3C40b}.event-context strong{color:#7FE3C4;font:400 10px Unbounded,sans-serif;letter-spacing:.08em}.event-context span{color:#EEF1FF;font-size:12px}.event-context a{color:#A9C8FF;font-size:10px;text-decoration:none}.event-context a:hover{text-decoration:underline}
.stamp-progress{margin-top:17px;padding-top:12px;border-top:1px solid #b9c0e326}.stamp-label{display:flex;justify-content:space-between;color:#A3ABD6;font:300 8px Unbounded,sans-serif;letter-spacing:.11em}.stamp-label b{color:#7FE3C4;font-weight:400}.stamp-row{display:flex;gap:5px;margin-top:9px}.stamp-dot{width:10px;height:10px;border-radius:50%;border:1px solid #A3ABD655;background:#05060F}.stamp-dot.collected{background:#7FE3C4;border-color:#7FE3C4;box-shadow:0 0 10px #7FE3C477}.event-marker{position:relative;width:16px;height:16px;border:1px solid #7FE3C4;border-radius:50%;background:#7FE3C433;box-shadow:0 0 13px #7FE3C477;cursor:pointer;transition:transform .2s}.event-marker:after{content:"";position:absolute;inset:4px;border-radius:50%;background:#7FE3C4}.event-marker:hover{transform:scale(1.45)}.event-marker.past{opacity:.35;filter:saturate(.5)}.event-marker.today{width:20px;height:20px;border-color:#F3D98E;background:#F3D98E33;box-shadow:0 0 20px #F3D98Eaa}.event-marker.today:after{background:#F3D98E}.event-marker span{display:none;position:absolute;left:50%;top:23px;transform:translateX(-50%);width:max-content;max-width:180px;padding:6px 8px;border:1px solid #b9c0e355;border-radius:5px;background:#0c0e26f2;color:#EEF1FF;font-size:9px;text-align:center;white-space:normal}.event-marker:hover span{display:block}.event-marker.today span{display:block;color:#F3D98E;font:300 7px Unbounded,sans-serif;letter-spacing:.08em}.tour-mode .collection-panel{border-color:#7FE3C444}
@media(max-width:800px){.mode-toggle{top:84px}.mode-button{font-size:8px;padding:7px 10px}.stamp-row{gap:3px}.stamp-dot{width:8px;height:8px}}
