:root{--bg:#fbf7f2;--card:#fff;--bg2:#f3ece4;--text:#231d19;--hint:#8e8178;--sep:#e9dfd4;--accent:#e4572e;--accent-2:#ec7a55;--like:#2e9e6b;--super:#f2a93b;--ok:#2e9e6b;--danger:#d2412c;--on-accent:#fff;--r-lg:22px;--r-md:14px;--r-sm:10px;--tabbar-h:0px;--safe-b:env(safe-area-inset-bottom,0px);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}:root[data-theme=dark]{--bg:#171412;--card:#221e1b;--bg2:#2c2723;--text:#f3ede7;--hint:#9c9087;--sep:#3a332e;--accent-2:#ef7350}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#171412;--card:#221e1b;--bg2:#2c2723;--text:#f3ede7;--hint:#9c9087;--sep:#3a332e;--accent-2:#ef7350}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);overscroll-behavior:none;font-size:15px;line-height:1.4}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}input,textarea,select{font:inherit;color:var(--text)}.app{flex-direction:column;height:100%;display:flex}.screen{padding:16px 16px calc(var(--tabbar-h) + var(--safe-b) + 16px);flex:1;overflow-y:auto}.screen.feed{padding-bottom:calc(var(--tabbar-h) + var(--safe-b) + 8px);flex-direction:column;display:flex;overflow:hidden}h1{letter-spacing:-.01em;margin:4px 0 14px;font-size:22px}h2{text-transform:uppercase;letter-spacing:.06em;color:var(--hint);margin:22px 4px 8px;font-size:13px;font-weight:600}.muted{color:var(--hint)}.small{font-size:13px}.center{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}.tabbar{z-index:20;height:calc(var(--tabbar-h) + var(--safe-b));padding-bottom:var(--safe-b);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--sep);grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--hint);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;display:flex;position:relative}.tab svg{width:24px;height:24px}.tab.active{color:var(--accent)}.badge{background:var(--accent);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:flex;position:absolute;top:6px;left:calc(50% + 6px)}.btn{border-radius:var(--r-md);background:var(--bg2);justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 18px;font-weight:600;display:inline-flex}.btn.primary{background:var(--accent);color:#fff}.btn.danger{color:var(--danger)}.btn.block{width:100%}.btn:disabled{opacity:.5}.row{gap:10px;display:flex}.row>*{flex:1}.notes{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.note{background:var(--bg2);border-radius:var(--r-sm);color:var(--hint);padding:8px 12px;font-size:13px}.deck{flex:1;min-height:0;position:relative}.card{border-radius:var(--r-lg);touch-action:none;-webkit-user-select:none;user-select:none;will-change:transform;background:#222;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 10px 30px #0000002e}.card.under{filter:brightness(.9);transform:scale(.96)translateY(8px)}.card img.photo{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.card .shade{pointer-events:none;background:linear-gradient(#0000,#000000c7);height:55%;position:absolute;top:auto;bottom:0;left:0;right:0}.card .info{color:#fff;pointer-events:none;position:absolute;bottom:16px;left:18px;right:18px}.card .name{letter-spacing:-.01em;align-items:center;gap:8px;font-size:26px;font-weight:700;display:flex}.card .meta{opacity:.92;margin-top:2px;font-size:14px}.card .bio{opacity:.9;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:8px;font-size:14px;display:-webkit-box;overflow:hidden}.card .bars{gap:4px;display:flex;position:absolute;top:10px;left:12px;right:12px}.card .bars i{background:#ffffff59;border-radius:2px;flex:1;height:3px}.card .bars i.on{background:#fff}.card .tap{width:40%;position:absolute;top:0;bottom:30%}.card .tap.l{left:0}.card .tap.r{right:0}.stamp{letter-spacing:.08em;opacity:0;pointer-events:none;border:3px solid;border-radius:10px;padding:6px 14px;font-size:22px;font-weight:800;position:absolute;top:34px;transform:rotate(-12deg)}.stamp.like{color:#4ade80;border-color:#4ade80;left:22px}.stamp.skip{color:#f87171;border-color:#f87171;right:22px;transform:rotate(12deg)}.stamp.super{color:var(--super);border-color:var(--super);top:auto;bottom:38%;left:50%;transform:translate(-50%)}.actions{justify-content:center;align-items:center;gap:14px;padding:14px 0 4px;display:flex}.act{background:var(--card);border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:transform .12s;display:flex;box-shadow:0 4px 14px #0000001f}.act:active{transform:scale(.9)}.act svg{width:24px;height:24px}.act.big{width:64px;height:64px}.act.big svg{width:30px;height:30px}.act.skip{color:var(--danger)}.act.like{color:var(--on-accent);background:var(--like)}.act.super{color:var(--super)}.act.emoji{color:#3a2a12;background:var(--super)}.act.skip.big{border:2px solid var(--sep)}.act.small{width:42px;height:42px;color:var(--hint)}.act.small svg{width:20px;height:20px}.act.locked{opacity:.45}.list{background:var(--bg2);border-radius:var(--r-md);overflow:hidden}.item{text-align:left;align-items:center;gap:12px;width:100%;padding:10px 14px;display:flex}.item+.item{border-top:1px solid var(--sep)}.avatar{object-fit:cover;background:var(--sep);border-radius:50%;flex:none;width:52px;height:52px}.item .grow{flex:1;min-width:0}.item .title{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.pill{background:var(--accent);color:#fff;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700}.pill.soft{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent)}.counter{background:var(--accent);color:#fff;border-radius:11px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:12px;font-weight:700;display:flex}.liked-banner{border-radius:var(--r-md);background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;text-align:left;align-items:center;gap:12px;width:100%;margin-bottom:14px;padding:14px;display:flex}.liked-banner .heart{background:#fff3;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:flex}.field{background:var(--bg2);border-radius:var(--r-md);padding:10px 14px}.field+.field{margin-top:8px}.field label{color:var(--hint);margin-bottom:2px;font-size:12px;display:block}.field input,.field textarea,.field select{background:0 0;border:0;outline:0;width:100%;padding:2px 0}.field textarea{resize:none;min-height:84px}.counter-hint{text-align:right;color:var(--hint);font-size:12px}.seg{background:var(--bg2);border-radius:var(--r-md);gap:4px;padding:4px;display:flex}.seg button{border-radius:var(--r-sm);min-height:38px;color:var(--hint);flex:1;font-weight:600}.seg button.on{background:var(--card);color:var(--text);box-shadow:0 1px 4px #00000014}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--bg2);border-radius:20px;padding:8px 14px;font-weight:500}.chip.on{background:var(--accent);color:#fff}.range-row{align-items:center;gap:12px;display:flex}.range-row input[type=range]{accent-color:var(--accent);flex:1}.photos{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.ph{aspect-ratio:3/4;border-radius:var(--r-md);background:var(--bg2);position:relative;overflow:hidden}.ph img{object-fit:cover;width:100%;height:100%}.ph .tag{color:#fff;background:#0009;border-radius:8px;padding:2px 7px;font-size:11px;position:absolute;bottom:6px;left:6px}.ph .x{color:#fff;background:#0000008c;border-radius:50%;width:26px;height:26px;font-size:14px;position:absolute;top:6px;right:6px}.status{border-radius:var(--r-md);background:var(--bg2);align-items:center;gap:8px;padding:10px 14px;font-size:14px;display:flex}.dot{background:var(--hint);border-radius:50%;flex:none;width:8px;height:8px}.dot.ok{background:var(--ok)}.dot.warn{background:var(--super)}.dot.bad{background:var(--danger)}.vip-box{border-radius:var(--r-md);background:linear-gradient(135deg, color-mix(in srgb, var(--super) 22%, var(--bg2)), var(--bg2));padding:14px}.vip-box b{color:var(--super)}.overlay{z-index:40;background:#00000073;align-items:flex-end;animation:.15s fade;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.sheet{background:var(--card);border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;max-height:88%;padding:18px 16px calc(18px + var(--safe-b));animation:.2s up;overflow-y:auto}.sheet h3{margin:0 0 12px;font-size:18px}.sheet .grip{background:var(--sep);border-radius:2px;width:40px;height:4px;margin:-6px auto 12px}.match-overlay{z-index:50;background:linear-gradient(160deg, var(--accent), #6d1a35);color:#fff;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;animation:.2s fade;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.match-overlay .big{letter-spacing:-.02em;font-size:34px;font-weight:800}.match-overlay .avatar{border:4px solid #fff;width:128px;height:128px}.match-overlay .btn{min-width:220px}.match-overlay .btn.primary{color:var(--accent);background:#fff}.match-overlay .btn.ghost{color:#fff;background:0 0}.toast{left:16px;right:16px;bottom:calc(var(--tabbar-h) + var(--safe-b) + 14px);z-index:60;background:color-mix(in srgb, var(--text) 88%, transparent);color:var(--bg);border-radius:var(--r-md);text-align:center;padding:12px 16px;font-size:14px;animation:.18s up;position:fixed}.spinner{border:3px solid var(--sep);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}.skeleton{background:linear-gradient(90deg, var(--bg2), var(--sep), var(--bg2));background-size:200% 100%;animation:1.2s infinite shimmer}@keyframes fade{0%{opacity:0}}@keyframes up{0%{opacity:0;transform:translateY(24px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.sheet-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.sheet-head h3{margin:0}.sheet-x{width:32px;height:32px;color:var(--hint);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.sheet-x svg{width:20px;height:20px}.card .top-btns{z-index:2;gap:8px;display:flex;position:absolute;top:22px;right:12px}.card .top-btns button{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000061;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.card .top-btns svg{width:19px;height:19px}.card .info{pointer-events:auto}.card .name-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.card .more{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.card .more svg{width:22px;height:22px}.compose textarea{min-height:120px}.hint-box{background:var(--bg2);border-radius:var(--r-md);align-items:flex-start;gap:10px;margin:10px 0 14px;padding:10px 12px;font-size:13px;display:flex}.hint-box svg{width:18px;height:18px;color:var(--hint);flex:none;margin-top:1px}.radio-list{border-radius:var(--r-md);overflow:hidden}.radio{text-align:left;align-items:center;gap:12px;width:100%;padding:12px 4px;display:flex}.radio+.radio{border-top:1px solid var(--sep)}.radio i{border:2px solid var(--hint);border-radius:50%;flex:none;width:20px;height:20px;position:relative}.radio.on i{border-color:var(--accent)}.radio.on i:after{content:"";background:var(--accent);border-radius:50%;position:absolute;top:3px;bottom:3px;left:3px;right:3px}.dual{height:36px;margin:4px 6px;position:relative}.dual-track,.dual-fill{border-radius:2px;height:4px;position:absolute;top:16px}.dual-track{background:var(--sep);left:0;right:0}.dual-fill{background:var(--accent)}.dual input{pointer-events:none;-webkit-appearance:none;appearance:none;background:0 0;width:100%;margin:0;position:absolute;top:0;bottom:0;left:0;right:0}.dual input::-webkit-slider-thumb{pointer-events:auto;-webkit-appearance:none;background:var(--card);border:2px solid var(--accent);border-radius:50%;width:26px;height:26px;box-shadow:0 1px 4px #0003}.dual input::-moz-range-thumb{pointer-events:auto;background:var(--card);border:2px solid var(--accent);border-radius:50%;width:22px;height:22px}.dual input::-webkit-slider-runnable-track{background:0 0}.dual-labels{color:var(--hint);justify-content:space-between;margin:0 6px;font-size:12px;display:flex}.label-row{justify-content:space-between;align-items:baseline;margin:18px 4px 6px;font-weight:600;display:flex}.label-row b{color:var(--accent)}.modal-wrap{z-index:50;background:#00000080;justify-content:center;align-items:center;padding:20px;animation:.2s fade;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal{background:var(--card);border-radius:var(--r-lg);text-align:center;width:100%;max-width:360px;padding:26px 20px 18px;animation:.22s up;position:relative}.modal .sheet-x{position:absolute;top:10px;right:10px}.pair-photos{width:220px;height:150px;margin:4px auto 18px;position:relative}.pair-photos .p{border:3px solid var(--card);border-radius:16px;width:108px;height:140px;position:absolute;top:0;overflow:hidden;box-shadow:0 6px 18px #0000002e}.pair-photos .p img,.pair-photos .p div{object-fit:cover;width:100%;height:100%}.pair-photos .p.a{left:4px;transform:rotate(-7deg)}.pair-photos .p.b{right:4px;transform:rotate(7deg)}.pair-photos .heart{background:var(--like);color:#fff;border:3px solid var(--card);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.pair-photos .heart svg{width:22px;height:22px}.modal h2.title{text-transform:none;letter-spacing:-.01em;color:var(--text);margin:6px 0;font-size:26px;font-weight:800}.modal p{color:var(--hint);margin:0 0 18px}.btn.ghost{background:0 0}.full-photos{scroll-snap-type:x mandatory;gap:8px;margin:0 -16px 14px;padding:0 16px;display:flex;overflow-x:auto}.full-photos .fp{aspect-ratio:3/4;border-radius:var(--r-md);scroll-snap-align:start;flex:0 0 72%;overflow:hidden}.full-photos .fp img,.full-photos .fp div{object-fit:cover;width:100%;height:100%}.card .meta{align-items:center;gap:5px;display:flex}.card .meta svg{flex:none;width:15px;height:15px}.btn svg{flex:none;width:20px;height:20px}.screen.feed{padding-bottom:calc(var(--safe-b) + 10px)}.card{background:var(--bg2)}.emoji-grid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.emoji-grid button{aspect-ratio:1;border-radius:var(--r-md);background:var(--bg2);justify-content:center;align-items:center;font-size:28px;transition:transform .1s;display:flex}.emoji-grid button:active{transform:scale(.9)}.emoji-grid button:disabled{opacity:.5}.details-actions{gap:10px;margin-top:16px;display:flex}.details-actions .btn{flex:1}.btn.like{background:var(--like);color:#fff}.btn.super{background:var(--super);color:#3a2a12}.report-link{color:var(--hint);margin-top:14px}
