:root{--paper: #fbf8f1;--paper-2: #f1ecdf;--ink: #22323a;--ink-2: #5d6a6f;--line: #d9d2c1;--accent: #1d5c6b;--ok: #2f7f58;--bad: #b8402f;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--shadow: 0 1px 2px rgb(34 50 58 / 12%), 0 8px 24px rgb(34 50 58 / 14%)}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:#eef1ee;color:var(--ink);font:15px/1.45 var(--sans);overflow:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#map{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}#map:active{cursor:grabbing}.top{position:fixed;top:12px;left:12px;right:12px;display:flex;align-items:center;gap:14px;pointer-events:none}.brand{font:400 24px/1 var(--serif);letter-spacing:.01em}.nav{display:flex;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:3px;box-shadow:var(--shadow);pointer-events:auto}.nav button{border:0;background:none;padding:6px 12px;border-radius:5px;color:var(--ink-2)}.nav button[aria-current=true]{background:var(--accent);color:#fff}.panel{position:fixed;background:var(--paper);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:18px}.home{top:64px;left:12px;width:min(380px,calc(100vw - 24px));max-height:calc(100vh - 76px);overflow:auto}.home h2,.side h2,.end h2{font:400 22px/1.2 var(--serif);margin:0 0 12px}.label{font-size:12px;font-weight:600;color:var(--ink-2);margin:14px 0 6px}.modes{display:grid;grid-template-columns:1fr 1fr;gap:6px}.choice{text-align:left;padding:9px 10px;border:1px solid var(--line);background:#fff;border-radius:7px}.choice strong{display:block;font-weight:600}.choice span{color:var(--ink-2);font-size:12.5px}.choice[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.chips{display:flex;flex-wrap:wrap;gap:5px}.chip{padding:4px 10px;border:1px solid var(--line);background:#fff;border-radius:99px;font-size:13.5px}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.primary{width:100%;margin-top:16px;padding:10px;border:0;border-radius:7px;background:var(--accent);color:#fff;font-weight:600}.secondary{padding:8px 12px;border:1px solid var(--line);background:#fff;border-radius:7px}.note{color:var(--ink-2);font-size:12.5px;margin:10px 0 0}.question{top:64px;left:50%;transform:translate(-50%);width:min(460px,calc(100vw - 24px));padding:12px 16px}.q-meta{display:flex;justify-content:space-between;align-items:center;color:var(--ink-2);font-size:12.5px}.q-meta button{border:0;background:none;color:var(--ink-2);padding:0;text-decoration:underline;font-size:12.5px}.bar{height:3px;background:var(--paper-2);border-radius:2px;margin:6px 0 10px;overflow:hidden}.bar i{display:block;height:100%;background:var(--accent)}.q-link{border:0;background:none;color:var(--ink-2);padding:0;text-decoration:underline;font-size:12.5px}.nav button{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.q-title{font:400 25px/1.2 var(--serif);margin:0}.q-title small{display:block;font:400 13px var(--sans);color:var(--ink-2);margin-bottom:2px}.q-flag{height:76px;border:1px solid var(--line);display:block;margin:4px 0 2px}.q-form{display:flex;gap:6px;margin-top:10px}.q-form input{flex:1;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:#fff}.q-actions{display:flex;gap:6px;margin-top:10px;align-items:center;justify-content:space-between}.verdict{font-weight:600}.verdict.ok{color:var(--ok)}.verdict.bad{color:var(--bad)}.detail{margin:3px 0 0;color:var(--ink-2)}.side{top:64px;right:12px;width:min(330px,calc(100vw - 24px));max-height:calc(100vh - 76px);overflow:auto}.side img{width:96px;border:1px solid var(--line);display:block;margin-bottom:8px}.facts{margin:0;display:grid;grid-template-columns:auto 1fr;gap:3px 12px}.facts dt{color:var(--ink-2)}.facts dd{margin:0}.links{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.rows{display:grid;gap:9px;margin-top:10px}.row-head{display:flex;justify-content:space-between;font-size:13.5px}.row .bar{margin:3px 0 0}.legend{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;font-size:12px;color:var(--ink-2)}.legend i{display:inline-block;width:10px;height:10px;border:1px solid var(--line);margin-right:4px}.end{top:50%;left:50%;transform:translate(-50%,-50%);width:min(420px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto}.score{font:400 42px/1 var(--serif);margin:2px 0 10px}.missed{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 12px;padding:0;list-style:none;font-size:13.5px}.missed li{padding:2px 8px;background:var(--paper-2);border-radius:5px}.end-actions{display:flex;gap:6px}.end-actions .primary{margin:0;flex:1}.zoom{position:fixed;right:12px;bottom:16px;display:grid;gap:4px}.zoom button{width:36px;height:36px;border:1px solid var(--line);border-radius:7px;background:var(--paper);box-shadow:var(--shadow);font-size:17px;line-height:1}.tip{position:fixed;pointer-events:none;padding:3px 8px;background:var(--ink);color:#fff;border-radius:5px;font-size:13px;white-space:nowrap}.credit{position:fixed;left:12px;bottom:8px;margin:0;font-size:11px;color:var(--ink-2)}.net{position:fixed;left:12px;bottom:26px;margin:0;font-size:12px;font-weight:600;color:var(--accent)}.loading{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font:400 20px var(--serif)}@media(max-width:640px){.top{gap:8px}.brand{display:none}.nav{flex:1}.nav button{flex:1;padding:6px 4px}.q-title{font-size:21px}.side{top:auto;bottom:8px;max-height:42vh;right:12px}.home{max-height:calc(100vh - 76px)}.credit{display:none}.net{bottom:8px}}
