/* clue — Airbnb-style system. White canvas, ink #222, one accent (Rausch #ff385c) for primary CTAs only,
   soft radii (8px buttons · 14px cards · pill search), one shadow tier, modest type weights (Inter as Cereal substitute). */
:root{
  --ink:#222;--body:#3f3f3f;--mute:#6a6a6a;--mute2:#929292;
  --canvas:#fff;--soft:#f7f7f7;--strong:#f2f2f2;
  --hair:#ddd;--hair-soft:#ebebeb;--border-strong:#c1c1c1;
  --pri:#ff385c;--pri-active:#e00b41;--pri-disabled:#ffd1da;--on-pri:#fff;--err:#c13515;--link:#428bff;
  --r-sm:8px;--r-md:14px;--r-xl:32px;--r-full:9999px;
  --shadow:rgba(0,0,0,.02) 0 0 0 1px,rgba(0,0,0,.04) 0 2px 6px 0,rgba(0,0,0,.1) 0 4px 8px 0;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --sans:"Inter",Circular,-apple-system,system-ui,Roboto,"Helvetica Neue",sans-serif;
  /* legacy aliases */
  --ink2:var(--body);--line:var(--hair);--bg:var(--soft);--card:var(--canvas);--acc:var(--pri);--acc2:var(--pri-active);--accbg:var(--soft);
  --warn:var(--body);--warnbg:var(--soft);--bad:var(--err);--badbg:#fff1ee;--faint:var(--mute2);--field:var(--canvas);
}
*{box-sizing:border-box}
html{font-family:var(--sans);color:var(--ink);background:var(--canvas);font-size:16px;line-height:1.5;-webkit-text-size-adjust:100%;font-weight:400}
html[lang=ko]{font-family:"Inter","Noto Sans KR","Pretendard","Apple SD Gothic Neo","Malgun Gothic",var(--sans)}
html[lang=ja]{font-family:"Inter","Noto Sans JP","Hiragino Sans","Yu Gothic",var(--sans)}
html[lang=zh]{font-family:"Inter","Noto Sans SC","PingFang SC","Microsoft YaHei",var(--sans)}
html[lang=zh-TW]{font-family:"Inter","Noto Sans TC","PingFang TC","Microsoft JhengHei",var(--sans)}
html[lang=ar]{font-family:"Noto Sans Arabic","Inter",var(--sans)}
html[lang=th]{font-family:"Noto Sans Thai","Inter",var(--sans)}
html[lang=hi]{font-family:"Noto Sans Devanagari","Inter",var(--sans)}
html[lang=ko] body,html[lang=ja] body,html[lang=zh] body,html[lang=zh-TW] body{line-height:1.6}
html[lang=ko] body{word-break:keep-all;overflow-wrap:break-word}
html[lang=ja] body,html[lang=zh] body,html[lang=zh-TW] body{word-break:normal;overflow-wrap:anywhere;line-break:strict}
body{margin:0;min-height:100vh;display:flex;flex-direction:column}
[hidden]{display:none!important}
a{color:var(--ink);text-decoration:none}
p a,li a,td a,.doc a,.kv a{text-decoration:underline;text-underline-offset:2px}
h1,h2,h3,h4{margin:0 0 .5em;color:var(--ink);letter-spacing:0}
h1{font-size:clamp(1.75rem,2.6vw,2rem);font-weight:700;line-height:1.25}
h2{font-size:1.375rem;font-weight:600;line-height:1.25;margin-top:1.2em}
h3{font-size:1.125rem;font-weight:600;line-height:1.3}
h4{font-size:1rem;font-weight:600;line-height:1.3}
p{margin:.4em 0 1em}
.lead{font-size:1.125rem;font-weight:400;color:var(--body);line-height:1.5}
b,strong{font-weight:600}
code{font-family:var(--mono);font-size:max(.88em,12.5px);background:var(--soft);border-radius:6px;padding:1px 6px}
pre{font-family:var(--mono);font-size:.84rem;margin:0;white-space:pre;overflow:auto}
pre code{font-size:inherit;background:none;padding:0;border-radius:0}
.wrap{width:100%;max-width:1280px;margin:0 auto;padding:0 40px;min-width:0}
body.wide .wrap{max-width:1440px}
main.wrap{flex:1;padding-top:32px;padding-bottom:64px}
.muted{color:var(--mute)}.faint{color:var(--mute2)}.small{font-size:.875rem}
.mono{font-family:var(--mono)}
.num{text-align:right;font-variant-numeric:tabular-nums}
.center{text-align:center}
@media (max-width:743px){.wrap{padding:0 20px}}

