:root{--font-body: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Space Grotesk", var(--font-body);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-full: 999px;--ease: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .12s;--dur: .2s;--dur-slow: .32s;--ink: #17151f;--bg: #f4f1e6;--bg-grad: none;--surface: #ffffff;--surface-2: #efe9db;--text: #17151f;--text-strong: #0c0b12;--muted: #6a6577;--border: #17151f;--border-strong: #17151f;--accent: #6c4cf1;--accent-dark: #5433e0;--accent-soft: #e7e0ff;--accent-contrast: #ffffff;--danger: #e5484d;--danger-soft: #ffe1e2;--ok: #12a06a;--ok-soft: #d3f4e6;--warn: #b7791f;--warn-soft: #fdf1d6;--ink-shadow: #17151f;--shadow-sm: 2px 2px 0 0 var(--ink-shadow);--shadow-md: 4px 4px 0 0 var(--ink-shadow);--shadow-lg: 6px 6px 0 0 var(--ink-shadow);--ring: 0 0 0 3px var(--accent-soft), 0 0 0 5px var(--accent);--bw: 2px;color-scheme:light;font-family:var(--font-body);font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}[data-theme=dark]{--ink: #efeafc;--bg: #131120;--bg-grad: none;--surface: #1d1a2e;--surface-2: #272340;--text: #ece9f7;--text-strong: #ffffff;--muted: #a49fbd;--border: #efeafc;--border-strong: #ffffff;--accent: #9b83ff;--accent-dark: #b3a2ff;--accent-soft: #2c2350;--accent-contrast: #131120;--danger: #ff6b6b;--danger-soft: #3a1f24;--ok: #3ddc97;--ok-soft: #113026;--warn: #e0b25a;--warn-soft: #322815;--ink-shadow: #000000;--shadow-sm: 2px 2px 0 0 var(--ink-shadow);--shadow-md: 4px 4px 0 0 var(--ink-shadow);--shadow-lg: 6px 6px 0 0 var(--ink-shadow);--ring: 0 0 0 3px var(--accent-soft), 0 0 0 5px var(--accent);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--bg);background-image:var(--bg-grad);background-attachment:fixed;color:var(--text);line-height:1.6;font-size:16px;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}h1,h2,h3{font-family:var(--font-display);color:var(--text-strong);line-height:1.2;letter-spacing:-.015em;margin:0 0 var(--space-3)}h1{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.15rem);font-weight:800}h2{font-size:1.4rem;font-weight:800}h3{font-size:1.1rem;font-weight:700}p{margin:0 0 var(--space-3)}a{color:var(--accent-dark);text-decoration:none;transition:color var(--dur-fast) var(--ease)}a:hover{color:var(--accent)}.container{max-width:1040px;margin:0 auto;padding:var(--space-5) var(--space-4) var(--space-7)}.navbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:color-mix(in srgb,var(--surface) 82%,transparent);border-bottom:1px solid var(--border);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px)}.navbar .brand{font-family:var(--font-display);font-weight:800;font-size:1.3rem;color:var(--accent-dark);letter-spacing:-.02em;transition:transform var(--dur) var(--ease-out)}.navbar .brand:hover{transform:scale(1.04) rotate(-2deg)}.navbar .spacer{flex:1}.navbar a.nav-link{position:relative;font-weight:600;color:var(--text);padding:var(--space-2) var(--space-1);border-radius:var(--radius-sm)}.navbar a.nav-link:after{content:"";position:absolute;left:var(--space-1);right:var(--space-1);bottom:2px;height:2px;border-radius:2px;background:var(--accent);transform:scaleX(0);transform-origin:center;transition:transform var(--dur) var(--ease-out)}.navbar a.nav-link:hover{color:var(--accent-dark)}.navbar a.nav-link:hover:after{transform:scaleX(.7)}.navbar a.nav-link.active{color:var(--accent-dark)}.navbar a.nav-link.active:after{transform:scaleX(1)}button{cursor:pointer;border:none;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);background:var(--accent);color:var(--accent-contrast);font-family:inherit;font-weight:700;font-size:.95rem;letter-spacing:.01em;box-shadow:var(--shadow-sm);transition:transform var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),filter var(--dur-fast) var(--ease)}button:hover:not(:disabled){background:var(--accent-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}button:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:var(--shadow-sm)}button.secondary{background:var(--surface-2);color:var(--text);box-shadow:none;border:1px solid var(--border)}button.secondary:hover:not(:disabled){background:color-mix(in srgb,var(--surface-2) 80%,var(--text) 8%);border-color:var(--border-strong)}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{width:100%;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;color:var(--text);background:var(--surface);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),background-color var(--dur) var(--ease)}input::placeholder,textarea::placeholder{color:var(--muted)}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}a.card:hover,.grid .card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--border-strong)}.card img{width:100%;aspect-ratio:1 / 1;height:auto;object-fit:cover;display:block;background:var(--surface-2);transition:transform var(--dur-slow) var(--ease-out)}a.card:hover img{transform:scale(1.05)}.card .body{padding:var(--space-4)}.card h3{margin:0 0 var(--space-1)}.meta{color:var(--muted);font-size:.85rem}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-5);box-shadow:var(--shadow-sm)}.filters label{font-size:.78rem;color:var(--muted);display:block;margin-bottom:var(--space-1);font-weight:600}.filters .filter-actions{grid-column:1 / -1;display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.filters .filter-actions button{flex:0 0 auto}.form{max-width:560px}.form .row{margin-bottom:var(--space-4)}.form label{display:block;font-weight:600;margin-bottom:var(--space-1)}.file-input{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.file-input input[type=file]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.file-button{display:inline-block;margin:0;padding:var(--space-2) var(--space-4);background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);font-weight:700;font-size:.95rem;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.file-button:hover{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}.file-input input[type=file]:focus-visible+.file-button{box-shadow:var(--ring)}.file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-form{max-width:960px}.page-sub{margin-top:-.25rem;margin-bottom:var(--space-5);max-width:60ch}.upload-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6)}@media (min-width: 840px){.upload-grid{grid-template-columns:minmax(300px,400px) 1fr;align-items:start}.upload-media{position:sticky;top:84px}}.dropzone{width:100%;aspect-ratio:1 / 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-5);text-align:center;color:var(--muted);background:var(--surface);border:2px dashed var(--border-strong);border-radius:var(--radius-lg);box-shadow:none;cursor:pointer;transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease-out)}.dropzone:hover,.dropzone.dragging{border-color:var(--accent);background:var(--accent-soft);color:var(--text);transform:translateY(-2px)}.dropzone.dragging{border-style:solid}.dropzone-icon{font-size:3rem;line-height:1}.dropzone-title{font-family:var(--font-display);font-weight:800;font-size:1.2rem;color:var(--text-strong)}.dropzone-hint{font-size:.85rem}.photo-selected{padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.photo-selected.dragging{border-color:var(--accent);box-shadow:var(--shadow-md)}.photo-tip{margin:var(--space-3) 0 0}.photo-actions{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.photo-actions button{flex:1}.form-section{margin-bottom:var(--space-5)}.section-title{font-family:var(--font-body);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3) var(--space-4)}.field-grid .row{margin-bottom:0}@media (max-width: 520px){.field-grid{grid-template-columns:1fr}}.submit-btn{width:100%;padding:var(--space-3) var(--space-4);font-size:1.05rem}.badge{display:inline-block;font-size:.68rem;padding:.18rem .55rem;border-radius:var(--radius-full);font-weight:800;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}.badge.complete{background:var(--ok-soft);color:var(--ok)}.badge.incomplete{background:var(--warn-soft);color:var(--warn)}.badge.non_target{background:var(--danger-soft);color:var(--danger)}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);margin:var(--space-2) 0;border:1px solid transparent;animation:alert-in var(--dur) var(--ease-out) both}@keyframes alert-in{0%{opacity:0;transform:translateY(-4px)}}.alert.error{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 25%,transparent)}.alert.warn{background:var(--warn-soft);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 25%,transparent)}.alert.ok{background:var(--ok-soft);color:var(--ok);border-color:color-mix(in srgb,var(--ok) 25%,transparent)}.reactions{display:flex;gap:var(--space-2);align-items:center;margin-top:var(--space-3);flex-wrap:wrap}.center{text-align:center;padding:var(--space-7) var(--space-4);color:var(--muted)}.auth-box{max-width:380px;margin:var(--space-7) auto;animation:pop-in var(--dur-slow) var(--ease-out) both}@keyframes pop-in{0%{opacity:0;transform:translateY(10px) scale(.98)}}.theme-toggle{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;font-size:1.15rem;line-height:1;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-full);box-shadow:none}.theme-toggle:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px) rotate(-12deg)}.swipe{max-width:560px;margin:0 auto}.swipe-stage{display:flex;align-items:center;justify-content:center;gap:var(--space-4)}.swipe-stage .swipe-card{flex:0 1 380px;min-width:0}.swipe-guide{flex:0 0 auto;width:78px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--space-5) var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform var(--dur) var(--ease-out),background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),color var(--dur) var(--ease)}.swipe-guide .guide-arrow{font-size:2.3rem;font-weight:800;line-height:1}.swipe-guide .guide-label{font-family:var(--font-display);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.swipe-guide.wag{color:var(--accent-dark)}.swipe-guide.growl{color:var(--danger)}.swipe-guide:hover:not(:disabled){transform:translateY(-2px) scale(1.05);box-shadow:var(--shadow-md)}.swipe-guide.wag:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.swipe-guide.growl:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}.swipe-guide:active:not(:disabled){transform:scale(.95)}.swipe-guide:disabled{opacity:.45;cursor:not-allowed}.swipe-stage.leaving-wag .swipe-guide.wag,.swipe-stage.leaving-growl .swipe-guide.growl{transform:scale(1.2)}@media (max-width: 640px){.swipe-stage{gap:var(--space-2)}.swipe-guide{width:60px;padding:var(--space-4) var(--space-1)}.swipe-guide .guide-arrow{font-size:1.9rem}}.swipe-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);transition:transform .4s var(--ease-out),box-shadow var(--dur-fast) var(--ease)}.swipe-stamp{position:absolute;top:var(--space-5);z-index:3;padding:.3rem 1rem;font-family:var(--font-display);font-weight:800;font-size:1.9rem;letter-spacing:.04em;text-transform:uppercase;background:color-mix(in srgb,var(--surface) 85%,transparent);border:4px solid;border-radius:var(--radius-md);transform:rotate(var(--rot));animation:stamp-pop .18s var(--ease-out) both;pointer-events:none}.stamp-wag{--rot: -14deg;left:var(--space-5);color:var(--accent-dark);border-color:var(--accent)}.stamp-growl{--rot: 14deg;right:var(--space-5);color:var(--danger);border-color:var(--danger)}@keyframes stamp-pop{0%{opacity:0;transform:rotate(var(--rot)) scale(.5)}to{opacity:1;transform:rotate(var(--rot)) scale(1)}}.swipe-card img{width:100%;aspect-ratio:1 / 1;height:auto;object-fit:cover;display:block;background:var(--surface-2)}.swipe-card .body{padding:var(--space-4)}.swipe-card h2{margin:0 0 var(--space-1)}.swipe-card p{margin:var(--space-2) 0}.swipe-card.leaving-wag{transform:translate(130%) rotate(14deg);box-shadow:inset 0 0 0 5px var(--accent),var(--shadow-lg)}.swipe-card.leaving-growl{transform:translate(-130%) rotate(-14deg);box-shadow:inset 0 0 0 5px var(--danger),var(--shadow-lg)}.swipe-actions{display:flex;gap:var(--space-4);justify-content:center;margin:var(--space-4) 0 var(--space-1)}.swipe-actions button{flex:1;max-width:170px;font-size:1.05rem;padding:var(--space-3) var(--space-4)}.swipe-actions .growl{background:var(--surface-2);color:var(--text);border:1px solid var(--border);box-shadow:none}.swipe-actions .growl:hover:not(:disabled){background:color-mix(in srgb,var(--surface-2) 78%,var(--text) 10%)}.swipe-actions .wag{background:var(--accent);color:var(--accent-contrast)}@keyframes vt-fade-in{0%{opacity:0}}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-slide-up{0%{opacity:0;transform:translateY(12px)}}@keyframes vt-slide-down{to{opacity:0;transform:translateY(-8px)}}::view-transition-old(root){animation:vt-fade-out var(--dur) var(--ease) both}::view-transition-new(root){animation:vt-slide-up var(--dur-slow) var(--ease-out) both}.dog-hero{view-transition-name:dog-hero}::view-transition-group(dog-hero){animation-duration:var(--dur-slow);animation-timing-function:var(--ease-out)}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.page-head{margin-bottom:var(--space-5)}.page-head .page-sub{margin-top:0}.head-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.results-count{color:var(--muted);font-size:.9rem;margin:0 0 var(--space-4)}@keyframes shimmer{to{background-position:-200% 0}}.skeleton{background-color:var(--surface-2);background-image:linear-gradient(100deg,transparent 20%,color-mix(in srgb,var(--surface) 70%,transparent) 45%,transparent 70%);background-size:200% 100%;background-repeat:no-repeat;animation:shimmer 1.25s var(--ease) infinite;border-radius:var(--radius-sm)}.skeleton-card{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--surface)}.skeleton-card .sk-img{width:100%;aspect-ratio:1 / 1;border-radius:0}.skeleton-card .sk-body{padding:var(--space-4);display:grid;gap:var(--space-2)}.sk-line{height:.75rem}.sk-line.short{width:45%}.sk-line.mid{width:70%}.empty-state{text-align:center;padding:var(--space-7) var(--space-5);background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);color:var(--muted)}.empty-icon{font-size:3rem;line-height:1}.empty-state h3{margin:var(--space-3) 0 var(--space-1);color:var(--text-strong)}.empty-state p{margin:0 auto var(--space-4);max-width:42ch}.empty-actions{display:flex;gap:var(--space-2);justify-content:center;flex-wrap:wrap}.link-btn{background:none;border:none;box-shadow:none;padding:0;color:var(--accent-dark);font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.link-btn:hover:not(:disabled){background:none;color:var(--accent);transform:none;box-shadow:none}.auth-head{text-align:center;margin-bottom:var(--space-5)}.auth-logo{font-size:2.6rem;line-height:1}.auth-head h2{margin:var(--space-2) 0 var(--space-1)}.auth-head .auth-sub{color:var(--muted);font-size:.9rem;margin:0}.auth-switch{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center;margin-top:var(--space-4);font-size:.9rem}.detail-back{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:var(--space-4);font-weight:600;background:none;border:none;box-shadow:none;padding:0;color:var(--accent-dark);cursor:pointer}.detail-back:hover:not(:disabled){background:none;color:var(--accent);transform:none;box-shadow:none}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6)}@media (min-width: 820px){.detail-grid{grid-template-columns:minmax(280px,400px) 1fr;align-items:start}.detail-media{position:sticky;top:84px}}.detail-media img{width:100%;aspect-ratio:1 / 1;object-fit:cover;display:block;border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-md);background:var(--surface-2)}.detail-info h1{margin-bottom:var(--space-2)}.detail-desc{margin-bottom:var(--space-4);color:var(--text)}.spec-list{list-style:none;margin:var(--space-4) 0;padding:0;border-top:1px solid var(--border)}.spec-list li{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-2) 0;border-bottom:1px solid var(--border);font-size:.92rem}.spec-key{color:var(--muted)}.spec-val{color:var(--text-strong);font-weight:600;text-align:right}.reaction-bar{display:flex;gap:var(--space-2);flex-wrap:wrap}.reaction-bar .react-btn{flex:1;min-width:130px;font-size:1rem}.react-hint{margin:var(--space-2) 0 0}.owner-actions{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.owner-actions .link-reset{text-decoration:none}.share-box{margin-top:var(--space-3)}.share-box code{display:inline-block;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.15rem .4rem;font-size:.85rem;word-break:break-all}.swipe-pills{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.pill{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .6rem;border-radius:var(--radius-full);background:var(--surface-2);border:1px solid var(--border);font-size:.8rem;font-weight:700;color:var(--text)}.swipe-progress{margin-top:var(--space-4)}.swipe-progress .bar{height:6px;border-radius:var(--radius-full);background:var(--surface-2);overflow:hidden}.swipe-progress .bar>span{display:block;height:100%;background:var(--accent);border-radius:var(--radius-full);transition:width var(--dur) var(--ease-out)}.swipe-progress .label{text-align:center;color:var(--muted);font-size:.82rem;margin:var(--space-2) 0 0}.swipe-view-link{display:inline-block;margin-top:var(--space-2);font-weight:600}.swipe-hint{text-align:center;color:var(--muted);font-size:.78rem;margin-top:var(--space-1)}.card,.filters,.swipe-card,.dropzone,.photo-selected,.empty-state,.skeleton-card,.detail-media img,input,select,textarea,button{border-width:var(--bw);border-style:solid;border-color:var(--ink)}button{background:var(--accent);color:var(--accent-contrast);box-shadow:var(--shadow-sm);font-weight:700}button:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:var(--shadow-md)}button:active:not(:disabled){transform:translate(2px,2px);box-shadow:0 0 0 0 var(--ink-shadow)}button.secondary{background:var(--surface);color:var(--text)}button:disabled{box-shadow:none}a.card,.grid .card{box-shadow:var(--shadow-md)}a.card:hover,.grid .card:hover{transform:translate(-3px,-3px);box-shadow:var(--shadow-lg)}.navbar{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:var(--bw) solid var(--ink)}.navbar .brand{text-transform:uppercase;letter-spacing:.02em;color:var(--text-strong)}.navbar a.nav-link.active:after,.navbar a.nav-link:hover:after{background:var(--accent);height:3px}h1,h2{letter-spacing:-.02em}input:focus,select:focus,textarea:focus{box-shadow:var(--ring)}:focus-visible{box-shadow:var(--ring)}.badge,.pill{border:2px solid var(--ink);box-shadow:var(--shadow-sm)}.theme-toggle,.file-button{border:var(--bw) solid var(--ink);box-shadow:var(--shadow-sm)}.theme-toggle:hover:not(:disabled),.file-button:hover{transform:translate(-1px,-1px);box-shadow:var(--shadow-md)}.swipe-guide{box-shadow:var(--shadow-md)}.swipe-guide:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:var(--shadow-lg)}.swipe-guide:active:not(:disabled){transform:translate(2px,2px);box-shadow:0 0 0 0 var(--ink-shadow)}.alert{border:var(--bw) solid var(--ink);box-shadow:var(--shadow-sm)}.swipe-stamp{border-width:4px;box-shadow:var(--shadow-md);background:var(--surface)}
