:root{
  color-scheme:light;
  font-family:Inter,"Hiragino Sans","Yu Gothic UI",system-ui,sans-serif;
  color:#211c1d;
  background:#f4efe8;
  --paper:#f4efe8;
  --surface:#fffdf9;
  --surface2:#eee7df;
  --ink:#211c1d;
  --muted:#6d6364;
  --wine:#7d2338;
  --wine-dark:#551826;
  --gold:#b2874b;
  --line:#ddd2c8;
  --control-line:#96877b;
  --positive:#176d50;
  --warning:#956514;
  --shadow:0 20px 55px rgba(61,37,40,.09);
}
*{box-sizing:border-box}
html{background:var(--paper)}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 92% -6%,#7d233812 0,transparent 29rem),linear-gradient(180deg,#fbf8f3 0,var(--paper) 32rem)}
button,input,select{font:inherit}
button,a,summary{touch-action:manipulation}
.skip{position:fixed;top:-5rem;left:1rem;z-index:1001;border-radius:.25rem;padding:.75rem 1rem;color:#fff;background:var(--wine)}.skip:focus{top:1rem}
:where(button,a,input,select,summary,[tabindex]):focus-visible{outline:3px solid var(--wine);outline-offset:3px}

#search-header{
  position:sticky;top:0;z-index:20;
  min-height:4.5rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:0 max(1rem,calc((100% - 76rem)/2));
  border-bottom:1px solid rgba(205,191,180,.88);
  background:rgba(251,248,243,.9);
  backdrop-filter:blur(16px);
}
.logo{color:var(--ink);font-weight:900;letter-spacing:.16em;text-decoration:none}.logo::first-letter{color:var(--wine)}
.preview{border-left:1px solid var(--line);padding-left:1rem;color:var(--muted);font-size:.68rem;font-weight:750}
main{width:min(76rem,calc(100% - 2rem));margin:auto;padding:1.7rem 0 8rem}
.steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:2.8rem}
.steps::before{content:"";position:absolute;left:16%;right:16%;top:50%;height:1px;background:var(--line)}
.steps span{position:relative;z-index:1;justify-self:center;min-width:8.5rem;border:1px solid var(--control-line);border-radius:999px;padding:.58rem .8rem;text-align:center;color:var(--muted);background:var(--paper);font-size:.72rem;font-weight:800}
.steps span[aria-current=step]{border-color:var(--wine);color:#fff;background:var(--wine);box-shadow:0 8px 22px #7d233823}
.steps.steps--two{grid-template-columns:repeat(2,1fr)}.steps.steps--two::before{left:25%;right:25%}
.eyebrow{margin:0 0 .45rem;color:var(--wine);font-size:.68rem;font-weight:900;letter-spacing:.17em}
h1{margin:.1rem 0 .5rem;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(2rem,5vw,3.45rem);line-height:1.2;letter-spacing:-.035em}
.lead{max-width:48rem;margin:.3rem 0 1.3rem;color:var(--muted);line-height:1.75}
.avatar-adjust-note{margin:-.65rem 0 1.6rem;color:#766b6c;font-size:.76rem;line-height:1.65}

.builder{display:grid;grid-template-columns:minmax(17rem,27rem) minmax(0,1fr);gap:clamp(1rem,3vw,2rem);align-items:start}
.avatar-preview,.controls,.condition-card{border:1px solid var(--line);border-radius:.55rem;background:var(--surface);box-shadow:var(--shadow)}
.avatar-preview{position:sticky;top:6rem;overflow:hidden;text-align:center}
.controls,.condition-card{padding:clamp(1rem,2.3vw,1.6rem)}
.primary,.secondary{min-height:3.15rem;border-radius:.25rem;padding:.75rem 1.2rem;font-weight:900;cursor:pointer}
.primary{border:1px solid var(--wine);color:#fff;background:var(--wine);box-shadow:0 8px 20px #7d23381e}.primary:hover{background:var(--wine-dark)}
.secondary{border:1px solid var(--control-line);color:var(--ink);background:var(--surface)}
.controls>.primary{width:100%;margin-top:.45rem}

.condition-card{display:grid;gap:1.05rem}
.priority-grid{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:1rem;padding:1rem;border:1px solid #c8b6aa;border-radius:.4rem;background:#f7f1eb}
label,.range-pair{display:grid;gap:.45rem;color:#3c3435;font-size:.79rem;font-weight:800}
fieldset{border:0;margin:0;padding:0}legend{margin-bottom:.7rem;font-weight:850}
select,input[type=number]{width:100%;min-height:2.9rem;border:1px solid var(--control-line);border-radius:.3rem;padding:.55rem .72rem;color:var(--ink);background:#fff}
.check{grid-template-columns:auto 1fr;align-items:center;border:1px solid var(--control-line);border-radius:.3rem;padding:.72rem;background:#fff}.check input{width:1.25rem;height:1.25rem;accent-color:var(--wine)}.check span{display:grid}.check small{color:var(--muted);font-weight:550;line-height:1.4}
.range-pair{grid-template-columns:1fr 1fr;align-items:end}.range-pair>legend{grid-column:1/-1;margin:0}.range-pair label{font-size:.68rem;color:var(--muted)}
details{border-top:1px solid var(--line);padding-top:1rem}summary{cursor:pointer;color:var(--wine);font-weight:850}
.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}
.actions{display:flex;justify-content:space-between;gap:.75rem;margin-top:.55rem}
.form-error{margin:0;border:1px solid #b44a5e;border-radius:.35rem;padding:.8rem 1rem;color:#7b1e32;background:#fff0f2;font-weight:850}
.catalog-boundary{border-left:3px solid var(--gold);padding:.8rem 1rem;color:#5f4c30;background:#fff8e9}.catalog-boundary strong{font-size:.8rem}.catalog-boundary p{margin:.3rem 0 0;color:#786648;font-size:.72rem;line-height:1.65}

.result-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem}.result-tools{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}
.section-title{margin:2.2rem 0 .75rem;color:#5d5253;font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.ranking-copy{margin:-.25rem 0 1rem;color:var(--muted);font-size:.76rem;line-height:1.7}
.result-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem}
.profile-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:.5rem;background:var(--surface);box-shadow:0 13px 35px rgba(61,37,40,.06)}
.profile-body{padding:1rem}.profile-top{display:flex;justify-content:space-between;gap:.7rem}.profile-name{margin:0;color:var(--ink);font-size:1rem}.listed-age{display:block;margin-top:.25rem;color:var(--muted);font-size:.69rem;line-height:1.45}.match{align-self:flex-start;white-space:nowrap;color:var(--wine);font-size:.78rem;font-weight:900}
.facts,.reasons{display:flex;gap:.35rem;flex-wrap:wrap;margin:.72rem 0}.facts span,.reasons span,.sponsored{border-radius:999px;padding:.27rem .48rem;color:#5f5556;background:#f1ebe5;font-size:.64rem;font-weight:750}.facts .now{color:var(--positive);background:#e5f3ed}
.reasons span{border:1px solid #ead9dc;color:#7d2338;background:#fff7f8}
.price{color:#805b22;font-size:1rem;font-weight:900}.fresh{color:var(--muted);font-size:.67rem}
.card-actions{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin-top:.85rem}.card-actions button{min-height:2.65rem;border-radius:.25rem;padding:.6rem;font-size:.72rem;font-weight:900;cursor:pointer}.compare{border:1px solid var(--line);color:var(--ink);background:#fff}.compare[aria-pressed=true]{border-color:#c8aeb4;color:var(--wine);background:#f9eef1}.book{grid-column:1/-1;border:1px solid var(--wine);color:#fff;background:var(--wine)}.book:hover{background:var(--wine-dark)}
.sponsored{position:absolute;left:.65rem;top:.65rem;z-index:5;border:1px solid #c9a96b;color:#60461e;background:#fff7e5}
.link-only-note{margin:.75rem 0;color:var(--muted);font-size:.7rem;line-height:1.65}

.relax-notice{border:1px solid #d9bb7f;border-radius:.35rem;padding:1rem 1.15rem;color:#6e4b12;background:#fff8e8}.relax-notice ul{margin:.5rem 0 0;padding-left:1.2rem}
.empty{padding:4rem 1rem;text-align:center;color:var(--muted)}
.portal-strip{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.3rem;margin:0 0 1.35rem;padding:1.15rem 1.25rem;border:1px solid #d7c7bd;border-radius:.45rem;background:linear-gradient(135deg,#fffaf5,#f1e7e1)}
.portal-strip h2{margin:.1rem 0 .3rem;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:1.2rem}.portal-strip p{margin:0;color:var(--muted);font-size:.74rem;line-height:1.65}.portal-strip .eyebrow{font-size:.6rem}
.portal-links{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.portal-links a{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;border:1px solid #bbaea5;border-radius:.25rem;padding:.62rem .82rem;color:var(--ink);background:#fff;font-size:.72rem;font-weight:900;text-decoration:none}.portal-links a:last-child{border-color:var(--wine);color:#fff;background:var(--wine)}
.ad-slot{margin:1rem 0}.ad-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;border:1px solid #d5c4a5;border-radius:.35rem;padding:1rem;background:#fffaf0}.ad-label{display:grid;gap:.3rem;align-self:stretch;align-content:center;border-right:1px solid #e1d4bd;padding-right:1rem}.ad-label span{justify-self:start;border:1px solid #a47b37;border-radius:999px;padding:.18rem .42rem;color:#73501c;font-size:.58rem;font-weight:900}.ad-label small{max-width:8rem;color:#7c6d54;font-size:.58rem}.ad-card h2{margin:0 0 .25rem;font-size:.9rem}.ad-card p{margin:0;color:var(--muted);font-size:.7rem;line-height:1.55}.ad-card>a{display:inline-flex;align-items:center;justify-content:space-between;gap:1rem;min-height:2.6rem;border:1px solid #8b6b34;border-radius:.25rem;padding:.55rem .7rem;color:#5c4218;background:#fff;font-size:.7rem;font-weight:900;text-decoration:none}.ad-slot--inline{margin:1.5rem 0 0}

.compare-tray{position:fixed;left:50%;bottom:1rem;z-index:30;display:flex;align-items:center;gap:1rem;transform:translateX(-50%);border:1px solid #c8bbb1;border-radius:999px;padding:.5rem .55rem .5rem 1.1rem;color:#fff;background:#2c2527f2;box-shadow:0 1rem 3rem #21161b38}.compare-tray button{border:0;border-radius:999px;padding:.7rem 1rem;color:#fff;background:var(--wine);font-weight:900}.compare-tray button:disabled{opacity:.5;cursor:not-allowed}
dialog{width:min(56rem,calc(100% - 2rem));border:1px solid #cfc2b8;border-radius:.5rem;padding:1.35rem;color:var(--ink);background:var(--surface);box-shadow:var(--shadow)}dialog::backdrop{background:#1c1617b8;backdrop-filter:blur(5px)}.dialog-close{float:right;width:2.25rem;height:2.25rem;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:#fff}.compare-table-wrap{overflow:auto}table{width:100%;min-width:42rem;border-collapse:collapse}th,td{border-bottom:1px solid var(--line);padding:.72rem;text-align:left;font-size:.75rem}th:first-child{position:sticky;left:0;background:var(--surface)}.demo-note{border-radius:.35rem;padding:1rem;color:#6e4b12;background:#fff8e8}#outbound-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.search-footer{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--line);padding:1.5rem 1rem 5.5rem;color:var(--muted);font-size:.68rem}.search-footer a{color:var(--wine);text-underline-offset:3px}
.age-gate{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1.25rem;background:rgba(24,18,20,.97)}.age-box{width:min(100%,28rem);border:1px solid #756267;border-radius:.5rem;padding:2rem;text-align:center;color:#fff;background:#2a2224;box-shadow:0 24px 80px #000}.age-box h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:1.9rem}.age-box p{color:#d4c9cc;line-height:1.7}.age-box .eyebrow{color:#e3b0bd}.age-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:1.35rem}.age-actions button{min-height:3rem}.age-box .secondary{border-color:#a69298;color:#fff;background:#372d30}.age-box :where(button,[tabindex]):focus-visible{outline-color:#fff}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
.profile-name,.card-actions button,th,td{overflow-wrap:anywhere}

@media(max-width:780px){
  main{width:min(100% - 1.25rem,76rem)}.builder{grid-template-columns:1fr}.avatar-preview{position:relative;top:auto;max-width:21rem;margin:auto}.priority-grid,.details-grid{grid-template-columns:1fr}.result-head{align-items:flex-start;flex-direction:column}.result-tools{width:100%;display:grid;grid-template-columns:1fr 1fr}.portal-strip{grid-template-columns:1fr}.portal-links{display:grid;grid-template-columns:1fr}.portal-links a{width:100%}.steps span{min-width:0;width:100%}.steps::before{left:10%;right:10%}.ad-card{grid-template-columns:1fr}.ad-label{border-right:0;border-bottom:1px solid #e1d4bd;padding:0 0 .65rem}.ad-card>a{width:100%}
}
@media(max-width:500px){
  .preview{font-size:.59rem}.steps{gap:.3rem}.steps span{padding:.55rem .25rem;font-size:.64rem}.condition-card .actions,.result-tools{display:grid;grid-template-columns:1fr}.condition-card .actions button,.result-tools button{width:100%}.actions>*{flex:1}.age-actions{grid-template-columns:1fr}.range-pair{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}
[hidden]{display:none!important}

/* Adult-facing visual direction: dark listings UI, hot-pink actions, compact language control. */
:root{color-scheme:dark;color:#fff5f7;background:#110e11;--paper:#110e11;--surface:#21171d;--surface2:#2d2027;--ink:#fff5f7;--muted:#d2bcc3;--wine:#e0004d;--wine-dark:#a9003a;--gold:#efb54b;--line:#57313e;--control-line:#8e5a6b;--positive:#5cd3a7;--warning:#efb54b;--shadow:0 20px 55px rgba(0,0,0,.34)}
body{background:radial-gradient(circle at 92% -6%,#e0004d3d 0,transparent 29rem),radial-gradient(circle at 6% 24%,#efb54b12 0,transparent 23rem),linear-gradient(180deg,#1f141a 0,var(--paper) 32rem)}
#search-header{border-bottom-color:#5e263a;background:rgba(8,7,8,.94)}
.logo{font-weight:950}.logo::first-letter{color:#ff2e72}.logo small{border:1px solid #ff2e72;border-radius:999px;padding:.13rem .3rem;color:#ff5f93;font-size:.52rem;letter-spacing:0}
.header-tools{display:flex;align-items:center;justify-content:flex-end;gap:.55rem}.header-tools label{display:block;color:#c89ba9;font-size:.55rem;letter-spacing:.12em}.header-tools select{width:auto;min-height:2.15rem;border-color:#704052;padding:.28rem 1.7rem .28rem .5rem;color:#fff;background:#21151b;font-size:.68rem}
.steps span{background:#1a1418}.eyebrow{color:#ff4d86;font-weight:950}
h1{max-width:18ch;font-family:Inter,"Hiragino Sans","Yu Gothic UI",sans-serif;font-size:clamp(2.15rem,4.6vw,3.65rem);font-weight:950;line-height:1.06;letter-spacing:-.055em;text-wrap:balance;word-break:keep-all;overflow-wrap:normal}
.avatar-preview,.controls,.condition-card{background:linear-gradient(145deg,#281a21,#181317)}
.primary{border-color:#ff2e72;background:linear-gradient(135deg,#f00052,#b0003d);box-shadow:0 10px 26px #e0004d3d,inset 0 1px #ff8bb1}.secondary{color:var(--ink);background:#2b1d24}
.priority-grid{border-color:#714356;background:#1b1519}label,.range-pair{color:#f3e6ea}select,input[type=number],.check{color:var(--ink);background:#171216}
.catalog-boundary{color:#ffe4ae;background:#312414}.catalog-boundary p{color:#e0c391}
.profile-card{border-color:var(--line);background:linear-gradient(145deg,#281b22,#171316);box-shadow:0 13px 35px rgba(0,0,0,.28)}
.facts span,.reasons span,.sponsored{color:#e2cdd4;background:#3b2931}.facts .now{color:#86e8c2;background:#173a31}.reasons span{border-color:#71394d;color:#ff8eb3;background:#351e28}
.compare{color:var(--ink);background:#2d2027}.compare[aria-pressed=true]{border-color:#d45b82;color:#ff8eb3;background:#462334}.book{border-color:#ff2e72;background:linear-gradient(135deg,#f00052,#b0003d)}
.portal-strip{border-color:#71384d;background:linear-gradient(135deg,#3a1d2a,#1a1418)}.portal-links a{border-color:#8f5a6c;color:var(--ink);background:#281b22}.portal-links a:last-child{border-color:#ff2e72;background:linear-gradient(135deg,#ef0050,#ae003c)}
.age-gate{background:rgba(7,5,6,.98)}.age-box{width:min(100%,30rem);border-color:#9a3154;background:linear-gradient(145deg,#301923,#120e11)}.age-box h1{max-width:none;font-family:Inter,"Hiragino Sans",sans-serif;font-size:2rem}.age-box .eyebrow{color:#ff5b91}.age-box .secondary{border-color:#a45c75;background:#37202a}
@media(max-width:500px){#search-header{align-items:flex-start;padding-top:.7rem;padding-bottom:.7rem}.header-tools{align-items:flex-end;flex-wrap:wrap}.header-tools label{display:none}.preview{width:100%;border-left:0;padding-left:0;text-align:right;font-size:.56rem}}