/* ---- top nav: 80px white, hairline, wordmark left · product tabs centre · utilities right ---- */
.top{background:var(--canvas);border-bottom:1px solid var(--hair-soft);position:sticky;top:0;z-index:30}
.top .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:80px;gap:16px}
.brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:1.375rem;color:var(--pri);white-space:nowrap;letter-spacing:-.01em}
.brand small{display:none}
.mark{width:26px;height:26px;border-radius:50%;background:var(--pri);position:relative;flex:none}
.mark:after{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--canvas)}
nav.main{display:flex;gap:8px;justify-content:center}
nav.main a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 14px 8px;color:var(--mute);font-size:.95rem;font-weight:600;white-space:nowrap;border-bottom:2px solid transparent;position:relative}
nav.main a svg{width:32px;height:32px;display:block}
nav.main a:hover{color:var(--ink);background:var(--soft);border-radius:var(--r-sm)}
nav.main a.on{color:var(--ink);border-bottom-color:var(--ink)}
nav.main a .new{position:absolute;top:0;right:0;background:var(--ink);color:#fff;font-size:11px;font-weight:700;letter-spacing:.32px;text-transform:uppercase;border-radius:var(--r-full);padding:2px 5px;line-height:1.25}
.right{display:flex;align-items:center;justify-content:flex-end;gap:4px}
.right>a,.right button.lnk{padding:0 12px;height:42px;display:inline-flex;align-items:center;border-radius:var(--r-full);color:var(--ink);white-space:nowrap;font-size:.875rem;font-weight:600}
.right>a:hover,.right button.lnk:hover{background:var(--soft)}
.right a.on{background:var(--soft)}
.right .btn.sm{height:42px;border-radius:var(--r-full);padding:0 18px;font-size:.875rem}
.langf select{appearance:none;-webkit-appearance:none;border:0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23222' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c3 3.5 3 14.5 0 18M12 3c-3 3.5-3 14.5 0 18'/%3E%3C/svg%3E") no-repeat 12px center;border-radius:var(--r-full);padding:0 12px 0 34px;height:42px;font:inherit;font-size:.875rem;font-weight:600;color:var(--ink);cursor:pointer;max-width:170px}
.langf select:hover{background-color:var(--soft)}
form.inline{display:inline}
button.lnk{background:none;border:0;font:inherit;cursor:pointer}
details.menu{position:relative}details.menu summary{list-style:none;cursor:pointer;height:42px;padding:0 6px 0 14px;display:inline-flex;align-items:center;gap:10px;border:1px solid var(--hair);border-radius:var(--r-full);color:var(--ink);font-size:1rem;user-select:none;background:var(--canvas)}
details.menu summary:after{content:"";width:30px;height:30px;border-radius:50%;background:var(--mute) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 4-6 8-6s8 2 8 6z'/%3E%3C/svg%3E") center/20px no-repeat}
details.menu summary::-webkit-details-marker{display:none}
details.menu[open] summary{box-shadow:var(--shadow)}
details.menu .drop{position:absolute;inset-inline-end:0;top:calc(100% + 10px);background:var(--canvas);border-radius:var(--r-md);box-shadow:var(--shadow);padding:8px 0;display:flex;flex-direction:column;min-width:240px;z-index:40}
details.menu .drop a,details.menu .drop button{display:block;text-align:start;padding:12px 16px;color:var(--ink);white-space:nowrap;background:none;border:0;font:inherit;font-size:.9rem;cursor:pointer}
details.menu .drop a:hover,details.menu .drop button:hover{background:var(--soft)}
details.menu .drop hr{border:0;border-top:1px solid var(--hair-soft);margin:6px 0}
details.menu .drop .langf{padding:6px 12px}
details.menu .drop .langf select{width:100%;max-width:none;border:1px solid var(--hair)}
.right>a,.right>form.inline,.right>.langf{display:none}
@media (min-width:1128px){.right>a,.right>form.inline,.right>.langf{display:inline-flex}details.menu .drop .langf{display:none}}
@media (max-width:1127px){.top .wrap{grid-template-columns:auto 1fr auto}nav.main{justify-content:center}}
@media (max-width:743px){nav.main{display:none}.top .wrap{height:64px;grid-template-columns:1fr auto}}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--pri);color:var(--on-pri)!important;border:1px solid var(--pri);border-radius:var(--r-sm);height:48px;padding:0 24px;font:inherit;font-size:1rem;font-weight:500;cursor:pointer;text-decoration:none!important;white-space:nowrap;line-height:1.25}
.btn:hover,.btn:active{background:var(--pri-active);border-color:var(--pri-active)}
.btn.sm{height:40px;padding:0 16px;font-size:.875rem}
.btn.lg{height:56px;padding:0 28px;font-size:1.05rem}
.btn.ghost{background:var(--canvas);color:var(--ink)!important;border-color:var(--ink)}
.btn.ghost:hover{background:var(--soft);border-color:var(--ink)}
.btn.soft{background:var(--soft);color:var(--ink)!important;border-color:var(--soft)}
.btn.soft:hover{background:var(--strong)}
.btn.danger{background:var(--canvas);color:var(--err)!important;border-color:var(--hair)}
.btn.danger:hover{background:#fff1ee;border-color:var(--err)}
.btn.pill{border-radius:var(--r-full)}
.btn[disabled]{background:var(--pri-disabled);border-color:var(--pri-disabled);cursor:not-allowed}
.btn.ghost[disabled]{background:var(--canvas);color:var(--mute2)!important;border-color:var(--border-strong)}
.arrow:after{content:"→";margin-inline-start:2px}
html[dir=rtl] .arrow:after{content:"←"}
.link{color:var(--ink);text-decoration:underline;font-weight:600}
.link.pri{color:var(--pri)}

/* ---- landing ---- */
.hero{padding:40px 0 8px;text-align:center;max-width:860px;margin:0 auto}
.hero h1{font-size:clamp(1.75rem,3.2vw,2.5rem);font-weight:700;line-height:1.2;margin:0 0 10px}
.hero .lead{margin:0 auto 28px;max-width:40em}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:24px}
section.act{padding:64px 0 0}
.act-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 20px;flex-wrap:wrap}
.act-head h2{margin:0}
.act-head p{margin:0;color:var(--mute)}
.act-head .link{white-space:nowrap}
.act-head.center{justify-content:center;text-align:center;flex-direction:column;align-items:center}
.eyebrow{font-size:.875rem;font-weight:600;color:var(--mute);margin:0 0 8px;display:block}

