[hidden]{display:none!important}
:root{--bg:#f5f2ec;--card:#fff;--ink:#1f1f1c;--muted:#64605a;--line:#e2ddd3;--accent:#2f4858;--warm:#c9643c;--soft:#ece6da}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 "Avenir Next",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
a{color:var(--accent)}
.wrap{max-width:1160px;margin:0 auto;padding:0 16px}
header.site{background:var(--card);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:1.05rem;color:var(--ink);text-decoration:none;letter-spacing:-.01em}.brand svg{width:28px;height:28px}
nav.main{display:flex;gap:18px;font-size:.95rem}nav.main a{color:var(--muted);text-decoration:none}
h1,h2,h3{line-height:1.2;letter-spacing:-.02em}
h1{font-size:clamp(1.9rem,4vw,2.7rem);margin:26px 0 6px;font-weight:800}
.lead{font-size:1.08rem;color:var(--muted);max-width:44em;margin:0 0 18px}
.tool{margin-bottom:30px}
.drop{background:var(--card);border:2px dashed #cfc7b8;border-radius:14px;padding:26px 16px;text-align:center}
.drop.over{border-color:var(--warm);background:#fdf6f1}.drop p{margin:10px 0 0;color:var(--muted)}
.has-img .drop{padding:14px 16px}
.src{font-weight:600;color:var(--ink)!important}
.btn{font:inherit;font-weight:700;font-size:.95rem;padding:10px 18px;border-radius:8px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;display:inline-block}
.btn:disabled{opacity:.45;cursor:not-allowed}
label.btn input{position:absolute;width:1px;height:1px;opacity:0}label.btn:focus-within{outline:2px solid var(--ink);outline-offset:2px}
.linkbtn{font:inherit;background:none;border:0;color:var(--accent);text-decoration:underline;cursor:pointer;padding:0}
.bar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:16px 0 6px}
.bar label{display:flex;flex-direction:column;font-size:.82rem;font-weight:700;gap:3px}
select{font:inherit;font-size:.95rem;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}
.status{min-height:1.4em;font-size:.92rem;color:var(--muted);margin:4px 0 10px}
.ratios{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.rcard{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px}
.rcard.off{opacity:.5}
.rhead{display:flex;gap:6px;align-items:center;cursor:pointer}
.rcard canvas{width:100%;aspect-ratio:1;display:block;margin:8px 0;background:var(--soft);border-radius:6px;touch-action:none;cursor:grab}
.rcard p{margin:0;font-size:.82rem}.rsize{font-weight:700}.rprints{color:var(--muted)}
.rq{margin-top:4px!important}.rq.ok{color:#3c7a4a}.rq.mid{color:#8a6a1e}.rq.low{color:#b0402a}
.fine{font-size:.85rem;color:var(--muted)}
.prose{max-width:760px}.prose li{margin-bottom:.45em}.prose h2{font-size:1.5rem;margin-top:1.8em}
.tablewrap{overflow-x:auto}
table.guide{width:100%;border-collapse:collapse;font-size:.92rem;background:var(--card)}
.guide th,.guide td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}
.guide thead th{font-size:.82rem;color:var(--muted)}
.breadcrumb{font-size:.9rem;color:var(--muted);margin-top:20px}
footer.site{border-top:1px solid var(--line);margin-top:48px;padding:22px 0;font-size:.9rem;color:var(--muted)}
footer.site .wrap{display:flex;gap:18px;flex-wrap:wrap}footer.site a{color:var(--muted)}
@media (prefers-color-scheme:dark){:root{--bg:#161615;--card:#1f1f1d;--ink:#ecebe7;--muted:#a7a39b;--line:#33322f;--accent:#8fb3c7;--soft:#2a2927}
.btn{color:#161615}select{background:#2a2927;color:var(--ink)}.drop{border-color:#45433f}.drop.over{background:#2a221d}}
/* Pro waitlist box (E29) */.pro{margin:30px 0 8px;padding:18px 20px;border-radius:12px;background:var(--soft);border:1px solid var(--line)}.pro-tag{margin:0;font-size:.85rem;font-weight:700;color:var(--warm)}.pro-lead{font-size:1.35rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:.15em 0 .45em}.pro ul{margin:0 0 14px;padding-left:1.15em}.pro-price span,.pro-free{color:var(--muted)}.pro-buy{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}.pro-price{margin:0}.pro-price b{font-size:1.1rem}.pro-price span{font-size:.92rem}.pro-free{font-size:.9rem;margin:12px 0 0}.pro-dlg{max-width:430px;width:calc(100% - 32px);padding:0;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--card)}.pro-dlg::backdrop{background:rgba(20,22,25,.4)}.pro-dlg-in{padding:20px 22px}.pro-dlg-in p{margin:0 0 .7em}.pro-dlg-h{font-weight:700;font-size:1.2rem}.pro-dlg-l{display:block;font-size:.9rem;font-weight:600;margin:.4em 0 4px}.pro-dlg input{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:6px;font:inherit}.pro-dlg-a{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.pro-dlg-ok{margin-top:12px!important;font-weight:600}
/* guide pages (11-04) */
.arcalc{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 12px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:0 0 16px}
.arcalc .arh{flex-basis:100%;margin:0}.arcalc label{display:flex;flex-direction:column;font-size:.82rem;font-weight:700;gap:3px}
.arcalc input{font:inherit;font-size:16px;width:7.5em;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}
.arcalc span{padding-bottom:9px;color:var(--muted)}.arout{flex-basis:100%;margin:0;font-weight:600}
svg.cmp{display:block;width:100%;max-width:240px;height:auto;margin:0 0 14px}
@media (prefers-color-scheme:dark){.arcalc input{background:#2a2927}}
