
:root{--bg:#f2f4f7;--panel:#ffffff;--ink:#172033;--muted:#687386;--blue:#1f5ea8;--line:#d7dee8;--red:#e11d26;--yellow:rgba(255,221,0,.46)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.topbar{position:sticky;top:0;z-index:20;display:flex;gap:24px;align-items:center;justify-content:space-between;padding:14px 20px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 1px 8px rgba(0,0,0,.06)}h1{margin:0;font-size:22px}.topbar p{margin:2px 0 0;color:var(--muted);font-size:13px}.actions{display:flex;flex-wrap:wrap;gap:8px}button,.importLabel,.buttonLink{border:1px solid #b9c4d3;background:#fff;border-radius:8px;padding:8px 10px;font-weight:600;cursor:pointer;font-size:13px}button:hover,.importLabel:hover,.buttonLink:hover{background:#eef4ff}.danger{border-color:#ffc2c2;color:#991b1b}.layout{display:grid;grid-template-columns:260px 1fr;gap:18px;max-width:1500px;margin:0 auto;padding:18px}.sidebar{position:sticky;top:82px;align-self:start;max-height:calc(100vh - 100px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px}#search{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;margin-bottom:10px}.tocItem{display:block;width:100%;text-align:left;border:0;background:transparent;padding:8px 9px;border-radius:8px;color:#23324a;font-weight:500}.tocItem:hover{background:#eef4ff}.tocItem small{color:var(--muted);margin-right:4px}.pages{display:flex;flex-direction:column;gap:26px}.pageWrap{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:0 4px 18px rgba(0,0,0,.07)}.pageHead{display:flex;justify-content:space-between;align-items:center;margin:0 0 10px;padding:0 4px}.pageHead h2{font-size:16px;margin:0}.pageHead .num{color:var(--muted);font-size:13px}.pageCanvas{position:relative;margin:0 auto;max-width:860px;background:#fff}.pageCanvas img{display:block;width:100%;height:auto;user-select:none}.field{position:absolute;z-index:5}.textField input,.textField textarea{width:100%;height:100%;border:0;background:#eef4ff;font-family:Arial,sans-serif;text-align:center;color:#111;outline:none;padding:1px 3px;resize:none;overflow:hidden;box-shadow:none}.textField textarea{text-align:left;padding:5px 7px}.textField input:focus,.textField textarea:focus{border:0;background:#fff;box-shadow:0 0 0 2px rgba(31,94,168,.18)}.markField{cursor:pointer;background:transparent;border:0;display:flex;align-items:center;justify-content:center}.markField:hover{outline:2px solid rgba(31,94,168,.35);outline-offset:-2px}.markField.active.redx::before,.markField.active.redx::after{content:"";position:absolute;width:78%;height:5px;background:var(--red);border-radius:5px;box-shadow:0 1px 2px rgba(0,0,0,.25)}.markField.active.redx::before{transform:rotate(45deg)}.markField.active.redx::after{transform:rotate(-45deg)}.markField.choice.active.redx::before,.markField.choice.active.redx::after{height:3px;width:90%}.markField.active.highlight{background:var(--yellow);outline:2px solid rgba(214,153,0,.55);outline-offset:-2px}#toast{position:fixed;right:18px;bottom:18px;background:#111827;color:#fff;padding:10px 14px;border-radius:10px;opacity:0;transform:translateY(8px);transition:.2s;z-index:100}#toast.show{opacity:1;transform:translateY(0)}@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{position:static;max-height:none}.topbar{position:static;display:block}.actions{margin-top:10px}.pageWrap{padding:8px}}@media print{.topbar,.sidebar{display:none}.layout{display:block;padding:0}.pageWrap{break-after:page;border:0;box-shadow:none;padding:0}.pageHead{display:none}.pageCanvas{max-width:100%}body{background:#fff}}

.markField.choice{background:#eef4ff;border:1px solid #d8e0ec;border-radius:2px;opacity:.96}
.markField.choice:hover{outline:2px solid rgba(31,94,168,.45);outline-offset:0}
.textField input,.textField textarea{background-clip:padding-box;}

.buttonLink{text-decoration:none;color:#172033;display:inline-flex;align-items:center}

.markField .choiceLabel{position:relative;z-index:1;font-weight:700;font-size:22px;line-height:1;color:#111;pointer-events:none}
.markField.eqChoice{background:#eef4ff;border:1px solid #d8e0ec;border-radius:2px;opacity:.96}
.markField.eqChoice.active .choiceLabel{opacity:.25}