/* search pill (hero demo) */
.searchbar{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;align-items:center;background:var(--canvas);border:1px solid var(--hair);border-radius:var(--r-full);box-shadow:var(--shadow);height:66px;padding:0 8px 0 0;max-width:860px;margin:0 auto;text-align:start}
.searchbar .seg{padding:0 24px;height:100%;display:flex;flex-direction:column;justify-content:center;min-width:0;border-inline-start:1px solid var(--hair);position:relative}
.searchbar .seg:first-child{border:0;padding-inline-start:32px}
.searchbar .seg .l{font-size:.75rem;font-weight:600;color:var(--ink);line-height:1.3}
.searchbar .seg .v{font-size:.875rem;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.searchbar .seg .v.on{color:var(--ink)}
.orb{width:48px;height:48px;border-radius:50%;background:var(--pri);display:inline-flex;align-items:center;justify-content:center;color:#fff;flex:none}
.orb svg{width:18px;height:18px}
.orb:hover{background:var(--pri-active)}
@media (max-width:743px){.searchbar{grid-template-columns:1fr auto;height:auto;padding:6px 6px 6px 0;border-radius:var(--r-xl)}.searchbar .seg{border:0;padding:8px 20px}.searchbar .seg:not(:first-child){display:none}}
.hero .demo{margin:0 auto;max-width:860px}
.hero .result{margin:16px auto 0;max-width:640px;text-align:start}

/* photo-first cards (property-card analogue) */
.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.cards.c3{grid-template-columns:repeat(3,1fr)}
.cards.c4{grid-template-columns:repeat(4,1fr)}
.cards.c6{grid-template-columns:repeat(6,1fr)}
@media (max-width:1127px){.cards,.cards.c4,.cards.c6{grid-template-columns:repeat(3,1fr)}}
@media (max-width:743px){.cards,.cards.c3{grid-template-columns:1fr}.cards.c4,.cards.c6{grid-template-columns:1fr 1fr}.pcard .plate{aspect-ratio:auto;min-height:200px;padding-top:56px}.pcard .plate.wide{aspect-ratio:auto}}
.pcard{min-width:0;display:flex;flex-direction:column;gap:10px;color:var(--ink)}
.pcard .plate{position:relative;aspect-ratio:4/5;background:var(--soft);border-radius:var(--r-md);overflow:hidden;padding:52px 14px 14px;display:flex;flex-direction:column;justify-content:flex-start;gap:8px;border:1px solid var(--hair-soft)}
.pcard .plate:after{content:"";position:absolute;left:0;right:0;bottom:0;height:36px;background:linear-gradient(to bottom,rgba(247,247,247,0),var(--soft));pointer-events:none;z-index:1}
.pcard .plate .cluecard{font-size:.8rem;padding:12px;box-shadow:none}
.pcard .plate .cluecard h4{font-size:.9rem}.pcard .plate .cluecard p,.pcard .plate .cluecard .cfoot{font-size:.78rem}.pcard .plate .cluecard .cfoot .btn{height:30px;font-size:.75rem;padding:0 10px}.pcard .plate .cluecard .adv{font-size:.78rem}.pcard .plate .cluecard .squircle.sm{width:28px;height:28px;font-size:.8rem}
.pcard .plate .bubble{font-size:.8rem}
.pcard .plate .mini{font-size:.78rem}
.pcard .plate.tall{aspect-ratio:4/5}
.pcard .plate.wide{aspect-ratio:4/3;padding-top:14px}
.pcard .badge{position:absolute;top:12px;left:12px;background:var(--canvas);border-radius:var(--r-full);padding:4px 10px;font-size:12px;font-weight:600;box-shadow:var(--shadow);line-height:1.2;z-index:2}
html[dir=rtl] .pcard .badge{left:auto;right:12px}
.pcard .heart{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);z-index:2}
.pcard .heart svg{width:22px;height:22px;fill:rgba(0,0,0,.45);stroke:#fff;stroke-width:2}
.pcard .heart.on svg{fill:var(--pri);stroke:var(--pri)}
.pcard .meta{display:flex;flex-direction:column;gap:2px;font-size:.875rem;color:var(--mute);line-height:1.43}
.pcard .meta .t{font-size:1rem;font-weight:600;color:var(--ink);display:flex;justify-content:space-between;gap:8px}
.pcard .meta .t .star{color:var(--ink);font-weight:400;font-size:.875rem;white-space:nowrap}
.pcard .meta .p{color:var(--ink)}
.pcard .meta .p b{font-weight:600}
.pcard:hover .plate{box-shadow:var(--shadow)}
.dots{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:5px}
.dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.6)}.dots i.on{background:#fff}
/* content inside plates */
.mini{background:var(--canvas);border-radius:10px;padding:10px 12px;font-size:.8rem;line-height:1.4;min-width:0;overflow-wrap:anywhere;border:1px solid var(--hair-soft)}
.mini+.mini{margin-top:8px}
.mini.ink{background:var(--ink);color:#e8e8e8;border-color:var(--ink)}
.mini .lab{font-size:.78rem;font-weight:600;color:var(--mute);margin-bottom:4px}
.mini.ink .lab{color:#9a9a9a}
.mini pre{font-size:.76rem;line-height:1.45;white-space:pre;overflow-x:auto}
.mini .k{color:#8ab4ff}.mini .s{color:#ffd58a}.mini .c{color:#8a8a8a}
.bubble{background:var(--canvas);border-radius:16px 16px 16px 4px;padding:10px 12px;font-size:.85rem;border:1px solid var(--hair-soft)}
.bubble.me{background:var(--ink);color:#fff;border-radius:16px 16px 4px 16px;border-color:var(--ink);margin-inline-start:auto}
.bubble .who{font-size:.78rem;color:var(--mute);margin-bottom:2px;font-weight:600}
.bubble.me .who{color:#9a9a9a}
.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-full);font-size:.8rem;font-weight:500;background:var(--canvas);color:var(--ink);white-space:nowrap;line-height:1.3;border:1px solid var(--hair)}
.pill.ink{background:var(--ink);color:#fff;border-color:var(--ink)}
.pill.line{background:var(--canvas)}
.pill.acc,.pill.pri{background:var(--pri);color:#fff;border-color:var(--pri)}
.pill.soft{background:var(--soft);border-color:var(--soft)}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.squircle{width:48px;height:48px;border-radius:30%;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:1.1rem;flex:none}
.squircle.soft{background:var(--strong);color:var(--ink)}
.squircle.pri{background:var(--pri)}
.squircle.sm{width:36px;height:36px;font-size:.9rem}
.squircle.lg{width:64px;height:64px;font-size:1.4rem}
.squircle svg{width:55%;height:55%}

/* clue card */
.cluecard{background:var(--canvas);border-radius:var(--r-md);padding:16px 18px;min-width:0;border:1px solid var(--hair);box-shadow:var(--shadow)}
.cluecard .row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.cluecard .adv{display:flex;align-items:center;gap:10px;font-size:.875rem;color:var(--mute)}
.cluecard h4{margin:0 0 4px;font-size:1rem;line-height:1.3}
.cluecard p{margin:0 0 8px;font-size:.875rem;color:var(--body)}
.cluecard ul{margin:0 0 8px;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.cluecard ul li{background:var(--soft);border-radius:var(--r-full);padding:3px 10px;font-size:.78rem}
.cluecard .price{font-size:.875rem;font-weight:600;margin:0 0 10px}
.cluecard .cfoot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:.8rem;color:var(--mute)}
.cluecard .cfoot .btn{height:36px;padding:0 14px;font-size:.85rem}
.cluecard .disc{font-size:.78rem;color:var(--mute);border-top:1px solid var(--hair-soft);margin-top:10px;padding-top:8px;line-height:1.45}
.cluecard .tag{display:inline-flex;width:20px;height:20px;border-radius:50%;background:var(--pri);color:#fff;font-size:.78rem;align-items:center;justify-content:center;margin-inline-start:6px;vertical-align:middle;font-weight:600;font-family:var(--sans)}
.callouts{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.callouts li{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;font-size:.95rem}
.callouts li .n{width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:600}
.callouts li b{display:block;font-weight:600}
.callouts li span{color:var(--mute);font-size:.875rem}
.legend{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin:0;padding:0;list-style:none}
.legend li{display:flex;align-items:center;gap:8px;font-size:.9rem}
.legend li .n{width:20px;height:20px;border-radius:50%;background:var(--pri);color:#fff;font-size:.78rem;display:inline-flex;align-items:center;justify-content:center;font-weight:600;flex:none}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
@media (max-width:743px){.two-col{grid-template-columns:1fr;gap:24px}}

/* wireframe */
.wire{background:var(--canvas);border-radius:10px;padding:12px;display:grid;gap:6px;border:1px solid var(--hair-soft)}
.wire .bar{height:8px;border-radius:4px;background:var(--hair-soft)}
.wire .bar.w60{width:60%}.wire .bar.w80{width:80%}.wire .bar.w40{width:40%}
.wire .banner{height:44px;border-radius:8px;background:repeating-linear-gradient(135deg,var(--hair) 0 8px,var(--soft) 8px 16px);display:flex;align-items:center;justify-content:center;color:var(--mute);font-size:.75rem;font-weight:600;position:relative}
.wire .banner:after{content:"";position:absolute;left:10%;right:10%;top:50%;border-top:2px solid var(--pri)}

/* auction */
.auction{display:grid;gap:8px}
.auction .bid{display:grid;grid-template-columns:96px 1fr 56px;gap:10px;align-items:center;font-size:.85rem}
.auction .bid .bar{height:22px;border-radius:var(--r-full);background:var(--hair-soft);position:relative}
.auction .bid.win .bar{background:var(--pri)}
.auction .bid .bar i{position:absolute;inset:0 auto 0 0;width:var(--w);border-radius:var(--r-full);background:inherit}
.auction .bid .amt{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.auction .pays{margin-top:4px;padding-top:10px;border-top:1px solid var(--hair-soft);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.85rem}
.split{display:flex;height:30px;border-radius:var(--r-full);overflow:hidden;margin-top:8px;font-size:.78rem;font-weight:600;white-space:nowrap}
.split .pubs{flex:65;overflow:hidden;background:var(--ink);color:#fff;display:flex;align-items:center;padding:0 12px}
.split .plat{flex:35;overflow:hidden;background:var(--hair-soft);color:var(--ink);display:flex;align-items:center;justify-content:flex-end;padding:0 12px}

/* roster · tiles · discs · numbers · faq */
.roster{display:flex;gap:8px;flex-wrap:wrap}
.roster .who{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--hair);border-radius:var(--r-full);padding:5px 14px 5px 5px;font-size:.875rem;font-weight:500;background:var(--canvas)}
.roster .who .squircle{width:30px;height:30px;font-size:.8rem}
.roster .who>span:not(.squircle){white-space:nowrap}
.roster .who small{color:var(--mute);font-weight:400;font-size:.78rem}
@media (max-width:743px){.roster .who small{display:none}}
.tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
@media (max-width:1127px){.tiles{grid-template-columns:repeat(3,1fr)}}
@media (max-width:743px){.tiles{grid-template-columns:repeat(2,1fr)}}
.tiles a,.tiles div{border:1px solid var(--hair);border-radius:var(--r-md);padding:14px;display:flex;align-items:center;gap:12px;font-size:.9rem;font-weight:600;color:var(--ink);min-width:0;background:var(--canvas)}
.tiles a:hover{box-shadow:var(--shadow)}
.discs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media (max-width:1127px){.discs{grid-template-columns:repeat(2,1fr)}}
@media (max-width:743px){.discs{grid-template-columns:1fr}}
.discs .d{border:1px solid var(--hair);border-radius:var(--r-md);padding:14px 16px;font-size:.875rem;line-height:1.5;min-width:0}
.discs .d .l{font-size:.78rem;color:var(--mute);font-weight:600;margin-bottom:6px;display:flex;justify-content:space-between}
.numbers{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin:64px 0 0;padding:32px 0;border-top:1px solid var(--hair-soft);border-bottom:1px solid var(--hair-soft)}
.numbers div{min-width:0}
.numbers b{font-size:1.75rem;display:block;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}
.numbers span{color:var(--mute);font-size:.875rem;display:block;margin-top:6px;line-height:1.35}
@media (max-width:1127px){.numbers{grid-template-columns:repeat(3,1fr)}}
@media (max-width:743px){.numbers{grid-template-columns:repeat(2,1fr)}}
.faq{display:grid;gap:0;max-width:860px;margin:0 auto;border-top:1px solid var(--hair-soft)}
.faq details{border-bottom:1px solid var(--hair-soft);padding:0 4px}
.faq summary{list-style:none;cursor:pointer;padding:18px 0;font-weight:600;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";font-size:1.4rem;color:var(--mute);line-height:1;flex:none}
.faq details[open] summary:after{content:"–"}
.faq details p{margin:0 0 18px;color:var(--body)}
.principle{margin:64px auto 0;max-width:820px;text-align:center;font-size:1.375rem;font-weight:600;line-height:1.35;padding:0;border:0;background:none;color:var(--ink)}
.ctaband{margin:64px 0 0;padding:48px 40px;border-radius:var(--r-md);background:var(--soft);text-align:center}
.ctaband h2{margin:0 0 20px}
.ctaband .ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.bigquote{font-size:2.5rem;font-weight:700;line-height:1.1;margin:0;letter-spacing:-1px}
.sides{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:743px){.sides{grid-template-columns:1fr}}
.side{border:1px solid var(--hair);border-radius:var(--r-md);padding:24px;display:flex;flex-direction:column;gap:12px;min-width:0}
.side:hover{box-shadow:var(--shadow)}
.side h3{margin:0}
.side p{margin:0;color:var(--mute);font-size:.95rem;flex:1}
.side .link{align-self:flex-start}

/* ---- generic cards / grids (dashboards + docs) ---- */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media (max-width:1127px){.grid4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:743px){.grid3,.grid2,.grid4{grid-template-columns:1fr}}
.card{background:var(--canvas);border:1px solid var(--hair);border-radius:var(--r-md);padding:24px;min-width:0}
.card.soft{background:var(--soft);border-color:transparent}
.card.ink{background:var(--ink);color:#fff;border-color:transparent}
.card.ink h3,.card.ink h4{color:#fff}
.card.ink p,.card.ink .muted{color:#b3b3b3}
.card h3,.card h4{margin-top:0}
.card p:last-child{margin-bottom:0}
.thumb{background:var(--soft);border-radius:var(--r-md);padding:20px;min-width:0;position:relative;overflow:hidden}
.thumb .cap{font-size:.875rem;color:var(--mute);margin:0 0 12px;display:flex;align-items:center;gap:8px;font-weight:600}
.thumb .cap .n{width:22px;height:22px;border-radius:50%;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;flex:none}
.term{display:flex;flex-direction:column;gap:10px}
.term .word{font-size:1.125rem;font-weight:600;line-height:1.2}
.term .def{color:var(--body);font-size:.9rem;margin:0}

/* ---- dashboard ---- */
.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 20px}
.pagehead h1{margin:0;font-size:1.625rem}
.pagehead p{margin:4px 0 0;color:var(--mute)}
.sub{display:flex;gap:24px;margin:0 0 24px;overflow-x:auto;border-bottom:1px solid var(--hair-soft)}
.sub a{padding:10px 0;color:var(--mute);white-space:nowrap;font-weight:600;font-size:.9rem;border-bottom:2px solid transparent;margin-bottom:-1px}
.sub a.on{color:var(--ink);border-bottom-color:var(--ink)}
.sub a:hover{color:var(--ink)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin:0 0 24px}
.stat{background:var(--canvas);border:1px solid var(--hair);border-radius:var(--r-md);padding:16px;min-width:0}
.stat .l{color:var(--mute);font-size:.8rem;font-weight:500}
.stat .v{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;line-height:1.15;margin-top:4px}
.stat .s{color:var(--mute);font-size:.8rem;margin-top:4px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:743px){.two{grid-template-columns:1fr}}
.tblwrap{overflow-x:auto;background:var(--canvas);border:1px solid var(--hair);border-radius:var(--r-md)}
table{width:100%;border-collapse:collapse;font-size:.875rem}
th,td{padding:12px 14px;border-bottom:1px solid var(--hair-soft);text-align:left;vertical-align:top}
th{color:var(--mute);font-weight:600;font-size:.78rem;white-space:nowrap}
tr:last-child td{border-bottom:0}
td .pill{padding:3px 10px}
.pill.active,.pill.paid,.pill.verified{background:var(--ink);color:#fff;border-color:var(--ink)}
.pill.paused,.pill.pending,.pill.requested,.pill.approved,.pill.draft{background:var(--soft);color:var(--ink);border-color:var(--soft)}
.pill.rejected,.pill.ended,.pill.banned,.pill.unverified{background:var(--canvas);color:var(--mute);border-color:var(--hair)}
.flash{padding:14px 16px;border-radius:var(--r-sm);margin:0 0 18px;background:var(--soft);color:var(--ink);font-weight:500;border:1px solid var(--hair-soft)}
.flash.warn{background:var(--canvas);border-color:var(--hair)}
.flash.bad{background:#fff1ee;color:var(--err);border-color:#f3c9bf}
/* forms */
form.card{display:block}
.f{display:block;margin:0 0 16px;min-width:0}
.f>span,.f legend{display:block;font-size:.8rem;font-weight:500;color:var(--mute);margin-bottom:6px}
.f b{color:var(--mute);font-weight:400}
.f input:not([type=checkbox]):not([type=radio]),.f select,.f textarea{width:100%;border:1px solid var(--hair);border-radius:var(--r-sm);padding:14px 12px;font:inherit;background:var(--canvas);color:var(--ink);min-height:56px}
.f textarea{min-height:96px}
.f input::placeholder,.f textarea::placeholder{color:var(--mute)}
.f input:focus,.f select:focus,.f textarea:focus{outline:0;border:2px solid var(--ink);padding:13px 11px}
.f select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23222' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-inline-end:36px}
html[dir=rtl] .f select{background-position:left 14px center}
.f small{display:block;color:var(--mute);font-size:.8rem;margin-top:6px;line-height:1.4}
fieldset.f{border:1px solid var(--hair);border-radius:var(--r-sm);padding:12px 16px 8px}
.grid{display:grid;gap:4px 12px}.grid.c2{grid-template-columns:repeat(2,1fr)}.grid.c3{grid-template-columns:repeat(3,1fr)}.grid.c4{grid-template-columns:repeat(4,1fr)}
@media (max-width:1127px){.grid.c3,.grid.c4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.grid.c2,.grid.c3,.grid.c4{grid-template-columns:1fr}}
label.ck{display:flex;align-items:flex-start;gap:8px;font-size:.9rem;padding:4px 0;font-weight:400;color:var(--ink);min-width:0}
label.ck input{margin-top:3px;flex:none;accent-color:var(--ink);width:16px;height:16px}
label.ck span{min-width:0}
input[type=radio],input[type=checkbox]{accent-color:var(--ink)}
.formrow{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
@media (max-width:640px){.formrow{grid-template-columns:1fr}}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}
details.adv{margin:10px 0 18px}details.adv summary{cursor:pointer;font-weight:600;color:var(--ink);padding:10px 0;list-style:none;display:flex;align-items:center;gap:8px;text-decoration:underline}
details.adv summary::-webkit-details-marker{display:none}
/* code */
.codebox{position:relative;background:var(--ink);color:#e6e6e6;border-radius:var(--r-md);padding:18px 20px;margin:10px 0 20px;overflow:hidden}
.codebox pre{font-size:.82rem;line-height:1.55}
.codebox .copy{position:absolute;top:10px;right:10px;background:#3a3a3a;color:#fff;border:0;border-radius:var(--r-sm);padding:6px 12px;font:inherit;font-size:.78rem;font-weight:600;cursor:pointer}
html[dir=rtl] .codebox .copy{right:auto;left:10px}
.codebox .copy:hover{background:#4a4a4a}
.tabs .tabbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.tabs .tabbar button{background:var(--canvas);border:1px solid var(--hair);border-radius:var(--r-full);padding:8px 14px;font:inherit;font-size:.85rem;font-weight:500;cursor:pointer;color:var(--ink);white-space:nowrap}
.tabs .tabbar button:hover{border-color:var(--ink)}
.tabs .tabbar button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.tabpane{display:none}.tabpane.on{display:block}
/* chart */
.chart{margin:0 0 20px;background:var(--canvas);border:1px solid var(--hair);border-radius:var(--r-md);padding:16px}
.chart svg{width:100%;height:auto;display:block}
.chart rect{fill:var(--pri)}
.chart .ax{font-size:12px;fill:var(--mute);font-family:var(--mono)}
.chart figcaption{color:var(--mute);font-size:.85rem;margin-top:8px}
/* docs */
.doc{max-width:860px}
.doc h1{margin-bottom:.4em}
.doc h2{margin-top:2em;padding-top:1.2em;border-top:1px solid var(--hair-soft)}
.doc h3{margin-top:1.6em}
.doc table{font-size:.875rem}
.doc ul,.doc ol{padding-inline-start:1.3em}
.doc li{margin:6px 0}
.toc{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}
.toc a{border:1px solid var(--hair);border-radius:var(--r-full);padding:8px 16px;font-size:.875rem;color:var(--ink);font-weight:500}
.toc a:hover{border-color:var(--ink)}
/* clue preview */
.clue-block{border:1px dashed var(--hair);border-radius:var(--r-md);padding:14px 16px;background:var(--soft);font-size:.9rem}
.clue-disclosure{color:var(--mute);margin:0 0 10px}
.clue-clue{background:var(--canvas);border-radius:10px;padding:12px 14px;margin:8px 0;border:1px solid var(--hair-soft)}
.clue-badge{display:inline-block;font-size:.78rem;font-weight:600;background:var(--ink);color:#fff;border-radius:var(--r-full);padding:2px 9px;margin-bottom:6px}
.clue-clue h4{margin:2px 0 2px;font-size:1rem}.clue-adv{color:var(--mute);margin:0 0 4px;font-size:.85rem}
.clue-clue ul{margin:4px 0;padding-left:18px}.clue-price{font-weight:600}.clue-fb{color:var(--mute);font-size:.8rem;font-family:var(--mono);overflow-wrap:anywhere}
.clue-clue p{margin:.3em 0}
/* ---- footer: white, hairline, 3 columns + legal band ---- */
.foot{background:var(--soft);border-top:1px solid var(--hair-soft);color:var(--ink);margin-top:auto}
.foot .wrap{padding:48px 40px 0;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:24px}
.foot .word{font-size:1.375rem;font-weight:700;color:var(--pri);margin:0 0 8px}
.foot .tag{color:var(--mute);font-size:.875rem;max-width:32em;margin:0 0 12px;line-height:1.5}
.foot .legal{display:none}
.foot h5{color:var(--ink);font-size:1rem;font-weight:500;margin:0 0 14px}
.foot nav{display:flex;flex-direction:column;gap:12px}
.foot nav a{color:var(--ink);font-size:.875rem}
.foot nav a:hover{text-decoration:underline}
.foot .legalband{grid-column:1/-1;border-top:1px solid var(--hair);margin-top:32px;padding:20px 0 24px;font-size:.8125rem;color:var(--mute);display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between}
.foot .legalband a{color:var(--mute)}
@media (max-width:743px){.foot .wrap{grid-template-columns:1fr;padding:32px 20px 0}}
/* auth */
.auth{max-width:568px;margin:24px auto;padding:24px}
.auth h1{font-size:1.375rem;margin-bottom:.3em}
.auth .intro{color:var(--mute);margin:0 0 22px;font-size:.95rem}
.hr{display:flex;align-items:center;gap:10px;color:var(--mute);font-size:.8rem;margin:18px 0}.hr:before,.hr:after{content:"";flex:1;border-top:1px solid var(--hair)}
.roles{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 4px}
.roles label{border:1px solid var(--hair);border-radius:var(--r-sm);padding:12px 14px;font-size:.875rem;display:flex;gap:8px;align-items:flex-start;cursor:pointer;min-width:0}
.roles label:has(input:checked){border:2px solid var(--ink);padding:11px 13px}
.roles label span{min-width:0}
.list{display:grid;gap:10px}
.list .item{background:var(--canvas);border:1px solid var(--hair);border-radius:var(--r-md);padding:16px 20px;display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap;min-width:0}
.list .item .t{font-weight:600;min-width:0;overflow-wrap:anywhere}
.list .item .m{color:var(--mute);font-size:.85rem;overflow-wrap:anywhere}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:8px 16px;font-size:.9rem}
.kv dt{color:var(--mute)}.kv dd{margin:0;overflow-wrap:anywhere}
.empty{border:1px dashed var(--hair);border-radius:var(--r-md);padding:32px;text-align:center;color:var(--mute)}
ol.steps{padding-inline-start:0;list-style:none;counter-reset:s;display:grid;gap:10px}
ol.steps li{counter-increment:s;display:grid;grid-template-columns:26px 1fr;gap:12px;align-items:start;margin:0}
ol.steps li:before{content:counter(s);width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:600}
.disc-list li{margin:8px 0}
details.fold{border:1px solid var(--hair);border-radius:var(--r-sm);padding:0 12px 8px;background:var(--canvas)}
details.fold summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:12px;padding:14px 0;align-items:baseline}
details.fold summary::-webkit-details-marker{display:none}
details.fold summary .lg{font-size:.8rem;font-weight:500;color:var(--mute)}
details.fold summary .sel{color:var(--ink);font-size:.875rem;text-align:end;overflow-wrap:anywhere}
details.fold summary:after{content:"+";color:var(--mute);margin-inline-start:6px}
details.fold[open] summary:after{content:"–"}
details.fold .grid{padding-bottom:6px}
@media (max-width:743px){main.wrap{padding-top:20px;padding-bottom:48px}.pagehead h1{font-size:1.375rem}th,td{padding:9px 10px}.card{padding:18px}.ctaband{padding:32px 20px}}
