@font-face{font-family:Free Fat Font;src:url(/fonts/free-fat-font-regular.woff2) format("woff2"),url(/fonts/free-fat-font-regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}:root{--font-title: "Free Fat Font", "Arial Narrow", "Helvetica Neue", Impact, sans-serif;--bg: #0a0a0a;--bg-elev: #141414;--bg-card: #181818;--line: #262626;--text: #f2f2f2;--muted: #8a8a8a;--neon: #00ff41;--neon-dim: #0f3d1c;--danger: #ff3b57;--gold: #ffcc00;--tier-S: #ff3b8d;--tier-A: #ff7b2c;--tier-B: #ffcc00;--tier-C: #7ee787;--tier-D: #4aa3ff;--tier-F: #8a8a8a;--bv-lg: 16px;--bv-md: 12px;--bv-sm: 8px;--nav-h: 68px;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}*,*:before,*:after{corner-shape:bevel;--corner-shape: bevel}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);overscroll-behavior-y:none}a{color:var(--neon)}button{font-family:inherit}svg{display:block}.app{min-height:100%;padding-bottom:calc(var(--nav-h) + var(--safe-b) + 12px)}.header{position:sticky;top:0;z-index:20;padding:calc(var(--safe-t) + 14px) 18px 12px;background:linear-gradient(180deg,#0a0a0afa,#0a0a0adb);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header h1{margin:0;font-family:var(--font-title);font-weight:400;font-size:23px;letter-spacing:.5px;text-transform:uppercase;display:flex;align-items:center;gap:9px;line-height:1}.header h1 .claw{color:var(--neon);filter:drop-shadow(0 0 6px rgba(0,255,65,.6));display:flex}.header .sub{margin:2px 0 0;color:var(--muted);font-size:12.5px}.content{padding:14px 14px 0;max-width:640px;margin:0 auto}.nav{position:fixed;left:0;right:0;bottom:0;z-index:30;height:calc(var(--nav-h) + var(--safe-b));padding-bottom:var(--safe-b);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:#121212f0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line)}.nav button{background:none;border:0;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:10.5px;font-weight:600;cursor:pointer}.nav button .ic{display:flex}.nav button.active{color:var(--neon)}.nav button.active .ic{filter:drop-shadow(0 0 6px rgba(0,255,65,.7))}.fab{position:fixed;right:18px;bottom:calc(var(--nav-h) + var(--safe-b) + 16px);z-index:31;width:60px;height:60px;border-radius:0 20px;border:0;background:var(--neon);color:#04210d;filter:drop-shadow(0 5px 14px rgba(0,255,65,.45));cursor:pointer;display:flex;align-items:center;justify-content:center}.fab:active{transform:scale(.94)}.card{background:var(--bg-card);border:1px solid var(--line);border-radius:0 var(--bv-lg) 0 var(--bv-lg);overflow:hidden}.flavor{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-card);border:1px solid var(--line);border-radius:0 var(--bv-md) 0 var(--bv-md);margin-bottom:10px;cursor:pointer;position:relative;transition:border-color .15s}@media(hover:hover){.flavor:hover{border-color:var(--neon)}}.can{width:30px;height:62px;border-radius:0 7px;flex:0 0 auto;position:relative;box-shadow:inset 0 0 0 1px #ffffff14;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));background:linear-gradient(160deg,#ffffff38,#00000040)}.can:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:0 7px;background:repeating-linear-gradient(180deg,transparent 0 8px,rgba(0,0,0,.12) 8px 9px)}.flavor .meta{flex:1;min-width:0}.flavor .meta .name{font-weight:700;font-size:15px}.flavor .meta .prof{color:var(--muted);font-size:12px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tags{margin-top:6px;display:flex;gap:5px;flex-wrap:wrap}.chip{font-size:10px;padding:2px 7px;border-radius:0 7px;background:var(--bg-elev);border:1px solid var(--line);color:var(--muted)}.chip.line{color:var(--neon);border-color:var(--neon-dim)}.flavor .right{text-align:right;flex:0 0 auto}.score-badge{font-weight:800;font-size:17px;min-width:34px}.score-badge.has{color:var(--neon);font-family:var(--font-title);font-weight:400;font-size:23px}.score-badge.none{color:var(--muted);font-size:12px;font-weight:600}.untried-dot{position:absolute;top:10px;right:10px;width:8px;height:8px;border-radius:0 3px;background:var(--gold)}.filters{display:flex;gap:0;overflow-x:auto;padding:2px 0 12px;scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.filter{--slant: 9px;position:relative;isolation:isolate;flex:0 0 auto;padding:8px 15px;border-radius:0;border:0;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer;background:var(--line);clip-path:polygon(var(--slant) 0,100% 0,calc(100% - var(--slant)) 100%,0 100%)}.filter:before{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;z-index:-1;background:var(--bg-elev);clip-path:polygon(var(--slant) 0,100% 0,calc(100% - var(--slant)) 100%,0 100%)}.filter:first-child,.filter:first-child:before{clip-path:polygon(0 0,100% 0,calc(100% - var(--slant)) 100%,0 100%)}.filter:last-child,.filter:last-child:before{clip-path:polygon(var(--slant) 0,100% 0,100% 100%,0 100%)}.filter:not(:first-child){margin-left:calc(var(--slant) * -1 + 3px)}.filter.active{background:var(--neon);color:#04210d}.filter.active:before{background:var(--neon)}.search{width:100%;padding:12px 14px;margin-bottom:12px;font-size:15px;background:var(--bg-elev);border:1px solid var(--line);border-radius:0 var(--bv-md) 0 var(--bv-md);color:var(--text)}.search:focus{outline:none;border-color:var(--neon)}.tier-row{display:flex;gap:8px;margin-bottom:8px;align-items:stretch}.tier-label{flex:0 0 46px;border-radius:0 var(--bv-md) 0 var(--bv-md);display:flex;align-items:center;justify-content:center;font-family:var(--font-title);font-weight:400;font-size:26px;color:#0a0a0a}.tier-S .tier-label{background:var(--tier-S)}.tier-A .tier-label{background:var(--tier-A)}.tier-B .tier-label{background:var(--tier-B)}.tier-C .tier-label{background:var(--tier-C)}.tier-D .tier-label{background:var(--tier-D)}.tier-F .tier-label{background:var(--tier-F)}.tier-items{flex:1;background:var(--bg-elev);border:1px solid var(--line);border-radius:0 var(--bv-md) 0 var(--bv-md);padding:8px;display:flex;flex-wrap:wrap;gap:7px;min-height:58px;align-content:flex-start}.tier-pill{display:flex;align-items:center;gap:7px;padding:5px 10px 5px 6px;background:var(--bg-card);border:1px solid var(--line);border-radius:0 var(--bv-sm) 0 var(--bv-sm);font-size:12.5px;font-weight:600;cursor:pointer}.tier-pill .dot{width:11px;height:22px;border-radius:0 4px}.tier-pill .s{color:var(--neon);font-weight:800}.big-can{width:53px;height:110px;border-radius:0 12px;flex:0 0 auto;position:relative;object-fit:cover;box-shadow:inset 0 0 0 1px #ffffff1a;filter:drop-shadow(0 6px 14px rgba(0,0,0,.6))}.btn{display:block;width:100%;padding:14px;border-radius:0 var(--bv-md) 0 var(--bv-md);border:0;font-size:15px;font-weight:700;cursor:pointer;background:var(--bg-elev);color:var(--text);border:1px solid var(--line)}.btn.primary{background:var(--neon);color:#04210d;border-color:var(--neon)}.btn.ghost{background:transparent}.btn:active{transform:scale(.99)}.btn.sm{padding:10px;font-size:13px;display:flex;align-items:center;justify-content:center;gap:8px}.row{display:flex;gap:10px}.row>*{flex:1}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#000000b8}.sheet{position:fixed;left:0;right:0;z-index:61;width:100%;max-width:640px;margin:0 auto;background:var(--bg-elev);border:1px solid var(--line);padding:8px 18px calc(18px + var(--safe-b));display:flex;flex-direction:column;outline:none;max-height:92vh;max-height:92dvh}.sheet.drawer-bottom{bottom:0;border-radius:20px 20px 0 0}.sheet.drawer-top{top:0;border-radius:0 0 20px 20px;padding-top:calc(var(--safe-t) + 10px)}.sheet-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.sheet .grab{width:44px;height:5px;border-radius:5px;background:var(--line);margin:6px auto 12px;flex:0 0 auto;cursor:grab;corner-shape:round;--corner-shape: round}.sheet h2{margin:0 0 4px;font-family:var(--font-title);font-weight:400;font-size:24px;letter-spacing:.5px;text-transform:uppercase;display:flex;align-items:center;gap:9px;line-height:1.05}.sheet .prof{color:var(--muted);margin:0 0 14px;font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.can-photo{display:block;margin:4px auto 0;height:min(240px,34vh);aspect-ratio:30 / 62;object-fit:cover;border-radius:0 var(--bv-lg) 0 var(--bv-lg);border:1px solid var(--line);cursor:pointer}.score-display{text-align:center;font-family:var(--font-title);font-size:52px;font-weight:400;color:var(--neon);margin:6px 0;letter-spacing:1px}.score-display .max{color:var(--muted);font-size:22px}.header-can{position:relative;padding:0;border:0;background:none;cursor:pointer;flex:0 0 auto;line-height:0}.header-can .cam-badge{position:absolute;right:-6px;bottom:-6px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--neon);color:#04210d;border-radius:0 8px;box-shadow:0 2px 6px #0000008c}.score-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:22px;margin:4px 0;background:transparent;cursor:pointer}.score-slider::-webkit-slider-runnable-track{height:10px;border-radius:0 5px;border:1px solid var(--line);background:linear-gradient(90deg,var(--neon) var(--val, 50%),var(--bg-elev) var(--val, 50%))}.score-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-top:-6px;width:20px;height:20px;background:var(--neon);border:0;border-radius:0 6px;corner-shape:bevel;--corner-shape: bevel;box-shadow:0 0 8px #00ff4180}.score-slider::-moz-range-track{height:10px;border-radius:0 5px;border:1px solid var(--line);background:var(--bg-elev)}.score-slider::-moz-range-progress{height:10px;border-radius:0 5px;background:var(--neon)}.score-slider::-moz-range-thumb{width:20px;height:20px;background:var(--neon);border:0;border-radius:0 6px;corner-shape:bevel;--corner-shape: bevel;box-shadow:0 0 8px #00ff4180}textarea.notes{width:100%;min-height:70px;padding:12px;border-radius:0 var(--bv-md) 0 var(--bv-md);resize:vertical;background:var(--bg-card);border:1px solid var(--line);color:var(--text);font-size:14px;font-family:inherit}.label{font-size:12px;color:var(--muted);font-weight:600;margin:14px 0 6px;text-transform:uppercase;letter-spacing:.5px}.scanner-video{width:100%;border-radius:0 var(--bv-lg) 0 var(--bv-lg);background:#000;aspect-ratio:3/4;object-fit:cover;border:1px solid var(--line)}.scan-frame{position:relative;border-radius:0 var(--bv-lg) 0 var(--bv-lg);overflow:hidden}.scan-frame .reticle{position:absolute;left:12%;right:12%;top:38%;height:24%;border:2px solid var(--neon);border-radius:0 var(--bv-md) 0 var(--bv-md);box-shadow:0 0 0 100vmax #00000059}.scan-frame .laser{position:absolute;left:12%;right:12%;top:50%;height:2px;background:var(--neon);box-shadow:0 0 10px var(--neon);animation:scan 1.8s ease-in-out infinite}@keyframes scan{0%,to{top:40%}50%{top:58%}}.hint{color:var(--muted);font-size:13px;text-align:center;margin:12px 0}.hint.err{color:var(--danger)}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.stat{background:var(--bg-card);border:1px solid var(--line);border-radius:0 var(--bv-md) 0 var(--bv-md);padding:14px 10px;text-align:center}.stat .n{font-family:var(--font-title);font-size:30px;font-weight:400;color:var(--neon)}.stat .l{font-size:11px;color:var(--muted);margin-top:2px}.bar{height:8px;background:var(--bg-elev);border-radius:0 5px;overflow:hidden;margin-top:6px}.bar>span{display:block;height:100%;background:var(--neon)}.line-row{margin-bottom:12px}.line-row .top{display:flex;justify-content:space-between;font-size:13px}.section-title{font-family:var(--font-title);font-weight:400;font-size:17px;color:var(--text);text-transform:uppercase;letter-spacing:.6px;margin:22px 0 10px;display:flex;align-items:center;gap:7px}.section-title svg{color:var(--muted)}.empty{text-align:center;color:var(--muted);padding:40px 20px}.empty .big{display:flex;justify-content:center;margin-bottom:12px;color:var(--muted)}.login{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:24px;text-align:center}.login .logo{color:var(--neon);margin-bottom:12px;filter:drop-shadow(0 0 10px rgba(0,255,65,.5))}.login h1{margin:0 0 6px;font-family:var(--font-title);font-weight:400;font-size:44px;letter-spacing:1px;text-transform:uppercase;line-height:.92}.login input{margin:20px 0 12px;text-align:center;letter-spacing:4px;font-size:20px}
