:root{--tg-bg:#f7f7f4;--tg-text:#141414;--tg-hint:#6f726f;--tg-link:#2878ff;--tg-button:#1f8f5f;--tg-button-text:#fff;--tg-secondary-bg:#fff;--border:#1414141f;--danger:#b3261e;color:var(--tg-text);background:var(--tg-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{--border:#ffffff29;--danger:#ff8a80}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--tg-bg);color:var(--tg-text)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:default;opacity:.48}.app-shell{min-height:100vh;padding-bottom:88px}.app-header{z-index:4;background:color-mix(in srgb, var(--tg-bg) 92%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);padding:14px 16px 10px;position:sticky;top:0}.app-header p{color:var(--tg-hint);margin:0 0 2px;font-size:12px}.app-header h1{letter-spacing:0;margin:0;font-size:22px;line-height:1.15}.app-content{width:min(100%,560px);margin:0 auto;padding:14px 12px 22px}.screen{gap:14px;display:grid}.centered{place-items:center;min-height:100vh;padding:16px}.bottom-nav{z-index:5;padding:8px 8px max(8px, env(safe-area-inset-bottom));background:color-mix(in srgb, var(--tg-secondary-bg) 96%, transparent);border-top:1px solid var(--border);grid-template-columns:repeat(5,1fr);gap:2px;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{min-height:48px;color:var(--tg-hint);background:0 0;border-radius:8px;font-size:12px}.bottom-nav button.active{color:var(--tg-button-text);background:var(--tg-button)}.profile-card,.panel,.state-card,.list-card,.filter-panel,.edit-panel{border:1px solid var(--border);background:var(--tg-secondary-bg);border-radius:8px}.profile-card{overflow:hidden}.photo-frame{aspect-ratio:4/5;background:color-mix(in srgb, var(--tg-hint) 13%, transparent);width:100%}.photo-frame img{object-fit:cover;width:100%;height:100%;display:block}.photo-placeholder{width:100%;height:100%;color:var(--tg-hint);place-items:center;display:grid}.photo-placeholder span{border:1px solid var(--border);border-radius:50%;place-items:center;width:84px;height:84px;font-size:34px;font-weight:700;display:grid}.profile-body{gap:14px;padding:14px;display:grid}.profile-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.profile-heading h2{letter-spacing:0;min-width:0;margin:0;font-size:25px;line-height:1.08}.profile-heading span{color:var(--tg-hint);flex:none;font-size:14px}.profile-card h3,.filter-group h3,.panel h2{letter-spacing:0;margin:0 0 8px;font-size:15px}.profile-facts,.settings-list{gap:8px;margin:0;display:grid}.profile-facts div,.settings-list div{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:8px 0;display:flex}dt{color:var(--tg-hint)}dd{text-align:right;margin:0}.bio,.rules-panel p{white-space:pre-wrap;margin:0;line-height:1.45}.chips{flex-wrap:wrap;gap:7px;display:flex}.chips span,.chips button{background:color-mix(in srgb, var(--tg-button) 11%, transparent);min-height:34px;color:var(--tg-text);border:1px solid var(--border);border-radius:8px;padding:7px 10px}.chips.selectable button.selected,.segmented button.active{color:var(--tg-button-text);background:var(--tg-button);border-color:var(--tg-button)}.contact-line,.notice-line,.status-message{background:color-mix(in srgb, var(--tg-button) 13%, transparent);border-radius:8px;margin:0;padding:10px 12px}.error-line{color:var(--danger);margin:0}.open-contact{border:1px solid var(--border);border-radius:8px;padding:12px}.open-contact p{margin:6px 0 0}.swipe-shell{touch-action:pan-y;transition:transform .16s}.floating-actions{pointer-events:none;justify-content:center;position:sticky;bottom:88px}.floating-actions button{pointer-events:auto}.action-row{justify-content:stretch;align-items:center;gap:10px;display:flex}.action-row button{flex:1 1 0}.primary,.secondary,.danger,.round{border-radius:8px;min-height:46px;padding:10px 14px}.primary{color:var(--tg-button-text);background:var(--tg-button)}.secondary{color:var(--tg-text);background:color-mix(in srgb, var(--tg-hint) 14%, transparent);border:1px solid var(--border)}.danger{color:#fff;background:var(--danger)}.round{border-radius:50%;flex:0 0 62px;width:62px;height:62px;min-height:62px;font-size:24px;box-shadow:0 10px 30px #0000002e}.round.reject{background:var(--tg-secondary-bg);color:var(--danger);border:1px solid var(--border)}.round.like{color:var(--tg-button-text);background:var(--tg-button)}.wide{width:100%}.filter-panel,.edit-panel,.panel,.state-card,.list-card{gap:14px;padding:14px;display:grid}.filter-group{gap:8px;display:grid}.result-stack,.card-list{gap:14px;display:grid}.counter{text-align:center;color:var(--tg-hint);margin:0}.segmented{border:1px solid var(--border);background:color-mix(in srgb, var(--tg-hint) 10%, transparent);border-radius:8px;grid-template-columns:repeat(3,1fr);gap:6px;padding:4px;display:grid}.segmented button{min-height:38px;color:var(--tg-text);background:0 0;border-radius:7px}.edit-panel label{color:var(--tg-hint);gap:7px;display:grid}.edit-panel input,.edit-panel select,.edit-panel textarea{width:100%;min-height:44px;color:var(--tg-text);background:var(--tg-bg);border:1px solid var(--border);border-radius:8px;padding:10px 11px}.edit-panel textarea{resize:vertical;min-height:112px}.state-card{text-align:center;align-content:center;place-items:center;min-height:46vh}.state-card h1,.state-card h2{margin:0;font-size:22px}.state-card p{color:var(--tg-hint);margin:0;line-height:1.45}.loader{border:3px solid var(--border);border-top-color:var(--tg-button);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}.danger-box{border:1px solid color-mix(in srgb, var(--danger) 45%, transparent);border-radius:8px;gap:12px;padding:12px;display:grid}.danger-box p{margin:0}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=360px){.app-content{padding-inline:8px}.profile-heading{display:grid}.action-row{flex-direction:column}.bottom-nav button{padding-inline:2px;font-size:11px}}
