:root{--bg: #0a0b0f;--bg-grad-a: #12131c;--bg-grad-b: #0a0b0f;--surface: #171a23;--surface-2: #1f2430;--surface-3: #2a3040;--border: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .14);--text: #eef0f6;--text-dim: #9aa3b8;--text-faint: #6b7385;--accent: #7c6cff;--accent-2: #a855f7;--accent-soft: rgba(124, 108, 255, .16);--like: #22c55e;--like-soft: rgba(34, 197, 94, .16);--nope: #fb4e6d;--nope-soft: rgba(251, 78, 109, .16);--radius-sm: 10px;--radius: 16px;--radius-lg: 22px;--radius-xl: 28px;--shadow-card: 0 18px 40px -12px rgba(0, 0, 0, .75), 0 4px 12px rgba(0, 0, 0, .4);--shadow-float: 0 10px 24px -6px rgba(0, 0, 0, .6);--ease: cubic-bezier(.22, .61, .36, 1);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--bg);background-image:radial-gradient(120% 60% at 50% 0%,var(--bg-grad-a) 0%,var(--bg-grad-b) 70%);background-attachment:fixed;color:var(--text);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}h1,h2,h3{letter-spacing:-.02em;font-weight:650}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:0 1.1rem;border-radius:var(--radius);font-weight:600;font-size:.92rem;transition:transform .12s var(--ease),background .16s var(--ease),opacity .16s var(--ease)}.btn svg{width:18px;height:18px;flex:none}.btn:active:not(:disabled){transform:scale(.96)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;box-shadow:0 6px 18px -6px #7c6cffb3}.btn-ghost{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.btn-quiet{background:none;color:var(--text-dim);min-height:36px;padding:0 .5rem;font-weight:500}.btn-danger{background:none;color:var(--nope);min-height:36px;padding:0 .4rem;font-size:.85rem}input[type=text],input[type=number],input[type=password],select,textarea{width:100%;min-height:44px;padding:.6rem .8rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;transition:border-color .16s var(--ease),box-shadow .16s var(--ease);font-size:16px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}::placeholder{color:var(--text-faint)}.app-shell{display:flex;flex-direction:column;height:100dvh;max-width:520px;margin:0 auto;overflow:hidden}.app-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:calc(var(--safe-top) + .7rem) 1rem .55rem;flex:none}.brand{display:flex;align-items:center;gap:.45rem;font-size:1.05rem;font-weight:700;letter-spacing:-.03em;margin:0}.brand-mark{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:grid;place-items:center;font-size:.82rem}.header-user{display:flex;align-items:center;gap:.5rem}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:.78rem;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2))}.avatar-photo{background:var(--surface-2);overflow:hidden}.avatar-photo img{width:100%;height:100%;object-fit:cover;display:block}.avatar-xs{width:20px;height:20px;font-size:.6rem}.avatar-guest{background:linear-gradient(135deg,#4b5366,#333a4a)}.round-strip{display:flex;align-items:center;gap:.5rem;margin:0 1rem .6rem;padding:.5rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-size:.8rem;color:var(--text-dim);flex:none}.round-strip strong{color:var(--text)}.live-tag{margin-left:auto;flex:none;padding:.1rem .45rem;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--text-faint)}.round-dot{width:7px;height:7px;border-radius:50%;background:var(--like);box-shadow:0 0 0 3px var(--like-soft);flex:none}.round-strip-idle .round-dot{background:var(--text-faint);box-shadow:0 0 0 3px #ffffff0f}.app-main{flex:1;min-height:0;display:flex;flex-direction:column}.scroll-area{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 1rem 1.25rem}.tab-bar{flex:none;display:flex;gap:.25rem;padding:.4rem .6rem calc(var(--safe-bottom) + .4rem);background:#0c0e14eb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border);position:relative;z-index:40}.tab-bar button{flex:1;display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.4rem 0;min-height:48px;border-radius:var(--radius-sm);color:var(--text-faint);font-size:.68rem;font-weight:600;letter-spacing:.01em;transition:color .16s var(--ease)}.tab-bar button svg{width:21px;height:21px}.tab-bar button.tab-active{color:var(--accent)}.swipe-screen{flex:1;min-height:0;display:flex;flex-direction:column;padding:0 1rem}.swipe-toolbar{display:flex;gap:.5rem;align-items:center;flex:none;padding-bottom:.6rem}.swipe-toolbar .btn{min-height:38px;font-size:.83rem;padding:0 .85rem}.deck-count{margin-left:auto;font-size:.78rem;color:var(--text-faint);font-variant-numeric:tabular-nums}.deck{position:relative;flex:1;min-height:0;z-index:1}.deck-card{position:absolute;top:0;right:0;bottom:0;left:0;will-change:transform}.deck-card-inner{height:100%;transition:transform .3s var(--ease)}.deck-controls{flex:none;display:flex;align-items:center;justify-content:center;gap:1.5rem;padding:.9rem 0 .6rem;position:relative;z-index:30}.circle-btn{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--border-strong);box-shadow:var(--shadow-float);transition:transform .12s var(--ease),background .16s var(--ease)}.circle-btn svg{width:26px;height:26px}.circle-btn:active{transform:scale(.9)}.circle-btn.nope{color:var(--nope)}.circle-btn.nope:active{background:var(--nope-soft)}.circle-btn.like{color:var(--like)}.circle-btn.like:active{background:var(--like-soft)}.circle-btn.big{width:68px;height:68px}.game-card{position:relative;height:100%;border-radius:var(--radius-xl);overflow:hidden;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);display:flex;flex-direction:column;-webkit-user-select:none;user-select:none}.card-art{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--surface-2)}.card-art img{width:100%;height:100%;object-fit:cover;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;pointer-events:none}.card-art-fallback{width:100%;height:100%;display:grid;place-items:center;font-size:3.5rem;opacity:.25}.card-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#08090df7,#08090de6 28%,#08090d73 52%,#08090d14 72%,#08090d40)}.card-body{position:relative;margin-top:auto;padding:1rem 1.1rem 1.15rem;display:flex;flex-direction:column;gap:.5rem}.card-title{margin:0;font-size:1.5rem;line-height:1.15;letter-spacing:-.03em;text-wrap:balance}.card-year{font-size:.78rem;color:var(--text-dim);font-weight:500}.best-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.best-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .62rem;border-radius:999px;font-size:.82rem;font-weight:600;background:var(--surface-3);border:1px solid var(--border-strong);color:var(--text)}.best-pill.is-ideal{background:var(--like-soft);border-color:#22c55e73;color:#6ee7a0}.best-pill svg{width:14px;height:14px}.ideal-note{font-size:.74rem;font-weight:600;color:var(--like)}.card-stats{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;font-size:.85rem;color:var(--text-dim)}.card-stats .sep{width:3px;height:3px;border-radius:50%;background:var(--text-faint)}.weight-value{font-weight:700;font-variant-numeric:tabular-nums}.weight-1{color:#4ade80}.weight-2{color:#a3e635}.weight-3{color:#fbbf24}.weight-4{color:#fb923c}.weight-5{color:#f87171}.card-tags{display:flex;gap:.3rem;flex-wrap:wrap;overflow:hidden;max-height:26px}.tag{padding:.16rem .5rem;border-radius:999px;font-size:.7rem;font-weight:500;background:#ffffff12;border:1px solid var(--border);color:var(--text-dim);white-space:nowrap}.card-summary{margin:0;font-size:.84rem;line-height:1.4;color:var(--text);opacity:.9;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.card-played{font-size:.75rem;color:var(--text-faint)}.stamp{position:absolute;top:1.4rem;padding:.3rem .8rem;border-radius:var(--radius-sm);font-size:1.15rem;font-weight:800;letter-spacing:.06em;border:3px solid currentColor;opacity:0;transition:opacity .14s var(--ease),transform .14s var(--ease);pointer-events:none}.stamp-like{left:1.2rem;color:var(--like);transform:rotate(-14deg) scale(.85)}.stamp-nope{right:1.2rem;color:var(--nope);transform:rotate(14deg) scale(.85)}.stamp.is-on{opacity:1;transform:rotate(-14deg) scale(1)}.stamp-nope.is-on{transform:rotate(14deg) scale(1)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;height:100%;text-align:center;color:var(--text-dim);padding:2rem 1.5rem}.empty-emoji{font-size:2.5rem;opacity:.6}.empty-state h3{margin:0;color:var(--text)}.empty-state p{margin:0;font-size:.88rem;max-width:30ch}.skeleton-card{height:100%;border-radius:var(--radius-xl);background:linear-gradient(100deg,var(--surface) 30%,var(--surface-2) 50%,var(--surface) 70%);background-size:220% 100%;animation:shimmer 1.3s infinite linear}@keyframes shimmer{to{background-position:-220% 0}}.form-error{color:#ff9aae;background:var(--nope-soft);border:1px solid rgba(251,78,109,.3);border-radius:var(--radius-sm);padding:.55rem .75rem;font-size:.85rem;margin-top:.6rem}.form-ok{color:#86efac;background:var(--like-soft);border:1px solid rgba(34,197,94,.3);border-radius:var(--radius-sm);padding:.55rem .75rem;font-size:.85rem;margin-top:.6rem}.profile-screen{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:2rem 1.25rem calc(var(--safe-bottom) + 2rem);max-width:520px;margin:0 auto}.profile-hero{text-align:center;margin-bottom:2rem}.profile-hero .brand-mark{width:56px;height:56px;border-radius:18px;font-size:1.7rem;margin:0 auto .9rem;box-shadow:0 12px 30px -8px #7c6cffa6}.profile-hero h1{margin:0 0 .25rem;font-size:1.9rem;letter-spacing:-.04em}.profile-hero p{margin:0;color:var(--text-dim);font-size:.92rem}.profile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.profile-card{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:1.4rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text);font-weight:600;transition:transform .14s var(--ease),border-color .16s var(--ease),background .16s var(--ease)}.profile-card:active{transform:scale(.96);border-color:var(--accent);background:var(--surface-2)}.profile-card .avatar{width:54px;height:54px;font-size:1.3rem}.profile-label{font-size:.76rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin:1.6rem 0 .6rem}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem;margin-bottom:.85rem}.panel h3{margin:0 0 .2rem;font-size:.98rem}.panel-hint{margin:0 0 .75rem;font-size:.82rem;color:var(--text-dim)}.panel-note{margin:.7rem 0 0;font-size:.78rem;color:var(--text-faint)}.field-label{font-size:.76rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:var(--text-faint);margin:.9rem 0 .5rem}.chip-list{display:flex;flex-wrap:wrap;gap:.4rem}.chip{display:inline-flex;align-items:center;gap:.3rem;min-height:38px;padding:0 .8rem;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);font-size:.85rem;font-weight:500;transition:all .14s var(--ease)}.chip:active{transform:scale(.95)}.chip-active{background:var(--accent-soft);border-color:var(--accent);color:#c7c0ff;font-weight:600}.chip-tag{font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;opacity:.7}.row-actions{display:flex;gap:.5rem;margin-top:.85rem;flex-wrap:wrap}.row-actions .btn{flex:1 1 auto}.inline-form{display:flex;gap:.5rem;align-items:center}.inline-form input{flex:1}.inline-form .btn{flex:none}.list-rows{margin-top:.8rem}.list-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem 0;border-bottom:1px solid var(--border);font-size:.9rem}.list-row:last-child{border-bottom:none}.list-row-main{display:flex;align-items:center;gap:.55rem;min-width:0}.row-buttons{display:flex;align-items:center;gap:.15rem;flex:none}.photo-button{position:relative;overflow:hidden;cursor:pointer}.photo-button svg{width:16px;height:16px}.photo-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.photo-button.is-busy{opacity:.45;pointer-events:none}.chip-avatar{padding-left:.35rem}.stats-page{padding-top:.1rem}.stats-summary{display:flex;gap:.5rem;margin-bottom:.75rem}.stat-tile{flex:1;display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.7rem .4rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.stat-value{font-size:1.25rem;font-weight:700;letter-spacing:-.03em}.stat-label{text-align:center;font-size:.7rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em}.sort-row{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:none}.sort-row::-webkit-scrollbar{display:none}.sort-row .chip{flex:none}.stat-rows{display:flex;flex-direction:column;gap:.4rem}.stat-row{display:grid;grid-template-columns:44px minmax(0,1fr);gap:.2rem .7rem;padding:.7rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.stat-thumb{grid-row:span 2;width:44px;height:44px;border-radius:var(--radius-sm);object-fit:cover;background:var(--surface-2)}.stat-thumb-empty{border:1px solid var(--border)}.stat-meta{display:flex;flex-direction:column;gap:.12rem;min-width:0}.stat-name{font-size:.9rem;font-weight:600;line-height:1.25}.stat-sub,.stat-players{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .45rem;font-size:.74rem;color:var(--text-faint)}.stat-players{margin-top:.15rem}.stat-bar{grid-column:2;height:4px;border-radius:999px;background:var(--surface-3);overflow:hidden;margin-top:.3rem}.stat-bar i{display:block;height:100%;border-radius:999px;background:var(--text-dim);transition:width .2s var(--ease)}.stat-bar i.rate-low{background:var(--nope)}.stat-bar i.rate-high{background:var(--like)}.library-rows{margin-top:.8rem}.library-row{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-areas:"thumb meta" "modes modes";align-items:center;gap:.55rem .7rem;padding:.7rem 0;border-bottom:1px solid var(--border)}.library-row:last-child{border-bottom:none}.library-row.is-busy{opacity:.55}.library-thumb{grid-area:thumb;width:44px;height:44px;border-radius:var(--radius-sm);object-fit:cover;background:var(--surface-2)}.library-thumb-empty{border:1px solid var(--border)}.library-meta{grid-area:meta;display:flex;flex-direction:column;gap:.12rem;min-width:0}.library-name{font-size:.9rem;font-weight:600;line-height:1.25}.library-sub{font-size:.74rem;color:var(--text-faint)}.card-history{color:var(--text-dim)}.library-rating{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .45rem;margin-top:.15rem;font-size:.72rem;color:var(--text-faint)}.library-rating.is-empty{font-style:italic}.rate{font-weight:700}.rate-low{color:var(--nope)}.rate-mid{color:var(--text-dim)}.rate-high{color:var(--like)}.rate-player{padding:0 .35rem;border-radius:999px;background:var(--surface-2);border:1px solid var(--border)}button.library-meta{padding:0;text-align:left;color:inherit;cursor:pointer}.no-summary{font-size:.72rem;font-weight:500;color:var(--text-faint)}.summary-editor{grid-column:1 / -1;display:flex;flex-direction:column;gap:.5rem}.model-picker{margin:.4rem 0 .2rem}.model-current{display:flex;align-items:center;gap:.5rem;min-height:44px}.model-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.model-id{flex:1;min-width:0;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.model-list-wrap{display:flex;flex-direction:column;gap:.5rem}.model-list{max-height:300px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.model-option{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;width:100%;min-height:44px;padding:.5rem .7rem;text-align:left;border-bottom:1px solid var(--border);color:var(--text)}.model-option:last-child{border-bottom:none}.model-option.is-current{background:var(--accent-soft)}.model-option-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;overflow-wrap:anywhere}.model-option-name{font-size:.72rem;color:var(--text-faint)}.samples{display:flex;flex-direction:column;gap:.6rem;margin-top:.8rem}.sample{padding:.7rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.sample-name{font-weight:600;font-size:.86rem;margin-bottom:.3rem}.sample-line{margin:.25rem 0 0;font-size:.8rem;line-height:1.4}.sample-en{color:var(--text-dim)}.sample-new{color:var(--text)}.sample-label{display:inline-block;min-width:3.4rem;margin-right:.3rem;font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint)}.sample-new .sample-label{color:var(--accent)}.summary-original{margin:0;font-size:.8rem;line-height:1.4;color:var(--text-dim)}.summary-original-label{display:inline-block;margin-right:.3rem;padding:0 .35rem;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);font-size:.64rem;font-weight:700;letter-spacing:.05em;color:var(--text-faint)}.summary-editor textarea{resize:vertical;line-height:1.4}.summary-editor-foot{display:flex;align-items:center;gap:.4rem}.summary-source{margin-right:auto;font-size:.74rem;color:var(--text-faint)}.library-group{margin-top:1rem}.library-group-head{display:flex;align-items:baseline;gap:.5rem;padding-bottom:.3rem;border-bottom:1px solid var(--border-strong)}.library-group-title{font-size:.8rem;font-weight:700;letter-spacing:-.01em}.library-group-hint{font-size:.72rem;color:var(--text-faint)}.library-toggle{margin-left:auto;font-size:.78rem;color:var(--accent)}.library-summary{margin-bottom:0}.segmented{grid-area:modes;display:flex;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:3px;gap:3px}.segment{flex:1;min-height:36px;padding:0 .6rem;border-radius:999px;background:transparent;border:none;color:var(--text-dim);font-size:.8rem;font-weight:600;transition:all .14s var(--ease)}.segment:active{transform:scale(.96)}.segment-active{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff}.segment-active.segment-off{background:var(--surface-3);color:var(--text-dim)}@media (min-width: 560px){.library-row{grid-template-columns:44px minmax(0,1fr) auto;grid-template-areas:"thumb meta modes"}.segmented{width:220px}}.section-heading{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--text-faint);margin:1.1rem 0 .6rem}.match-card{display:flex;align-items:center;gap:.8rem;padding:.7rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.6rem}.match-card img{width:56px;height:56px;border-radius:12px;object-fit:cover;flex:none;background:var(--surface-2)}.match-info{flex:1;min-width:0}.match-info h3{margin:0 0 .15rem;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-meta{font-size:.78rem;color:var(--text-dim)}.match-played{opacity:.55}.import-textarea{min-height:130px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;resize:vertical}.link-row{display:flex;align-items:center;gap:.5rem;padding:.5rem .65rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:.45rem}.link-row a{flex:1;min-width:0;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}.link-row .btn{min-height:34px;padding:0 .65rem;font-size:.78rem;flex:none}code{background:var(--surface-3);padding:.08rem .3rem;border-radius:5px;font-size:.85em}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:90;animation:fade .18s var(--ease)}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:100;max-width:520px;margin:0 auto;max-height:88dvh;display:flex;flex-direction:column;background:var(--surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-top:1px solid var(--border-strong);animation:sheet-up .26s var(--ease)}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes fade{0%{opacity:0}}.sheet-grip{width:38px;height:4px;border-radius:2px;background:var(--border-strong);margin:.6rem auto .2rem;flex:none}.sheet-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1.1rem .6rem;flex:none}.sheet-header h3{margin:0;font-size:1.05rem}.sheet-header .btn{width:38px;min-height:38px;padding:0;border-radius:50%;background:var(--surface-2);color:var(--text-dim)}.sheet-body{flex:1;min-height:0;overflow-y:auto;padding:0 1.1rem}.sheet-footer{flex:none;display:flex;gap:.6rem;padding:.8rem 1.1rem calc(var(--safe-bottom) + .9rem);border-top:1px solid var(--border)}.sheet-footer .btn{flex:1}.field{margin-bottom:1rem}.field>label{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:var(--text-faint);margin-bottom:.4rem}.field-pair{display:flex;gap:.5rem}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.35rem 0}.switch-row span{font-size:.9rem}.toast-stack{position:fixed;top:calc(var(--safe-top) + .6rem);left:50%;transform:translate(-50%);width:min(94vw,480px);display:flex;flex-direction:column;gap:.45rem;z-index:200;pointer-events:none}.toast{pointer-events:auto;padding:.7rem .95rem;border-radius:var(--radius);font-size:.88rem;font-weight:500;color:#fff;box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:toast-in .24s var(--ease)}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)}}.toast-match{background:linear-gradient(135deg,var(--accent),var(--accent-2))}.toast-info{background:#282e3cf2;border:1px solid var(--border-strong)}.toast-error{background:#be2d46f2}.bgg-credit{text-align:center;padding:1rem 0 .25rem}.bgg-credit a{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);text-decoration:none}@media (min-height: 780px){.card-title{font-size:1.65rem}.circle-btn{width:66px;height:66px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.tab-icon{position:relative;display:inline-flex}.tab-badge{position:absolute;top:-5px;left:11px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;font-size:.63rem;font-weight:800;line-height:17px;text-align:center;box-shadow:0 0 0 2px #0c0e14f2;animation:badge-pop .4s var(--ease)}@keyframes badge-pop{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.25);opacity:1}}.matches-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.matches-head .section-heading{margin-bottom:.6rem}.btn-choose{min-height:36px;padding:0 .8rem;font-size:.82rem;margin-bottom:.5rem;flex:none}.match-card.is-chosen{border-color:var(--accent);background:linear-gradient(135deg,#7c6cff29,#a855f714);box-shadow:0 0 0 1px var(--accent),0 10px 26px -10px #7c6cffb3;transform:translateY(-1px)}.match-card{transition:border-color .18s var(--ease),background .18s var(--ease),box-shadow .18s var(--ease),transform .18s var(--ease)}.match-card.is-soft{border-style:dashed}.soft-heading{margin-top:1.2rem}.soft-tag{display:inline-block;margin-right:.4rem;padding:0 .4rem;border-radius:999px;background:var(--accent-soft);color:#c7c0ff;font-size:.7rem;font-weight:700}.threshold-note{margin:0 0 .7rem;font-size:.78rem;color:var(--text-faint)}.pick-note{display:inline-flex;align-items:center;gap:.25rem;color:#c7c0ff;font-weight:600}.pick-note svg{width:13px;height:13px}
