:root{--paper:#FBF8F1;--card:#FFFFFF;--ink:#1B1C2E;--muted:#5E6072;--accent:#3D3BD4;--accent-2:#2B2D9C;--soft:#ECEBFB;--hl:#FFE45C;--hl-ink:#6B5A00;
--line:rgba(27,28,46,.12);--rule:#D9DCF2;--margin:#F2A7A7;
--serif:ui-serif,"New York","Iowan Old Style","Palatino Linotype",Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,"Hiragino Sans","Apple SD Gothic Neo","Noto Sans",sans-serif;
--hand:"Bradley Hand","Segoe Print","Chalkboard SE","Comic Sans MS",cursive}
@media (prefers-color-scheme:dark){:root{--paper:#12131B;--card:#232430;--ink:#F1F0F8;--muted:#A9AABD;--accent:#9B9EFF;--accent-2:#7F82F2;--soft:#262747;--line:rgba(241,240,248,.14);--rule:#3A3C55;--margin:#7A4A55}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.55 var(--sans)}
a{color:var(--accent)}img{max-width:100%;height:auto}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:var(--card);padding:8px 12px;border-radius:8px;z-index:10}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}.narrow{max-width:760px}
h1,h2,h3{font-family:var(--serif);line-height:1.12;margin:0 0 .5em;letter-spacing:-.01em}h1{font-size:clamp(38px,5.6vw,64px)}h2{font-size:clamp(30px,4vw,44px)}h3{font-size:22px}
h1 em,h2 em{font-style:normal;background:linear-gradient(transparent 58%,var(--hl) 58%,var(--hl) 92%,transparent 92%);padding:0 .08em}
@media (prefers-color-scheme:dark){h1 em,h2 em{background:none;color:var(--hl)}}
.lead{font-size:clamp(18px,2vw,21px);color:var(--muted);max-width:40em}.muted{color:var(--muted);font-size:15px}
.top{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:20px;height:64px}.brand{display:flex;align-items:center;gap:10px;font:700 21px var(--serif);color:var(--ink);text-decoration:none}
.brand img{border-radius:8px}.top nav{margin-left:auto}.top nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:15px}
.pill{display:inline-block;background:var(--accent);color:#fff;border-radius:999px;padding:9px 18px;font-weight:700;font-size:15px;text-decoration:none;white-space:nowrap}
.pill.big{padding:15px 26px;font-size:18px}.pill.soon{background:var(--soft);color:var(--accent)}
.hero{padding:56px 0 40px}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center}
.actions{display:flex;align-items:center;gap:22px;margin:26px 0 22px;flex-wrap:wrap}.more{font-weight:700;color:var(--ink)}
.facts{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px 22px;color:var(--muted);font-weight:600;font-size:15px}
.facts li{display:flex;align-items:center;gap:7px}.facts svg{width:18px;height:18px;color:var(--accent)}
.hero-art{position:relative;min-height:450px}
.sheet{position:absolute;left:0;top:30px;width:58%;background:var(--card);border-radius:6px;padding:26px 22px 30px 46px;transform:rotate(-4deg);
box-shadow:0 22px 44px rgba(0,0,0,.12);background-image:linear-gradient(90deg,transparent 34px,var(--margin) 34px,var(--margin) 36px,transparent 36px),repeating-linear-gradient(transparent 0 33px,var(--rule) 33px 34px);background-position:0 0,0 18px}
.sheet-title{font:700 15px var(--sans);color:var(--muted);margin:0 0 10px;letter-spacing:.02em}
.sheet ol{list-style:none;margin:0;padding:0;font:22px/34px var(--hand);color:var(--accent-2)}
.sheet li{display:flex;gap:8px;white-space:nowrap}.sheet .dash{opacity:.6}
.arrow{position:absolute;left:44%;top:12px;width:110px;color:var(--accent);transform:rotate(8deg)}
.stack{position:absolute;right:0;top:175px;width:52%;height:240px}
.card{position:absolute;inset:0;border-radius:18px;background:var(--card);border:1px solid var(--line);box-shadow:0 16px 36px rgba(0,0,0,.12)}
.card.c3{transform:rotate(7deg) translate(14px,8px);background:var(--hl)}.card.c2{transform:rotate(3deg) translate(6px,2px)}
.card.c1{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;transform:rotate(-2deg)}
.card .count{position:absolute;top:14px;right:18px;font-size:13px;color:var(--muted);font-weight:600}
.card .word{margin:0;font:700 clamp(26px,3vw,34px) var(--serif);text-align:center}
.card mark{background:var(--hl);color:#1B1C2E;padding:0 .18em;border-radius:5px}
.card .answer{margin:0;color:var(--muted);font-size:16px}
.band{padding:56px 0}.cards{display:grid;gap:22px;margin-top:26px}.cards.three{grid-template-columns:repeat(3,1fr)}.cards.four{grid-template-columns:repeat(4,1fr)}
.cards article{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:26px}
.cards p{color:var(--muted);margin:0}.badge{display:inline-flex;width:48px;height:48px;border-radius:14px;background:var(--soft);color:var(--accent);align-items:center;justify-content:center;margin-bottom:16px}
.badge svg{width:26px;height:26px}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding-top:10px;padding-bottom:40px}.duo section{border-radius:26px;padding:34px}
.ink{background:var(--accent-2);color:#fff}.ink h2 em{background:none;color:var(--hl)}.ink p{color:rgba(255,255,255,.9)}
@media (prefers-color-scheme:dark){.ink{background:#26286B}}
.paper{background:var(--card);border:1px solid var(--line)}.paper p{color:var(--muted)}.icons{display:flex;gap:14px;margin-top:20px}.icons img{width:64px;border-radius:15px}
.faq details{border-bottom:1px solid var(--line);padding:16px 0}.faq summary{font-weight:700;cursor:pointer;font-size:18px}.faq p{color:var(--muted);margin:10px 0 0}
.page{padding:48px 20px 60px}.page h2{font-size:26px;margin-top:34px}.tips li{margin:8px 0}
.compare-link{margin-top:22px;font-weight:700}.compare-link a{color:var(--accent);text-decoration:none}.compare-link a:hover{text-decoration:underline}
.compare.wrap{max-width:1120px}.compare h2{margin-top:44px}.compare .lead{max-width:46em}
.legend{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:14px}
.legend li{display:flex;align-items:center;gap:6px}.legend svg,.mark svg{width:18px;height:18px;flex:none}
.m-yes{color:#1D8A63}.m-partial{color:#B07D12}.m-no{color:#C2453E}.m-unknown{color:var(--muted)}
@media (prefers-color-scheme:dark){.m-yes{color:#5DCAA5}.m-partial{color:#EFB84A}.m-no{color:#F08A84}}
.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:var(--card)}
.compare-table{border-collapse:collapse;width:100%;min-width:860px;font-size:14px}
.compare-table th,.compare-table td{padding:11px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.compare-table thead th{font:700 15px var(--sans);position:sticky;top:0}.compare-table tbody tr:last-child th,.compare-table tbody tr:last-child td{border-bottom:0}
.compare-table tbody th{font-weight:600;width:19%;color:var(--ink)}.compare-table td{color:var(--muted);width:13.5%}
.compare-table .terpe{background:var(--soft);color:var(--ink)}.compare-table thead .terpe{color:var(--accent)}
.mark{display:inline-flex;vertical-align:-4px;margin-right:6px}.note{line-height:1.35}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rivals{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:20px}
.rival{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:24px 26px}.rival h2{margin:0 0 12px;font-size:28px}
.pick h3{font:700 15px var(--sans);margin:14px 0 4px;color:var(--ink)}.pick p{margin:0;color:var(--muted)}.pick.ours h3{color:var(--accent)}
.short{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:6px 26px 18px;margin-top:22px}.short h2{margin-top:18px}
.short li{margin:6px 0}.sources summary{cursor:pointer;font-weight:700;margin-top:10px}.sources li{margin:8px 0;color:var(--muted);font-size:14px;overflow-wrap:anywhere}
@media (max-width:860px){.rivals{grid-template-columns:1fr}}
.site-footer{border-top:1px solid var(--line);padding:34px 0 40px;font-size:15px;color:var(--muted)}
.footer-top{display:flex;justify-content:space-between;gap:30px}.footer-brand{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-weight:700;text-decoration:none}
.footer-brand img{filter:grayscale(1);opacity:.5;border-radius:5px;box-shadow:0 0 0 1px var(--line)}.footer-brand:hover img{filter:none;opacity:1}
.footer-tagline,.footer-made{margin:6px 0 0}.footer-made a{color:inherit;text-decoration:none}.footer-made a:hover,.footer-made a:focus{color:var(--ink);text-decoration:underline}
.footer-side{display:flex;flex-direction:column;align-items:flex-end;gap:14px}.footer-links{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end}.footer-links a{color:var(--muted)}
details.language{position:relative}details.language summary{list-style:none;display:flex;align-items:center;gap:7px;cursor:pointer;color:var(--ink);font-weight:600}
details.language summary::-webkit-details-marker{display:none}details.language summary svg{width:18px;height:18px}details.language .chevron{width:14px;height:14px}
details.language ul{position:absolute;right:0;bottom:calc(100% + 8px);list-style:none;margin:0;padding:6px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.14);min-width:190px;max-height:70vh;overflow:auto}
details.language li a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;border-radius:9px;color:var(--ink);text-decoration:none}
details.language li a:hover{background:var(--soft)}details.language li svg{width:16px;height:16px;color:var(--accent)}
@media (max-width:960px){.cards.four{grid-template-columns:repeat(2,1fr)}}
@media (max-width:860px){.hero-grid,.duo{grid-template-columns:1fr}.cards.three{grid-template-columns:1fr}.hero-art{min-height:420px;max-width:520px;margin:0 auto;width:100%}}
@media (max-width:560px){.cards.four{grid-template-columns:1fr}.sheet{width:70%;padding-left:40px}.sheet ol{font-size:18px}.stack{width:60%;top:185px;height:190px}.arrow{left:52%;width:80px}}
@media (max-width:760px){.footer-top{flex-direction:column}.footer-side{align-items:flex-start}.footer-links{justify-content:flex-start}details.language ul{left:0;right:auto}.top nav{display:none}.top .pill{margin-left:auto}}
