:root,:root[data-theme=dark]{color-scheme:dark;--bg: #101b20;--grain: rgba(216, 220, 210, .03);--surface: #18252b;--surface-2: #1f2e35;--stamp-paper: #d8dcd2;--text: #d8dcd2;--text-muted: #8e9a96;--ink-line: rgba(216, 220, 210, .42);--gold: #a4d1ba;--gold-soft: #cfe8da;--rose: #c9b6f5;--slipper: #c9b6f5;--ivy: #a4d1ba;--accent: #a4d1ba;--accent-deep: #527a68;--on-accent: #0f2a1e;--secondary: #c9b6f5;--secondary-deep: #8171a6;--soft: #b9c7c0;--danger: #ef9a9a;--danger-bg: #3a1b1e;--danger-border: #7d3434;--danger-solid: #b3261e;--on-danger: #ffffff;--ok: #a4d1ba;--border: rgba(216, 220, 210, .1);--border-strong: rgba(216, 220, 210, .26);--stitch: rgba(216, 220, 210, .36);--hole: #18252b;--fill: #1f2e35;--fill-strong: #27383f;--track: #24333a;--glass-bg: #18252b;--panel: #18252b;--leather: #0b1417;--leather-ink: #d8dcd2;--backdrop: rgba(4, 9, 12, .7);--chip-active: #a4d1ba;--on-chip-active: #0f2a1e;--pill-bg: rgba(16, 27, 32, .86);--pill-text: #d8dcd2;--map-land: #1d3a30;--map-contour: rgba(164, 209, 186, .22);--map-ink: #d8dcd2;--pin-core: #101b20;--avatar-bg: #2c3b41;--scene-sky-top: #08121a;--scene-sky-bottom: #2b2f4a;--scene-orb: #d8dcd2;--scene-star: #c9b6f5;--scene-contour: rgba(164, 209, 186, .22);--scene-ridge-far: #2f5546;--scene-ridge-near: #163029;--scene-trail: #a4d1ba;--scene-frame: #a4d1ba}:root[data-theme=light]{color-scheme:light;--bg: #cfe5da;--grain: rgba(70, 93, 86, .04);--surface: #dff3e8;--surface-2: #c9dfd4;--stamp-paper: #f5fbf8;--text: #1f2b27;--text-muted: #55665f;--ink-line: rgba(70, 93, 86, .6);--gold: #8a6f4c;--gold-soft: #d8c5aa;--rose: #6f6290;--slipper: #a699c0;--ivy: #465d56;--accent: #4a6359;--accent-deep: #24332e;--on-accent: #ffffff;--secondary: #6f6290;--secondary-deep: #a699c0;--soft: #465d56;--danger: #b3261e;--danger-bg: #f6dfdb;--danger-border: #d9a397;--danger-solid: #c62828;--on-danger: #ffffff;--ok: #3f6b58;--border: rgba(70, 93, 86, .16);--border-strong: rgba(70, 93, 86, .34);--stitch: rgba(70, 93, 86, .48);--hole: #dff3e8;--fill: #d3eadf;--fill-strong: #c4ddd1;--track: #c4ddd1;--glass-bg: #dff3e8;--panel: #dff3e8;--leather: #465d56;--leather-ink: #dff3e8;--backdrop: rgba(31, 43, 39, .38);--chip-active: #4a6359;--on-chip-active: #ffffff;--pill-bg: rgba(245, 251, 248, .94);--pill-text: #1f2b27;--map-land: #e6f4ec;--map-contour: rgba(121, 149, 139, .36);--map-ink: #34443e;--pin-core: #f5fbf8;--avatar-bg: #d8c5aa;--scene-sky-top: #f2f8f4;--scene-sky-bottom: #d9d2ea;--scene-orb: #d8c5aa;--scene-star: #8171a6;--scene-contour: rgba(70, 93, 86, .16);--scene-ridge-far: #a7bdb1;--scene-ridge-near: #79958b;--scene-trail: #6f6290;--scene-frame: #79958b}:root{--font-black: "Pirata One", "UnifrakturCook", Georgia, serif;--font-display: "Alegreya", Georgia, serif;--font-sc: "Alegreya SC", "Alegreya", Georgia, serif;--font-body: "Alegreya Sans", system-ui, sans-serif;--radius: 18px;--bat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 20'%3E%3Cpath d='M24 6.5c.8-1.6 1.8-2.6 2.6-2.6l.5 2.6c3.4-.6 7.2-2.6 9.6-6.1.4 4 2.8 7.2 7.2 8.8-3.3.4-5.8 2.1-7 4.6-1.9-1.6-4.5-2-7-.8-1.3 1.2-2.1 3.3-2.5 5.8L24 20l-3.4-1.2c-.4-2.5-1.2-4.6-2.5-5.8-2.5-1.2-5.1-.8-7 .8-1.2-2.5-3.7-4.2-7-4.6 4.4-1.6 6.8-4.8 7.2-8.8 2.4 3.5 6.2 5.5 9.6 6.1l.5-2.6c.8 0 1.8 1 2.6 2.6z'/%3E%3C/svg%3E")}*{box-sizing:border-box;margin:0;-webkit-tap-highlight-color:transparent}body{min-height:100vh;font:400 1rem/1.45 var(--font-body);color:var(--text);background-color:var(--bg);background-image:radial-gradient(var(--grain) 1px,transparent 1.2px);background-size:5px 5px;overflow-x:hidden;transition:color .3s,background-color .3s}h1,h2{font-family:var(--font-black);font-weight:400;letter-spacing:.01em}h3,h4{font-family:var(--font-display);font-weight:700}button{font-family:inherit;color:inherit}a{color:var(--secondary);text-underline-offset:3px}.app{position:relative;max-width:480px;min-height:100vh;margin:0 auto;padding:0 16px 104px}@media (min-width: 520px){.app{border-inline:1.5px dashed var(--stitch)}}.screen{display:flex;flex-direction:column;gap:16px;animation:rise .4s ease both}.sparkle-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:60}.shimmer-text{color:var(--text)}.section-title{display:flex;align-items:center;gap:10px;margin-top:10px;font:500 1.15rem var(--font-sc);letter-spacing:.05em;color:var(--text)}.section-title:before{content:"";flex:none;width:26px;height:11px;background:var(--gold);-webkit-mask:var(--bat) center / contain no-repeat;mask:var(--bat) center / contain no-repeat}.section-title:after{content:"";flex:1;border-top:1.5px dashed var(--stitch)}.empty{text-align:center;color:var(--text-muted);padding:14px;font-style:italic;font-family:var(--font-display)}.note{font-size:.82rem;color:var(--text-muted);line-height:1.45}.danger-text{color:var(--danger);font-weight:700}.mono{font-family:var(--font-sc);letter-spacing:.06em}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pinPulse{0%{transform:scale(.8);opacity:.5}to{transform:scale(2);opacity:0}}@keyframes reveal{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes drop{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:none}}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:none}}@keyframes beam{0%{top:0}to{top:calc(100% - 46px)}}@keyframes blink{50%{opacity:.4}}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes flash{0%{opacity:.9}to{opacity:0}}@keyframes stampIn{0%{opacity:0;transform:scale(1.25) rotate(-8deg)}70%{opacity:1;transform:scale(.96) rotate(var(--tilt, -2deg))}to{opacity:1;transform:rotate(var(--tilt, -2deg))}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.icon{width:1.25em;height:1.25em;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.icon.filled{fill:currentColor;stroke:none}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;vertical-align:middle}.glass{position:relative;padding:16px;overflow:hidden;border-radius:var(--radius);border:1.5px dashed var(--stitch);background:var(--glass-bg)}.tilt{cursor:pointer;transition:border-color .2s,transform .2s}.tilt:hover{border-color:var(--gold)}.tarot-frame,.glass.map-card,.glass.ghost-panel,.glass.profile-card,.glass.patterns{border:1px solid var(--ink-line);border-radius:3px;box-shadow:inset 0 0 0 4px var(--glass-bg),inset 0 0 0 5px var(--ink-line)}.perforated,.sighting-art,.post-art,.verify-emoji{--stamp-ink: var(--surface-2);padding:8px;background:radial-gradient(circle at 50% 0,var(--hole) 2.8px,transparent 3.2px) 0 -1px / 10px 6px repeat-x,radial-gradient(circle at 50% 100%,var(--hole) 2.8px,transparent 3.2px) 0 calc(100% + 1px) / 10px 6px repeat-x,radial-gradient(circle at 0 50%,var(--hole) 2.8px,transparent 3.2px) -1px 0 / 6px 10px repeat-y,radial-gradient(circle at 100% 50%,var(--hole) 2.8px,transparent 3.2px) calc(100% + 1px) 0 / 6px 10px repeat-y,linear-gradient(var(--stamp-ink),var(--stamp-ink)) content-box,var(--stamp-paper);filter:drop-shadow(0 2px 3px rgba(5,14,17,.18))}.photo-pill{position:absolute;z-index:1;display:inline-flex;align-items:center;gap:5px;max-width:calc(100% - 28px);padding:4px 10px 5px;border-radius:999px;font:500 .78rem var(--font-sc);letter-spacing:.03em;color:var(--pill-text);background:var(--pill-bg);border:1px solid color-mix(in srgb,var(--pill-text) 25%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-pill .icon{width:12px;height:12px}.top-bar{position:sticky;top:0;z-index:45;margin:0 -16px 4px;padding:12px 16px 10px;background:var(--bg)}.top-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.theme-toggle{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--gold);background:var(--surface);box-shadow:0 0 0 3px var(--bg),0 0 0 4px color-mix(in srgb,var(--gold) 45%,transparent);cursor:pointer;color:var(--text);transition:background .2s,transform .3s}.theme-toggle .icon{width:16px;height:16px}.theme-toggle:hover{background:var(--fill);transform:rotate(20deg)}.top-avatar{flex:none;padding:0;border:0;background:none;cursor:pointer;border-radius:50%}.magic-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px 12px;border:1px solid var(--accent);border-radius:10px;cursor:pointer;font:500 1rem var(--font-sc);letter-spacing:.04em;color:var(--on-accent);background:var(--accent);box-shadow:inset 0 0 0 2px var(--accent),inset 0 0 0 3px color-mix(in srgb,var(--on-accent) 35%,transparent);transition:filter .15s,transform .15s,background .2s}.magic-btn:hover:not(:disabled){filter:brightness(1.08)}.magic-btn:active:not(:disabled){transform:scale(.98)}.magic-btn:disabled{opacity:.45;cursor:not-allowed}.magic-btn>span{display:inline-flex;align-items:center;gap:6px}.magic-btn .icon{width:16px;height:16px}.magic-btn.ghost{color:var(--text);background:transparent;border:1.5px dashed var(--stitch);box-shadow:none}.magic-btn.ghost:hover:not(:disabled){background:var(--fill);border-color:var(--gold);filter:none}.magic-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.actions{display:flex;gap:10px;margin-top:8px}.actions.wrap{flex-wrap:wrap}.actions>.magic-btn{flex:1}.actions.wrap>.magic-btn{flex:1 1 calc(50% - 5px)}.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 0 4px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:none;display:inline-flex;align-items:center;gap:6px;padding:8px 14px 9px;border-radius:8px;cursor:pointer;font:500 .92rem var(--font-sc);letter-spacing:.03em;color:var(--text);border:1.5px dashed var(--stitch);background:var(--surface);transition:background .2s,color .2s,border-color .2s}.chip:hover{border-color:var(--gold)}.chip.active{color:var(--on-chip-active);background:var(--chip-active);border-style:solid;border-color:var(--chip-active)}.chip .icon{width:15px;height:15px}.chip:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.potion-meter{display:inline-flex;gap:3px;vertical-align:middle}.vial{position:relative;width:8px;height:13px;overflow:hidden;border-radius:2px 2px 4px 4px;border:1px solid currentColor}.vial:before{content:"";position:absolute;inset:auto 0 0;height:0;background:currentColor;transition:height .6s calc(var(--i) * .08s) ease}.vial.full:before{height:100%}.avatar{position:relative;flex:none;display:grid;place-items:center;width:var(--size);height:var(--size);font:400 calc(var(--size) * .46) var(--font-black);color:var(--text);border-radius:50%;background:var(--avatar-bg);border:1px solid var(--gold);box-shadow:0 0 0 3px var(--bg),0 0 0 4px var(--gold)}.avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.avatar-check{position:absolute;right:-4px;bottom:-4px;display:grid;place-items:center;width:36%;height:36%;border-radius:50%;font:700 .36em/1 var(--font-body);color:var(--on-accent);background:var(--gold);border:2px solid var(--bg)}.verify-badge{display:inline-block;padding:3px 9px 4px;border-radius:6px;font:500 .8rem var(--font-sc);letter-spacing:.03em;border:1px solid currentColor}.verify-badge.verified{color:var(--ok)}.verify-badge.pending{color:var(--secondary)}.verify-badge.disputed{color:var(--danger)}.screen-header{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:2px 2px 0}.screen-header h2{font-size:2.5rem;line-height:1}.screen-header p{margin-top:4px;font:500 .95rem var(--font-sc);letter-spacing:.05em;color:var(--text-muted)}.bottom-nav{position:fixed;z-index:40;left:50%;bottom:0;transform:translate(-50%);display:flex;align-items:center;justify-content:space-around;width:min(480px,100%);height:calc(68px + env(safe-area-inset-bottom));padding:0 8px env(safe-area-inset-bottom);color:var(--leather-ink);background:var(--leather);border-radius:18px 18px 0 0;box-shadow:0 -6px 20px #050e112e}.bottom-nav:before{content:"";position:absolute;inset:6px 10px auto;border-top:1.5px dashed color-mix(in srgb,var(--leather-ink) 45%,transparent);pointer-events:none}.nav-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 4px;border:0;cursor:pointer;background:none;font:500 .8rem var(--font-sc);letter-spacing:.03em;color:color-mix(in srgb,var(--leather-ink) 62%,transparent);transition:color .2s}.nav-icon{display:grid;place-items:center;font-size:1.2rem}.nav-tab:hover{color:var(--leather-ink)}.nav-tab.active{color:var(--gold-soft)}.nav-tab.active .nav-label:after{content:"";display:block;width:18px;height:7px;margin:2px auto 0;background:var(--gold-soft);-webkit-mask:var(--bat) center / contain no-repeat;mask:var(--bat) center / contain no-repeat}.nav-tab:focus-visible{outline:2px solid var(--gold-soft);outline-offset:-2px;border-radius:10px}.nav-tab.center{flex:none;justify-content:center;width:64px;height:64px;margin:-30px 6px 0;padding:0;border-radius:50%;color:#0f2a1e;background:radial-gradient(circle at 35% 30%,#d6efe2,#a4d1ba 55%,#79958b);border:2px dashed rgba(15,42,30,.4);box-shadow:0 0 0 4px var(--leather),0 0 0 5px #a4d1ba99,0 6px 14px #050e1159}.nav-tab.center .nav-icon{font-size:1.5rem}.nav-tab.center .nav-label{display:none}.nav-tab.center.active{border:2px solid #8171a6;box-shadow:0 0 0 4px var(--leather),0 0 0 6px #c9b6f5,0 6px 14px #050e1159}.toast-stack{position:fixed;z-index:70;top:12px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;width:min(440px,calc(100% - 24px))}.toast{display:flex;gap:12px;padding:12px 14px;cursor:pointer;animation:drop .3s ease-out;background:var(--panel);border-color:var(--gold);box-shadow:0 12px 30px #050e1140}.toast-icon{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--gold);border:1px solid var(--gold)}.toast strong{font:500 1rem var(--font-sc);letter-spacing:.03em}.toast p{font-size:.88rem;margin-top:2px}.toast small{display:block;margin-top:4px;font-size:.74rem;color:var(--text-muted)}.toast.danger{background:var(--danger-bg);border-color:var(--danger-border)}.toast.danger strong{color:var(--danger)}.toast.danger .toast-icon{color:var(--danger);border-color:var(--danger)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;display:flex;align-items:flex-end;justify-content:center;background:var(--backdrop);animation:fade .25s}.sheet{width:min(480px,100%);max-height:88vh;overflow-y:auto;padding:30px 18px 34px;border-radius:24px 24px 0 0;background:var(--panel);animation:sheetUp .3s ease-out}.sheet-close{position:absolute;top:12px;right:14px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1.5px dashed var(--stitch);background:transparent;cursor:pointer}.profile{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:8px 4px 4px}.profile h2{font-size:2.4rem;line-height:1.05}.handle{color:var(--text-muted);font:500 .95rem var(--font-sc);letter-spacing:.04em}.rank{width:100%;display:flex;flex-direction:column;gap:6px}.rank strong{font:500 1.2rem var(--font-sc);letter-spacing:.06em;color:var(--gold)}.rank small{color:var(--text-muted);font-size:.82rem}.rank-bar{height:8px;border-radius:99px;background:var(--track);overflow:hidden;border:1px solid var(--border)}.rank-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),var(--gold-soft));transition:width .8s}.stat-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%}.stat-tile{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:6px;min-height:92px;padding:10px 10px 8px;border-radius:14px;border:1.5px dashed var(--stitch);background:var(--surface)}.stat-tile b{align-self:center;font:700 2rem/1 var(--font-display);font-variant-numeric:oldstyle-nums;color:var(--text)}.stat-tile small{font:500 .76rem/1.1 var(--font-sc);letter-spacing:.03em;text-align:right;color:var(--text-muted)}.photo-actions{display:flex;gap:14px;margin-top:2px}.link-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 2px;border:0;cursor:pointer;background:none;font:500 .92rem var(--font-sc);letter-spacing:.03em;color:var(--gold)}.link-btn .icon{width:15px;height:15px}.link-btn:hover{color:var(--text);text-decoration:underline;text-underline-offset:3px}.background{font:italic 1rem/1.5 var(--font-display);color:var(--text-muted)}.tags{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.tags span{padding:4px 10px 5px;border-radius:6px;font:500 .86rem var(--font-sc);letter-spacing:.02em;background:var(--surface);border:1px solid var(--gold);color:var(--text)}.mirror{display:flex;flex-direction:column;gap:12px}.mirror-head{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:-12px;text-align:center}.mirror-title{font-size:3.5rem;line-height:.95}.mirror-title:after{content:"";display:block;width:46px;height:18px;margin:6px auto 0;background:var(--gold);-webkit-mask:var(--bat) center / contain no-repeat;mask:var(--bat) center / contain no-repeat}.count-pill{flex:none;display:inline-flex;align-items:center;gap:6px;padding:3px 12px 4px;border-radius:999px;font:500 .86rem var(--font-sc);letter-spacing:.04em;border:1px solid var(--gold);color:var(--text)}.count-pill .dot{color:var(--rose)}.mirror-search{position:relative;display:block}.mirror-search .icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.mirror-input{width:100%;padding:12px 14px 12px 42px;border-radius:12px;font:400 1rem var(--font-body);color:var(--text);border:1px solid var(--ink-line);background:var(--surface);outline:none;box-shadow:inset 0 0 0 3px var(--surface),inset 0 0 0 4px var(--border);transition:border-color .2s}.mirror-input::placeholder{color:var(--text-muted);font-style:italic;font-family:var(--font-display)}.mirror-input:focus{border-color:var(--gold)}.map-card{padding:10px}.map-frame{position:relative;overflow:hidden;border-radius:2px}.map{display:block;width:100%}.map-land{fill:var(--map-land)}.map-contour{fill:none;stroke:var(--map-contour);stroke-width:.7}.map-ring{fill:none;stroke:color-mix(in srgb,var(--map-ink) 30%,transparent);stroke-width:.5;stroke-dasharray:2 3}.map-ring-label{fill:color-mix(in srgb,var(--map-ink) 75%,transparent);font:500 4px var(--font-sc);text-anchor:middle}.compass-rose .rose-long{fill:var(--gold)}.compass-rose .rose-short{fill:color-mix(in srgb,var(--gold) 55%,transparent)}.compass-rose .rose-ring{fill:none;stroke:var(--gold);stroke-width:.5}.compass-rose .rose-ring.dash{stroke-dasharray:.8 1.2}.compass-rose text{fill:var(--map-ink);font:600 4.2px var(--font-sc);text-anchor:middle}.map-pattern{fill:color-mix(in srgb,var(--secondary-deep) 18%,transparent);stroke:var(--secondary-deep);stroke-width:.6;stroke-dasharray:3 2}.map-pattern.hazard{fill:color-mix(in srgb,var(--danger-solid) 14%,transparent);stroke:var(--danger-solid)}.pin{cursor:pointer;outline:none}.pin-ring,.pin-core{transform-box:fill-box;transform-origin:center}.pin-ring{fill:none}.pin-core{fill:var(--pin-core);stroke:var(--c);stroke-width:1.2;transition:transform .2s}.pin-dot{fill:var(--c);pointer-events:none}.pin:hover .pin-core,.pin:focus .pin-core{transform:scale(1.25)}.pin.hazard .pin-ring{fill:var(--danger-solid);opacity:.45;animation:pinPulse 1.6s ease-out infinite}.pin.hazard .pin-core{stroke:var(--danger-solid)}.pin.selected .pin-core{stroke:var(--map-ink);stroke-width:1.8;transform:scale(1.35)}.you-halo{fill:color-mix(in srgb,var(--rose) 25%,transparent)}.you-dot{fill:var(--rose);stroke:var(--pin-core);stroke-width:1}.map-place{top:10px;left:10px}.map-caption{display:flex;justify-content:center;gap:8px;padding:10px 6px 2px;font:500 .9rem var(--font-sc);letter-spacing:.03em;color:var(--text-muted)}.map-caption .dot{color:var(--rose);margin-right:4px}.patterns{padding:18px}.patterns h3{margin-bottom:6px;font:500 1.2rem var(--font-sc);letter-spacing:.05em}.patterns p{font-size:.95rem;padding:2px 0}.sighting{display:flex;flex-direction:column;gap:4px;padding:12px}.sighting-art{--stamp-ink: color-mix(in srgb, var(--accent-color) 26%, var(--surface-2));--tilt: -1.2deg;position:relative;display:grid;place-items:center;height:176px;overflow:hidden;transform:rotate(var(--tilt));transition:transform .25s}.sighting:nth-of-type(2n) .sighting-art{--tilt: 1deg}.sighting:hover .sighting-art{transform:rotate(0)}.sighting.expanded .sighting-art{height:228px;--tilt: 0deg}.sighting-art img{width:100%;height:100%;object-fit:cover}.sighting-placeholder{display:grid;place-items:center;width:74px;height:74px;border-radius:50%;font-size:2rem;color:color-mix(in srgb,var(--accent-color) 70%,var(--text));border:1.5px dashed currentColor}.sighting-cat{top:16px;left:16px}.sighting-when{top:16px;right:16px}.sighting-body{display:flex;flex-direction:column;gap:6px;padding:10px 4px 2px}.sighting h3{font:700 1.4rem/1.15 var(--font-display)}.sighting-place{margin-top:-4px;font:italic 1.05rem var(--font-display);color:var(--soft)}.sighting-desc{font-size:.98rem;line-height:1.5}.hazard-notice{display:flex;gap:10px;align-items:center;margin-top:4px;padding:9px 12px;border-radius:8px;color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border);box-shadow:inset 0 0 0 3px var(--danger-bg),inset 0 0 0 4px color-mix(in srgb,var(--danger) 30%,transparent)}.hazard-notice b{display:block;margin-bottom:4px;font:500 .92rem var(--font-sc);letter-spacing:.04em}.sighting-foot{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:4px}.reporter{margin-left:auto;padding:3px 11px 4px;border:1.5px dashed var(--stitch);border-radius:999px;cursor:pointer;font:500 .86rem var(--font-sc);letter-spacing:.02em;background:transparent}.reporter:hover{border-color:var(--gold)}.confidence{position:relative;height:22px;overflow:hidden;border-radius:6px;background:var(--track);border:1px solid var(--border)}.confidence span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--gold) 70%,transparent),var(--gold));transition:width 1s}.confidence em{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font:500 .82rem var(--font-sc);font-style:normal;letter-spacing:.03em;color:var(--text)}.auth{position:relative;display:flex;flex-direction:column;align-items:center;gap:18px;max-width:440px;min-height:100vh;min-height:100dvh;margin:0 auto;padding:max(62px,calc(env(safe-area-inset-top) + 48px)) max(18px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.auth-theme{position:absolute;z-index:2;top:max(14px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right))}.tarot{position:relative;width:100%;padding:26px 22px 24px;border:1px solid var(--ink-line);border-radius:14px;background:var(--surface);box-shadow:inset 0 0 0 6px var(--surface),inset 0 0 0 7px var(--ink-line),0 14px 34px #050e112e;animation:rise .7s ease-out both}.tarot-corner{position:absolute;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--text)}.tarot-corner b{font:400 2.1rem/1 var(--font-black)}.tarot-corner i{width:26px;height:11px;background:var(--gold);-webkit-mask:var(--bat) center / contain no-repeat;mask:var(--bat) center / contain no-repeat}.tarot-corner.tl{top:14px;left:16px}.tarot-corner.br{bottom:14px;right:16px;transform:rotate(180deg)}.tarot-swirl{position:absolute;width:52px;height:52px;fill:none;stroke:var(--gold);stroke-width:1.2;stroke-linecap:round;opacity:.75}.tarot-swirl.tr{top:16px;right:16px}.tarot-swirl.bl{bottom:14px;left:14px;transform:rotate(180deg)}.auth-hero{display:flex;flex-direction:column;align-items:center;text-align:center}.mirror-scene{width:min(196px,52vw);max-width:100%;height:auto;overflow:visible;animation:reveal .9s .15s ease-out both}.scene-sky-top{stop-color:var(--scene-sky-top)}.scene-sky-bottom{stop-color:var(--scene-sky-bottom)}.scene-orb{fill:var(--scene-orb);opacity:.9}.scene-star{fill:var(--scene-star);animation:blink 3.2s calc(var(--i) * .45s) ease-in-out infinite}.scene-contours{animation:drift 18s linear infinite alternate}.scene-contour{fill:none;stroke:var(--scene-contour);stroke-width:.8}.scene-ridge-far{fill:var(--scene-ridge-far)}.scene-ridge-near{fill:var(--scene-ridge-near)}.scene-trail{fill:none;stroke:var(--scene-trail);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:.1 5;animation:walk 6s linear infinite}.scene-pin{fill:var(--scene-trail)}.scene-pin-dot{fill:var(--scene-sky-top)}.scene-pin-pulse{fill:var(--scene-trail);opacity:.35;transform-box:fill-box;transform-origin:center;animation:pinPulse 2.6s ease-out infinite}.scene-frame{fill:none;stroke:var(--scene-frame);stroke-width:1.4}.scene-frame.thin{stroke-width:.7}.scene-sparkle{fill:var(--scene-frame);animation:blink 2.8s calc(var(--i) * .6s) ease-in-out infinite}.auth-title{margin-top:10px;font:400 3.9rem/.95 var(--font-black);letter-spacing:.01em;animation:reveal .8s .3s ease-out both}.auth-tagline{margin-top:12px;padding-inline:28px;font:italic 400 1.3rem/1.35 var(--font-display);color:var(--soft)}.auth-line{display:block}.auth-tagline span span{display:inline-block;margin-right:.22em;animation:rise .6s calc(.6s + var(--i) * .07s) ease-out both}.auth-card{display:flex;flex-direction:column;gap:14px;width:100%;padding:18px;border-radius:18px;border:1.5px dashed var(--stitch);background:var(--surface);animation:rise .6s .45s ease-out both}.auth-tabs{display:flex;gap:4px;padding:4px;border-radius:12px;border:1.5px dashed var(--stitch)}.auth-tabs button{flex:1;padding:8px 6px 9px;border:0;border-radius:8px;cursor:pointer;font:500 1rem var(--font-sc);letter-spacing:.04em;color:var(--text);background:transparent;transition:background .2s,color .2s}.auth-tabs button.active{color:var(--on-chip-active);background:var(--chip-active)}.auth-field{display:flex;flex-direction:column;gap:4px}.auth-field span{font:500 .92rem var(--font-sc);letter-spacing:.05em;color:var(--text-muted)}.auth-field input{width:100%;padding:12px 14px;border-radius:10px;font:400 1rem var(--font-body);color:var(--text);border:1px solid var(--ink-line);background:var(--bg);outline:none;transition:border-color .2s,box-shadow .2s}.auth-field input:focus{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 28%,transparent)}.auth-error{padding:10px 12px;border-radius:8px;font-size:.92rem;color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border)}.auth-submit{width:100%;padding:13px 18px 14px;font-size:1.08rem}.auth-switch{text-align:center;font-size:.95rem;color:var(--text-muted)}.auth-switch button{padding:0;border:0;cursor:pointer;background:none;font:700 .95rem var(--font-body);color:var(--text);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}.auth-note{margin-top:auto;font-size:.82rem;color:var(--text-muted);text-align:center}.auth button:focus-visible,.auth-field input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@keyframes drift{0%{transform:translate(-30px)}to{transform:translate(10px)}}@keyframes walk{to{stroke-dashoffset:-30}}.camera{position:relative;aspect-ratio:3 / 4;max-width:100%;overflow:hidden;border-radius:6px;background:radial-gradient(ellipse at 50% 45%,#1d3330,#0b1417 72%);border:1px solid var(--ink-line);box-shadow:0 0 0 5px var(--surface),0 0 0 6px var(--ink-line);margin:6px}.camera:after{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid rgba(164,209,186,.55);border-radius:2px;pointer-events:none}.camera video{width:100%;height:100%;object-fit:cover}.camera-place{position:absolute;z-index:1;top:20px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:6px;max-width:calc(100% - 40px);padding:5px 14px 6px;border-radius:999px;font:italic 600 1rem var(--font-display);color:#d8dcd2;background:#0b1417b8;border:1px solid rgba(164,209,186,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.camera-place .icon{width:12px;height:12px}.camera-note{position:absolute;z-index:1;inset:auto 20px 66px;padding:10px 12px;border-radius:10px;font-size:.9rem;text-align:center;color:#d8dcd2;background:#0b1417d1;border:1px solid rgba(164,209,186,.35)}.camera-strip{position:absolute;z-index:1;inset:auto 18px 18px;display:flex;justify-content:center;align-items:center;gap:10px;padding:6px 12px 7px;border-radius:999px;color:#d8dcd2;background:#0b1417b8;border:1px dashed rgba(216,220,210,.4)}.camera-strip .mono{font-size:.88rem}.camera-strip .dot{margin-right:4px;color:#8e9a96}.camera-strip .dot.live{color:#a4d1ba}.reticle{position:absolute;top:32%;right:26%;bottom:36%;left:26%;pointer-events:none}.reticle i{position:absolute;width:22px;height:22px;border:0 solid #d8c5aa;opacity:.95}.reticle i:nth-child(1){top:0;left:0;border-width:1.5px 0 0 1.5px}.reticle i:nth-child(2){top:0;right:0;border-width:1.5px 1.5px 0 0}.reticle i:nth-child(3){bottom:0;left:0;border-width:0 0 1.5px 1.5px}.reticle i:nth-child(4){bottom:0;right:0;border-width:0 1.5px 1.5px 0}.reticle-beam{position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(164,209,186,.8),transparent);animation:beam 2.4s ease-in-out infinite alternate}.capture-controls{display:flex;justify-content:center;padding:10px 12px 0}.shutter{display:grid;place-items:center;width:86px;height:86px;padding:0;border-radius:50%;border:0;cursor:pointer;background:radial-gradient(circle at 35% 30%,#c9b6f5,#8171a6 58%,#5b4d80);box-shadow:0 0 0 5px var(--bg),0 0 0 6px var(--gold),0 8px 18px #050e114d;transition:transform .15s}.shutter-core{position:relative;width:52px;height:52px;border-radius:50%;border:2px dashed rgba(245,241,255,.75)}.shutter-core:after{content:"";position:absolute;top:12px;right:8px;bottom:12px;left:8px;background:#f5f1ffe6;-webkit-mask:var(--bat) center / contain no-repeat;mask:var(--bat) center / contain no-repeat}.shutter:active:not(:disabled){transform:scale(.94) rotate(-6deg)}.shutter:disabled{opacity:.4;cursor:not-allowed}.shutter:focus-visible{outline:2px solid var(--gold);outline-offset:8px}.flash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#fff;pointer-events:none;animation:flash .45s ease-out forwards}.empty-card{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.scanning .scan-photo{margin:-4px -4px 14px}.scan-photo{position:relative;overflow:hidden}.scan-photo img{display:block;width:100%;max-height:340px;object-fit:cover}.scan-beam{position:absolute;left:0;right:0;height:46px;background:linear-gradient(transparent,rgba(164,209,186,.55),transparent);animation:beam 1.8s ease-in-out infinite alternate}.scan-steps{display:flex;flex-direction:column;gap:8px;list-style:none;padding:0;font:500 1rem var(--font-sc);letter-spacing:.03em}.scan-steps li{color:var(--text-muted);opacity:.6}.scan-steps li:before{content:"○ "}.scan-steps li.active{opacity:1;color:var(--text);animation:blink 1s infinite}.scan-steps li.active:before{content:"◐ ";color:var(--gold)}.scan-steps li.done{opacity:1;color:var(--ok)}.scan-steps li.done:before{content:"● "}.scan-result{overflow:hidden;padding:12px;border:1px solid var(--ink-line);border-radius:4px;background:var(--surface);box-shadow:inset 0 0 0 5px var(--surface),inset 0 0 0 6px var(--ink-line)}.scan-result .scan-photo{border:1px solid var(--ink-line)}.scan-result .scan-photo img{max-height:300px}.scan-result .scan-photo:after{content:"";position:absolute;top:55%;right:0;bottom:0;left:0;background:linear-gradient(transparent,#0b141780);pointer-events:none}.plate-tags{position:absolute;z-index:1;left:12px;right:12px;bottom:12px;display:flex;flex-wrap:wrap;gap:6px}.plate-tag .icon{width:13px;height:13px;vertical-align:-2px}.plate-tag{padding:5px 11px 6px;border-radius:4px;font:500 .88rem var(--font-sc);letter-spacing:.03em;color:#1f2b27;background:#f5fbf8;border:1px dashed rgba(70,93,86,.45)}.plate-tag.family{background:#e6def5}.plate-tag.warn{color:#fff;background:#b3261e;border-color:#fff6}.scan-body{display:flex;flex-direction:column;gap:12px;padding:18px 6px 6px}.title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.scan-result h2{font-size:2.6rem;line-height:1}.taxa-tag{flex:none;margin-top:6px;padding:3px 10px 4px;border-radius:6px;font:500 .88rem var(--font-sc);letter-spacing:.03em;color:var(--danger);border:1px solid currentColor}.scan-result h4{margin-top:6px;font:500 1.2rem var(--font-sc);letter-spacing:.05em}.scan-result p{font-size:1rem;line-height:1.55}.latin{margin-top:-10px;font:italic 1.3rem var(--font-display)!important;color:var(--soft)}.match-box{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:12px;border:1.5px dashed var(--stitch)}.match-head{display:flex;align-items:center;gap:8px;font:500 1rem var(--font-sc);letter-spacing:.03em}.match-head .icon{color:var(--gold)}.hazard-row{display:flex;align-items:center;gap:10px;font-size:.95rem;color:var(--danger)}.authenticity-note{font-size:.88rem!important;color:var(--text-muted)}.toxicity-block{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:10px;color:var(--on-danger);background:var(--danger-solid);box-shadow:inset 0 0 0 3px var(--danger-solid),inset 0 0 0 4px #f5f1ff73}.toxicity-block .icon{flex:none;width:34px;height:34px;padding:7px;border-radius:50%;border:1px solid rgba(245,241,255,.6)}.toxicity-block small{display:block;margin-bottom:4px;font:500 .9rem var(--font-sc);letter-spacing:.05em;opacity:.9}.toxicity-block p{font:500 1.08rem/1.35 var(--font-display)!important}.muse-bubble{display:block;width:100%;padding:12px 14px;border:1.5px dashed var(--stitch);border-radius:12px;cursor:pointer;text-align:left;font:italic 400 1.08rem/1.45 var(--font-display);background:transparent;transition:border-color .2s}.muse-bubble:hover{border-color:var(--gold)}.muse-bubble small{display:flex;align-items:center;gap:6px;margin-top:6px;font:500 .88rem var(--font-sc);font-style:normal;letter-spacing:.04em;color:var(--gold)}.lookalikes{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:12px;border:1.5px dashed var(--stitch)}.lookalikes header{display:flex;justify-content:space-between;align-items:center;gap:10px}.lookalikes h4{margin:0!important}.lookalikes .tags{justify-content:flex-start}.research-images{display:flex;gap:6px;overflow-x:auto}.research-images img{height:70px;border-radius:4px;border:3px solid var(--stamp-paper)}.sources{padding-left:18px;font-size:.95rem;line-height:1.7}.disclaimers{padding:12px 14px 12px 30px;border:1px solid var(--danger-border);border-radius:10px;font-size:.86rem;line-height:1.5;background:var(--danger-bg)}.ghost-panel{display:flex;flex-direction:column;gap:8px;padding:18px;transition:border-color .4s}.ghost-panel.haunted{animation:shake .5s 3;background:color-mix(in srgb,var(--rose) 12%,var(--glass-bg))}.spectrum{width:100%}.bar{fill:color-mix(in srgb,var(--gold) 70%,transparent);transition:y .08s,height .08s}.bar.band{fill:var(--rose)}.spectrum-marker{stroke:var(--text-muted);stroke-dasharray:3 3}.spectrum-label{fill:var(--text-muted);font:500 9px var(--font-sc);text-anchor:middle}.spectrum-label.marker{fill:var(--rose);font-weight:700}.fear-track{position:relative;height:6px;margin:18px 14px 20px;border-radius:99px;background:var(--track)}.fear-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--slipper),var(--gold),var(--rose));transition:width .15s}.fear-ghost{position:absolute;top:50%;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-size:.95rem;color:var(--text);background:var(--surface);border:1px solid var(--gold);transform:translate(-50%,-50%);transition:left .15s}.fear-readout{text-align:center;font:500 1.05rem var(--font-sc);letter-spacing:.05em}.place-picker{position:relative;display:flex;align-items:center}.place-picker .icon{position:absolute;pointer-events:none;color:var(--gold)}.place-picker .icon:first-child{left:14px}.place-picker .icon:last-child{right:14px;color:var(--text-muted)}.place-picker select{width:100%;padding:11px 40px 12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:12px;cursor:pointer;font:500 1rem var(--font-sc);letter-spacing:.03em;color:var(--text);border:1.5px dashed var(--stitch);background:var(--surface);outline:none}.place-picker select:focus-visible{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 25%,transparent)}.sign-out{align-self:center;margin-top:12px;min-width:160px}.place-group{display:flex;flex-direction:column;gap:10px}.group-head h3{font:700 1.35rem/1.15 var(--font-display)}.group-head small{display:block;margin-top:2px;font:500 .9rem var(--font-sc);letter-spacing:.04em;color:var(--text-muted)}.post{display:flex;align-items:center;gap:14px;width:100%;padding:8px;border:0;border-radius:12px;cursor:pointer;text-align:left;background:var(--fill);transition:background .2s}.post:hover{background:var(--fill-strong)}.post-art{--hole: var(--fill);flex:none;display:grid;place-items:center;width:70px;height:70px;overflow:hidden;padding:6px;font-size:1.4rem;color:var(--text-muted);transform:rotate(-2deg)}.post-art img{width:100%;height:100%;object-fit:cover}.post-body{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.post-body b{font:700 1.1rem/1.2 var(--font-display)}.post-body small{font:500 .86rem var(--font-sc);letter-spacing:.03em;color:var(--text-muted)}.dropdown{border-radius:var(--radius);border:1.5px dashed var(--stitch);background:var(--glass-bg)}.dropdown summary{display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer;list-style:none;font:500 1.15rem var(--font-sc);letter-spacing:.05em}.dropdown summary::-webkit-details-marker{display:none}.dropdown summary .icon{margin-left:auto;color:var(--text-muted);transition:transform .2s}.dropdown[open] summary .icon{transform:rotate(180deg)}.dropdown summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:var(--radius)}.dropdown-body{display:flex;flex-direction:column;gap:10px;padding:0 10px 10px}.dropdown-body .verify-card{--hole: var(--fill);background:var(--fill);border-style:solid;border-color:var(--border)}.verify-card{display:flex;flex-direction:column;gap:10px}.verify-head{display:flex;align-items:center;gap:12px}.verify-head h4{font:700 1.15rem var(--font-display)}.verify-head small{color:var(--text-muted);font-size:.86rem}.verify-emoji{flex:none;display:grid;place-items:center;width:52px;height:52px;overflow:hidden;padding:5px;font-size:1.2rem;color:var(--text-muted)}.verify-emoji img{width:100%;height:100%;object-fit:cover}.location-picker{display:flex;flex-direction:column;gap:6px}.location-picker .note{padding:0 6px}
