:root{--bg:#faf6f0;--panel:#fff;--panel-2:#f5f0e7;--panel-3:#efe8dc;--ink:#26211b;--ink-2:#5c5347;--ink-3:#8c8274;--line:#e7dfd1;--line-2:#d6cbb8;--accent:#1f5f4c;--accent-hi:#27735d;--accent-soft:#e6f0ec;--focus:#1a6ac9;--bad:#a33124;--bad-soft:#fbeeec;--warn:#8e6212;--g0:#a33124;--g1:#8e6212;--g2:#2f6d5a;--g3:#1f5343;--shadow:0 1px 2px #26211b0f, 0 6px 20px #26211b0f;--radius:14px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font:17px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,Helvetica,Arial,sans-serif}[hidden]{display:none!important}h1,h2,h3{letter-spacing:-.012em;margin:0;line-height:1.25}p{margin:0 0 .85em}ul{margin:.4em 0 .9em;padding-left:1.25em}li{margin:.3em 0}a{color:var(--accent)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}.btn{font:inherit;cursor:pointer;background:var(--accent);color:#fff;border:1px solid var(--accent);box-shadow:var(--shadow);border-radius:11px;padding:.62em 1.25em;font-weight:600}.btn:hover{background:var(--accent-hi);border-color:var(--accent-hi)}.btn:disabled{background:var(--panel-3);border-color:var(--line-2);color:var(--ink-3);cursor:not-allowed;box-shadow:none}.btn.ghost{background:var(--panel);color:var(--ink);border-color:var(--line-2);box-shadow:none}.btn.ghost:hover{background:var(--panel-2)}.btn.ghost:disabled{color:var(--ink-3);background:var(--panel-2)}.btn.small{border-radius:9px;padding:.4em .85em;font-size:.88em}.linkbtn{font:inherit;color:var(--accent);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25em .1em;font-size:.86em;text-decoration:underline}.linkbtn:hover{color:var(--accent-hi)}.muted{color:var(--ink-3)}.tiny{font-size:.82em}.netbanner{z-index:200;border:1px solid var(--bad);border-left:6px solid var(--bad);color:var(--bad);box-shadow:var(--shadow);background:#fff;border-radius:11px;align-items:center;gap:.7em;max-width:min(560px,92vw);padding:.6em 1em;font-size:.92em;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%)}.netbanner .dot{background:var(--bad);border-radius:50%;flex:none;width:9px;height:9px;animation:1.6s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}.breakbanner{color:#6d5316;background:#fff7e6;border-bottom:1px solid #eddcb4;justify-content:center;align-items:center;gap:1em;padding:.7em 1.1em;font-size:.95em;display:flex}.formerror{background:var(--bad-soft);border:1px solid var(--bad);border-left:6px solid var(--bad);color:#7d281d;border-radius:11px;margin-bottom:14px;padding:.7em .9em;font-size:.9em}.formerror b{font-weight:700}.screen{min-height:100vh}#screen-grading{flex-direction:column;height:100vh;min-height:0;display:flex}.center-wrap{justify-content:center;align-items:center;min-height:100vh;padding:5vh 22px;display:flex}.card-sheet{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;width:100%;max-width:560px;padding:44px 44px 38px}.card-sheet h1{margin-bottom:.35em;font-size:2.1rem}.lede{color:var(--ink-2);margin-bottom:1.7em;font-size:1.08em}label.field{margin-bottom:.4em;font-size:.95em;font-weight:600;display:block}input[type=text],input[type=password],textarea,select{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line-2);border-radius:11px;width:100%;padding:.6em .8em}input[type=text]:hover,input[type=password]:hover,textarea:hover,select:hover{border-color:#c0b39c}input.bad,textarea.bad,select.bad{border-color:var(--bad);background:var(--bad-soft)}textarea{resize:vertical;min-height:70px}select{cursor:pointer}.rowbtns{flex-wrap:wrap;align-items:center;gap:.7em;margin-top:1.4em;display:flex}.onb-shell{max-width:860px;margin:0 auto;padding:34px 22px 130px}.onb-kicker{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);font-size:.8em;font-weight:700}.onb-body{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;margin-top:14px;padding:34px 36px}.onb-body h2{margin-bottom:.5em;font-size:1.75rem}.onb-body h3{margin:1.4em 0 .5em;font-size:1.12rem}.onb-q{color:var(--accent);margin:-.2em 0 1.1em;font-size:1.12em;font-weight:600}.lookfor{background:var(--panel-2);border:1px solid var(--line);border-radius:13px;margin:0 0 22px;padding:16px 20px}.lookfor h3{margin-top:0}.anchor-row{border-top:1px solid var(--line);grid-template-columns:132px 1fr;align-items:center;gap:20px;padding:16px 0;display:grid}.anchor-row:first-child{border-top:none}.arch{background:var(--panel-2);border:1px solid var(--line);border-radius:11px;justify-content:center;align-items:center;min-height:96px;padding:8px;display:flex}.arch svg{width:100%;height:auto;max-height:104px;display:block}.arch.blank{color:var(--ink-3);text-align:center;padding:14px;font-size:.8em}.gtag{color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:2em;margin-right:.5em;padding:.05em .5em;font-size:.95em;font-weight:700;display:inline-flex}.gtag.g0{background:var(--g0)}.gtag.g1{background:var(--g1)}.gtag.g2{background:var(--g2)}.gtag.g3{background:var(--g3)}.onb-nav{border-top:1px solid var(--line);backdrop-filter:blur(6px);background:#faf6f0f5;justify-content:space-between;align-items:center;gap:16px;padding:14px 22px;display:flex;position:fixed;bottom:0;left:0;right:0}.dots{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.dots button{border:1px solid var(--line-2);background:var(--panel);cursor:pointer;border-radius:50%;width:11px;height:11px;padding:0}.dots button.on{background:var(--accent);border-color:var(--accent);transform:scale(1.15)}.dots button.seen{background:var(--line-2)}.ghead{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;flex:none;align-items:center;gap:18px;padding:12px 20px;display:flex}.ghead .counter{font-size:1.06em;font-weight:700}.ghead .tag{background:var(--panel-2);border:1px solid var(--line);color:var(--ink-2);border-radius:8px;padding:.15em .55em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}.ghead .spacer{flex:1}.progtrack{background:var(--panel-3);border-radius:99px;width:150px;height:8px;overflow:hidden}.progfill{background:var(--accent);border-radius:99px;height:100%;transition:width .3s}.metric{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:.88em}#savestat{color:var(--ink-3);text-align:right;min-width:104px;font-size:.88em}#savestat.ok{color:var(--g2)}#savestat.bad{color:var(--bad)}.helpbtn{border:1px solid var(--line-2);background:var(--panel);width:38px;height:38px;color:var(--ink-2);cursor:pointer;border-radius:50%;flex:none;font-size:1.15em;font-weight:700}.helpbtn:hover{background:var(--panel-2);color:var(--ink)}.gmain{flex:1;min-height:0;display:flex}.photopane{border-right:1px solid var(--line);flex-direction:column;flex:1.35;min-width:0;display:flex}.tabs{background:var(--bg);flex-wrap:wrap;gap:8px;padding:12px 18px 10px;display:flex}.tabs button{font:inherit;background:var(--panel);color:var(--ink-2);border:1px solid var(--line-2);cursor:pointer;border-radius:10px;align-items:center;gap:.5em;padding:.42em .85em;font-size:.93em;display:inline-flex}.tabs button:hover{background:var(--panel-2);color:var(--ink)}.tabs button.on{background:var(--ink);border-color:var(--ink);color:#fff}.tabs button.on .k{color:#fff;background:#ffffff38;border-color:#0000}.tabs button.empty{opacity:.55}.tabs .k{border:1px solid var(--line-2);color:var(--ink-3);background:var(--panel-2);border-radius:5px;padding:0 .35em;font-size:.72em;font-weight:700}.subtabs{gap:6px;padding:0 18px 8px;display:flex}.subtabs button{font:inherit;background:var(--panel);border:1px solid var(--line-2);cursor:pointer;color:var(--ink-2);border-radius:8px;padding:.25em .7em;font-size:.85em}.subtabs button.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.viewer{flex:1;padding:0 18px 24px;overflow-y:auto}.zwrap{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:13px;min-height:120px;overflow:hidden}.zimg{cursor:zoom-in;transform-origin:50%;width:100%;transition:transform .2s;display:block}.zimg.zoomed{cursor:zoom-out;transform:scale(2)}.zwrap.loading{color:var(--ink-3);justify-content:center;align-items:center;padding:34px;font-size:.86em;display:flex}.strip .stripitem{margin-bottom:18px}.strip .capt{color:var(--ink-3);margin:6px 2px 0;font-size:.85em}.phint{color:var(--ink-3);padding:10px 18px 16px;font-size:.86em}.emptystate{border:1px dashed var(--line-2);background:var(--panel-2);text-align:center;color:var(--ink-2);border-radius:13px;padding:40px 26px}.emptystate .big{color:var(--ink);margin-bottom:.35em;font-size:1.05em;font-weight:600}.cardpane{background:var(--bg);flex-direction:column;flex:1;min-width:400px;max-width:560px;min-height:0;display:flex}.cardbody{flex:1;min-height:0;padding:20px 22px 26px;overflow-y:auto}.cardfoot{border-top:1px solid var(--line);background:var(--panel);flex:none;padding:14px 22px}.pivot{background:var(--accent-soft);color:#1b4c3e;border:1px solid #cfe0d9;border-radius:13px;margin-bottom:14px;padding:12px 16px;font-size:.93em}.pivot b{font-weight:700}.legend{color:var(--ink-2);flex-wrap:wrap;gap:10px;margin-bottom:16px;font-size:.79em;display:flex}.legend span{align-items:center;gap:.4em;display:inline-flex}.legend i{border-radius:3px;width:11px;height:11px;font-style:normal;display:inline-block}.crow{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;margin-bottom:12px;padding:14px 16px 13px}.crow:focus{outline:3px solid var(--focus);outline-offset:2px}.crow.needs{background:#fffaf9;border-color:#e8b6ad}.crow-head{align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.crow-head .txt{flex:1;min-width:0}.crow-title{font-size:1.02em;font-weight:700}.crow-q{color:var(--ink-3);margin-top:1px;font-size:.85em}.grades{gap:8px;display:flex}.grades .g{font:inherit;border:1.5px solid var(--line-2);background:var(--panel);width:56px;height:44px;color:var(--ink-2);cursor:pointer;border-radius:11px;font-size:1.05em;font-weight:700}.grades .g:hover{background:var(--panel-2);color:var(--ink);border-color:#bfb29a}.grades .g.sel{color:#fff;box-shadow:inset 0 2px #00000014}.grades .g0.sel{background:var(--g0);border-color:var(--g0)}.grades .g1.sel{background:var(--g1);border-color:var(--g1)}.grades .g2.sel{background:var(--g2);border-color:var(--g2)}.grades .g3.sel{background:var(--g3);border-color:var(--g3)}.gmean{color:var(--ink-2);margin-top:9px;padding-left:2px;font-size:.85em}.gmean.placeholder{color:var(--ink-3);font-style:italic}.nojudgebox{background:var(--panel-2);border:1px solid var(--line);border-radius:11px;padding:12px 13px}.nojudgebox label{margin-bottom:.4em;font-size:.85em;font-weight:600;display:block}.rowmsg{background:var(--bad-soft);color:#7d281d;border:1px solid #eccbc4;border-radius:10px;margin-top:11px;padding:10px 12px;font-size:.87em}.rowmsg .linkbtn{color:#7d281d;font-weight:600}.sect{margin-top:26px}.sect-head{align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.sect h3{font-size:1.05rem}.sect .sub{color:var(--ink-3);margin-bottom:12px;font-size:.85em}.exc-empty{border:1px dashed var(--line-2);background:var(--panel-2);color:var(--ink-2);text-align:center;border-radius:12px;padding:16px;font-size:.88em}.exc{background:var(--panel);border:1px solid var(--line);border-radius:12px;align-items:flex-start;gap:12px;margin-bottom:9px;padding:11px 13px;display:flex}.exc .body{flex:1;min-width:0}.exc .line1{font-size:.93em;font-weight:600}.exc .note{color:var(--ink);margin-top:4px;font-size:.86em}.draft{background:var(--panel);border:1px solid var(--line-2);box-shadow:var(--shadow);border-radius:13px;padding:16px}.draft .fld{margin-bottom:12px}.draft .fld label{margin-bottom:.35em;font-size:.85em;font-weight:600;display:block}.draft .hint{color:var(--ink-3);margin-top:.3em;font-size:.79em}.draft .grades .g{width:48px;height:38px;font-size:.98em}.draft .foot{flex-wrap:wrap;align-items:center;gap:.6em;margin-top:4px;display:flex}.draft .why{color:var(--ink-3);font-size:.82em}.chips-row{flex-wrap:wrap;gap:6px;margin-top:.5em;display:flex}.chips-row button{font:inherit;background:var(--panel-2);border:1px solid var(--line-2);cursor:pointer;color:var(--ink-2);border-radius:99px;padding:.24em .75em;font-size:.8em}.chips-row button:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.savebar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.savemsg{color:var(--bad);font-size:.86em;font-weight:600}.scrim{z-index:150;background:#26211b57;position:fixed;inset:0}.slideover{background:var(--bg);border-left:1px solid var(--line);z-index:151;flex-direction:column;width:min(620px,94vw);display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 40px #26211b29}.slideover header{border-bottom:1px solid var(--line);background:var(--panel);flex:none;align-items:center;gap:12px;padding:14px 20px;display:flex}.slideover header h2{flex:1;font-size:1.15rem}.chips{flex-wrap:wrap;flex:none;gap:7px;padding:12px 20px 4px;display:flex}.chips button{font:inherit;background:var(--panel);border:1px solid var(--line-2);cursor:pointer;color:var(--ink-2);border-radius:99px;padding:.28em .8em;font-size:.82em}.chips button:hover{background:var(--panel-2);color:var(--ink)}.slidebody{flex:1;padding:14px 20px 60px;overflow-y:auto}.slidebody section{background:var(--panel);border:1px solid var(--line);border-radius:14px;margin-bottom:14px;padding:18px 20px;scroll-margin-top:8px}.slidebody h3{margin-bottom:.4em;font-size:1.1rem}.mini-anchor{border-top:1px solid var(--line);grid-template-columns:74px 1fr;align-items:center;gap:12px;padding:9px 0;display:grid}.mini-anchor:first-of-type{border-top:none}.mini-anchor .arch{min-height:60px;padding:5px}.mini-anchor .arch svg{max-height:56px}.mini-anchor .t{font-size:.88em}.done-grid{border-collapse:collapse;width:100%;margin-top:10px;font-size:.94em}.done-grid th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);border-bottom:1px solid var(--line);padding:6px 8px;font-size:.8em}.done-grid td{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;padding:8px}.done-grid td.tagc{color:var(--ink-2);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.bignum{letter-spacing:-.02em;font-size:2.2rem;font-weight:700}@media (width<=1000px){.gmain{flex-direction:column;overflow-y:auto}.photopane{border-right:none;border-bottom:1px solid var(--line)}.cardpane{min-width:0;max-width:none}.cardbody{overflow:visible}.cardfoot{position:sticky;bottom:0}}.onb-single{max-width:980px;margin:0 auto;padding:34px 26px 50px}.onb-single h1{margin:0 0 .2em}.pivot{color:var(--ink);margin:0 0 1.1em;font-size:1.12em;line-height:1.5}.scalebar{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;display:grid}.scalebar .cell{border:1px solid var(--line-2);background:var(--panel-2);border-radius:11px;flex-direction:column;gap:2px;padding:10px 12px;font-size:.92em;display:flex}.scalebar .cell .t{color:var(--ink-3);font-size:.9em}.rulegrid{color:var(--ink-2);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:6px 18px;margin-bottom:22px;font-size:.92em;display:grid}.critgrid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin-bottom:20px;display:grid}.critgrid section{border:1px solid var(--line-2);background:var(--panel-2);border-radius:13px;padding:14px 16px}.critgrid h3{margin:0 0 .15em}.critgrid .q{color:var(--ink-3);margin-bottom:10px;font-size:.9em}.minirow{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.minirow figure{text-align:center;margin:0}.minirow .arch svg{width:100%;height:auto}.minirow figcaption{margin-top:4px}.onb-foot{color:var(--ink-3);max-width:70ch;font-size:.9em}.onb-start{justify-content:center;margin-top:10px}.cropgrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;padding:4px;display:grid}.cropthumb{border:1px solid var(--line-2);background:var(--panel-2);cursor:zoom-in;aspect-ratio:4/3;border-radius:9px;padding:0;position:relative;overflow:hidden}.cropthumb img{object-fit:cover;width:100%;height:100%;display:block}.cropthumb .ph{height:100%;color:var(--ink-3);justify-content:center;align-items:center;display:flex}.cropthumb .n{color:#fff;background:#0000008c;border-radius:6px;padding:1px 6px;font-size:.75em;position:absolute;bottom:5px;right:6px}.lightbox{z-index:40;background:#000000d1;flex-direction:column;display:flex;position:fixed;inset:0}.lightbox-body{flex:1;justify-content:center;align-items:center;min-height:0;padding:18px;display:flex;overflow:auto}.lightbox-body .zwrap{max-width:100%}.lightbox-body .zimg{border-radius:8px;max-width:100%;max-height:calc(100vh - 110px)}.lightbox-bar{color:#ddd;justify-content:center;align-items:center;gap:14px;padding:10px 16px 16px;font-size:.9em;display:flex}
