:root{color-scheme:dark;--bg:#181922;--panel:#242632;--line:#3d3f4e;--text:#fff8ed;--muted:#c3beca;--yellow:#ffda58;--green:#98edb9;--pink:#ffaaa9;font-family:"Avenir Next",Avenir,system-ui,sans-serif;background:var(--bg);color:var(--text)}
*{box-sizing:border-box}
body{margin:0}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none}
button,textarea{font:inherit}
button,.secondary{cursor:pointer}
button:focus-visible,a:focus-visible,textarea:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}
button:disabled{cursor:wait;opacity:.6}
.top{max-width:1120px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px clamp(16px,4vw,40px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:9px;font-weight:800;white-space:nowrap}
.brand span{display:grid;place-items:center;background:var(--yellow);color:#211e16;width:28px;height:28px;border-radius:8px}
.edition,.progress-label,.caption p,.result-person,#result-progress,#empty{color:var(--muted);font-size:14px}
.shell{max-width:1120px;margin:auto;padding:24px clamp(15px,4vw,40px) 45px}
h1,h2,p{margin:0}
h1{font-size:clamp(28px,5vw,43px);letter-spacing:-.045em;line-height:1.08}
.intro{margin:7vh auto 0;max-width:510px;text-align:center}
.intro p{color:var(--muted);margin:14px 0 32px}
.profiles{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.profile{display:grid;gap:13px;justify-items:center;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:20px;padding:23px 10px;font-weight:750}
.profile:hover,.secondary:hover{border-color:var(--yellow)}
.profile span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:#291d0d;background:var(--yellow);font-weight:900}
.profile:nth-child(2) span{background:#f4bbd2}
.profile.owner{grid-column:1/-1;display:flex;align-items:center;justify-content:center;padding:12px}
.profile.owner span{width:32px;height:32px;font-size:12px;background:#c4c9ff}
.feedback{max-width:560px;margin:0 auto 12px;color:var(--pink);font-size:14px}
.feedback:empty{display:none}
.intro+.feedback:not(:empty){margin-top:17px}
#review{max-width:520px;margin:auto}
.review-heading,.results-header,.filters{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.review-heading h1{font-size:clamp(24px,5vw,34px)}
button,.secondary,.primary{border-radius:10px;padding:9px 13px;font-weight:750}
.secondary{display:inline-flex;align-items:center;min-height:40px;border:1px solid var(--line);background:transparent;color:var(--text);font-size:13px}
.primary{border:1px solid var(--yellow);background:var(--yellow);color:#282013}
progress{appearance:none;display:block;width:100%;height:7px;margin:15px 0 5px;border:0;border-radius:10px;overflow:hidden;background:var(--panel)}
progress::-webkit-progress-bar{background:var(--panel)}
progress::-webkit-progress-value{background:var(--yellow)}
progress::-moz-progress-bar{background:var(--yellow)}
.progress-label{font-size:12px;margin-bottom:12px}
.swipe-area{position:relative}
.swipe-area::before{content:"";position:absolute;inset:5px 7px -5px;background:#353644;border-radius:22px}
.card{position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:22px;touch-action:pan-y;user-select:none;cursor:grab}
.card.dragging{cursor:grabbing}
.portrait{position:relative;overflow:hidden;height:clamp(230px,47vh,465px);background:radial-gradient(ellipse at 45% 47%,#4b4351,#292b38 75%)}
.portrait img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
#stamp{display:none;position:absolute;left:17px;top:16px;background:var(--green);color:#13271a;border-radius:8px;padding:8px 11px;font-weight:900;transform:rotate(-9deg)}
#stamp[data-decision="refused"]{left:auto;right:18px;background:var(--pink);color:#32181e;transform:rotate(9deg)}
#stamp[data-decision]{display:block}
.caption{padding:11px 16px 13px}
.caption h2{font-size:21px;letter-spacing:-.02em}
.caption p{font-size:12px}
.vote-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.vote-actions button{border:0;min-height:52px;font-size:17px}
.vote-actions span{font-size:20px;margin-right:5px}
.reject{background:#3f252f;color:var(--pink);border:1px solid #98525c!important}
.accept{background:var(--green);color:#13271a}
.results-header{margin:10px 0 22px}
#result-progress{margin-top:8px}
.filters{border-block:1px solid var(--line);padding:12px 0;margin-bottom:16px}
#filters{display:flex;flex-wrap:wrap;gap:6px}
#filters button{padding:6px 9px;background:var(--panel);color:var(--muted);border:1px solid transparent;font-size:12px}
#filters button[aria-pressed="true"]{border-color:var(--yellow);color:var(--text)}
.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:11px}
.result-card{overflow:hidden;padding:0;background:var(--panel);border:1px solid var(--line);border-radius:13px}
.result-card.refused{border-color:#a25b6e}
.result-portrait{overflow:hidden;background:#30313e;height:150px}
.result-portrait img{display:block;width:100%;height:100%;object-fit:contain}
.result-body{padding:10px}
.result-card h2{font-size:14px;margin:2px 0 8px}
.result-person{font-size:11px}
.statuses{display:flex;flex-wrap:wrap;gap:4px}
.status{padding:3px 6px;background:#363645;color:var(--muted);border-radius:5px;font-size:11px}
.status.accepted{background:#203f35;color:var(--green)}
.status.refused{background:#4c2935;color:var(--pink)}
.status[aria-pressed="true"]{border:1px solid currentColor}
.statuses button{font-weight:600;cursor:pointer}
#empty{margin-top:24px}
dialog{width:min(530px,calc(100% - 26px));border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--text);padding:18px}
dialog::backdrop{background:#0009}
textarea{display:block;width:100%;height:210px;margin:14px 0;background:var(--bg);border:1px solid var(--line);color:var(--text);padding:8px}
@media(max-width:430px){.top{padding-block:12px}.edition{font-size:12px}.shell{padding-top:16px}.portrait{height:clamp(230px,43vh,370px)}.result-portrait{height:128px}.results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
