:root{--gap:14px;--radius:14px;--shadow:0 10px 30px rgba(0,0,0,.10);color-scheme:light}
*{box-sizing:border-box}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,'Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif;margin:0;background:#fff;color:#222}
.statusbar-fill{position:fixed;top:0;left:0;right:0;height:max(env(safe-area-inset-top),14px);background:#f2f2b0;z-index:3;pointer-events:none}
header{position:sticky;top:0;background:#fff;padding:calc(24px + env(safe-area-inset-top)) 18px 14px;box-shadow:0 1px 0 rgba(0,0,0,.08);z-index:2}
header h1{margin:0;font-size:18px}
.wrap{width:min(896px,100%);padding:24px 18px calc(36px + env(safe-area-inset-bottom));margin:auto}
.controls{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:20px;align-items:start}
.field{min-width:0}.field label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}
input,select,button{font:inherit;border:1px solid #ccc;background:#fff;color:#222;border-radius:999px;min-height:46px;padding:10px 14px}
input,select{width:100%;font-size:16px}input{padding-right:68px}select,button{cursor:pointer}
button:hover{background:#f2f2f6}input:focus-visible,select:focus-visible,button:focus-visible{outline:3px solid #797939;outline-offset:3px}
.search-box{position:relative}.search-box button{position:absolute;right:5px;top:5px;min-height:36px;padding:4px 10px;font-size:13px;border:0;background:#f3f3e4}
.helper{font-size:13px;color:#626262;margin:8px 0 0;line-height:1.7}
.results-heading{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;margin:26px 0 16px}
h2{font-size:16px;margin:0}#status{font-size:14px;color:#555;margin:0}
.results{display:grid;gap:10px}
.card{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.04);border:1px solid #e5e5df;padding:12px 16px;overflow-wrap:anywhere}
.meta{font-size:12px;line-height:1.5;color:#656565;margin:0 0 5px}.pill{display:inline-block;padding:0 0 0 8px;border-left:3px solid #dcdc96}
.q{font-size:clamp(20px,3.6vw,28px);line-height:1.6;font-weight:700;margin:0}
.aText{font-size:clamp(19px,3.2vw,24px);line-height:1.7;margin:3px 0 0}
.message{padding:22px;background:#fafaf0;border-radius:14px;line-height:1.8;margin:0 0 14px}
[hidden]{display:none!important}
#offline-status{margin:-7px 0 14px;font-size:12px}
@media(max-width:600px){.controls{grid-template-columns:1fr;gap:16px}.wrap{padding-top:20px}.card{padding:12px 14px}}
