@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-ext-400-normal-CuPM9foi.woff2) format("woff2"),url(/assets/nunito-cyrillic-ext-400-normal-xaE7D4Sw.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-400-normal-xAOo5cBP.woff2) format("woff2"),url(/assets/nunito-cyrillic-400-normal-D1j0u8EH.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-vietnamese-400-normal-BHkVbP3T.woff2) format("woff2"),url(/assets/nunito-vietnamese-400-normal-DtOtW02z.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-ext-400-normal-i-8OOpdj.woff2) format("woff2"),url(/assets/nunito-latin-ext-400-normal-CjMJVfGn.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2) format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-ext-700-normal-BuR0mlCG.woff2) format("woff2"),url(/assets/nunito-cyrillic-ext-700-normal-DfoqN4Gs.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-700-normal-DP36NgGt.woff2) format("woff2"),url(/assets/nunito-cyrillic-700-normal-DfHRUDv-.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-vietnamese-700-normal-Ch8EUCfz.woff2) format("woff2"),url(/assets/nunito-vietnamese-700-normal-C9SQsXvj.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-ext-700-normal-BWeMsAzO.woff2) format("woff2"),url(/assets/nunito-latin-ext-700-normal-D4woHhbd.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2) format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-cyrillic-ext-800-normal-B-cvGohL.woff2) format("woff2"),url(/assets/nunito-cyrillic-ext-800-normal-pjRatrRO.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-cyrillic-800-normal-D3igD7Kl.woff2) format("woff2"),url(/assets/nunito-cyrillic-800-normal-DymMgApb.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-vietnamese-800-normal-D_CZYdm9.woff2) format("woff2"),url(/assets/nunito-vietnamese-800-normal-Dz0hZPb5.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-ext-800-normal-CtU8tJOV.woff2) format("woff2"),url(/assets/nunito-latin-ext-800-normal-CDcxIxx8.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2) format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/caveat-cyrillic-ext-700-normal-CrK2-ngJ.woff2) format("woff2"),url(/assets/caveat-cyrillic-ext-700-normal-DjFGiEhD.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/caveat-cyrillic-700-normal-BIyejhEL.woff2) format("woff2"),url(/assets/caveat-cyrillic-700-normal-Bhcx9qBB.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/caveat-latin-ext-700-normal-DFbRgDry.woff2) format("woff2"),url(/assets/caveat-latin-ext-700-normal-DjJQd59I.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/caveat-latin-700-normal-D8_1Nw6V.woff2) format("woff2"),url(/assets/caveat-latin-700-normal-cPyBTTZN.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #f6f1e3;--paper-deep: #efe6cf;--ink: #4a3f33;--ink-soft: #7a6d5c;--line: #6b5a44;--line-soft: rgba(107, 90, 68, .55);--moss: #7ba05b;--moss-deep: #5c8046;--sky: #a8d8e8;--sky-deep: #7fbfd6;--sun: #f2c14e;--clay: #c97b4a;--otter: #8a6247;--otter-belly: #d9b98f;--card-shadow: 3px 4px 0 rgba(74, 63, 51, .08), 0 8px 20px rgba(74, 63, 51, .08);--r-card: 19px 15px 23px 14px / 15px 21px 14px 24px;--r-btn: 255px 18px 225px 18px / 18px 225px 18px 255px;--r-chip: 155px 12px 145px 12px / 12px 145px 12px 155px;--r-input: 14px 10px 15px 9px / 10px 14px 9px 15px;--font-hand: "Caveat", cursive;--font-body: "Nunito", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh}body{background:radial-gradient(ellipse 120% 60% at 50% -10%,#dceef5 0%,transparent 60%),var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.55}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:999;opacity:.5;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.42 0 0 0 0 0.36 0 0 0 0 0.28 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23p)'/%3E%3C/svg%3E")}h1,h2,h3{font-family:var(--font-hand);font-weight:700;color:var(--ink);letter-spacing:.5px;margin:0}h1{font-size:2.6rem}h2{font-size:2rem}h3{font-size:1.5rem}a{color:var(--moss-deep);text-decoration:none}button{font-family:var(--font-body)}.btn,.chip,.fact-chip,.pebble-card,.form-card,.story-hero,.journey-card,.profile-section,.auth-card,.scope-picker,.user-list li,.photo-drop,.globe-hint,.globe-tooltip,.exif-note,.auth-error,.media-toggle button,.story-otter-note,.config-preview,.app-nav a.nav-profile{position:relative;border:none}.btn:before,.chip:before,.fact-chip:before,.pebble-card:before,.form-card:before,.story-hero:before,.journey-card:before,.profile-section:before,.auth-card:before,.scope-picker:before,.user-list li:before,.photo-drop:before,.globe-hint:before,.globe-tooltip:before,.exif-note:before,.auth-error:before,.media-toggle button:before,.story-otter-note:before,.config-preview:before,.app-nav a.nav-profile:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1.8px solid var(--sketch-line, var(--line));border-radius:inherit;filter:url(#wobble);pointer-events:none;z-index:1}.pebble-card:before,.form-card:before,.story-hero:before,.journey-card:before,.profile-section:before,.auth-card:before,.config-preview:before,.photo-drop:before{filter:url(#wobble-lg);top:4px;right:4px;bottom:4px;left:4px;border-width:2px}.squiggle-hover{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='7' viewBox='0 0 56 7'%3E%3Cpath d='M2 4.5 C 9 2.5, 16 6, 23 4.2 S 37 2.6, 44 4.4 S 51 4.8, 54 3.8' fill='none' stroke='%235c8046' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}.app-shell{display:flex;flex-direction:column;min-height:100vh;position:relative;overflow-x:hidden}.app-main{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:24px 20px 96px;position:relative;z-index:2}.app-main.full-bleed{max-width:none;padding:0}.app-header{position:sticky;top:0;z-index:20;background:#f6f1e3e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:none}.app-header:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--line-soft);filter:url(#wobble-strong)}.app-header-inner{max-width:1080px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px}.brand .brand-name{font-family:var(--font-hand);font-size:2rem;font-weight:700;color:var(--ink)}.brand .brand-tag{font-size:.78rem;color:var(--ink-soft);margin-top:-6px}.brand-text{display:flex;flex-direction:column}.app-nav{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap;align-items:center}.app-nav a{padding:7px 12px 9px;color:var(--ink-soft);font-weight:800;font-size:.98rem;transition:color .2s,transform .15s;background-repeat:repeat-x;background-position:left calc(100% - 1px);background-size:56px 7px}.app-nav a:hover{color:var(--moss-deep);transform:translateY(-1px) rotate(-.5deg)}.app-nav a.active:not(.nav-profile){color:var(--ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='7' viewBox='0 0 56 7'%3E%3Cpath d='M2 4.5 C 9 2.5, 16 6, 23 4.2 S 37 2.6, 44 4.4 S 51 4.8, 54 3.8' fill='none' stroke='%235c8046' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E")}.app-nav a:hover:not(.nav-profile){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='7' viewBox='0 0 56 7'%3E%3Cpath d='M2 4.5 C 9 2.5, 16 6, 23 4.2 S 37 2.6, 44 4.4 S 51 4.8, 54 3.8' fill='none' stroke='%237ba05b' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}.sky-clouds{position:absolute;top:0;left:0;right:0;height:260px;pointer-events:none;z-index:0;overflow:hidden}.cloud{position:absolute;fill:#fff;opacity:.75;animation:drift linear infinite}@keyframes drift{0%{transform:translate(-220px)}to{transform:translate(calc(100vw + 220px))}}.grass-footer{position:relative;z-index:1;margin-top:auto;line-height:0}.grass-footer svg.grass-band{display:block;width:100%;height:90px}.footer-note{background:var(--moss-deep);color:#eaf2df;text-align:center;font-size:.85rem;padding:10px 16px 18px}.footer-note a{color:#fdf6d8;font-weight:700}.art-divider{margin:8px auto 18px;max-width:820px}.art-divider svg{display:block;width:100%;height:clamp(52px,8vw,84px)}.art-title{display:flex;align-items:center;justify-content:flex-start;gap:6px}.art-title h1{position:relative;padding:0 6px 10px}.art-title .brush-underline{position:absolute;left:0;right:0;bottom:2px;width:100%;height:10px}.auth-masthead{display:block;width:100%;height:auto;margin-bottom:-18px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:var(--r-btn);cursor:pointer;font-weight:800;font-size:1rem;transition:transform .15s,box-shadow .15s,background .2s;text-decoration:none;box-shadow:2px 3px #4a3f3329}.btn:hover{transform:translateY(-2px) rotate(-.6deg);box-shadow:3px 5px #4a3f332e}.btn:active{transform:translateY(1px);box-shadow:1px 1px #4a3f3329}.btn-primary{background:var(--moss);color:#fdfbf3;--sketch-line: #46653a}.btn-primary:hover{background:var(--moss-deep)}.btn-secondary{background:#fffdf6;color:var(--moss-deep);--sketch-line: var(--moss-deep)}.btn-ghost{background:transparent;color:var(--ink-soft);box-shadow:none;--sketch-line: var(--line-soft)}.btn-ghost:before{border-style:dashed}.btn-danger{background:transparent;color:#b05543;box-shadow:none;--sketch-line: rgba(176, 85, 67, .7)}.btn-danger:hover{background:#b0554314}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.page-heading{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:8px}.page-heading .spacer{flex:1}.page-sub{color:var(--ink-soft);margin:0 0 22px;font-size:1.02rem}.catalog-toolbar{display:flex;gap:12px;align-items:center;margin-bottom:10px;flex-wrap:wrap}.search-input{flex:1;min-width:220px;padding:11px 18px;border-radius:var(--r-input);border:1.8px solid var(--line-soft);background:#fffdf6;font-family:var(--font-body);font-size:1rem;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s}.search-input:focus{border-color:var(--moss-deep);box-shadow:0 0 0 4px #7ba05b26}.pebble-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px}.pebble-card{background:#fffdf6;border-radius:var(--r-card);box-shadow:var(--card-shadow);overflow:hidden;display:flex;flex-direction:column;color:var(--ink);transition:transform .2s ease,box-shadow .2s ease}.pebble-card:nth-child(odd){transform:rotate(-.5deg)}.pebble-card:nth-child(2n){transform:rotate(.4deg)}.pebble-card:hover{transform:translateY(-5px) rotate(-.9deg)!important;box-shadow:4px 8px #4a3f331a,0 16px 28px #4a3f3329}.pebble-card-photo{aspect-ratio:4 / 3;width:100%;object-fit:cover;background:var(--paper-deep);display:block}.pebble-card-body{padding:14px 16px 16px}.pebble-card-body h3{margin-bottom:2px}.pebble-card-meta{font-size:.85rem;color:var(--ink-soft);display:flex;flex-direction:column;gap:3px}.pebble-card-meta span{display:inline-flex;align-items:center;gap:7px}.badge-3d{position:absolute;top:10px;right:10px;background:#4a3f33d1;color:#fdf6d8;font-size:.72rem;font-weight:800;padding:3px 10px;border-radius:var(--r-chip);letter-spacing:.06em;z-index:2}.pebble-card-photo-wrap{position:relative}.empty-state{text-align:center;padding:40px 20px 60px;display:flex;flex-direction:column;align-items:center;gap:12px}.empty-state p{color:var(--ink-soft);max-width:420px;margin:0}.story-page{max-width:780px;margin:0 auto}.story-hero{background:#fffdf6;border-radius:var(--r-card);box-shadow:var(--card-shadow);overflow:hidden}.story-hero img.story-photo{width:100%;max-height:440px;object-fit:cover;display:block}.story-hero model-viewer{width:100%;height:440px;background:linear-gradient(#e8f2f7,var(--paper-deep))}.media-toggle{display:flex;gap:8px;padding:12px 16px 0;position:relative;z-index:2}.media-toggle button{padding:6px 16px;border-radius:var(--r-chip);background:transparent;color:var(--ink-soft);font-weight:700;cursor:pointer;--sketch-line: var(--line-soft)}.media-toggle button.on{background:var(--moss);color:#fdfbf3;--sketch-line: #46653a}.story-body{padding:22px 28px 28px}.story-title-row{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.story-title-row h1{font-size:2.8rem}.story-facts{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0 4px}.fact-chip{display:inline-flex;align-items:center;gap:8px;background:#7ba05b1a;color:var(--moss-deep);border-radius:var(--r-chip);padding:7px 16px;font-weight:700;font-size:.92rem;--sketch-line: rgba(92, 128, 70, .55)}.fact-chip.time{background:#f2c14e21;color:#9a7524;--sketch-line: rgba(154, 117, 36, .5)}.story-text{font-size:1.08rem;margin-top:14px;white-space:pre-wrap}.story-otter-note{display:flex;align-items:flex-start;gap:14px;margin-top:26px;background:#a8d8e829;border-radius:var(--r-card);padding:14px 18px;--sketch-line: rgba(127, 191, 214, .75)}.story-otter-note:before{border-style:dashed}.story-otter-note .speech{font-family:var(--font-hand);font-size:1.35rem;color:var(--ink)}.story-map{margin-top:26px;position:relative}.story-map canvas{width:100%;border-radius:var(--r-card);box-shadow:var(--card-shadow);display:block}.story-map:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1.8px solid var(--line-soft);border-radius:var(--r-card);filter:url(#wobble);pointer-events:none}.story-actions{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}.form-card{background:#fffdf6;border-radius:var(--r-card);box-shadow:var(--card-shadow);padding:28px;max-width:640px;margin:0 auto}.form-row{margin-bottom:18px}.form-row label{display:block;font-weight:800;margin-bottom:6px;color:var(--ink)}.form-row .hint{font-size:.82rem;color:var(--ink-soft);font-weight:400;margin-top:4px}.form-row input[type=text],.form-row input[type=datetime-local],.form-row input[type=number],.form-row input[type=email],.form-row input[type=password],.form-row textarea{width:100%;padding:11px 16px;border-radius:var(--r-input);border:1.8px solid var(--line-soft);background:#fffef9;font-family:var(--font-body);font-size:1rem;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s}.form-row textarea{resize:vertical;min-height:110px}.form-row input:focus,.form-row textarea:focus{border-color:var(--moss-deep);box-shadow:0 0 0 4px #7ba05b26}.coord-row{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.photo-drop{border-radius:var(--r-card);background:#7ba05b0f;padding:22px;text-align:center;cursor:pointer;transition:background .2s;--sketch-line: rgba(92, 128, 70, .7)}.photo-drop:before{border-style:dashed;border-width:2.2px}.photo-drop:hover,.photo-drop.drag{background:#7ba05b24}.photo-drop input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;z-index:2}.photo-drop img.preview{max-width:100%;max-height:240px;border-radius:var(--r-input);box-shadow:var(--card-shadow)}.photo-drop .drop-label{color:var(--moss-deep);font-weight:700}.form-row label.file-pick,.file-pick{position:relative;display:flex;justify-content:center;align-items:center;gap:9px;padding:9px 18px;border-radius:var(--r-chip);background:#7ba05b0f;color:var(--moss-deep);font-weight:700;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background .2s,transform .15s}.file-pick:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:2px dashed rgba(92,128,70,.7);border-radius:inherit;filter:url(#wobble);pointer-events:none}.file-pick:hover{background:#7ba05b24;transform:rotate(-.7deg)}.file-pick input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.exif-note{margin-top:8px;font-size:.85rem;color:var(--moss-deep);background:#7ba05b1a;border-radius:var(--r-chip);padding:6px 14px;display:inline-block;--sketch-line: rgba(92, 128, 70, .4)}.form-actions{display:flex;gap:12px;margin-top:24px;align-items:center;flex-wrap:wrap}.journey-stage{max-width:760px;margin:0 auto;text-align:center}.journey-stage .art-title{justify-content:center}.journey-count{font-family:var(--font-hand);font-size:1.5rem;color:var(--ink-soft)}.journey-card{background:#fffdf6;border-radius:var(--r-card);box-shadow:var(--card-shadow);overflow:hidden;text-align:left;margin:14px 0 20px;animation:journey-in .45s ease}@keyframes journey-in{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}.journey-photo{width:100%;max-height:380px;object-fit:cover;display:block}.journey-body{padding:20px 26px 26px}.journey-nav{display:flex;justify-content:center;align-items:center;gap:18px}.journey-dots{display:flex;gap:7px}.journey-dots span{width:11px;height:11px;border-radius:45% 55% 52% 48%/55% 48% 52% 45%;background:#7a6d5c4d;transition:background .2s,transform .2s}.journey-dots span.on{background:var(--moss-deep);transform:scale(1.25) rotate(20deg)}.globe-wrap{position:relative;height:calc(100vh - 62px);min-height:480px;background:linear-gradient(#0e1c2e,#1c3550 45%,#2c4d6b);overflow:hidden}.globe-wrap canvas{display:block}.globe-hint{position:absolute;left:50%;bottom:22px;transform:translate(-50%);background:#f6f1e3f0;border-radius:var(--r-btn);padding:9px 22px;font-weight:700;color:var(--ink);box-shadow:0 4px 14px #0000004d;display:flex;align-items:center;gap:10px;white-space:nowrap}.globe-tooltip{position:absolute;pointer-events:none;background:#fffdf6;border-radius:var(--r-input);padding:8px 14px;box-shadow:0 6px 18px #00000059;transform:translate(-50%,calc(-100% - 16px));z-index:5;text-align:center;min-width:120px}.globe-tooltip .t-name{font-family:var(--font-hand);font-size:1.25rem;color:var(--ink);line-height:1.1}.globe-tooltip .t-meta{font-size:.78rem;color:var(--ink-soft)}.globe-tooltip:after{content:"";position:absolute;left:50%;bottom:-7px;transform:translate(-50%);border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #fffdf6}.otter-bob{animation:bob 3.2s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-7px) rotate(1.5deg)}}.otter-tiny{flex-shrink:0}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--ink-soft);font-weight:700;margin-bottom:18px}.back-link:hover{color:var(--moss-deep)}.boot-splash{min-height:100vh;display:flex;align-items:center;justify-content:center}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{background:#fffdf6;border-radius:var(--r-card);box-shadow:var(--card-shadow);padding:26px 38px 34px;width:100%;max-width:440px;text-align:center}.auth-card form{text-align:left;margin-top:18px}.auth-error{background:#b055431a;color:#8f3f2f;border-radius:var(--r-input);padding:9px 14px;margin-bottom:14px;font-size:.92rem;--sketch-line: rgba(176, 85, 67, .6)}.auth-switch{margin-top:18px;background:none;border:none;color:var(--moss-deep);font-weight:700;cursor:pointer;font-size:.95rem}.auth-switch:hover{text-decoration:underline wavy;text-underline-offset:4px}.scope-picker{display:inline-flex;gap:4px;background:#fffdf6;border-radius:var(--r-btn);padding:4px 6px;--sketch-line: var(--line-soft)}.scope-picker button{border:none;background:transparent;padding:7px 13px;border-radius:var(--r-btn);font-weight:800;font-size:.9rem;color:var(--ink-soft);cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;display:inline-flex;align-items:center;gap:7px}.scope-picker button:hover{background:#7ba05b1f}.scope-picker button.on{background:var(--moss);color:#fdfbf3;box-shadow:1px 2px #46653a80}.scope-picker.floating{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:6;box-shadow:0 6px 18px #0000004d}.app-nav a.nav-profile{display:inline-flex;align-items:center;gap:7px;padding:4px 14px 4px 6px;border-radius:var(--r-btn);background:#fffdf6;--sketch-line: var(--line-soft)}.app-nav a.nav-profile.active{background:#7ba05b29;color:var(--moss-deep)}.nav-profile-name{max-width:110px;overflow:hidden;text-overflow:ellipsis}.card-owner{position:absolute;left:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;background:#fffdf6f0;border-radius:var(--r-chip);padding:3px 12px 3px 4px;font-size:.8rem;font-weight:800;color:var(--ink);box-shadow:1px 2px #4a3f3333;z-index:2}.pebble-card-photo-empty{display:flex;align-items:center;justify-content:center;color:var(--ink-soft)}.fact-chip.finder{padding-left:6px}.profile-page{max-width:760px;margin:0 auto}.profile-section{background:#fffdf6;border-radius:var(--r-card);box-shadow:var(--card-shadow);padding:26px 30px}.section-sub{color:var(--ink-soft);font-size:.95rem;margin:4px 0 16px}.configurator{display:grid;grid-template-columns:220px 1fr;gap:26px;align-items:start}.config-preview{display:flex;justify-content:center;align-items:flex-end;background:linear-gradient(#a8d8e838,#7ba05b24);border-radius:var(--r-card);padding:18px 8px 22px;--sketch-line: rgba(127, 191, 214, .6);overflow:hidden}.config-preview .preview-meadow{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.config-preview svg[role=img]{position:relative;z-index:1}.config-group{margin-bottom:16px}.config-group>label{display:block;font-weight:800;margin-bottom:7px}.swatch-row{display:flex;gap:9px;flex-wrap:wrap}.swatch{width:36px;height:36px;border-radius:46% 54% 51% 49%/55% 47% 53% 45%;border:2.5px solid transparent;cursor:pointer;transition:transform .12s,border-color .12s;box-shadow:1px 2px #4a3f3333;filter:url(#wc)}.swatch:hover{transform:scale(1.12) rotate(8deg)}.swatch.on{border-color:var(--ink);transform:scale(1.12) rotate(-6deg)}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.chip{background:#fffef9;border-radius:var(--r-chip);padding:7px 14px;font-weight:700;color:var(--ink-soft);cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:7px;--sketch-line: var(--line-soft)}.chip:hover{color:var(--moss-deep);transform:rotate(-1deg)}.chip.on{background:var(--moss);color:#fdfbf3;--sketch-line: #46653a}.social-block{margin-top:18px}.social-block h3{margin-bottom:8px}.user-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.user-list li{display:flex;align-items:center;gap:10px;background:#7ba05b12;border-radius:var(--r-chip);padding:7px 12px;--sketch-line: rgba(107, 90, 68, .35)}.user-list .u-name{flex:1;font-weight:700}.btn-small{padding:6px 14px;font-size:.85rem}.user-search{margin-top:6px}.lodge-name-row{display:flex;gap:10px;align-items:center;margin-bottom:12px}@media(max-width:640px){.configurator{grid-template-columns:1fr}.coord-row{grid-template-columns:1fr 1fr}.story-body{padding:18px}.app-header-inner{gap:8px}.art-title svg:last-of-type{display:none}}
