:root{--bg: #0e1422;--surface: #181c27;--border: #2a3142;--text: #e8eaef;--muted: #8b93a5;--accent: #60a5fa;--accent-dim: rgba(96, 165, 250, .12);--danger: #f87171;--danger-dim: rgba(248, 113, 113, .15);--plus: #34d399;--plus-dim: rgba(52, 211, 153, .15);--radius: 16px;--radius-sm: 12px;--font: "Segoe UI", system-ui, sans-serif;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-enter: cubic-bezier(.25, .46, .45, .98);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--anim-stack: .72s;--anim-btn: .55s;--shadow-surface: 0 4px 24px rgba(0, 0, 0, .25), 0 0 0 1px rgba(255, 255, 255, .04);--shadow-lift: 0 12px 40px rgba(0, 0, 0, .35);--shell-grad: linear-gradient(180deg, var(--bg) 0%, var(--bg) 100%);--shell-accent-glow: radial-gradient( ellipse 100% 100% at 50% 50%, transparent 0%, transparent 100% );color-scheme:dark;font-family:var(--font);line-height:1.45}html{background-color:var(--bg);min-height:100%}*{box-sizing:border-box}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html.home-ai-root-lock{height:100%;height:-webkit-fill-available;overflow:hidden;background-color:#212121!important;background-image:none!important}html.home-ai-root-lock body{height:100%;min-height:100%;min-height:-webkit-fill-available;overflow:hidden}body{margin:0;min-width:100%;min-height:100dvh;min-height:-webkit-fill-available;overflow-x:hidden;color:var(--text);background-color:var(--bg)}.secure-banner{margin:0 0 1rem;padding:.85rem 1rem;border-radius:var(--radius);border:1px solid rgba(251,191,36,.45);background:#fbbf241f;color:#fcd34d;font-size:.9rem;text-align:left}.secure-banner code{font-size:.85em;padding:.1em .35em;border-radius:4px;background:#00000059}.secure-banner-lead{margin:.65rem 0 .35rem;font-size:.92rem}.secure-url-line{margin:0 0 .75rem;padding:.6rem .75rem;background:#00000059;border-radius:8px;word-break:break-all}.secure-url-line code{font-size:.8rem;background:transparent;padding:0}.secure-banner-steps{margin:0;font-size:.82rem;color:#fcd34df2;line-height:1.4}.sub code{font-size:.88em;padding:.12em .4em;border-radius:4px;background:#00000040;color:var(--muted)}#app{max-width:720px;margin:0 auto;padding:1.5rem 1.125rem 3rem;position:relative;z-index:0;background-color:var(--bg);min-height:100dvh;min-height:-webkit-fill-available;box-sizing:border-box}#app:has(.app-stack--session){padding:1rem 1rem calc(1rem + var(--session-sheet-h, 252px))}html.app-launch-active,html.app-launch-active body{background-color:#000}#app-launch.app-launch{position:fixed;inset:0;z-index:2147483646;display:flex;align-items:center;justify-content:center;margin:0;width:100%;min-width:100%;min-height:100vh;min-height:100dvh;min-height:100svh;min-height:-webkit-fill-available;height:100%;box-sizing:border-box;background:#000;overflow:hidden;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);isolation:isolate;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}#app-launch .app-launch__logo{display:block;opacity:0;max-height:min(44vh,260px);width:auto;max-width:min(92vw,26rem);object-fit:contain;flex-shrink:0}#app-launch.app-launch--running{animation:appLaunchShellOut .5s ease-in-out 1.4s forwards;will-change:opacity}#app-launch.app-launch--running .app-launch__logo{animation:appLaunchLogoIn .6s ease-out forwards;will-change:opacity}#app.app-launch-reveal-target{opacity:0;animation:appLaunchRevealIn .5s ease-in-out 1.4s forwards;will-change:opacity}@keyframes appLaunchLogoIn{0%{opacity:0}to{opacity:1}}@keyframes appLaunchShellOut{0%{opacity:1}to{opacity:0}}@keyframes appLaunchRevealIn{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){#app-launch.app-launch--running,#app-launch.app-launch--running .app-launch__logo,#app.app-launch-reveal-target{animation:none!important;will-change:auto}}#app.app-root--home{min-height:100dvh;display:flex;flex-direction:column;box-sizing:border-box;padding-top:.1rem}#app.app-root--home .app-body{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.app-body{min-height:60vh;background-color:var(--bg)}.surface--home{text-align:center;padding:2rem 1.5rem 1rem}.view-home.surface--home{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;padding-top:calc(env(safe-area-inset-top,0px) + .2rem);padding-left:max(1.25rem,env(safe-area-inset-left,0px));padding-right:max(1.25rem,env(safe-area-inset-right,0px));padding-bottom:calc(4.75rem + env(safe-area-inset-bottom,0px));background:transparent;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.home-main{flex:1 1 auto;min-height:0;width:100%;display:flex;flex-direction:column}.home-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:150;display:flex;align-items:stretch;justify-content:space-around;gap:.2rem;max-width:28rem;margin-left:auto;margin-right:auto;padding:.5rem .85rem;padding-bottom:max(.45rem,env(safe-area-inset-bottom,0px));box-sizing:border-box;background:#101624c7;backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);border-top:1px solid rgba(120,145,210,.22);border-radius:1.35rem 1.35rem 0 0;box-shadow:0 -4px 24px #00000073,inset 0 1px #ffffff0d}.home-bottom-nav__btn{flex:1;display:flex;align-items:center;justify-content:center;min-width:0;min-height:3rem;padding:.35rem;border:none;border-radius:.85rem;background:transparent;color:#afbedce0;cursor:pointer;font:inherit;transition:background .2s ease,color .2s ease,transform .15s ease}.home-bottom-nav__btn:active{transform:scale(.96)}.home-bottom-nav__btn--active{color:#e8eeff;background:#60a5fa2e;box-shadow:inset 0 0 0 1px #60a5fa59}.home-bottom-nav__icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:999px}.home-bottom-nav__icon--primary{background:linear-gradient(145deg,#3b82f673,#34d39947);color:#f0f7ff;box-shadow:0 2px 12px #2563eb59}.home-bottom-nav__btn--active .home-bottom-nav__icon:not(.home-bottom-nav__icon--primary){color:#93c5fd}.view-promo-shell{position:relative;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-top:-1.5rem;margin-bottom:-3rem;min-height:calc(100dvh - 5rem);overflow:hidden;text-align:center}.view-auth.view-promo-shell{padding-top:0;padding-right:max(1rem,env(safe-area-inset-right,0px));padding-bottom:max(2rem,env(safe-area-inset-bottom,0px));padding-left:max(1rem,env(safe-area-inset-left,0px))}.promo-bg{position:absolute;inset:0;z-index:0;overflow:hidden}.promo-bg:before{content:"";position:absolute;inset:0;background-color:var(--bg);z-index:0;transform:translateZ(0)}.promo-bg:after{content:"";position:absolute;inset:0;z-index:1;background:#00000024;pointer-events:none}.auth-layout{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.95rem;min-height:auto;max-width:22rem;margin:0 auto;padding-top:calc(env(safe-area-inset-top,0px) + .6rem);padding-left:.75rem;padding-right:.75rem;padding-bottom:.75rem}.auth-tabs-card{width:100%;max-width:19.5rem;padding:5px;border-radius:999px;background:#00000073;border:1px solid rgba(255,255,255,.12);box-shadow:0 10px 40px #0000006b}.auth-tabs--pill{display:flex;gap:4px;margin:0;border:none}img.app-logo,.app-logo{display:block;height:80px;width:auto;max-width:min(18rem,88vw);object-fit:contain;flex-shrink:0;margin-left:auto;margin-right:auto;padding:0;border:none;box-shadow:none;background:none;background-color:transparent}.auth-layout>.app-logo{margin-top:0;margin-bottom:.85rem}.auth-card--glass{text-align:left;width:100%;max-width:22rem;margin:0 auto;padding:1.15rem 1.15rem 1.25rem;border-radius:22px;background:#0a0e1c85;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 0 1px #0003 inset,0 28px 56px #00000080}.auth-card--form{margin-top:.15rem}.auth-tab{flex:1;padding:.58rem .65rem;border:none;border-radius:999px;background:transparent;color:#c8d2e0b8;font:inherit;font-size:.9rem;font-weight:600;letter-spacing:-.01em;cursor:pointer;transition:color .2s ease,background .2s ease}.auth-tab:hover{color:#f8fafcf2}.auth-tab--active{color:#f8fafc;background:#34d3993d;box-shadow:0 0 0 1px #34d39940}form.auth-form[hidden]{display:none!important}.auth-form{display:flex;flex-direction:column;gap:.85rem}.auth-label{display:flex;flex-direction:column;gap:.35rem;font-size:.8rem;font-weight:500;color:#dce6f5eb}.auth-input--glass{padding:.72rem .85rem;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#00000059;color:var(--text);font:inherit}.auth-input--glass:focus{outline:none;border-color:#34d39973;box-shadow:0 0 0 3px #34d3991f}.auth-hint{margin:-.35rem 0 0;font-size:.75rem;color:#b4becdd9}.btn-auth-gradient{margin-top:.35rem;width:100%;padding:.9rem 1rem;border:none;border-radius:16px;font:inherit;font-weight:600;font-size:1rem;letter-spacing:-.02em;color:#fff;cursor:pointer;background:linear-gradient(135deg,#1d4ed8,#0891b2 48%,#059669);box-shadow:0 4px 16px #05966947,0 0 0 1px #ffffff0f inset;transition:transform .15s ease,filter .15s ease}.btn-auth-gradient:hover{filter:brightness(1.06)}.btn-auth-gradient:active{transform:scale(.99)}.btn-auth-gradient--teal{background:linear-gradient(135deg,#0f766e,#059669 45%,#047857);box-shadow:0 4px 16px #0f766e59,0 0 0 1px #ffffff0f inset}.auth-error{margin:.75rem 0 0;font-size:.85rem;color:#fda4af;min-height:1.25rem}.auth-disclaimer{margin:1rem 0 0;font-size:.68rem;color:#a0aabed9;line-height:1.45;text-align:center}.home-user-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin:0 auto .4rem;padding:.05rem .5rem 0;max-width:min(22rem,100%);width:100%;border-radius:0;background:transparent;border:none;box-shadow:none;flex-shrink:0}.home-user-bar__identity{display:flex;flex-direction:column;align-items:flex-start;gap:.28rem;flex:1 1 auto;min-width:0;text-align:left}.home-user-bar__shortid{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem;font-size:.78rem;font-variant-numeric:tabular-nums;color:#93a0b9eb;line-height:1.4}.home-user-bar__shortid-label{font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:.68rem;color:#788cafe6}.home-user-bar__shortid-value{font-weight:700;letter-spacing:.12em;color:#bac8e6f2}.home-inbox-card{display:flex;align-items:center;gap:.75rem;width:100%;max-width:22rem;margin:0 auto 1rem;padding:.85rem 1rem;text-align:left;border-radius:var(--radius-sm);border:1px solid rgba(96,165,250,.35);background:#182034d9;color:var(--text);cursor:pointer;font:inherit;transition:border-color .2s ease,background .2s ease,transform .2s var(--ease-enter)}.home-inbox-card:hover{border-color:#78a5f080;background:#1e283eeb}.home-inbox-card:active{transform:scale(.99)}@media(prefers-reduced-motion:no-preference){.home-inbox-card--ding{animation:inbox-card-ding .82s var(--ease-spring) both}}@keyframes inbox-card-ding{0%,to{transform:scale(1)}18%{transform:scale(1.03)}36%{transform:scale(.99)}54%{transform:scale(1.02)}}.home-inbox-card:focus-visible{outline:2px solid rgba(147,197,253,.65);outline-offset:3px}.home-inbox-card__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:12px;background:#3b82f626;color:#bad2fff2}.home-inbox-card__icon svg{width:1.45rem;height:1.45rem;display:block}.home-inbox-card__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.home-inbox-card__title{font-size:.95rem;font-weight:700;letter-spacing:-.01em}.home-inbox-card__sub{font-size:.78rem;color:var(--muted);line-height:1.35}.home-inbox-card__badge{position:static!important;flex-shrink:0;top:auto!important;right:auto!important}.view-inbox{text-align:left;padding:1.25rem 1.15rem 2rem}.view-inbox .subview-title{margin-top:.35rem}.view-photo-album-wrap{display:flex;flex-direction:column;min-height:100%;box-sizing:border-box}.view-photo-album{display:flex;flex-direction:column;text-align:left;padding:max(.75rem,env(safe-area-inset-top,0px)) 1rem 0;flex:1 1 auto;min-height:0;box-sizing:border-box}.photo-album__body{flex:1;min-height:0;overflow:auto;padding-bottom:1rem}.photo-album__top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1.25rem}.photo-album__back{font-size:1.15rem;padding:.35rem .5rem;min-height:2.75rem;min-width:2.75rem;border-radius:12px}.photo-album__top-actions{display:flex;align-items:center;gap:.5rem}.photo-album__share{padding:.45rem 1rem;min-height:2.5rem;border-radius:999px;border:1px solid rgba(96,165,250,.45);background:#60a5fa1f;color:#93c5fd;font:inherit;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;touch-action:manipulation;transition:background .38s ease,color .38s ease,border-color .38s ease,box-shadow .38s ease,transform .22s ease}.photo-album__share:disabled{opacity:.38;cursor:not-allowed;transform:none}.photo-album__share--active{color:#052e1a;border-color:#34d399e6;background:linear-gradient(145deg,#6ee7b7,#34d399,#059669);box-shadow:0 4px 20px #10b98161,0 0 0 1px #ffffff1f inset}@media(prefers-reduced-motion:reduce){.photo-album__share{transition:none}}.photo-album__marker{padding:.45rem .85rem;min-height:2.5rem;border-radius:999px;border:1px solid rgba(148,163,184,.45);background:#ffffff0f;color:var(--muted);font:inherit;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;touch-action:manipulation;transition:background .2s ease,border-color .2s ease,color .2s ease}.photo-album__marker--on{border-color:#60a5faa6;background:#60a5fa33;color:#dbeafe}.photo-album__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:.65rem}.photo-album__empty{margin:2rem 0 0;font-size:.92rem;color:var(--muted);line-height:1.5;grid-column:1 / -1}.photo-album__cell{display:block;padding:0;margin:0;border:none;background:transparent;cursor:pointer;border-radius:12px;-webkit-tap-highlight-color:transparent;content-visibility:auto;contain-intrinsic-size:108px 108px}.photo-album__thumb-wrap{position:relative;display:block;border-radius:12px;overflow:hidden;transition:transform .28s ease,box-shadow .28s ease}.photo-album__thumb{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}.photo-album__cell--selected .photo-album__thumb-wrap{transform:scale(1.06);box-shadow:0 0 0 3px #34d399,0 12px 32px #0006}@media(prefers-reduced-motion:reduce){.photo-album__cell--selected .photo-album__thumb-wrap,.photo-album__thumb-wrap{transition:none}}.view-received-photos{display:flex;flex-direction:column;height:calc(100dvh - 2.5rem);max-height:calc(100dvh - 2.5rem);max-width:36rem;margin:0 auto;padding:max(.5rem,env(safe-area-inset-top,0px)) 0 max(.35rem,env(safe-area-inset-bottom,0px));box-sizing:border-box}.received-photos__header{display:flex;align-items:center;gap:.5rem;flex-shrink:0;padding:0 .85rem .5rem}.received-photos__back{min-width:2.75rem;min-height:2.75rem;border-radius:12px;font-size:1.15rem}.received-photos__title{margin:0;font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.received-photos__scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.received-photos__feed{display:flex;flex-direction:column;gap:.5rem;padding:0 .65rem .75rem}.received-photos__empty{margin:1.5rem .85rem;font-size:.9rem;color:var(--muted);line-height:1.45}.received-photos__shot{display:block;width:100%;padding:0;margin:0;border:none;border-radius:14px;overflow:hidden;cursor:pointer;background:#00000059;-webkit-tap-highlight-color:transparent}.received-photos__shot-img{display:block;width:100%;max-height:min(78vh,520px);height:auto;object-fit:contain;background:#0a0c10}.received-photos__map-tab{flex-shrink:0;width:calc(100% - 1.3rem);max-width:36rem;margin:.35rem auto 0;padding:1rem 1.25rem;min-height:3.35rem;border-radius:16px;border:2px solid rgba(96,165,250,.55);background:linear-gradient(145deg,#60a5fa38,#3b82f624);color:#e0eaff;font:inherit;font-size:1.05rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;touch-action:manipulation;box-shadow:0 6px 24px #2563eb40,0 0 0 1px #ffffff0f inset}.received-photos__map-tab:active{transform:scale(.99)}.received-photos-map-dialog:not([open]){display:none!important}.received-photos-map-dialog[open]{display:flex;flex-direction:column;padding:0;margin:0;border:none;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;background:var(--bg);color:var(--text)}.received-photos-map-dialog::backdrop{background:#000}.received-photos-map-dialog__bar{display:flex;justify-content:flex-end;align-items:center;padding:max(.45rem,env(safe-area-inset-top,0px)) .65rem .35rem max(.65rem,env(safe-area-inset-left,0px));flex-shrink:0;position:relative;z-index:20;touch-action:manipulation}.received-photos-map-dialog__close-form{margin:0;padding:0;display:inline}.received-photos-map-dialog__close{font-size:1rem;font-weight:700;padding:.5rem 1rem;border-radius:12px;touch-action:manipulation;cursor:pointer}.received-photos-map-dialog__body{flex:1;min-height:0;position:relative;z-index:1;padding:0 .5rem max(.5rem,env(safe-area-inset-bottom,0px));box-sizing:border-box}.received-photos-map--dialog{width:100%;height:100%;min-height:12rem;border-radius:14px;overflow:hidden;border:1px solid rgba(96,165,250,.25)}.received-photos-map-empty--dialog{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;padding:1.5rem;font-size:.92rem;color:var(--muted);line-height:1.5;text-align:center}.received-photos-pin{background:transparent;border:none}.received-photos-pin__shape{width:22px;height:22px;margin:0 auto;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:linear-gradient(145deg,#38bdf8,#2563eb);border:2px solid #fff;box-shadow:0 2px 10px #00000073}.received-photo-lightbox{padding:0;margin:0;max-width:none;max-height:none;width:100vw;height:100vh;height:100dvh;border:none;background:#000000eb}.received-photo-lightbox::backdrop{background:#000}.received-photo-lightbox__inner{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:max(.5rem,env(safe-area-inset-top,0px)) .5rem max(.5rem,env(safe-area-inset-bottom,0px));box-sizing:border-box;min-height:0}.received-photo-zoom-host{flex:1;display:flex;align-items:center;justify-content:center;width:100%;min-height:0;max-height:100%}.received-photo-lightbox__close{position:absolute;top:max(.5rem,env(safe-area-inset-top,0px));right:max(.5rem,env(safe-area-inset-right,0px));z-index:2;width:2.75rem;height:2.75rem;border:none;border-radius:12px;background:#ffffff1f;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;font:inherit}.received-photo-lightbox__img{max-width:100%;max-height:85dvh;width:auto;height:auto;object-fit:contain;border-radius:4px}.received-photos-map-popup__img{display:block;max-width:220px;width:100%;height:auto;margin-top:.35rem;border-radius:8px}.inbox-lead{margin:.35rem 0 .75rem;font-size:.88rem;color:var(--muted);line-height:1.5}.incoming-share-save-dialog{max-width:min(92vw,22rem);padding:0;border:none;border-radius:var(--radius-sm);background:#161a26fa;color:var(--text);box-shadow:var(--shadow-lift)}.incoming-share-save-dialog::backdrop{background:#04060cb8}.incoming-share-save-dialog__inner{padding:1.15rem 1.2rem 1.2rem;margin:0}.incoming-share-save-dialog__inner h2{margin:0 0 .55rem;font-size:1.05rem;font-weight:700}.incoming-share-save-dialog__inner p{margin:0 0 1rem;font-size:.88rem;line-height:1.5;color:#c8d0e0eb}.incoming-share-save-dialog__actions{display:flex;flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none}.incoming-share-save-dialog__actions button{width:100%}.session-preview-banner{margin:0 0 .65rem;padding:.55rem .65rem;font-size:.8rem;line-height:1.45;text-align:center;color:#dce6faeb;background:#3b82f61f;border:1px solid rgba(96,165,250,.28);border-radius:10px}.home-user-bar__actions{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.btn-home-hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:2.5rem;height:2.5rem;padding:0 .45rem;border:none;border-radius:10px;background:#60a5fa1f;cursor:pointer;font:inherit;color:#dce6faf2;flex-shrink:0;touch-action:manipulation}.btn-home-hamburger:hover{background:#60a5fa33}.btn-home-hamburger:focus-visible{outline:2px solid rgba(147,197,253,.65);outline-offset:2px}.btn-home-hamburger__line{display:block;height:2px;width:100%;border-radius:1px;background:currentColor}.home-vegref{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;width:100%;max-width:min(36rem,100%);margin:0 auto;padding:.35rem .5rem;min-height:0;text-align:center;box-sizing:border-box}.home-vegref__primary{margin:0;font-size:clamp(1.96rem,6.4vw,2.28rem);font-weight:700;line-height:1.25;letter-spacing:-.02em;color:#f0f5fff5;text-shadow:0 1px 14px rgba(0,0,0,.45)}.home-vegref__type{margin:.45rem 0 0;font-size:clamp(1.24rem,4.2vw,1.52rem);font-weight:700;line-height:1.25;letter-spacing:.06em;text-transform:uppercase;color:#f0f5fff5;text-shadow:0 1px 14px rgba(0,0,0,.45)}.home-vegref__compact{display:flex;flex-direction:column;align-items:center;gap:.35rem;margin:.5rem 0 0;width:100%}.home-vegref__line{margin:0;font-size:clamp(1.24rem,4.2vw,1.52rem);font-weight:700;line-height:1.2;letter-spacing:.04em;font-variant-numeric:tabular-nums;color:#f0f5fff5;text-shadow:0 1px 14px rgba(0,0,0,.45)}.home-vegref__line--s,.home-vegref__line--d{text-transform:uppercase}.home-vegref__meter{margin:.15rem 0 0;font-size:clamp(2.65rem,9vw,3.35rem);font-weight:800;font-variant-numeric:tabular-nums;line-height:1.15;letter-spacing:-.03em;color:#f8fafffa;text-shadow:0 2px 18px rgba(0,0,0,.5)}.home-app-shortcuts{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-end;justify-content:center;gap:clamp(2.5rem,10vw,4.25rem);row-gap:clamp(1.5rem,5.5vw,2.5rem);width:100%;max-width:min(38rem,100%);margin:.5rem auto 0;padding:0 .65rem;box-sizing:border-box}.home-app-icon-btn{--home-app-icon-slot: 3.85rem;display:flex;flex-direction:column;align-items:center;gap:.4rem;margin:0;padding:0;border:none;background:transparent;cursor:pointer;font:inherit;color:#e2e8f5eb;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .15s ease,opacity .15s ease}.home-app-icon-btn:active{transform:scale(.97);opacity:.92}.home-app-icon-btn:focus-visible{outline:2px solid rgba(96,165,250,.65);outline-offset:4px;border-radius:12px}.home-app-icon-btn__icon-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:var(--home-app-icon-slot);height:var(--home-app-icon-slot);flex-shrink:0;line-height:0;margin-bottom:.35rem}.home-app-icon-btn__icon-wrap:before{content:"";position:absolute;inset:-.42rem -.42rem -.18rem;z-index:0;border-radius:1.15rem;pointer-events:none;background:radial-gradient(ellipse 110% 95% at 50% 22%,#5078c36b,#2030528c 42%,#101624e0 72%,#0a0e18f5),linear-gradient(168deg,#2634528c,#121a2aeb 48%,#0c111cfa);border:1px solid rgba(110,140,210,.26);box-shadow:inset 0 1px #ffffff12,0 4px 18px #00000061;transition:opacity .15s ease,transform .15s ease}.home-app-icon-btn:active .home-app-icon-btn__icon-wrap:before{opacity:.88}.home-app-icon-btn__icon{position:relative;z-index:1;display:block;width:100%;height:100%;max-width:min(var(--home-app-icon-slot),22vw);max-height:min(var(--home-app-icon-slot),22vw);object-fit:contain;object-position:center center;pointer-events:none;filter:drop-shadow(0 2px 8px rgba(0,0,0,.32))}.home-app-icon-btn__label{position:relative;z-index:2;margin:0;padding:0;max-width:7.5rem;text-align:center;font-size:clamp(.65rem,1.95vw,.76rem);font-weight:600;letter-spacing:.01em;text-transform:none;color:#f0f5fff5;text-shadow:0 1px 12px rgba(0,0,0,.45);line-height:1.05}.home-action-split{display:flex;flex-direction:column;align-items:stretch;gap:.65rem;width:100%;max-width:22rem;flex-shrink:0;margin-top:.75rem;margin-left:auto;margin-right:auto;margin-bottom:max(1.35rem,calc(env(safe-area-inset-bottom,0px) + .85rem));padding:.35rem 0 0;background:none;border:none;box-shadow:none}.home-action-split__btn{flex:none;width:100%;min-width:0;padding:.88rem .65rem;font-size:.92rem;font-weight:700;border-radius:var(--radius-sm);border:1px solid rgba(100,130,200,.35);background:#181c28e6;color:var(--text);cursor:pointer;font:inherit;transition:border-color .2s ease,background .2s ease,transform .2s var(--ease-enter)}.home-action-split__btn:hover{border-color:#78a0e673;background:#202636f2}.home-action-split__btn--primary{background:linear-gradient(145deg,#3b82f659,#34d39933);border-color:#60a5fa73;color:#f0f4ff}.home-bilde-stack{width:100%;max-width:22rem;margin:0 auto;padding:0 .5rem .75rem;box-sizing:border-box}.home-bilde-tabs{display:flex;gap:.35rem;margin-bottom:.5rem}.home-bilde-tabs__tab{flex:1;padding:.55rem .5rem;font-size:.8rem;font-weight:700;border-radius:var(--radius-sm);border:1px solid rgba(100,130,200,.28);background:#121622bf;color:#c8d2ebe0;cursor:pointer;font:inherit;transition:border-color .2s ease,background .2s ease,color .2s ease}.home-bilde-tabs__tab--active{border-color:#60a5fa80;background:#28344eeb;color:#f0f4ff}.home-bilde-panel{text-align:left}#panel-home-bilde-ai:not([hidden]){position:fixed;inset:0;width:100%;max-width:none;height:auto;min-height:0;min-height:100dvh;min-height:-webkit-fill-available;max-height:none;margin:0;padding:0;z-index:2147483640;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:none;pointer-events:auto;isolation:isolate;background-color:#212121;background-image:none}#panel-home-bilde-ai:not([hidden]):has(#home-ai-stage-camera:not([hidden])){background:var(--bg)}#panel-home-bilde-ai:not([hidden]):has(#home-ai-stage-chat:not([hidden])){overflow:visible}#panel-home-bilde-ai:not([hidden]) .home-ai-fullscreen{padding-top:calc(env(safe-area-inset-top,0px) + .5rem);padding-left:0;padding-right:0}#panel-home-bilde-ai:not([hidden]) .home-ai-fs-status{padding:.35rem 1rem .2rem}#panel-home-bilde-ai:not([hidden]) .home-ai-gpt__header{padding:.5rem .65rem .45rem}#panel-home-bilde-ai:not([hidden]) .home-ai-gpt__mode-hint{padding:.5rem 1rem}#panel-home-bilde-ai:not([hidden]) .home-ai-gpt__mode-hint--contract{padding:.32rem .8rem .36rem}#panel-home-bilde-ai:not([hidden]) .home-ai-gpt__context{padding:.45rem 1rem .5rem}#panel-home-bilde-ai:not([hidden]) .home-ai-gpt__row{padding-left:1rem;padding-right:1rem}.view-home:has(#panel-home-bilde-ai:not([hidden])) .home-main{position:relative;z-index:5000;isolation:isolate}.view-home:has(#panel-home-bilde-ai:not([hidden])) .home-bilde-stack{max-width:none;width:100%;margin:0;padding:0;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.view-home:has(#panel-home-bilde-ai:not([hidden])) .home-bottom-nav{display:none!important}body.home-ai-panel-open .home-main{position:relative;z-index:5000;isolation:isolate}body.home-ai-panel-open .home-bilde-stack{max-width:none;width:100%;margin:0;padding:0;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}body.home-ai-panel-open .home-bottom-nav{display:none!important}body.home-ai-panel-open{overflow:hidden;overscroll-behavior:none;background-color:#212121!important;background-image:none!important;background-attachment:scroll!important}body.home-ai-panel-open #app,body.home-ai-panel-open #app-launch{visibility:hidden!important;pointer-events:none!important}body.home-ai-panel-open #app.app-root--home{overflow:hidden;min-height:100dvh;min-height:-webkit-fill-available}body.home-ai-panel-open #app.app-root--home .app-body{overflow:hidden}body.home-ai-panel-open .view-home.surface--home{padding-bottom:0;overflow:hidden}body.home-ai-panel-open .home-user-bar,body.home-ai-panel-open .home-vegref{visibility:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}#home-ai-chat-input.home-ai-gpt__textarea{font-size:16px}.home-bilde-panel__hint{margin:0;font-size:.82rem;line-height:1.45;color:#aab9d7eb}.home-ai-form{display:flex;flex-direction:column;gap:.45rem}.home-ai-form__label{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#96a5c8f2}.home-ai-form__file,.home-ai-form__input,.home-ai-form__textarea{width:100%;box-sizing:border-box;padding:.55rem .65rem;font-size:.88rem;border-radius:var(--radius-sm);border:1px solid rgba(100,130,200,.35);background:#0c101ce0;color:var(--text);font:inherit}.home-ai-form__textarea{resize:vertical;min-height:4.5rem}.home-ai-form__submit{margin-top:.35rem;align-self:stretch}.home-ai-form__status{margin:.25rem 0 0;min-height:1.25em;font-size:.8rem;color:#a0c8ffe6}.home-ai-result{margin-top:.65rem;padding:.65rem .75rem;border-radius:var(--radius-sm);border:1px solid rgba(96,165,250,.22);background:#080c188c}.home-ai-result__block{margin-bottom:.75rem}.home-ai-result__block:last-child{margin-bottom:0}.home-ai-result__h{margin:0 0 .25rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#93c5fdf2}.home-ai-result__p{margin:0;font-size:.84rem;line-height:1.45;color:#e6eefff2}.home-ai-result__report{white-space:normal}.home-ai-stage--camera{display:flex;flex-direction:column;gap:.5rem}.home-ai-video-stage{position:relative;border-radius:var(--radius-sm);overflow:hidden;background:#00000059;aspect-ratio:4 / 3;max-height:52vh}.home-ai-video{display:block;width:100%;height:100%;object-fit:cover}.home-ai-capture-fab{position:absolute;bottom:.65rem;left:50%;transform:translate(-50%);padding:.5rem 1rem;border-radius:999px;border:none;font:inherit;font-weight:600;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 14px #2563eb73;cursor:pointer}.home-ai-file-fallback{align-self:center;font-size:.82rem}.home-ai-fullscreen{flex:1 1 0;min-height:0;display:flex;flex-direction:column;width:100%;height:100%;max-height:100%;box-sizing:border-box;padding-top:env(safe-area-inset-top,0);padding-right:env(safe-area-inset-right,0);padding-left:env(safe-area-inset-left,0);padding-bottom:0;pointer-events:auto}#panel-home-bilde-ai:not([hidden]) .home-ai-fullscreen.ai-doc-container{min-height:100dvh;min-height:-webkit-fill-available;display:flex;flex-direction:column}.home-ai-fs-status{flex-shrink:0;margin:0;padding:.35rem max(1rem,env(safe-area-inset-left)) .2rem max(1rem,env(safe-area-inset-right));font-size:.75rem;line-height:1.35;color:#ececec85;min-height:.25rem;width:100%;max-width:none;box-sizing:border-box;text-align:center}.home-ai-camera-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem 1rem}.home-ai-camera-hint{text-align:center}.home-ai-stage--fs{flex:1;min-height:0;overflow:auto}#home-ai-stage-camera[hidden],#home-ai-stage-chat[hidden]{display:none!important}#home-ai-stage-chat:not([hidden]){display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:hidden;align-self:stretch}.home-ai-pdf-dialog{z-index:10050;width:min(100%,26rem);max-width:calc(100vw - 1.5rem);max-height:min(88dvh,100%);margin:auto;padding:0;border:none;border-radius:var(--radius-sm);background:#2b2d35;color:#ececf1;box-shadow:0 18px 48px #0000008c}.home-ai-pdf-dialog::backdrop{background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.home-ai-pdf-dialog__box{display:flex;flex-direction:column;gap:.65rem;padding:1rem 1rem 1.1rem;box-sizing:border-box}.home-ai-pdf-dialog__title{margin:0;font-size:1rem;font-weight:600;text-align:center;color:#ececf1}.home-ai-pdf-dialog__preview{margin:0;padding:.65rem .75rem;max-height:min(48vh,22rem);overflow:auto;font-size:.82rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;border-radius:8px;border:1px solid rgba(86,88,105,.65);background:#00000040;color:#e6ebf5f2}.home-ai-pdf-dialog__preview--html{white-space:normal}.home-ai-pdf-dialog__badge{margin:0 0 .45rem;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#86efac}.home-ai-pdf-dialog__summary{white-space:normal}.home-ai-pdf-dialog__loading{margin:0;color:#c8d2e6eb}.home-ai-pdf-dialog__hint{margin:.55rem 0 0;font-size:.72rem;color:#b4bed2e0;line-height:1.35}.home-ai-pdf-dialog__preview .pdf-kw{display:inline;border:1.5px solid #22c55e;border-radius:3px;padding:.07em .2em;margin:0 .05em;background:#22c55e24;box-decoration-break:clone;-webkit-box-decoration-break:clone}.home-ai-pdf-dialog__status{margin:0;min-height:1.1em;font-size:.78rem;color:#b4bed2f2}.home-ai-pdf-dialog__actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:stretch}.home-ai-pdf-dialog__actions .btn{flex:1 1 auto;min-width:0}.home-ai-gpt{display:flex;flex-direction:column;min-height:min(70vh,520px);max-height:78vh;border-radius:var(--radius-sm);background:#212121;border:1px solid rgba(255,255,255,.08);box-shadow:none;overflow:hidden;font-family:ui-sans-serif,-apple-system,system-ui,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.home-ai-gpt.home-ai-gpt--fs{flex:1 1 0%;min-height:0;width:100%;max-width:none;max-height:none;border-radius:0;border:none;box-shadow:none;background:#212121;align-self:stretch}.home-ai-gpt__header{display:grid;grid-template-columns:2.5rem minmax(0,1fr) 2.5rem;align-items:center;gap:0;padding:.5rem max(.65rem,env(safe-area-inset-left)) .45rem max(.65rem,env(safe-area-inset-right));border-bottom:1px solid rgba(255,255,255,.08);background:#212121;flex-shrink:0;min-height:2.75rem;box-sizing:border-box}.home-ai-gpt__header-center{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-width:0;width:100%}.home-ai-gpt__header-title{margin:0;width:100%;font-size:1.0625rem;font-weight:600;letter-spacing:-.02em;line-height:1.25;color:#f5f5f5;text-align:center}.home-ai-gpt__header-spacer{grid-column:3;grid-row:1;width:2.5rem;height:2.5rem;flex-shrink:0;pointer-events:none}.home-ai-gpt__close{grid-column:1;grid-row:1;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:none;border-radius:999px;background:transparent;color:#ececec;font:inherit;cursor:pointer;flex-shrink:0;align-self:center;-webkit-tap-highlight-color:transparent}.home-ai-gpt__close:hover{background:#ffffff14}.home-ai-gpt__close-icon{display:block}.home-ai-gpt__tool{padding:.35rem .55rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#ececec;font:inherit;font-size:.7rem;font-weight:500;cursor:pointer;white-space:nowrap;flex-shrink:0}.home-ai-gpt__tool:hover{background:#ffffff1a}.home-ai-gpt__tool--active{border-color:#19c37d8c;background:#19c37d1f;color:#b6f0d2}.home-ai-gpt__mode-hint{margin:0;padding:.5rem max(1rem,env(safe-area-inset-left)) .5rem max(1rem,env(safe-area-inset-right));font-size:.75rem;line-height:1.4;color:#ecececbf;border-bottom:1px solid rgba(255,255,255,.06);background:transparent;width:100%;max-width:none;box-sizing:border-box}.home-ai-gpt__mode-hint strong{font-weight:600;color:#ececec}.home-ai-gpt__mode-hint--contract{padding:.32rem .8rem .36rem;background:#19c37d0f;border-bottom-color:#19c37d26}.home-ai-gpt__context{display:flex;align-items:flex-start;gap:.55rem;padding:.45rem max(1rem,env(safe-area-inset-left)) .5rem max(1rem,env(safe-area-inset-right));border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0;width:100%;max-width:none;margin:0;box-sizing:border-box}#home-ai-stage-chat.home-ai-gpt__stage--contract-rag .home-ai-gpt__context:has(#home-ai-preview-img[hidden]){display:none}.home-ai-gpt__mode-hint[hidden]{display:none!important}.home-ai-gpt__thumb-wrap{display:flex;align-items:center;gap:.65rem;flex:1;min-width:0}.home-ai-gpt__thumb-ph{margin:0;font-size:.8125rem;line-height:1.5;color:#ececec94}.home-ai-gpt__thumb{width:64px;height:64px;object-fit:cover;border-radius:12px;border:1px solid rgba(255,255,255,.1);flex-shrink:0}.home-ai-gpt__scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:.35rem 0 .75rem;display:flex;flex-direction:column;gap:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}#panel-home-bilde-ai:not([hidden]) #home-ai-stage-chat:not([hidden]) .home-ai-gpt__scroll{padding-bottom:calc(6.25rem + 20px)}#home-ai-chat-log:empty{flex:1;min-height:0;align-items:center;justify-content:flex-start;padding:.5rem 1rem .75rem;box-sizing:border-box;color:#ececec61;font-size:.78rem;line-height:1.45;text-align:center}#home-ai-chat-log:empty:after{content:none}.home-ai-gpt__row{display:flex;width:100%;padding:0 max(1rem,env(safe-area-inset-left)) 0 max(1rem,env(safe-area-inset-right));box-sizing:border-box}.home-ai-gpt__row--user,.home-ai-gpt__row--assistant{justify-content:center}.home-ai-gpt__turn{display:flex;align-items:flex-start;gap:.65rem;width:100%;max-width:40rem;margin-left:auto;margin-right:auto;padding:.55rem 0;box-sizing:border-box}.home-ai-gpt__turn--user{justify-content:flex-end}.home-ai-gpt__avatar{flex-shrink:0;width:1.875rem;height:1.875rem;border-radius:3px;background:linear-gradient(145deg,#19c37d,#0e8f5f);display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px #00000059}.home-ai-gpt__avatar-mark{display:block;width:.65rem;height:.65rem;border:2px solid rgba(255,255,255,.92);border-radius:2px;transform:rotate(45deg);opacity:.95}.home-ai-gpt__bubble{min-width:0;border-radius:1.125rem;padding:.65rem .95rem;font-size:.9375rem;line-height:1.55;letter-spacing:-.011em}.home-ai-gpt__bubble--user{max-width:min(88%,22rem);background:#2f2f2f;color:#f0f0f0;border:1px solid rgba(255,255,255,.06);box-shadow:none}.home-ai-gpt__bubble--assistant{flex:1;max-width:none;padding:.2rem 0 0;background:transparent;color:#ececec;border-radius:0}.home-ai-gpt__user-p{margin:0}.home-ai-gpt__em{font-style:italic;opacity:.88}.home-ai-gpt__reply{margin:0}.home-ai-gpt__reply-p{margin:0;color:#edededf5;font-size:.9375rem;line-height:1.65;letter-spacing:-.012em;word-break:break-word;overflow-wrap:anywhere}.home-ai-gpt__reply-p+.home-ai-gpt__reply-p{margin-top:.65rem}.home-ai-gpt__stream-cursor{display:inline-block;width:2px;height:1.05em;margin-left:1px;vertical-align:text-bottom;background:#ececec;border-radius:1px;animation:home-ai-stream-cursor .95s step-end infinite}@keyframes home-ai-stream-cursor{50%{opacity:0}}.home-ai-gpt__bubble--appear-in{animation:home-ai-bubble-appear .38s cubic-bezier(.2,.8,.2,1) both}@keyframes home-ai-bubble-appear{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.home-ai-gpt__bubble--appear-in{animation:none}}.home-ai-gpt__composer{flex-shrink:0;margin-top:auto;width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch;gap:.45rem}#panel-home-bilde-ai:not([hidden]) #home-ai-stage-chat:not([hidden]) .home-ai-gpt__composer.input-bar{position:fixed;left:0;right:0;bottom:calc(var(--home-ai-keyboard-inset, 0px) - 4px);flex-shrink:0;width:100%;max-width:100%;box-sizing:border-box;gap:.25rem;border-top:none;background:#212121;padding:8px 10px;z-index:2147483641}#panel-home-bilde-ai:not([hidden]) .home-ai-gpt__composer-tool{min-height:2.5rem;padding:.38rem .3rem}#panel-home-bilde-ai:not([hidden]) .home-ai-gpt__input-shell{min-height:2.75rem;padding:.42rem .6rem .42rem .75rem}.home-ai-gpt__composer-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;width:100%;max-width:none;margin:0;box-sizing:border-box;align-items:stretch}.home-ai-gpt__composer-tool{min-width:0;min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:.45rem .35rem;font-size:.75rem;font-weight:600;letter-spacing:-.01em}.home-ai-gpt__input-shell{display:flex;align-items:center;gap:.5rem;width:100%;max-width:none;margin:0;min-height:3rem;padding:.5rem .65rem .5rem .85rem;border-radius:1.375rem;border:1px solid rgba(255,255,255,.11);background:#2c2c2c;box-shadow:inset 0 1px #ffffff0a;box-sizing:border-box}.home-ai-gpt__input-shell:focus-within{border-color:#ffffff38;background:#303030}.home-ai-gpt__textarea{flex:1;min-width:0;min-height:2.5rem;max-height:8rem;resize:none;border:none;background:transparent;color:#f2f2f2;font:inherit;font-size:16px;line-height:1.45;padding:.35rem .15rem .35rem 0}.home-ai-gpt__textarea::placeholder{color:#8e8e8e}.home-ai-gpt__textarea:focus{outline:none}.home-ai-gpt__send{flex-shrink:0;align-self:center;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:999px;background:#ececec;color:#1a1a1a;cursor:pointer;transition:background .15s ease,opacity .15s ease,transform .12s ease}.home-ai-gpt__send:hover:not(:disabled){background:#22c55e;filter:brightness(1.06)}.home-ai-gpt__send:disabled{opacity:.35;cursor:not-allowed;background:#565656;color:#9a9a9a}.home-ai-gpt__send:not(:disabled){background:linear-gradient(180deg,#22c55e,#16a34a);color:#fff;box-shadow:0 1px 3px #00000059}.home-ai-gpt__send-icon{display:block}.home-ai-gpt--thinking .home-ai-gpt__input-shell{border-color:#19c37d59;animation:home-ai-shell-glow 1.65s ease-in-out infinite}.home-ai-gpt--thinking .home-ai-gpt__header-title{animation:home-ai-title-pulse 2.1s ease-in-out infinite}@keyframes home-ai-shell-glow{0%,to{box-shadow:0 0 0 1px #00000047,0 0 0 2px #19c37d38,0 0 8px #19c37d2e}50%{box-shadow:0 0 0 1px #19c37d6b,0 0 0 3px #19c37d47,0 0 12px #19c37d38}}@keyframes home-ai-title-pulse{0%,to{opacity:1}50%{opacity:.78}}.home-ai-gpt__typing-row{align-items:flex-start}.home-ai-gpt__typing-row .home-ai-gpt__turn{align-items:center;padding:.4rem 0 .6rem}.home-ai-gpt__typing{display:inline-flex;align-items:center;gap:.28rem;padding:.35rem 0;min-height:1.5rem}.home-ai-gpt__typing span{display:block;width:.42rem;height:.42rem;border-radius:50%;background:#8e8e8e;animation:home-ai-typing-dot 1.12s ease-in-out infinite}.home-ai-gpt__typing span:nth-child(2){animation-delay:.18s}.home-ai-gpt__typing span:nth-child(3){animation-delay:.36s}@keyframes home-ai-typing-dot{0%,65%,to{opacity:.38;transform:translateY(0)}32%{opacity:1;transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.home-ai-gpt--thinking .home-ai-gpt__input-shell,.home-ai-gpt--thinking .home-ai-gpt__header-title{animation:none}.home-ai-gpt__typing span{animation:none;opacity:.72}}.home-ai-result--inchat{margin:0;padding:0;border:none;background:transparent}.home-ai-result--inchat .home-ai-result__block{background:#2f2f2f;border-radius:.65rem;padding:.55rem .7rem;margin-bottom:.5rem;border:1px solid rgba(255,255,255,.08)}.home-ai-result--inchat .home-ai-result__block:last-child{margin-bottom:0}.home-ai-result--inchat .home-ai-result__h{color:#ececec99;font-size:.68rem;letter-spacing:.08em}.home-ai-result--inchat .home-ai-result__p{color:#ececec;font-size:.875rem;line-height:1.62;letter-spacing:-.01em}.home-drawer-backdrop{position:fixed;inset:0;z-index:80;background:#0000;transition:background .32s ease;pointer-events:none}.home-drawer-backdrop--visible{background:#0408107a;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);pointer-events:auto}.home-drawer{position:fixed;top:0;right:0;z-index:90;width:min(18rem,86vw);height:100dvh;max-height:100vh;background-color:var(--bg);border-left:1px solid rgba(147,197,253,.38);box-shadow:-32px 0 80px #000000a6,-1px 0 #ffffff0f inset;transform:translate(100%);transition:transform .34s var(--ease-out);display:flex;flex-direction:column;padding:max(.75rem,env(safe-area-inset-top,0px)) 0 max(.75rem,env(safe-area-inset-bottom,0px)) max(.75rem,env(safe-area-inset-right,0px));box-sizing:border-box}.home-drawer--open{transform:translate(0)}.home-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem .75rem .85rem;border-bottom:1px solid rgba(96,165,250,.12);margin-bottom:.5rem}.home-drawer__title{font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#93c5fdbf}.home-drawer__close{width:2.25rem;height:2.25rem;border:none;border-radius:10px;background:#ffffff0f;color:var(--text);font-size:1.35rem;line-height:1;cursor:pointer;font:inherit}.home-drawer__nav{display:flex;flex-direction:column;gap:.25rem;padding:.35rem .65rem}.home-drawer__link{display:block;width:100%;text-align:left;padding:.85rem .75rem;font-size:.95rem;font-weight:600;color:var(--text);background:#ffffff0a;border:1px solid rgba(96,165,250,.12);border-radius:12px;cursor:pointer;font:inherit;transition:background .2s ease,border-color .2s ease}.home-drawer__link:hover{background:#3b82f61f;border-color:#60a5fa47}.home-drawer__nav--stack{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;gap:.35rem;padding-bottom:.75rem}.menu-session-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0 1rem}.menu-session-tabs__tab{flex:1 1 calc(50% - .25rem);min-width:min(100%,9rem);padding:.55rem .45rem;font-size:.72rem;font-weight:600;line-height:1.25;text-align:center;color:var(--text);background:#ffffff0d;border:1px solid rgba(96,165,250,.18);border-radius:10px;cursor:pointer;font:inherit}.menu-session-tabs__tab:hover{background:#3b82f61a}.menu-session-tabs__tab--active{background:#3b82f638;border-color:#93c5fd73;color:#f0f4ff}.menu-session-panel__lead{margin:0 0 .75rem;font-size:.82rem;line-height:1.45;color:var(--muted)}.menu-session-panel{margin-bottom:.5rem}.menu-browse-map-wrap{margin-top:.75rem;border-radius:16px;overflow:hidden;border:1px solid rgba(0,0,0,.08);background:#e8eaed;box-shadow:0 2px 12px #0000001a}.menu-browse-map{height:min(52dvh,400px);width:100%;min-height:220px}.menu-browse-map.leaflet-container,#received-photos-map.leaflet-container{background:#d2d5db;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.friction-view{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;background:var(--bg);box-sizing:border-box}.friction-view__top{flex-shrink:0;display:flex;align-items:center;gap:.5rem;padding:max(.5rem,env(safe-area-inset-top,0px)) max(.75rem,env(safe-area-inset-right,0px)) .35rem max(.75rem,env(safe-area-inset-left,0px));background:linear-gradient(180deg,rgba(14,20,34,.98) 0%,rgba(30,58,138,.22) 72%,transparent 100%)}.friction-view__back.btn-back{margin-bottom:0}.friction-view__title{flex:1;min-width:0;font-size:.95rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.friction-view__list-open{flex-shrink:0;margin-left:auto;font-size:.85rem;font-weight:600;color:#93c5fdf2;padding:.35rem .45rem}.friction-view__map{flex:1;min-height:0;width:100%;z-index:0}.friction-view__map.leaflet-container{background:#d2d5db;font-family:var(--font);isolation:isolate}.friction-view__map.leaflet-container .leaflet-tile-container img.leaflet-tile{filter:contrast(1.28) saturate(1.06)!important;image-rendering:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden}.friction-view__status{position:absolute;left:50%;transform:translate(-50%);top:calc(env(safe-area-inset-top,0px) + 3.1rem);z-index:5;max-width:min(92vw,22rem);margin:0;padding:.4rem .65rem;font-size:.78rem;line-height:1.35;text-align:center;color:#e8eaef;background:#0000008c;border-radius:10px;border:1px solid rgba(255,255,255,.08);pointer-events:none}.friction-view__status[hidden]{display:none!important}.friction-view__dock{flex-shrink:0;position:relative;z-index:10;margin-top:-5.25rem;padding-top:5.7rem;padding-bottom:max(.65rem,env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,#0e142200 0% 12%,#2563eb12 28%,#0e142285 52%,#0e1422e0 74%,#0e1422f7)}.friction-view__hud{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.35rem 1rem .5rem;margin:0 auto;max-width:28rem}.friction-view__hud-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#bac6dcbf}.friction-view__hud-value{font-size:1.35rem;font-weight:800;font-variant-numeric:tabular-nums;color:#f8fafc;text-shadow:0 1px 8px rgba(0,0,0,.45)}.friction-view__tabs{display:flex;align-items:stretch;justify-content:stretch;gap:.35rem;padding:0 .75rem .5rem;max-width:28rem;margin:0 auto}.friction-tab{flex:1 1 0;min-height:2.85rem;padding:.45rem .5rem;font:inherit;font-size:.88rem;font-weight:700;letter-spacing:.02em;color:#e2e8f0eb;background:#ffffff12;border:1px solid rgba(148,163,184,.22);border-radius:12px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}@media(hover:hover)and (pointer:fine){.friction-tab:hover{background:#60a5fa1f;border-color:#60a5fa59}}.friction-tab:active{transform:scale(.98)}.friction-tab[aria-selected=true]{background:#60a5fa33;border-color:#93c5fd73;box-shadow:0 0 0 1px #93c5fd33 inset}.friction-value-dialog{border:none;padding:0;max-width:min(94vw,22rem);width:100%;border-radius:16px;background:#181c27;color:var(--text);box-shadow:0 24px 64px #0000008c}.friction-value-dialog::backdrop{background:#04060c9e}.friction-value-dialog__inner{padding:1.15rem 1.2rem 1.2rem}.friction-value-dialog__title{margin:0 0 .35rem;font-size:1.05rem;font-weight:700}.friction-value-dialog__lead{margin:0 0 .85rem;font-size:.82rem;line-height:1.45;color:var(--muted)}.friction-value-dialog__label{display:block;margin-bottom:.35rem;font-size:.8rem;font-weight:600;color:#93c5fde6}.friction-value-dialog__input{width:100%;box-sizing:border-box;margin-bottom:1rem;padding:.6rem .7rem;font-size:1.05rem;border-radius:10px;border:1px solid rgba(96,165,250,.35);background:var(--surface);color:var(--text)}.friction-value-dialog__actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.friction-list-dialog{border:none;padding:0;max-width:min(94vw,24rem);width:100%;max-height:min(78vh,32rem);border-radius:16px;background:#181c27;color:var(--text);box-shadow:0 24px 64px #0000008c}.friction-list-dialog::backdrop{background:#04060c9e}.friction-list-dialog__inner{display:flex;flex-direction:column;max-height:inherit;padding:0}.friction-list-dialog__head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:.5rem .75rem;padding:1rem 1.1rem .65rem;border-bottom:1px solid rgba(148,163,184,.15)}.friction-list-dialog__head-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.35rem .65rem;margin-left:auto}.friction-list-dialog__show-all{font-size:.82rem;font-weight:600;color:#93c5fdf2;white-space:nowrap}.friction-list-dialog__title{margin:0;font-size:1.02rem;font-weight:700}.friction-list-dialog__body{flex:1;min-height:0;overflow:auto;padding:.65rem 1rem 1.1rem;-webkit-overflow-scrolling:touch}.friction-list-dialog__empty{margin:.5rem 0 0;font-size:.84rem;line-height:1.45;color:var(--muted)}.friction-list-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem .65rem;padding:.55rem 0;border-bottom:1px solid rgba(148,163,184,.12)}.friction-list-row__actions{display:flex;flex-shrink:0;align-items:center;gap:.35rem}.friction-list-row__map{font-size:.78rem;font-weight:600;color:#93c5fdf2;padding:.2rem .35rem}.friction-list-row:last-child{border-bottom:none}.friction-list-row__main{display:flex;flex-direction:column;gap:.15rem;min-width:0}.friction-list-row__meta{font-size:.8rem;font-weight:600;color:#e2e8f0eb}.friction-list-row__detail{font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums}.friction-list-row__del{flex-shrink:0;font-size:.78rem;padding:.2rem .35rem}.leaflet-tooltip.friction-history-tooltip{padding:.35rem .55rem!important;font-size:.78rem!important;font-weight:600;color:#f1f5f9!important;background:#0f172af0!important;border:1px solid rgba(148,163,184,.35)!important;border-radius:8px!important;box-shadow:0 4px 14px #00000059}.leaflet-marker-icon.friction-value-marker{border:none;background:transparent}.friction-value-marker__inner{display:inline-block;min-width:2.5rem;padding:.35rem .55rem;font-size:.82rem;font-weight:800;font-variant-numeric:tabular-nums;color:#f8fafc;background:#0a0a0ceb;border:2px solid rgba(250,250,250,.95);border-radius:10px;box-shadow:0 4px 16px #00000073;white-space:nowrap}.menu-info-card{margin:.75rem 0;padding:1rem 1.05rem;border-radius:12px;border:1px solid rgba(96,165,250,.18);background:#141a28a6}.menu-info-card__row{margin:0 0 .65rem;font-size:.92rem;line-height:1.45}.menu-info-card__row:last-child{margin-bottom:0}.menu-info-card__label{display:block;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#93a0b9e0;margin-bottom:.2rem}.menu-user-shortid{font-variant-numeric:tabular-nums;letter-spacing:.1em;font-weight:700}.menu-user-hint{font-size:.8rem;color:var(--muted);margin:.5rem 0 0}.menu-info-prose{margin:.75rem 0 0;font-size:.88rem;line-height:1.55;color:#d2daebeb}.menu-contacts-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.menu-contact-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem .75rem;padding:.75rem .85rem;border-radius:12px;border:1px solid rgba(96,165,250,.15);background:#ffffff08}.menu-contact-row__name{font-weight:600}.menu-contact-row__id{font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}.session-row--readonly .session-row__meta{width:100%}@media(prefers-reduced-motion:no-preference){.view-panel-enter{animation:view-panel-slide-in .42s var(--ease-enter) both}}@media(prefers-reduced-motion:reduce){.view-panel-enter{animation:none}}@keyframes view-panel-slide-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}.btn-text.btn-logout{padding:.4rem .65rem;font-size:.8rem;background:transparent;border:1px solid rgba(248,113,113,.4);color:var(--danger);flex-shrink:0;border-radius:var(--radius-sm);cursor:pointer;font:inherit}.btn-text.btn-logout:hover{background:#f871711f}.home-promo{margin:2.25rem -1.5rem 0;text-align:center}.home-promo__eyebrow{margin:0 0 .65rem;font-size:.65rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:#93c5fd73}.home-promo__wrap{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid rgba(96,165,250,.14);box-shadow:0 0 0 1px #00000059 inset,0 20px 56px #0000008c,0 4px 24px #3b82f614}.home-promo__wrap:before{content:"";position:absolute;inset:0 0 auto;height:clamp(48px,14vw,88px);background:linear-gradient(180deg,#000510 0%,rgba(0,5,16,.55) 42%,transparent 100%);z-index:1;pointer-events:none}.home-promo__wrap:after{content:"";position:absolute;inset:auto 0 0;height:clamp(40px,12vw,72px);background:linear-gradient(0deg,rgba(0,5,16,.75) 0%,rgba(0,5,16,.2) 55%,transparent 100%);z-index:1;pointer-events:none}.home-promo__img{display:block;width:100%;height:auto}.home-title{margin:0 0 .75rem;font-size:clamp(1.35rem,4vw,1.65rem);font-weight:700;letter-spacing:-.02em;line-height:1.2}.view-home .home-title{padding-top:0;margin-top:0}.home-lead{margin:0 auto 1.75rem;max-width:26rem;font-size:.9rem;color:#c8d0e0eb;line-height:1.55}.home-incoming{max-width:26rem;margin:0 auto 1.35rem;padding:1rem 1.1rem 1.1rem;border-radius:var(--radius);text-align:left}.home-incoming__title{margin:0 0 .45rem;font-size:1rem;font-weight:700;color:#93c5fd;letter-spacing:-.02em}.home-incoming__hint{margin:0 0 .65rem;font-size:.78rem;line-height:1.45;color:var(--muted)}.home-incoming__status{margin:0 0 .5rem;min-height:1.2em;font-size:.82rem;color:#fbbf24}.home-incoming-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.home-incoming-empty{margin:0;font-size:.84rem;color:var(--muted);line-height:1.45}.home-incoming-row{padding:.65rem .75rem;border-radius:12px;background:#00000038;border:1px solid rgba(96,165,250,.15)}.home-incoming-row__meta{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.55rem}.home-incoming-row__from{font-size:.88rem;font-weight:600;color:var(--text)}.home-incoming-row__date{font-size:.75rem;color:var(--muted)}.home-incoming-row__date-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .65rem}.home-incoming-row__kind{font-size:.72rem;font-weight:700;color:#86efac;letter-spacing:.04em;text-transform:uppercase}.home-incoming-row__actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.btn-incoming-import{font-size:.82rem;padding:.45rem .65rem}.btn-incoming-dismiss{font-size:.78rem;padding:.35rem .5rem}.home-actions{display:flex;flex-direction:column;gap:.65rem;max-width:22rem;margin:0 auto}.btn-home{width:100%;padding:.95rem 1.25rem;font-size:1rem;border-radius:var(--radius-sm);background:#181c28e6;color:var(--text);border:1px solid rgba(100,130,200,.28);transition:transform .28s var(--ease-enter),border-color .28s ease,background .28s ease}.btn-home:hover{border-color:#78a0e673;background:#202636f2}.btn-home--primary{background:linear-gradient(145deg,#3b82f659,#34d39933);border-color:#60a5fa73;color:#f0f4ff;font-weight:700}.btn-home--primary:hover{border-color:#93c5fd8c;filter:brightness(1.06)}.view-sub{padding:1.25rem 1.15rem 1.75rem}.subview-title{margin:.5rem 0 1rem;font-size:1.1rem;font-weight:600;letter-spacing:-.02em}.sub-empty{margin:1rem 0 0;font-size:.92rem;color:var(--muted);line-height:1.5}.session-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.session-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-radius:var(--radius-sm);border:1px solid rgba(42,49,66,.9);background:#0003;transition:border-color .28s var(--ease-enter),background .28s var(--ease-enter)}@media(hover:hover)and (pointer:fine){.session-row:hover{border-color:#60a5fa40;background:#60a5fa0f}}.session-row__meta{flex:1 1 12rem;min-width:0}.session-row__title{display:block;font-weight:600;font-size:.92rem;margin-bottom:.25rem}.session-row__stats{font-size:.78rem;color:var(--muted)}.session-row__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;flex-shrink:0}.session-row__action{flex-shrink:0}.btn-session-delete{padding:.45rem .75rem;font-size:.82rem;font-weight:600;border-radius:8px;cursor:pointer;border:1px solid rgba(248,113,113,.5);background:var(--danger-dim);color:#fecaca}.btn-session-delete:hover{background:#f8717138;border-color:#f87171a6;color:#fff}.btn-session-delete:focus-visible{outline:2px solid rgba(248,113,113,.65);outline-offset:2px}.btn-back{margin-bottom:.5rem;padding:.4rem 0;font-size:.88rem;font-weight:600;color:#93c5fdf2;background:transparent;border:none;cursor:pointer;text-align:left;border-radius:8px}.btn-back:hover{color:#bfdbfe;text-decoration:underline}.session-top{display:flex;flex-direction:column;align-items:stretch;gap:.65rem;margin-bottom:.25rem}.app-stack--session .session-top{padding-top:calc(env(safe-area-inset-top,0px) + .85rem);padding-left:max(0,env(safe-area-inset-left,0px));padding-right:max(0,env(safe-area-inset-right,0px));box-sizing:border-box}.session-top__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.5rem}.session-top__bar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.session-top__tab-group{display:flex;flex:1;min-width:0;align-items:stretch;gap:.35rem}.session-top__tab-group--equal{justify-content:stretch}.session-action-tab{flex:1 1 0;min-width:0;padding:.42rem .35rem;font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;border-radius:8px;border:1px solid rgba(96,165,250,.42);background:#3b82f61f;color:#93c5fd;cursor:pointer;font:inherit;line-height:1.2;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-action-tab:hover{background:#3b82f633;border-color:#78a5f08c;color:#bfdbfe}.session-action-tab:focus-visible{outline:2px solid rgba(147,197,253,.65);outline-offset:2px}.session-top__toolbar{display:flex;flex-direction:column;align-items:stretch;gap:.4rem;width:100%}.session-top__tab-group--icons{width:100%}.session-action-tab--icon{display:inline-flex;align-items:center;justify-content:center;padding:.5rem .4rem;min-height:2.85rem;font-size:0;letter-spacing:0;text-transform:none;line-height:0}.session-action-tab__icon{width:1.45rem;height:1.45rem;flex-shrink:0}.session-top__road{text-align:center}.session-top__road .session-road-side{margin:0;font-size:.84rem}.btn-inbox-header{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;font:inherit;color:#d2dcf5f2}.btn-inbox-header--toolbar{padding:.2rem .35rem;border-radius:8px}.btn-inbox-header--toolbar:hover{background:#60a5fa1f;color:#e8eefc}.btn-inbox-header:focus-visible{outline:2px solid rgba(147,197,253,.65);outline-offset:2px;border-radius:10px}.btn-inbox-header__wrap{position:relative;display:flex;align-items:center;justify-content:center;width:2.4rem;height:1.95rem}.btn-inbox-header__svg{width:1.68rem;height:1.68rem;display:block}.btn-inbox-header__badge{position:absolute;top:-.12rem;right:-.06rem;min-width:1.08rem;height:1.08rem;padding:0 .3rem;box-sizing:border-box;border-radius:999px;background:linear-gradient(165deg,#fb7185,#dc2626 92%);color:#fff;font-size:.62rem;font-weight:800;line-height:1.08rem;text-align:center;box-shadow:0 1px #ffffff38 inset,0 2px 6px #00000073;border:1px solid rgba(0,0,0,.2)}@keyframes inbox-icon-ding{0%,to{transform:rotate(0) translateY(0)}12%{transform:rotate(-15deg) translateY(1px)}28%{transform:rotate(12deg) translateY(-1px)}44%{transform:rotate(-9deg) translateY(0)}60%{transform:rotate(6deg) translateY(0)}76%{transform:rotate(-3deg) translateY(0)}}.btn-inbox-header__wrap--ding{animation:inbox-icon-ding .78s cubic-bezier(.36,.07,.19,.97) both}.kmt-dialog{border:none;padding:0;max-width:min(94vw,22rem);width:100%;border-radius:16px;background:#141824;color:var(--text);box-shadow:0 20px 56px #0000008c}.kmt-dialog.kmt-dialog--camera,.kmt-dialog.kmt-dialog--camera-warmup{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0;background:#000}.kmt-dialog--camera .kmt-dialog__inner,.kmt-dialog--camera-warmup .kmt-dialog__inner{display:flex;flex-direction:column;height:100%;min-height:0;padding:0;box-sizing:border-box}.kmt-dialog--camera .kmt-dialog__head--nav,.kmt-dialog--camera-warmup .kmt-dialog__head--nav{position:absolute;top:0;left:0;right:0;z-index:5;margin:0;padding:calc(env(safe-area-inset-top,0px) + .95rem) max(.5rem,env(safe-area-inset-right,0px)) .5rem max(.5rem,env(safe-area-inset-left,0px));background:linear-gradient(to bottom,rgba(0,0,0,.65) 0%,transparent 100%);align-items:center}.kmt-dialog--camera #kmt-panel-main,.kmt-dialog--camera-warmup #kmt-panel-main{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;padding:0;margin:0}.kmt-stack{flex:1;min-height:0;display:flex;flex-direction:column}.kmt-video-stage{position:relative;flex:1;min-height:12rem;background:#0a0c12;overflow:hidden}.kmt-dialog:not(.kmt-dialog--camera):not(.kmt-dialog--camera-warmup) .kmt-video-stage{border-radius:14px;border:1px solid rgba(96,165,250,.2);aspect-ratio:4 / 3;flex:none;max-height:52vh}.kmt-dialog--camera .kmt-video-stage,.kmt-dialog--camera-warmup .kmt-video-stage{position:absolute;inset:0;min-height:0}.kmt-video{display:block;width:100%;height:100%;object-fit:cover;transform:scaleX(1)}.kmt-camera-warmup{display:none;position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(155deg,#0a0e18,#141a2e 38%,#0d1222 72%,#0a0e18);background-size:240% 240%;animation:kmt-warmup-shimmer 2.4s ease-in-out infinite}.kmt-dialog--camera-warmup .kmt-camera-warmup{display:flex;align-items:center;justify-content:center}.kmt-dialog--camera-warmup .kmt-video{opacity:0}.kmt-dialog--camera .kmt-video{opacity:1;transition:opacity .5s cubic-bezier(.22,1,.36,1)}@keyframes kmt-warmup-shimmer{0%,to{background-position:0% 40%}50%{background-position:100% 60%}}@media(prefers-reduced-motion:reduce){.kmt-camera-warmup{animation:none}.kmt-dialog--camera .kmt-video{transition:opacity .2s ease}}.kmt-tap-focus-layer{position:absolute;inset:0;z-index:1;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.kmt-dialog:not(.kmt-dialog--camera):not(.kmt-dialog--camera-warmup) .kmt-tap-focus-layer{display:none}.kmt-focus-ripple{position:absolute;width:52px;height:52px;margin-left:-26px;margin-top:-26px;border:2px solid rgba(255,255,255,.9);border-radius:50%;pointer-events:none;z-index:3;box-shadow:0 0 0 1px #00000040,0 4px 20px #00000059;animation:kmt-focus-ripple-anim .55s ease-out forwards}@keyframes kmt-focus-ripple-anim{0%{transform:scale(.55);opacity:1}to{transform:scale(1.4);opacity:0}}@media(prefers-reduced-motion:reduce){.kmt-focus-ripple{animation:none;opacity:0}}.kmt-ref-overlay{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:.5rem .75rem calc(4.5rem + env(safe-area-inset-bottom,0px));text-align:left;background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.45) 55%,transparent 100%);pointer-events:none}.kmt-dialog:not(.kmt-dialog--camera):not(.kmt-dialog--camera-warmup) .kmt-ref-overlay{position:relative;padding:.65rem .75rem .75rem;margin-top:.5rem;border-radius:12px;background:#0c101ceb;border:1px solid rgba(96,165,250,.2)}.kmt-ref-overlay__road{font-size:clamp(1.08rem,3.8vw,1.38rem);font-weight:800;line-height:1.2;color:#f8fafc;margin-bottom:.2rem;text-shadow:0 1px 8px rgba(0,0,0,.9)}.kmt-ref-overlay__compact{font-size:clamp(.84rem,2.85vw,.98rem);font-weight:600;font-variant-numeric:tabular-nums;color:#dce6faf2;letter-spacing:.02em;text-shadow:0 1px 6px rgba(0,0,0,.85);margin-bottom:.15rem}.kmt-ref-overlay__kf{font-size:clamp(.76rem,2.2vw,.84rem);line-height:1.35;color:#bac6dce0;text-shadow:0 1px 4px rgba(0,0,0,.8);word-break:break-word}.kmt-capture-fab{position:absolute;bottom:max(1rem,env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:4;padding:.75rem 1.5rem;font-size:.95rem;font-weight:800;border:none;border-radius:999px;cursor:pointer;font:inherit;color:#0a1628;background:linear-gradient(145deg,#6ee7b7,#34d399 45%,#059669);box-shadow:0 4px 20px #10b98173,0 0 0 1px #ffffff1f inset;touch-action:manipulation}.kmt-dialog:not(.kmt-dialog--camera):not(.kmt-dialog--camera-warmup) .kmt-capture-fab{position:relative;bottom:auto;left:auto;transform:none;width:100%;margin-top:.65rem;border-radius:12px}.kmt-dialog::backdrop{background:#04060cb8}.kmt-dialog__inner{padding:max(.65rem,env(safe-area-inset-top,0px)) 1.1rem 1.15rem}.kmt-dialog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.kmt-dialog__head--nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.45rem .5rem;margin-bottom:.75rem}.kmt-dialog__head-start{justify-self:start}.kmt-dialog__head-end{justify-self:end;width:2.75rem;min-width:2.75rem;min-height:2.75rem;pointer-events:none}.kmt-dialog__title{margin:0;font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.kmt-dialog__title--center{text-align:center;font-size:.98rem;min-width:0}.kmt-dialog__back{min-width:2.75rem;min-height:2.75rem;width:2.75rem;height:2.75rem;border:none;border-radius:12px;background:#ffffff14;color:var(--text);font-size:1.35rem;line-height:1;cursor:pointer;font:inherit;display:flex;align-items:center;justify-content:center;flex-shrink:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.kmt-dialog__back:hover{background:#ffffff1a}.kmt-dialog__status{margin:0 0 .85rem;font-size:.78rem;line-height:1.45;color:var(--muted)}.kmt-dialog__status--floating{position:absolute;top:max(4.35rem,calc(env(safe-area-inset-top,0px) + 3.35rem));left:50%;transform:translate(-50%);z-index:6;max-width:90%;margin:0;padding:.35rem .65rem;border-radius:8px;background:#000000b8;color:#fecaca;font-size:.76rem;text-align:center}.kmt-dialog:not(.kmt-dialog--camera):not(.kmt-dialog--camera-warmup) .kmt-dialog__status--floating{position:relative;top:auto;left:auto;transform:none;background:transparent;color:var(--muted);padding:0}.share-session-dialog{border:none;padding:0;max-width:min(96vw,24rem);width:100%;border-radius:16px;background:#141824;color:var(--text);box-shadow:0 20px 56px #0000008c}.share-session-dialog:not([open]){display:none!important;pointer-events:none}.share-session-dialog::backdrop{background:#04060cb8}.share-session-dialog__inner{padding:1rem 1.1rem 1.15rem;max-height:min(85dvh,32rem);overflow-y:auto}.share-session-dialog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.45rem}.share-session-dialog__head--end{justify-content:flex-end;margin-bottom:.35rem}.share-session-dialog--photos-send .share-session-dialog__inner--compact-photos{padding:.65rem .85rem .9rem;max-height:min(78dvh,26rem)}.share-session-hint--photos-empty{margin:0 0 .5rem;font-size:.78rem;line-height:1.35}.share-session-dialog__actions--photos-send{margin-top:.65rem;justify-content:stretch}.share-session-dialog__actions--photos-send .btn{width:100%;justify-content:center}.share-session-feedback--photos{margin:.35rem 0 0;min-height:0}.share-session-dialog__title{margin:0;font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.share-session-dialog__close{flex-shrink:0;width:2.25rem;height:2.25rem;border:none;border-radius:10px;background:#ffffff0f;color:var(--text);font-size:1.35rem;line-height:1;cursor:pointer;font:inherit}.share-session-dialog__close:hover{background:#ffffff1a}.share-session-dialog__lead{margin:0 0 .85rem;font-size:.8rem;line-height:1.45;color:var(--muted)}.share-session-label{display:block;margin:.65rem 0 .3rem;font-size:.78rem;font-weight:600;color:#93c5fde6}.share-session-label:first-of-type{margin-top:0}.share-session-select{width:100%;box-sizing:border-box;padding:.5rem .55rem;font-size:.9rem;border-radius:10px;border:1px solid rgba(96,165,250,.3);background:var(--surface);color:var(--text)}.share-session-subtitle{margin:.85rem 0 .35rem;font-size:.82rem;font-weight:700;color:#e8eaef}.share-session-subtitle--inline{margin:.65rem 0 .25rem}.share-session-dialog__title--compact{font-size:.98rem}.share-session-hint{margin:0 0 .5rem;font-size:.76rem;line-height:1.4;color:var(--muted)}.share-contacts-list{display:flex;flex-direction:column;gap:.4rem}.share-contact-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem .75rem;width:100%;text-align:left;padding:.55rem .65rem;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text);font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.share-contact-row:hover{border-color:#60a5fa59;background:#60a5fa14}.share-contact-row--selected{border-color:#22c55ebf;background:linear-gradient(145deg,#22c55e59,#16a34a38);box-shadow:0 0 0 1px #22c55e59 inset,0 4px 14px #16653459;color:#ecfdf5}.share-contact-row--selected:hover{border-color:#22c55ed9;background:linear-gradient(145deg,#22c55e6b,#16a34a47)}.share-contact-row--selected .share-contact-row__id{color:#ecfdf5e0}.share-contact-row__name{font-size:.86rem;font-weight:600}.share-contact-row__id{font-size:.72rem;font-variant-numeric:tabular-nums;color:var(--muted)}.share-session-input{width:100%;box-sizing:border-box;padding:.5rem .55rem;font-size:.95rem;border-radius:10px;border:1px solid rgba(96,165,250,.28);background:var(--surface);color:var(--text)}.share-session-input:focus{outline:2px solid rgba(96,165,250,.4);outline-offset:1px}.share-session-check{display:flex;align-items:center;gap:.45rem;margin:.65rem 0 .5rem;font-size:.82rem;color:var(--muted);cursor:pointer}.share-use-contact-btn{width:100%;margin-bottom:.5rem}.share-recipient-status{margin:.35rem 0 .25rem;font-size:.8rem;line-height:1.4;color:#a7f3d0}.share-session-feedback{margin:.25rem 0 .5rem;font-size:.8rem;line-height:1.4;color:var(--danger);min-height:1.2em}.share-session-dialog__actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;margin-top:.35rem}.home-import-status{margin:.75rem auto 0;max-width:28rem;text-align:center;font-size:.82rem;line-height:1.4;color:var(--muted)}.session-end-dialog{border:1px solid rgba(96,165,250,.25);border-radius:12px;padding:0;max-width:min(94vw,26rem);background:#181c27;color:var(--text);box-shadow:0 16px 48px #00000073}.session-end-dialog__inner{padding:1.15rem 1.2rem 1.25rem}.session-end-tabs{display:flex;gap:.35rem;margin:0 0 1rem;padding:0}.session-end-tabs__tab{flex:1 1 0;margin:0;padding:.45rem .5rem;font-size:.8rem;font-weight:600;color:var(--muted);background:#0003;border:1px solid rgba(96,165,250,.22);border-radius:8px;cursor:pointer;line-height:1.25}.session-end-tabs__tab--active{color:#e8eaef;border-color:#60a5fa80;background:#60a5fa1f}.session-end-panel[hidden]{display:none!important}.session-end-textarea{width:100%;box-sizing:border-box;min-height:5.5rem;margin-bottom:.65rem;padding:.55rem .65rem;font-size:.92rem;line-height:1.4;border-radius:8px;border:1px solid rgba(96,165,250,.35);background:var(--surface);color:#e8eaef;resize:vertical}.session-end-textarea:focus{outline:2px solid rgba(96,165,250,.45);outline-offset:1px}.session-end-textarea--quit{min-height:4.25rem;margin-bottom:1rem}.session-end-pdf-status{margin:0 0 .75rem;font-size:.82rem;line-height:1.4;color:var(--muted);min-height:1.25em}.session-end-dialog::backdrop{background:#080a109e}.session-end-form{padding:0}.session-end-dialog__title{margin:0 0 .5rem;font-size:1.1rem;font-weight:700}.session-end-dialog__lead{margin:0 0 1rem;font-size:.88rem;line-height:1.45;color:var(--muted)}.session-end-label{display:block;margin-bottom:.35rem;font-size:.82rem;font-weight:600;color:#93c5fdeb}.session-end-input{width:100%;box-sizing:border-box;margin-bottom:1rem;padding:.55rem .65rem;font-size:1rem;border-radius:8px;border:1px solid rgba(96,165,250,.35);background:var(--surface);color:#e8eaef}.session-end-input:focus{outline:2px solid rgba(96,165,250,.45);outline-offset:1px}.session-end-dialog__actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.session-end-dialog__submit.btn-home{font-size:.88rem;padding:.55rem 1rem}.btn-text{align-self:flex-start;padding:.35rem .5rem;margin:0;font-size:.88rem;font-weight:600;color:#93c5fdf2;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer}.btn-text:hover{border-color:#60a5fa59;background:#60a5fa14}.btn-back-session{margin:0}.app-stack{display:flex;flex-direction:column;gap:1.25rem}.app-stack--session{gap:.65rem;min-height:min(calc(100dvh - 2.5rem),900px)}.app-stack--session .session-stage{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.app-stack--session .session-map-stage{flex:1 1 auto;min-height:200px;display:flex;flex-direction:column}.app-stack--session .session-map-stage .map-section--hero{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.app-stack--session .session-map-stage .map-section--hero .map-frame{flex:1 1 auto;min-height:180px}.app-stack--session .session-map-stage .map-section--hero .map{height:100%;min-height:min(48vh,420px)}.app-stack--session .session-top{gap:.42rem;margin-bottom:0}.app-stack--session .session-top__toolbar{gap:.28rem}.app-stack--session .session-top__datetime{margin:0 0 .35rem;padding:0;text-align:center;font-size:.88rem;font-weight:600;letter-spacing:.02em;color:#b4bed2fa;line-height:1.4}.app-stack--session .session-top__datetime time{font-variant-numeric:tabular-nums}.app-stack--session .session-action-tab{border-radius:7px}.app-stack--session .session-action-tab--icon{min-height:2.55rem;padding:.42rem .35rem}.app-stack--session .session-action-tab__icon{width:1.32rem;height:1.32rem}.app-stack--session .session-bottom-sheet{position:fixed;left:0;right:0;bottom:0;margin:0 auto;width:100%;max-width:720px;z-index:50;overflow:hidden;border-radius:20px 20px 0 0;border:1px solid rgba(255,255,255,.08);border-bottom:none;background:#121622c7;box-shadow:0 -16px 48px #0000006b,inset 0 1px #ffffff0f;padding-bottom:env(safe-area-inset-bottom,0px);box-sizing:border-box;transition:height .26s cubic-bezier(.25,.1,.25,1);will-change:height}@supports (backdrop-filter: blur(12px)){.app-stack--session .session-bottom-sheet{backdrop-filter:blur(18px) saturate(1.35);-webkit-backdrop-filter:blur(18px) saturate(1.35);background:#121622b8}}.app-stack--session .session-sheet-handle{display:flex;align-items:center;justify-content:center;padding:.45rem 0 .35rem;touch-action:none;cursor:grab}.app-stack--session .session-sheet-handle:active{cursor:grabbing}.app-stack--session .session-sheet-handle__bar{width:2.5rem;height:5px;border-radius:99px;background:#ffffff38}.app-stack--session .session-bottom-sheet__body{padding:0 1rem .75rem;display:flex;flex-direction:column;gap:.5rem}.app-stack--session .session-sheet-tier--meta{transition:opacity .22s ease}.app-stack--session .session-bottom-sheet[data-sheet-state=collapsed] .session-sheet-tier--meta,.app-stack--session .session-bottom-sheet[data-sheet-state=collapsed] .session-sheet-tier--secondary,.app-stack--session .session-bottom-sheet[data-sheet-state=mid] .session-sheet-tier--secondary{display:none}.app-stack--session .session-bottom-sheet[data-sheet-state=expanded] .session-sheet-tier--secondary{display:flex;gap:.45rem;justify-content:flex-end;flex-wrap:wrap}.app-stack--session .session-sheet-tier--expanded-hint{display:none;margin:0;font-size:.78rem;line-height:1.35;color:#94a3b8f2}.app-stack--session .session-bottom-sheet[data-sheet-state=expanded] .session-sheet-tier--expanded-hint{display:block}.app-stack--session .count-display--session-sheet{margin:0;text-align:center;font-size:clamp(1.2rem,4.2vw,1.45rem);font-weight:600;line-height:1.25;color:#f1f5f9fa;text-shadow:none}.app-stack--session .count-display--session-sheet.count-display--empty{font-size:.86rem;font-weight:500;color:#94a3b8eb}.app-stack--session .session-sheet-accuracy{margin:.15rem 0 0;font-size:.78rem;line-height:1.35;text-align:center;color:#bac8e6e6}.app-stack--session .btn-register-dominant{flex:none;width:100%;min-height:3.35rem;padding:.82rem 1rem;font-size:1.06rem;font-weight:700;letter-spacing:.02em;border-radius:14px;border:1px solid rgba(34,197,94,.55);background:linear-gradient(180deg,#22c55e,#16a34a 48%,#15803d);color:#f0fdf4;box-shadow:0 4px 18px #16a34a73,inset 0 1px #fff3;transition:transform .22s cubic-bezier(.25,.1,.25,1),filter .2s ease,box-shadow .22s ease}.app-stack--session .btn-register-dominant:hover{filter:brightness(1.05)}.app-stack--session .btn-register-dominant:active{transform:scale(.98)}.app-stack--session .btn-ghost-action{flex:0 1 auto;min-height:2.65rem;padding:.45rem .85rem;font-size:.84rem;font-weight:600;color:#cbd5e1f2;background:transparent;border:1px solid rgba(148,163,184,.35);border-radius:10px;box-shadow:none}.app-stack--session .btn-ghost-action:hover{background:#ffffff0d;border-color:#bac8e673}.app-stack--session .btn-ghost-action:active{transform:scale(.98)}.app-stack--session .map-section.surface{padding:.85rem 1rem .75rem;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#0c101a8c;box-shadow:0 4px 28px #00000038}.app-stack--session .map-section{padding-bottom:.45rem}.app-stack--session .section-head{margin-bottom:.45rem;gap:.5rem}.app-stack--session .section-head__title{font-size:.98rem}.app-stack--session .session-map-slot-embedded{position:relative}.app-stack--session .session-map-slot-embedded--empty{min-height:min(48vh,420px);border-radius:16px;border:2px dashed rgba(255,255,255,.22);background:#00000059;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.app-stack--session .session-map-slot-embedded--empty:after{content:"Kart åpent i full skjerm";font-size:.82rem;font-weight:600;letter-spacing:.02em;color:#c8d2ebe0;text-align:center;padding:1rem}.app-stack--session .map-frame{border-radius:16px;border:2px solid rgba(0,0,0,.2);box-shadow:0 4px 24px #00000047,inset 0 1px #ffffff1a}.app-stack--session .map-frame .leaflet-container{background:#d2d5db;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.app-stack--session .map-locate-btn{left:.65rem;right:auto;border:2px solid rgba(0,0,0,.18);background:#fff;color:#0b57d0;box-shadow:0 2px 4px #0000002e,0 6px 16px #0000001f}.app-stack--session .map-locate-btn:hover{background:#f1f3f4;border-color:#00000047;color:#0842a0}.app-stack--session .map-fullscreen-btn{position:absolute;z-index:1000;top:.65rem;right:3.45rem;width:2.75rem;height:2.75rem;min-width:44px;min-height:44px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:10px;border:2px solid rgba(0,0,0,.18);background:#fff;color:#202124;cursor:pointer;box-shadow:0 2px 4px #0000002e,0 6px 16px #0000001f;transition:background .2s ease,border-color .2s ease,color .2s ease;-webkit-tap-highlight-color:transparent}.app-stack--session .map-fullscreen-btn:hover{background:#f1f3f4;border-color:#00000047;color:#000}.app-stack--session .map-fullscreen-btn--active{color:#0b57d0;border-color:#0b57d073}.app-stack--session .map-fullscreen-btn__icon{display:block;flex-shrink:0}.app-stack--session .map-fullscreen-btn__icon[hidden]{display:none}.session-map-fullscreen-layer{position:fixed;inset:0;z-index:50000;display:flex;flex-direction:column;background:#020617;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);box-sizing:border-box}.session-map-fullscreen-layer[hidden]{display:none!important}body.session-map-fullscreen-open{overflow:hidden!important;touch-action:none}.session-map-fullscreen-layer__bar{flex-shrink:0;display:flex;align-items:center;gap:.75rem;padding:.55rem .75rem;background:#020617;border-bottom:2px solid rgba(255,255,255,.14);box-shadow:0 4px 20px #00000073}.session-map-fullscreen-layer__close{margin:0;padding:.45rem .65rem;font:inherit;font-size:.95rem;font-weight:700;letter-spacing:.02em;color:#e8edf5;background:#ffffff14;border:2px solid rgba(255,255,255,.2);border-radius:10px;cursor:pointer;-webkit-tap-highlight-color:transparent}.session-map-fullscreen-layer__close:hover{background:#ffffff24;border-color:#ffffff52}.session-map-fullscreen-layer__close:active{transform:scale(.98)}.session-map-fullscreen-layer__title{font-size:1.05rem;font-weight:700;letter-spacing:.04em;color:#f8fafc}.session-map-fullscreen-layer__map{flex:1 1 auto;min-height:0;position:relative;background:#0f172a}.session-map-fullscreen-layer__map #session-map-frame{position:absolute;inset:0;border-radius:0;border:none;box-shadow:none;display:flex;flex-direction:column}.session-map-fullscreen-layer__map #session-map-frame .map{flex:1 1 auto;min-height:0}.app-stack--session .map-gps-chip{position:absolute;left:.55rem;bottom:.55rem;right:.55rem;z-index:900;margin:0;max-width:calc(100% - 1.2rem);padding:.45rem .65rem;font-size:.74rem;font-weight:600;line-height:1.35;color:#111827;background:#fff;border:2px solid rgba(0,0,0,.14);border-radius:10px;box-shadow:0 2px 6px #00000029,0 1px #ffffffe6 inset;pointer-events:none}.app-stack--session .map-section__more{margin-top:.5rem;border-radius:10px;border:1px solid rgba(42,49,66,.85);background:#1216208c}.app-stack--session .map-section__more-summary{cursor:pointer;padding:.55rem .75rem;font-size:.82rem;font-weight:600;color:#bac8e6fa;list-style:none}.app-stack--session .map-section__more-summary::-webkit-details-marker{display:none}.app-stack--session .map-section__more-summary:after{content:" ▾";font-size:.75em;opacity:.75}.app-stack--session .map-section__more[open] .map-section__more-summary:after{content:" ▴"}.app-stack--session .map-section__more-inner{padding:0 .65rem .75rem}.app-stack--session .session-toast{position:fixed;left:50%;bottom:calc(var(--session-sheet-h, 252px) + .75rem + env(safe-area-inset-bottom,0px));z-index:2000;transform:translate(-50%) translateY(12px);padding:.55rem 1.15rem;font-size:.92rem;font-weight:600;color:#ecfdf5;background:#166534f2;border:1px solid rgba(74,222,128,.45);border-radius:999px;box-shadow:0 8px 28px #0006;opacity:0;pointer-events:none;transition:opacity .28s ease,transform .28s ease}.app-stack--session .session-toast--visible{opacity:1;transform:translate(-50%) translateY(0)}.app-stack--session .map-section__toolbar{margin-top:.48rem;gap:.32rem}.app-stack--session .map-section__tab{padding:.4rem .45rem;font-size:.76rem;border-radius:8px}.app-stack--session .map-section__panel .btn-fit{margin-top:.35rem}.app-stack--session .session-photos-strip.surface{padding:.5rem .75rem .65rem;margin-top:.2rem;border-radius:14px}.app-stack--session .logg-folder.surface{padding:.65rem .85rem .75rem;border-radius:14px}@media(max-width:480px){.app-stack--session .session-map-stage .map-section--hero .map{min-height:min(44vh,360px)}}.session-road-side{margin:.35rem 0 0;font-size:.88rem;font-weight:500;color:#93c5fdeb;line-height:1.35}.session-action-wheel-dock{position:fixed;z-index:420;right:14px;bottom:min(42vh,320px);left:auto;top:auto;touch-action:none;pointer-events:auto}.session-action-wheel-launcher{display:flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border-radius:12px;border:1px solid rgba(96,165,250,.38);background:linear-gradient(165deg,#161c2af5,#0e121cfa);color:#bac8e6fa;box-shadow:0 4px 18px #00000073,inset 0 1px #ffffff0f;cursor:grab;font:inherit;-webkit-tap-highlight-color:transparent;transition:transform .15s ease,border-color .2s ease,box-shadow .2s ease}.session-action-wheel-launcher:active{cursor:grabbing;transform:scale(.96)}.session-action-wheel-launcher__icon{display:block;opacity:.95}.session-action-wheel-dialog{margin:auto;padding:0;border:none;max-width:min(100vw - 1.5rem,22rem);width:min(100vw - 1.5rem,22rem);background:transparent;outline:none}.session-action-wheel-dialog::backdrop{background:#04081094;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.session-action-wheel-dialog__panel{position:relative;padding:1rem 1rem 1.1rem;border-radius:16px;border:1px solid rgba(96,165,250,.22);background:linear-gradient(165deg,#121826fa,#0c101afc);box-shadow:0 24px 56px #0000008c,inset 0 1px #ffffff0d;opacity:0;transform:translateY(14px) scale(.97);transition:opacity .28s ease,transform .32s cubic-bezier(.2,.85,.2,1)}.session-action-wheel-dialog--visible .session-action-wheel-dialog__panel{opacity:1;transform:translateY(0) scale(1)}.session-action-wheel-dialog__title{margin:0 0 .65rem;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#93c5fdbf;text-align:center}.session-action-wheel-dialog__close{position:absolute;top:.45rem;right:.45rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:#ffffff0f;color:#c8d2e6f2;font-size:1.25rem;line-height:1;cursor:pointer;font:inherit}.session-action-wheel__viewport{position:relative;width:100%;max-width:13rem;min-height:13.5rem;height:13.5rem;margin:0 auto;border-radius:12px;border:1px solid rgba(80,100,140,.35);background:#080a12a6;overflow:hidden}.session-action-wheel__rail{display:flex;flex-direction:column;height:100%;margin:0;padding:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(96,165,250,.35) transparent;outline:none}.session-action-wheel__rail::-webkit-scrollbar{width:5px}.session-action-wheel__rail::-webkit-scrollbar-thumb{background:#60a5fa59;border-radius:8px}.session-action-wheel__item{flex:1 1 0;display:flex;align-items:center;justify-content:center;width:100%;min-height:0;margin:0;padding:.35rem .65rem;box-sizing:border-box;border:none;border-bottom:1px solid rgba(255,255,255,.06);background:transparent;color:#e4eaf8f2;font:inherit;font-size:.8rem;font-weight:600;letter-spacing:.02em;line-height:1.25;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s ease,color .15s ease}.session-action-wheel__item:last-child{border-bottom:none}.session-action-wheel__item:hover{background:#60a5fa1a}.session-action-wheel__item--selected{background:linear-gradient(180deg,#22c55e61,#16a34a38);color:#ecfdf5;box-shadow:inset 0 0 0 1px #22c55e73}@media(prefers-reduced-motion:no-preference){.view-home{animation:stack-in var(--anim-stack) var(--ease-enter) backwards;animation-delay:.08s}.app-stack>*{animation:stack-in var(--anim-stack) var(--ease-enter) backwards}.app-stack>.session-top{animation-delay:.05s}.app-stack>.session-stage{animation-delay:.13s}.app-stack>.session-bottom-sheet{animation-delay:.18s}.app-stack>.session-photos-strip{animation-delay:.24s}.app-stack>.logg-folder{animation-delay:.28s}.app-stack>.session-toast,.app-stack>.session-bottom-sheet,.app-stack>.session-action-wheel-dock{animation:none!important}}@media(prefers-reduced-motion:reduce){.view-home,.app-stack>*{animation:none!important}}@keyframes stack-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes btn-load-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:no-preference){#app .app-body button.btn{animation:btn-load-in var(--anim-btn) var(--ease-enter) backwards}#app .home-actions .btn:nth-child(1){animation-delay:.03s}#app .home-actions .btn:nth-child(2){animation-delay:.12s}#app .home-actions .btn:nth-child(3){animation-delay:.21s}#app .home-actions .btn:nth-child(4){animation-delay:.3s}#app .btn-row .btn:nth-child(1){animation-delay:.05s}#app .btn-row .btn:nth-child(2){animation-delay:.13s}#app .btn-row .btn:nth-child(3){animation-delay:.21s}#app .session-top__bar .btn-back-session{animation-delay:.03s}#app .session-top__tab-group .session-action-tab:nth-child(1){animation-delay:.07s}#app .session-top__tab-group .session-action-tab:nth-child(2){animation-delay:.09s}#app .session-top__tab-group .session-action-tab:nth-child(3){animation-delay:.12s}#app .session-end-dialog__actions .btn:nth-child(1){animation-delay:.03s}#app .session-end-dialog__actions .btn:nth-child(2){animation-delay:.1s}#app .map-section .map-section__tab{animation-delay:.14s}#app .map-section .btn-fit{animation-delay:.18s}#app .map-section .map-share-row .btn{animation-delay:.2s}#app .map-section .btn-share-map{animation-delay:.22s}#app .logg-header .btn-export{animation-delay:.08s}#app .view-sub .btn-back{animation-delay:0s}#app .session-list .session-row:nth-child(1) .btn{animation-delay:.07s}#app .session-list .session-row:nth-child(2) .btn{animation-delay:.12s}#app .session-list .session-row:nth-child(3) .btn{animation-delay:.17s}#app .session-list .session-row:nth-child(4) .btn{animation-delay:.22s}#app .session-list .session-row:nth-child(5) .btn{animation-delay:.27s}#app .session-list .session-row:nth-child(6) .btn{animation-delay:.32s}#app .session-list .session-row:nth-child(7) .btn{animation-delay:.37s}#app .session-list .session-row:nth-child(8) .btn{animation-delay:.42s}#app .session-list .session-row:nth-child(n+9) .btn{animation-delay:.48s}}@media(prefers-reduced-motion:reduce){#app .app-body button.btn{animation:none!important}}.top{text-align:center;padding:.25rem 0 .5rem}.top__eyebrow{margin:0 0 .5rem;font-size:.7rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#93c5fdbf;text-shadow:0 1px 16px rgba(59,130,246,.35)}.view-home{position:relative;flex:1;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;min-height:0;width:100%}.top__title{margin:0 0 .65rem;font-size:clamp(1.85rem,5vw,2.15rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;text-shadow:0 2px 28px rgba(0,0,0,.65)}.sub{margin:0 auto;max-width:36rem;color:#c8d0e0eb;font-size:.9rem;line-height:1.55;text-shadow:0 1px 12px rgba(0,0,0,.75)}.surface{padding:1.35rem 1.25rem;background:#0c0f18b8;border:1px solid rgba(100,130,200,.22);border-radius:var(--radius);backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);box-shadow:var(--shadow-surface);transition:border-color .32s var(--ease-enter),box-shadow .32s var(--ease-enter)}@media(hover:hover)and (pointer:fine){.surface:hover{border-color:#78a0e647}}.counter-panel{text-align:center}.counter-label{margin:0 0 .5rem;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.count-display{font-size:clamp(3.25rem,14vw,4.25rem);font-weight:700;font-variant-numeric:tabular-nums;text-align:center;line-height:1;margin-bottom:1.15rem;color:var(--text);text-shadow:0 2px 24px rgba(0,0,0,.45);transition:transform .42s var(--ease-spring)}@media(prefers-reduced-motion:no-preference){.count-display--tick{animation:count-pop .58s var(--ease-spring)}}@media(prefers-reduced-motion:reduce){.count-display--tick{animation:none}}@keyframes count-pop{0%{transform:scale(1)}45%{transform:scale(1.06)}to{transform:scale(1)}}.btn-row{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center}.btn{font:inherit;font-weight:600;padding:.78rem 1.15rem;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:transform .28s var(--ease-enter),filter .28s ease,box-shadow .32s var(--ease-enter)}@media(hover:hover)and (pointer:fine){.btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000047}}.btn:active{transform:translateY(0) scale(.98);box-shadow:none}@media(prefers-reduced-motion:reduce){.btn:active{transform:scale(.98)}}.btn-plus{flex:1 1 160px;min-height:3.55rem;padding:.95rem 1.2rem;font-size:1.02rem;background:var(--plus-dim);color:var(--plus);border-color:#34d39959;position:relative}.btn-plus__inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.05rem;line-height:1.12;text-align:center}.btn-plus__line{display:block;font-weight:700;letter-spacing:.02em}.btn-plus__line--sub{font-size:.88em;font-weight:600;opacity:.95}.btn-plus:hover{filter:brightness(1.08)}.btn-plus.btn-plus--pulse{animation:tell-opp-glow .68s var(--ease-enter)}@keyframes tell-opp-glow{0%{box-shadow:0 0 #34d399a6,0 0 #10b98159}45%{box-shadow:0 0 0 12px #34d39959,0 0 40px #34d39973}to{box-shadow:0 0 #34d39900,0 0 #10b98100}}@media(prefers-reduced-motion:reduce){.btn-plus.btn-plus--pulse{animation:none;box-shadow:0 0 0 3px #34d39980}.btn-minus.btn-minus--pulse{animation:none;box-shadow:0 0 0 3px #f871718c}.btn-reset.btn-reset--pulse{animation:none;box-shadow:0 0 0 3px #94a3b88c}}.btn-minus{min-width:3.25rem;font-size:1.35rem;line-height:1;background:var(--danger-dim);color:var(--danger);border-color:#f8717159;position:relative}.btn-minus:hover{filter:brightness(1.08)}.btn-minus.btn-minus--pulse{animation:tell-ned-glow .65s var(--ease-enter)}@keyframes tell-ned-glow{0%{box-shadow:0 0 #f87171a6,0 0 #ef44444d}45%{box-shadow:0 0 0 11px #f8717161,0 0 36px #ef444466}to{box-shadow:0 0 #f8717100,0 0 #ef444400}}.btn-reset{flex:1 1 120px;background:var(--surface);color:var(--muted);border-color:var(--border);position:relative}.btn-reset:hover{color:var(--text);border-color:var(--muted)}.btn-reset.btn-reset--pulse{animation:nullstill-soppel-glow .8s var(--ease-enter)}@keyframes nullstill-soppel-glow{0%{box-shadow:0 0 #94a3b88c,0 0 #64748b59}40%{box-shadow:0 0 0 14px #94a3b852,0 0 42px #47556973}to{box-shadow:0 0 #94a3b800,0 0 #47556900}}.btn-secondary{font-size:.88rem;padding:.55rem .95rem;background:var(--accent-dim);color:var(--accent);border-color:#60a5fa59}.btn-secondary:hover{filter:brightness(1.12);border-color:#60a5fa80}.map-section__toolbar{display:flex;gap:.4rem;margin-top:.75rem}.map-section__tab{flex:1;padding:.5rem .55rem;font-size:.8rem;font-weight:600;line-height:1.25;border-radius:10px;border:1px solid rgba(96,165,250,.22);background:#0f1218d9;color:var(--muted);cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}.map-section__tab:hover{border-color:#60a5fa61;color:var(--text)}.map-section__tab--active{border-color:#60a5fa7a;background:#60a5fa1f;color:#e8eaef}.map-section__tab:focus-visible{outline:2px solid rgba(96,165,250,.55);outline-offset:2px}.map-section__panel{margin-top:.65rem}.map-section__panel[hidden]{display:none!important}.map-share-lead{margin:0 0 .55rem;font-size:.82rem;color:var(--muted);line-height:1.45;text-align:left}.map-share-empty,.map-share-segments{margin:0 0 .5rem;font-size:.8rem;line-height:1.4;text-align:left}.map-share-empty{color:#fbbf24e6}.map-share-segments{color:#93c5fde0}.map-share-row{display:flex;flex-wrap:wrap;gap:.45rem;align-items:stretch}.map-share-row--textarea{align-items:stretch}.map-share-textarea{flex:1 1 12rem;min-width:0;min-height:5.5rem;padding:.5rem .55rem;font-size:.72rem;line-height:1.4;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;border-radius:8px;border:1px solid rgba(96,165,250,.28);background:#080a10e6;color:#c8d2e6f2;resize:vertical;max-height:14rem}.map-share-textarea:focus{outline:2px solid rgba(96,165,250,.4);outline-offset:1px}.map-share-row .btn{flex-shrink:0;align-self:center}.map-share-copy-status{margin:.4rem 0 0;min-height:1.2em;font-size:.78rem;color:#34d399f2;text-align:left}.btn-share-map{width:100%;margin-top:.55rem}.btn-fit{width:100%;margin-top:0}.btn-export{flex-shrink:0}.gps-status{margin:1rem 0 0;font-size:.82rem;color:var(--muted);text-align:center;min-height:1.25em;line-height:1.4}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.section-head__title{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:-.02em;text-shadow:0 1px 14px rgba(0,0,0,.85)}.section-head__meta{font-size:.72rem;font-weight:500;letter-spacing:.04em;color:#8b93a5f2;white-space:nowrap}.map-section,.camera-section{padding-bottom:1.15rem}.camera-lead{margin:0 0 .85rem;font-size:.85rem;color:var(--muted);line-height:1.45}.camera-frame{position:relative;border-radius:var(--radius-sm);overflow:hidden;border:1px solid rgba(42,49,66,.9);background:#000;aspect-ratio:16 / 10;max-height:min(42vh,320px)}.camera-video{display:block;width:100%;height:100%;object-fit:cover}.camera-canvas{display:none}.camera-status{margin:.6rem 0 0;font-size:.82rem;color:var(--muted);min-height:1.25em}.camera-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.camera-actions .btn{flex:1 1 auto;min-width:6.5rem}.camera-preview-wrap{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(42,49,66,.9)}.camera-preview-label{margin:0 0 .5rem;font-size:.8rem;font-weight:600;color:#93c5fde6}.camera-preview{display:block;width:100%;max-height:220px;object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--border);background:#00000059}.camera-download{margin-top:.65rem;display:inline-block;text-decoration:none;text-align:center}.map-frame{position:relative;border-radius:var(--radius-sm);overflow:hidden;border:1px solid rgba(42,49,66,.9);box-shadow:inset 0 1px #ffffff0a}.map-locate-btn{position:absolute;z-index:1000;top:.65rem;right:.65rem;width:2.75rem;height:2.75rem;min-width:44px;min-height:44px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid rgba(96,165,250,.45);background:#181c28eb;color:#93c5fd;cursor:pointer;box-shadow:0 4px 16px #00000059;transition:transform .2s var(--ease-enter),border-color .2s ease,background .2s ease}.map-locate-btn:hover{border-color:#93c5fda6;background:#202636f5}.map-locate-btn:active{transform:scale(.96)}.map-locate-btn__icon{font-size:1.35rem;line-height:1;font-weight:600}#app .leaflet-control-zoom{border:2px solid rgba(0,0,0,.16)!important;border-radius:12px!important;overflow:hidden;box-shadow:0 2px 6px #0003,0 8px 20px #0000001f!important}#app .leaflet-control-zoom a{width:40px!important;height:40px!important;line-height:40px!important;font-size:22px!important;font-weight:600;color:#202124!important;background:#fff!important;border:none!important}#app .leaflet-control-zoom a:hover{background:#e8eaed!important;color:#000!important}#app .leaflet-control-zoom-in{border-bottom:2px solid #cbd5e1!important}#app .leaflet-bottom .leaflet-control-attribution{background:#fff!important;color:#374151!important;font-size:10px!important;font-weight:500;line-height:1.4;padding:5px 10px!important;border-radius:8px;border:1px solid rgba(0,0,0,.12)!important;margin:8px!important;box-shadow:0 2px 8px #00000026;max-width:calc(100% - 16px)}#app .leaflet-bottom .leaflet-control-attribution a{color:#0b57d0!important;font-weight:600}#app .leaflet-tile-container img.leaflet-tile{image-rendering:auto!important;filter:contrast(1.28) saturate(1.06)!important}.map{height:min(52vh,380px);width:100%;border-radius:0;border:none;z-index:0}.session-photos-strip{padding:.65rem .85rem .85rem;margin-top:.35rem}.session-photos-strip[hidden]{display:none!important}.session-photos-folders-summary{margin:0 0 .5rem;padding:.45rem .55rem;font-size:.78rem;line-height:1.4;color:var(--muted);background:#0000002e;border-radius:var(--radius-sm);border:1px solid rgba(42,49,66,.65)}.session-photos-folders-summary[hidden]{display:none!important}.view-menu-photos .subview-title{margin-bottom:.35rem}.menu-photos-folder-list{display:flex;flex-direction:column;gap:.45rem;margin-top:.75rem;padding-bottom:1.5rem}.menu-photos-folder-row{display:flex;align-items:center;gap:.65rem;width:100%;text-align:left;padding:.7rem .85rem;margin:0;border:1px solid rgba(42,49,66,.75);border-radius:12px;background:#00000024;cursor:pointer;font:inherit;color:inherit;-webkit-tap-highlight-color:transparent;transition:background .15s ease,border-color .15s ease}@media(hover:hover)and (pointer:fine){.menu-photos-folder-row:hover{background:#3b82f61a;border-color:#3b82f659}}.menu-photos-folder-row:focus{outline:none}.menu-photos-folder-row:focus-visible{outline:2px solid rgba(96,165,250,.5);outline-offset:2px}.menu-photos-folder-row:active{transform:scale(.99)}.menu-photos-folder-row__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:34px}.menu-photos-folder-svg{display:block;width:36px;height:36px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}.menu-photos-folder-row__text{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.menu-photos-folder-row__name{font-weight:650;font-size:.95rem;letter-spacing:.02em}.menu-photos-folder-row__chevron{flex-shrink:0;font-size:1.35rem;font-weight:300;color:var(--muted);opacity:.85;line-height:1}.menu-photos-detail__heading{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.menu-photos-detail__heading-icon{display:flex;align-items:center;flex-shrink:0}.menu-photos-detail__heading-icon .menu-photos-folder-svg{width:28px;height:28px}.menu-photos-detail__heading-text{word-break:break-word}.menu-photos-detail__meta{margin:.25rem 0 .75rem;font-size:.8rem;color:var(--muted)}.menu-photos-folder__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.5rem;padding-bottom:1rem}.menu-photos-thumb{display:block;padding:0;margin:0;border:none;border-radius:10px;overflow:hidden;cursor:zoom-in;background:#00000040;-webkit-tap-highlight-color:transparent}.menu-photos-thumb__frame{position:relative;display:block;border-radius:10px;overflow:hidden}.menu-photos-thumb__img{display:block;width:100%;aspect-ratio:1;object-fit:cover;vertical-align:middle}.menu-photos-thumb:focus-visible{outline:2px solid rgba(147,197,253,.65);outline-offset:2px}.photo-thumb-folder,.photo-album__folder{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:.2rem .35rem;font-size:.65rem;font-weight:600;letter-spacing:.02em;color:#fffffff2;background:linear-gradient(to top,#000000b8,#0003);text-align:center;pointer-events:none;line-height:1.2}.photos-gallery--session{gap:.5rem}.photos-gallery--session .photo-thumb-card{gap:0}.photos-gallery--session .photo-thumb-frame{border-radius:var(--radius-sm)}.photos-gallery--session .photo-thumb-img{height:100px;border-radius:var(--radius-sm)}.photos-section{padding-bottom:1.15rem}.photos-lead{margin:0 0 .85rem;font-size:.85rem;color:var(--muted);line-height:1.45}.photo-input-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.photos-actions{margin-bottom:.35rem}.photo-status{margin:.35rem 0 .75rem;font-size:.82rem;color:var(--muted);min-height:1.25em;line-height:1.4}.photos-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:.65rem;align-items:start}@media(min-width:480px){.photos-gallery{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.photos-empty{margin:0;font-size:.88rem;color:var(--muted);line-height:1.45}.photo-thumb-card{display:flex;flex-direction:column;gap:.35rem;min-width:0;border-radius:var(--radius-sm);overflow:hidden;border:1px solid rgba(42,49,66,.9);background:#0003;padding:0;margin:0;cursor:zoom-in;font:inherit;color:inherit;text-align:left;-webkit-tap-highlight-color:transparent}.photo-thumb-card:focus-visible{outline:2px solid rgba(147,197,253,.65);outline-offset:2px}.photo-thumb-frame{position:relative;display:block;overflow:hidden;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.photo-thumb-img{width:100%;height:120px;object-fit:cover;display:block}.photo-thumb-meta{font-size:.72rem;line-height:1.3;color:var(--muted);padding:0 .35rem .45rem}.photo-fullscreen-dialog{border:none;padding:0;margin:0;max-width:100vw;max-height:100vh;width:100%;min-height:100dvh;background:transparent;color:var(--text)}.photo-fullscreen-dialog:not([open]){display:none!important}.photo-fullscreen-dialog::backdrop{background:#000000e0}.photo-fullscreen-dialog__inner{position:relative;width:100%;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:max(2.75rem,env(safe-area-inset-top,0px) + 1.5rem) max(.75rem,env(safe-area-inset-right,0px)) max(.75rem,env(safe-area-inset-bottom,0px)) max(.75rem,env(safe-area-inset-left,0px));box-sizing:border-box}.photo-zoom-host{position:relative;overflow:hidden;max-width:100%;line-height:0;touch-action:none}.photo-zoom-pan{position:relative;display:inline-block;transform-origin:center center;will-change:transform}.photo-fullscreen-dialog__frame{max-height:calc(100dvh - 5rem)}.photo-fullscreen-dialog__img{max-width:100%;max-height:calc(100dvh - 5rem);width:auto;height:auto;object-fit:contain;border-radius:6px;box-shadow:0 12px 48px #0000008c;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.photo-vegref-overlay{pointer-events:none;text-align:left;color:#fff;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}.photo-vegref-overlay--thumb{position:absolute;left:0;right:0;bottom:0;padding:.15rem .3rem .28rem;background:linear-gradient(to top,rgba(0,0,0,.55) 0%,rgba(0,0,0,.12) 65%,transparent 100%)}.photo-vegref-overlay--thumb .photo-vegref-overlay__road{font-size:clamp(.42rem,2.1vw,.58rem);font-weight:600;line-height:1.15;text-shadow:0 0 1px rgba(0,0,0,.9),0 1px 3px rgba(0,0,0,.75)}.photo-vegref-overlay--thumb .photo-vegref-overlay__compact{font-size:clamp(.36rem,1.75vw,.5rem);font-weight:500;font-variant-numeric:tabular-nums;line-height:1.15;margin-top:.04rem;opacity:.95;text-shadow:0 0 1px rgba(0,0,0,.9),0 1px 2px rgba(0,0,0,.7)}.photo-vegref-overlay--thumb .photo-vegref-overlay__kf{font-size:clamp(.32rem,1.5vw,.44rem);line-height:1.2;margin-top:.04rem;opacity:.9;word-break:break-word;text-shadow:0 0 1px rgba(0,0,0,.85),0 1px 2px rgba(0,0,0,.65)}.photo-vegref-overlay--fullscreen{position:absolute;left:0;right:0;bottom:0;padding:.6rem .85rem .85rem;background:linear-gradient(to top,rgba(0,0,0,.5) 0%,rgba(0,0,0,.08) 55%,transparent 100%)}.photo-vegref-overlay--fullscreen .photo-vegref-overlay__road{font-size:clamp(.88rem,2.8vw,1.15rem);font-weight:600;line-height:1.25;text-shadow:0 0 2px rgba(0,0,0,.5),0 1px 4px rgba(0,0,0,.45)}.photo-vegref-overlay--fullscreen .photo-vegref-overlay__compact{font-size:clamp(.72rem,2.1vw,.92rem);font-weight:500;font-variant-numeric:tabular-nums;line-height:1.3;margin-top:.2rem;text-shadow:0 0 2px rgba(0,0,0,.45),0 1px 3px rgba(0,0,0,.4)}.photo-vegref-overlay--fullscreen .photo-vegref-overlay__kf{font-size:clamp(.65rem,1.85vw,.82rem);line-height:1.35;margin-top:.18rem;opacity:.96;word-break:break-word;text-shadow:0 0 2px rgba(0,0,0,.4),0 1px 3px rgba(0,0,0,.35)}.photo-fullscreen-dialog__close{position:absolute;top:max(.4rem,env(safe-area-inset-top,0px) + .25rem);right:max(.4rem,env(safe-area-inset-right,0px) + .25rem);z-index:2;width:2.75rem;height:2.75rem;border:none;border-radius:12px;background:#141824bf;color:var(--text);font-size:1.5rem;line-height:1;cursor:pointer;font:inherit;display:flex;align-items:center;justify-content:center}.photo-fullscreen-dialog__close:hover{background:#283044eb}.map-photo-marker-wrap{background:transparent;border:none}.map-photo-marker{width:48px;height:48px;border-radius:8px;overflow:hidden;border:2px solid #fff;box-shadow:0 2px 10px #0006}.map-photo-marker img{width:100%;height:100%;object-fit:cover;display:block}.map-pin-wrap{background:transparent;border:none;box-sizing:border-box;width:32px;height:40px;display:flex;align-items:flex-end;justify-content:center}.map-pin{width:28px;height:28px;flex-shrink:0;margin:0;background:linear-gradient(145deg,#ef4444,#b91c1c);border-radius:50% 50% 50% 0;transform:rotate(-45deg);transform-origin:50% 100%;border:3px solid #fff;box-shadow:0 3px 12px #00000073}@media(prefers-reduced-motion:no-preference){@keyframes map-pin-drop{0%{opacity:.65;transform:rotate(-45deg) translateY(-16px) scale(.92)}70%{opacity:1;transform:rotate(-45deg) translateY(2px) scale(1.02)}to{opacity:1;transform:rotate(-45deg) translateY(0) scale(1)}}.map-pin.map-pin--drop{animation:map-pin-drop .38s cubic-bezier(.34,1.35,.64,1) forwards}}.map-user-pin-wrap{background:transparent;border:none}.map-user-pin{position:relative;width:64px;height:64px;display:flex;align-items:center;justify-content:center}.map-user-arrow{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;opacity:0;transform-origin:50% 50%;transition:transform .2s var(--ease-enter),opacity .15s ease;pointer-events:none}.map-user-arrow-svg{display:block;width:64px;height:64px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.map-user-dot{position:relative;z-index:2;width:16px;height:16px;border-radius:50%;background:#4285f4;border:3px solid #fff;box-shadow:0 2px 6px #00000059,0 0 0 1px #0000001f}.logg-folder{padding-bottom:1.35rem}.logg-folder__collapse{margin:0;border:none;padding:0}.logg-folder__summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .15rem .65rem;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;border-bottom:1px solid rgba(42,49,66,.75)}.logg-folder__summary::-webkit-details-marker{display:none}.logg-folder__summary-title{margin:0;flex:1;text-align:left}.logg-folder__summary:after{content:"";display:inline-block;width:.45em;height:.45em;margin-left:auto;border-right:2px solid rgba(147,160,185,.85);border-bottom:2px solid rgba(147,160,185,.85);transform:rotate(45deg) translateY(-.1em);transition:transform .28s var(--ease-enter);flex-shrink:0}.logg-folder__collapse[open] .logg-folder__summary:after{transform:rotate(-135deg) translateY(.05em)}.logg-folder__inner{padding-top:.75rem}.logg-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.75rem;margin-bottom:.65rem}.logg-header__spacer{flex:1;min-width:0}.logg-details{margin:0 0 1rem;border-radius:var(--radius-sm);border:1px solid rgba(42,49,66,.85);background:#0000002e;transition:border-color .28s var(--ease-enter),background .28s var(--ease-enter)}.logg-details[open]{border-color:#60a5fa38;background:#00000038}.logg-details__summary{padding:.55rem .85rem;font-size:.8rem;font-weight:600;color:#93c5fde6;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.logg-details__summary::-webkit-details-marker{display:none}.logg-details__summary:after{content:"";display:inline-block;margin-left:.4rem;width:.35em;height:.35em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-.1em);transition:transform .32s var(--ease-enter);vertical-align:middle}.logg-details[open] .logg-details__summary:after{transform:rotate(-135deg) translateY(.05em)}.logg-hint{margin:0;padding:0 .85rem .85rem;font-size:.82rem;color:var(--muted);line-height:1.5}.logg-list{list-style:none;margin:0;padding:0;max-height:min(42vh,320px);overflow-y:auto;border-radius:var(--radius-sm);border:1px solid rgba(42,49,66,.9);background:#00000038;scroll-behavior:smooth;scrollbar-gutter:stable}.logg-list::-webkit-scrollbar{width:8px}.logg-list::-webkit-scrollbar-thumb{background:#6478a059;border-radius:8px}.logg-item{display:flex;align-items:flex-start;gap:.65rem;padding:.55rem .75rem .55rem .65rem;border-bottom:1px solid rgba(42,49,66,.65);font-size:.875rem;transition:background .28s var(--ease-enter)}.logg-item:last-child{border-bottom:none}.logg-item:hover{background:#60a5fa0d}.logg-item__num{flex-shrink:0;min-width:1.5rem;height:1.5rem;padding:0 .25rem;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums;color:#93c5fdfa;background:#60a5fa24;border:1px solid rgba(96,165,250,.28);border-radius:8px;line-height:1}.logg-item__body{flex:1;min-width:0}.logg-item time{display:block;color:var(--accent);font-size:.72rem;font-weight:500;margin-bottom:.2rem;letter-spacing:.02em;opacity:.92}.logg-msg{margin:0;color:var(--text);word-break:break-word;font-size:.84rem;line-height:1.4}.scanix-register-flash{position:fixed;inset:0;z-index:99999;pointer-events:none;background:#fff;opacity:0;visibility:hidden}.scanix-register-flash.scanix-register-flash--animate{visibility:visible;animation:scanix-register-flash .26s ease-out forwards}@keyframes scanix-register-flash{0%{opacity:0}22%{opacity:.13}to{opacity:0}}@media(prefers-reduced-motion:reduce){.scanix-register-flash,.scanix-register-flash.scanix-register-flash--animate{animation:none!important;visibility:hidden!important;opacity:0!important}}@media(max-width:480px){#app{padding-left:1rem;padding-right:1rem}.btn-row{gap:.5rem}.btn-plus{flex:1 1 100%;min-height:3.65rem;padding:1rem 1.25rem;font-size:1.05rem}}.adv-reg--intro{min-height:min(100dvh,100vh);padding:env(safe-area-inset-top,0) 1rem 1.5rem;max-width:36rem;margin:0 auto}.adv-reg__header{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.adv-reg__title{font-size:1.35rem;font-weight:650;margin:0}.adv-reg__body{display:flex;flex-direction:column;gap:.75rem}.adv-reg__label{font-weight:600;font-size:.95rem}.adv-reg__hint{font-size:.88rem;opacity:.85;margin:0;line-height:1.45}.adv-reg__textarea{width:100%;min-height:6rem;padding:.75rem .85rem;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#00000040;color:inherit;font:inherit;resize:vertical}.adv-reg__status{font-size:.88rem;min-height:1.25rem}.adv-reg__cta{margin-top:.5rem}.adv-reg--session{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;background:#0a0e14}.adv-reg__map{flex:1 1 auto;min-height:0;width:100%;z-index:0}.adv-reg__gps-chip{position:absolute;top:calc(env(safe-area-inset-top,0px) + .5rem);left:50%;transform:translate(-50%);z-index:500;margin:0;padding:.35rem .65rem;border-radius:999px;font-size:.78rem;background:#0f172ad1;border:1px solid rgba(255,255,255,.1);pointer-events:none}.adv-reg__bottom{flex:0 0 auto;z-index:400;padding:0 0 calc(env(safe-area-inset-bottom,0px) + .5rem)}.adv-reg__bottom-inner{padding:.65rem .85rem .85rem;display:flex;flex-direction:column;gap:.55rem;background:#0a0e14eb;border-top:1px solid rgba(255,255,255,.08)}.adv-reg__topic-line{margin:0;font-size:.82rem;opacity:.88;line-height:1.35}.adv-reg__actions{display:flex;justify-content:center}.adv-reg__btn-reg.btn-plus{box-shadow:none;background:linear-gradient(145deg,#1d4ed8,#2563eb);border:none}.adv-reg__secondary{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}.adv-reg__finish{width:100%}.adv-reg-dialog{border:none;border-radius:16px;padding:0;max-width:min(92vw,24rem);background:#131a24;color:inherit}.adv-reg-dialog::backdrop{background:#0000008c}.adv-reg-dialog__box{padding:1.1rem 1.1rem 1.25rem;display:flex;flex-direction:column;gap:.65rem}.adv-reg-dialog__title{margin:0;font-size:1.1rem}.adv-reg-dialog__lead{margin:0;font-size:.88rem;opacity:.9;line-height:1.4}.adv-reg-dialog__row{display:flex;flex-wrap:wrap;gap:.5rem}.adv-reg-dialog__comment-wrap{display:flex;flex-direction:column;gap:.4rem}.adv-reg-dialog__hr{border:none;border-top:1px solid rgba(255,255,255,.1);margin:.25rem 0}.adv-reg-dialog__done{margin-top:.25rem}.adv-reg-popup__coords{font-size:.78rem;opacity:.85;margin:.2rem 0}.adv-reg-popup__comment{font-size:.85rem;margin:.35rem 0}.adv-reg-popup__muted{opacity:.65;font-style:italic}.adv-reg-popup__img-wrap{margin:.35rem 0;border-radius:8px;overflow:hidden;max-height:120px}.adv-reg-popup__img{width:100%;height:auto;display:block;vertical-align:middle}.adv-reg-popup__del{margin-top:.5rem;width:100%}.adv-reg--report{min-height:min(100dvh,100vh);padding:env(safe-area-inset-top,0) 1rem 2rem;max-width:40rem;margin:0 auto}.adv-reg-report__block{margin-bottom:1.25rem}.adv-reg-report__h{font-size:1.05rem;margin:0 0 .5rem}.adv-reg-report__dl{display:grid;gap:.5rem;margin:0}.adv-reg-report__dl dt{font-size:.78rem;opacity:.75;margin:0}.adv-reg-report__dl dd{margin:0;font-size:.92rem}.adv-reg-report__table-wrap{overflow-x:auto;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.adv-reg-report__table{width:100%;border-collapse:collapse;font-size:.8rem}.adv-reg-report__table th,.adv-reg-report__table td{padding:.45rem .5rem;border-bottom:1px solid rgba(255,255,255,.08);vertical-align:top}.adv-reg-report__table th{text-align:left;font-weight:600;background:#0003}.adv-reg-report__thumb{max-width:72px;max-height:72px;border-radius:6px;display:block}.adv-reg-report__muted{opacity:.65;font-size:.85rem}.adv-reg-report__actions{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}@media(min-width:520px){.adv-reg-report__actions{flex-direction:row;flex-wrap:wrap}}
