:root{--brand:#ec407a;--bg:#fff;--fg:#1a1a1a;--muted:#666a70;--border:#e5e7eb;--card:#fafafa;--accent-bg:#fdf2f6;--max:760px}@media (prefers-color-scheme:dark){:root{--bg:#16181c;--fg:#e8eaed;--muted:#9aa0a6;--border:#2c2f36;--card:#1e2126;--accent-bg:#23181d}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);margin:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,Yu Gothic,Meiryo,sans-serif;font-size:16px;line-height:1.8}a{color:inherit}.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}header.site{border-bottom:1px solid var(--border);margin-bottom:28px;padding:14px 0}header.site .wrap{align-items:center;gap:12px;display:flex}header.site a.logo{letter-spacing:.02em;font-size:15px;font-weight:700;text-decoration:none}header.site .licence{color:var(--muted);font-size:14px;text-decoration:none}header.site .licence:before{content:"/";color:var(--border);margin-right:12px}footer.site{border-top:1px solid var(--border);color:var(--muted);margin-top:64px;padding:28px 0 56px;font-size:13px}footer.site a{color:var(--muted)}h1{letter-spacing:-.01em;margin:0 0 8px;font-size:26px;line-height:1.5}h2{margin:44px 0 14px;font-size:19px;line-height:1.6}h3{margin:28px 0 10px;font-size:16px}nav.crumbs{color:var(--muted);flex-wrap:wrap;gap:6px;margin-bottom:18px;font-size:13px;display:flex}nav.crumbs a{color:var(--muted)}nav.crumbs span.sep{opacity:.5}.lead{color:var(--muted);margin:0 0 24px;font-size:15px}.qmeta{flex-wrap:wrap;gap:8px;margin-bottom:18px;font-size:12.5px;display:flex}.tag{background:var(--card);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:3px 10px;line-height:1.6;text-decoration:none;display:inline-block}.tag.brand{background:var(--accent-bg);color:var(--brand);border-color:#0000;font-weight:600}.tag.warn{color:#8a5a00;background:#fff4e5;border-color:#f5c977}@media (prefers-color-scheme:dark){.tag.warn{color:#e8b64c;background:#2e2410;border-color:#6b5320}}.qtext{white-space:pre-wrap;margin:0 0 24px;font-size:17.5px;line-height:1.9}.qimages{gap:12px;margin:0 0 24px;display:grid}.qimages img{border:1px solid var(--border);background:#fff;border-radius:8px;max-width:100%;height:auto}ol.choices{counter-reset:c;margin:0 0 20px;padding:0;list-style:none}ol.choices li{counter-increment:c;margin-bottom:8px}ol.choices li button{text-align:left;border:1px solid var(--border);width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:10px;padding:12px 14px 12px 46px;line-height:1.75;transition:border-color .12s,background .12s;display:block;position:relative}ol.choices li button:before{content:counter(c);background:var(--card);border:1px solid var(--border);width:24px;height:24px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex;position:absolute;top:12px;left:12px}ol.choices li button:hover:not(:disabled){border-color:var(--brand)}ol.choices li button:disabled{cursor:default}ol.choices li.picked button{border-color:var(--brand);background:var(--accent-bg)}ol.choices li.picked button:before{background:var(--brand);border-color:var(--brand);color:#fff}ol.choices li.correct button{border-color:var(--brand);background:var(--accent-bg)}ol.choices li.correct button:before{content:"✓";background:var(--brand);border-color:var(--brand);color:#fff}ol.choices li.wrong button{background:#fdf0ef;border-color:#d9534f}ol.choices li.wrong button:before{content:"×";color:#fff;background:#d9534f;border-color:#d9534f}@media (prefers-color-scheme:dark){ol.choices li.wrong button{background:#2b1a19}}.hint{color:var(--muted);margin:0 0 12px;font-size:13.5px}button.reveal{border:1px solid var(--brand);background:var(--brand);color:#fff;width:100%;font:inherit;cursor:pointer;border-radius:10px;margin-bottom:24px;padding:13px;font-weight:600;display:block}button.reveal.ghost{color:var(--brand);background:0 0}button.reveal:hover{opacity:.88}.verdict{margin:0 0 16px;font-size:17px;font-weight:700}.verdict.ok{color:var(--brand)}.verdict.ng{color:#d9534f}.numeric{margin:0 0 20px}.numeric label{color:var(--muted);margin-bottom:6px;font-size:13px;display:block}.numeric input{width:100%;font:inherit;border:1px solid var(--border);background:var(--bg);color:inherit;border-radius:10px;padding:12px 14px}.numeric input:focus{outline:2px solid var(--brand);outline-offset:-1px}.notice{color:#7a4f00;background:#fff4e5;border:1px solid #f5c977;border-radius:10px;margin:0 0 24px;padding:12px 16px;font-size:14px}@media (prefers-color-scheme:dark){.notice{color:#e8b64c;background:#2e2410;border-color:#6b5320}}ul.list{margin:0;padding:0;list-style:none}ul.list li{border-bottom:1px solid var(--border)}ul.list li a{justify-content:space-between;align-items:baseline;gap:16px;padding:14px 2px;text-decoration:none;display:flex}ul.list li a:hover{color:var(--brand)}ul.list .num{color:var(--muted);white-space:nowrap;font-size:12.5px}ul.list .qno{font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;min-width:3.2em;font-size:13px}ul.list .body{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14.5px;overflow:hidden}.grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.grid a{border:1px solid var(--border);background:var(--card);border-radius:10px;padding:14px 16px;text-decoration:none;display:block}.grid a:hover{border-color:var(--brand)}.grid .t{font-size:15px;font-weight:600}.grid .s{color:var(--muted);font-size:12.5px}.pager{border-top:1px solid var(--border);justify-content:space-between;gap:12px;margin-top:40px;padding-top:20px;font-size:14px;display:flex}.pager a{color:var(--brand);max-width:46%;text-decoration:none}.pager .spacer{flex:1}table.info{border-collapse:collapse;width:100%;font-size:14.5px}table.info th,table.info td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:12px 4px}table.info th{width:30%;color:var(--muted);white-space:nowrap;font-weight:600}.runner-bar{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:12px;padding:10px 0 16px;font-size:13px;display:flex}.runner-bar .pos{white-space:nowrap;font-weight:600}.runner-bar .bar{background:var(--border);border-radius:2px;flex:1;height:4px;overflow:hidden}.runner-bar .bar>span{background:var(--brand);height:100%;transition:width .2s;display:block}.runner-bar .time{white-space:nowrap}.runner-bar .time.urgent{color:#d9534f;font-weight:700}.qhead{align-items:center;gap:10px;margin:0 0 14px;font-size:17px;display:flex}.qhead .tag{font-size:12px}.runner-nav{gap:10px;margin-top:28px;display:flex}.runner-nav button{border:1px solid var(--border);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:10px;flex:1;padding:13px}.runner-nav button:disabled{opacity:.4;cursor:default}.runner-nav button.primary{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}.hint.center{text-align:center;margin-top:20px}button.linkish{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.score{align-items:baseline;gap:10px;margin:20px 0;display:flex}.score .big{color:var(--brand);font-size:46px;font-weight:700;line-height:1}.score .of{color:var(--muted);font-size:18px}.score .rate{color:var(--muted);margin-left:auto;font-size:15px}.verdict .hint{font-size:13px;font-weight:400;display:block}.auth{max-width:400px;margin:0 auto}.auth label{color:var(--muted);margin:14px 0 6px;font-size:13px;display:block}.auth input{width:100%;font:inherit;border:1px solid var(--border);background:var(--bg);color:inherit;border-radius:10px;padding:12px 14px}.auth input:focus{outline:2px solid var(--brand);outline-offset:-1px}.auth .err{color:#d9534f;margin:14px 0 0;font-size:13.5px}.auth .social{gap:10px;margin-top:8px;display:grid}.auth .social button{border:1px solid var(--border);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:10px;padding:12px}.auth .social button:hover{border-color:var(--brand)}.divider{color:var(--muted);align-items:center;gap:12px;margin:24px 0;font-size:12.5px;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.tabs{gap:8px;margin-bottom:8px;display:flex}.tabs button{border:1px solid var(--border);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:10px;flex:1;padding:10px}.tabs button.on{border-color:var(--brand);color:var(--brand);font-weight:600}.cta{border:1px solid var(--brand);background:var(--accent-bg);border-radius:12px;margin:24px 0;padding:16px 18px}.cta a{color:var(--brand);font-weight:600;text-decoration:none}.cta a:hover{text-decoration:underline}.cta .hint{margin-top:4px;display:block}.paywall ul.features{margin:24px 0;padding:0;list-style:none}.paywall ul.features li{border-bottom:1px solid var(--border);padding:10px 0 10px 30px;position:relative}.paywall ul.features li:before{content:"✓";color:var(--brand);font-weight:700;position:absolute;left:4px}.paywall-actions{margin:28px 0 20px}.paywall-actions .reveal{text-align:center;text-decoration:none;display:block}.bookmark{border:1px solid var(--border);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:6px 14px;font-size:13px;text-decoration:none;display:inline-block}.bookmark:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.bookmark.on{border-color:var(--brand);background:var(--accent-bg);color:var(--brand);font-weight:600}.bookmark.placeholder{opacity:.45}.grid .cell{flex-direction:column;display:flex}.grid .cell>a{flex:1}.grid .sub{gap:6px;margin:6px 0 0;display:flex}.grid .sub a{text-align:center;color:var(--muted);background:0 0;border-color:#0000;border-radius:8px;flex:1;padding:6px 4px;font-size:12.5px}.grid .sub a:hover{color:var(--brand);border-color:var(--border)}.mark{white-space:nowrap;border-radius:999px;margin-right:8px;padding:0 9px;font-size:12px;font-weight:700;display:inline-block}.mark.ok{background:var(--accent-bg);color:var(--brand)}.mark.ng{color:#d9534f;background:#d9534f1f}.appcta{border:1px solid var(--border);background:var(--accent-bg);border-radius:12px;margin:40px 0 8px;padding:20px 22px}.appcta .t{margin:0 0 6px;font-size:16px;font-weight:700}.appcta .s{color:var(--muted);margin:0;font-size:14px;line-height:1.7}.appcta .stores{flex-wrap:wrap;gap:10px;margin:16px 0 0;display:flex}.appcta .stores a{background:var(--brand);color:#fff;text-align:center;border-radius:9px;flex:160px;padding:11px 16px;font-size:14.5px;font-weight:600;text-decoration:none}.appcta .stores a:hover{opacity:.88}
