.omr-dialog{--omr-ring:#c57c8a;box-sizing:border-box;border:1px solid var(--rule,#CFC6AC);padding:0;width:min(940px,calc(100% - 24px));height:calc(100dvh - 24px);max-width:100%;max-height:100%;background:var(--paper,#EDE8DA);color:var(--ink,#191713);font-family:"Gijul Sans",sans-serif;overscroll-behavior:contain}.omr-dialog[open]{display:flex;flex-direction:column}.omr-dialog::backdrop,.omr-number-pad::backdrop,.omr-photo-view::backdrop{background:#191713a0}.omr-dialog *{box-sizing:border-box}.omr-dialog button,.omr-dialog input,.omr-dialog select,.omr-dialog textarea{font:inherit;color:inherit}.omr-dialog button{cursor:pointer;min-height:44px;border:1px solid var(--rule,#CFC6AC);background:var(--card,#FCFAF4);border-radius:3px;padding:9px 12px}.omr-dialog button:disabled{opacity:.5;cursor:default}.omr-dialog button:focus-visible,.omr-dialog a:focus-visible,.omr-dialog input:focus-visible,.omr-dialog select:focus-visible,.omr-dialog textarea:focus-visible{outline:3px solid #287cab;outline-offset:3px}.omr-dialog a{color:var(--gov,#1D4E6B);text-underline-offset:3px;font-size:12px}.omr-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:2px solid var(--ink,#191713);gap:15px}.omr-header div{display:flex;align-items:baseline;gap:15px}.omr-header span{font-family:"Song Myung",serif;font-size:24px}.omr-header strong{font-size:12px;font-weight:500}.omr-header .omr-close{width:48px;height:48px;font-size:20px;background:transparent;border:0}.omr-body{flex:1;min-height:0;overflow:auto;padding:23px 20px 30px;scrollbar-gutter:stable}.omr-body:focus{outline:0}.omr-body h1{font-family:"Song Myung",serif;font-size:26px;font-weight:400;line-height:1.35;letter-spacing:-.7px;margin:0 0 16px}.omr-body h2{font-size:15px;margin:25px 0 12px}.omr-body p{font-size:13px;line-height:1.75;margin:12px 0}.omr-kicker{font-size:10px!important;letter-spacing:1.8px;color:var(--ink2,#6B6353);margin:0 0 8px!important}.omr-exam{padding:13px 15px;border:1px solid var(--rule,#CFC6AC);background:var(--card,#FCFAF4);margin:13px 0 18px;display:grid;gap:5px}.omr-exam strong{font-size:14px}.omr-exam span,.omr-exam small{font-size:11px;color:var(--ink2,#6B6353);line-height:1.6}.omr-modes{display:grid;grid-template-columns:1fr 1fr;gap:12px}.omr-modes button{text-align:left;padding:20px 15px;display:grid;gap:10px;min-height:162px}.omr-mode-icon{font-size:28px;color:var(--mark,#B4342A)}.omr-modes strong{font-size:17px}.omr-modes small{font-size:12px;line-height:1.6;color:var(--ink2,#6B6353)}.omr-note{font-size:12px!important;color:var(--mark,#B4342A);min-height:20px}.omr-source{border-top:1px solid var(--rule,#CFC6AC);margin-top:24px;padding-top:16px}.omr-source img{display:block;width:100%;max-width:650px;border:1px solid var(--rule,#CFC6AC)}.omr-source p{font-size:11px;color:var(--ink2,#6B6353)}.omr-actions{padding:12px 20px max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--rule,#CFC6AC);flex-shrink:0}.omr-dialog .omr-primary{display:block;width:100%;background:var(--ink,#191713);color:var(--paper,#EDE8DA);border:0;min-height:52px;font-size:14px;font-weight:600}.omr-actions p{font-size:10px;text-align:center;line-height:1.7;color:var(--ink2,#6B6353);margin:7px 0 0}.omr-scan-preview{position:relative;background:#2b2a27;padding:24px 20px 45px;border-radius:4px;text-align:center}.omr-scan-preview img{display:block;width:100%;max-height:260px;object-fit:contain;margin:auto}.omr-scan-preview span{position:absolute;bottom:15px;left:0;right:0;color:#FBF6E9;font-size:11px}.omr-photo-buttons{display:flex;gap:10px;margin:17px 0}.omr-photo-buttons button{flex:1;font-size:12px}.omr-dialog .omr-link{border:0;background:transparent;color:var(--gov,#1D4E6B);font-size:12px;padding:8px 0;text-decoration:underline;text-underline-offset:3px}.omr-field{display:grid;gap:9px;font-size:13px;margin:20px 0}.omr-field select,.omr-field textarea,.omr-input-tools select{border:1px solid var(--rule,#CFC6AC);background:var(--card,#FCFAF4);color:var(--ink,#191713);border-radius:3px;padding:10px;min-height:44px;max-width:100%}.omr-field textarea{width:100%;resize:vertical;font-size:16px;line-height:1.6}.omr-check{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.8;margin:16px 0;min-height:44px}.omr-check input{accent-color:var(--mark,#B4342A);width:20px;height:20px;flex-shrink:0;margin:2px 0}.omr-check[hidden]{display:none}.omr-crop{background:#292824;padding:0;border:1px solid var(--rule,#CFC6AC)}.omr-crop canvas{display:block;width:100%;max-height:none;height:auto;touch-action:none}.omr-corner-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.omr-corner-fields label{display:grid;font-size:10px;color:var(--ink2,#6B6353);gap:5px}.omr-corner-fields input{width:100%;min-height:28px}.omr-input-tools{display:flex;gap:7px;align-items:center;justify-content:space-between;flex-wrap:wrap;font-size:11px}.omr-input-tools label{display:flex;gap:6px;align-items:center}.omr-input-tools select{padding:7px;font-size:12px;max-width:140px}.omr-input-tools button{font-size:11px;padding:7px 10px}.omr-progress{display:flex;justify-content:space-between;gap:10px;color:var(--ink2,#6B6353);font-size:11px;margin:13px 0 9px}.omr-sheet-scroll{width:100%;height:min(48vh,580px);min-height:280px;overflow:auto;background:#ddd5c3;border:1px solid var(--rule,#CFC6AC);position:relative;overscroll-behavior:contain}.omr-sheet{position:relative;flex-shrink:0;background:white}.omr-sheet>img{display:block;width:100%;height:100%;max-width:none}.omr-marks{position:absolute;inset:0}.omr-dialog .omr-bubble{position:absolute;padding:0;border:0;background:transparent;width:48px;height:48px;min-height:48px;border-radius:50%;transform:translate(-50%,-50%)}.omr-bubble[aria-pressed=true]:after{content:"";display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(12px*var(--omr-zoom));height:calc(18px*var(--omr-zoom));border-radius:50%;background:#191713}.omr-dialog .omr-number{position:absolute;padding:0;border:0;background:transparent;min-height:44px;border-radius:0}.omr-number-dot{position:absolute;pointer-events:none;transform:translate(-50%,-50%);width:calc(12px*var(--omr-zoom));height:calc(18px*var(--omr-zoom));border-radius:50%}.omr-number-dot.marked{background:#191713}.omr-overview .omr-marks{pointer-events:none}.omr-overview button{visibility:hidden}.omr-current{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}.omr-current strong{font-size:12px;flex:1}.omr-current button{font-size:11px;padding:8px}.omr-flags{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.omr-flags button{font-size:11px;color:var(--mark,#B4342A);border-color:var(--mark,#B4342A)}.omr-input-bottom{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin:13px 0}.omr-number-pad,.omr-photo-view{border:1px solid var(--rule,#CFC6AC);background:var(--paper,#EDE8DA);color:var(--ink,#191713);padding:18px;max-width:calc(100% - 20px);max-height:90dvh;overflow:auto}.omr-number-pad{width:410px}.omr-number-pad header{display:flex;justify-content:space-between;align-items:center;gap:15px}.omr-number-pad h2{font-size:17px;margin:0}.omr-number-pad p{font-size:12px;line-height:1.65}.omr-digit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.omr-digit-grid>div{display:grid;gap:6px;text-align:center}.omr-digit-grid strong{font-size:12px;margin:3px 0 8px}.omr-digit-grid button{min-width:48px;min-height:48px;font-size:16px}.omr-digit-grid button[aria-pressed=true]{background:var(--ink,#191713);color:var(--paper,#EDE8DA)}.omr-number-result{text-align:center;letter-spacing:3px;font-size:24px!important}.omr-photo-view{width:850px}.omr-photo-view>div{overflow:auto;margin-top:10px}.omr-photo-view canvas{display:block;max-width:none;width:1800px}.omr-score{background:var(--card,#FCFAF4);border:1px solid var(--rule,#CFC6AC);border-top:4px solid var(--mark,#B4342A);padding:20px}.omr-score>small{font-size:11px;color:var(--ink2,#6B6353)}.omr-score>strong{display:block;font-size:70px;line-height:1.2;letter-spacing:-3px;margin:7px 0 12px;font-variant-numeric:tabular-nums}.omr-score>strong>span{font-size:19px;letter-spacing:0;font-weight:400;color:var(--ink2,#6B6353)}.omr-score>div{display:flex;justify-content:space-between;border-top:1px solid var(--rule,#CFC6AC);padding-top:14px;font-size:11px;color:var(--ink2,#6B6353)}.omr-score b{display:block;font-size:20px;color:var(--ink,#191713);margin-top:6px}.omr-wrong{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.omr-wrong button{display:grid;gap:8px;text-align:left;border-color:#c57c8a;padding:12px}.omr-wrong strong{font-size:17px}.omr-wrong span{font-size:12px;color:var(--mark,#B4342A)}.omr-wrong small{font-size:10px;color:var(--ink2,#6B6353)}.omr-saved{text-align:center;padding:50px 0}.omr-saved>span{display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--mark,#B4342A);border-radius:50%;width:62px;height:62px;color:var(--mark,#B4342A);font-family:"Song Myung",serif;font-size:25px;margin:0 0 20px;transform:rotate(-9deg)}.omr-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:600px){.omr-dialog{position:fixed;inset:0;width:100%;height:100dvh;margin:0;border:0}.omr-header{padding:10px 14px}.omr-header span{font-size:24px}.omr-body{padding:20px 14px 28px;scrollbar-gutter:auto}.omr-actions{padding-left:14px;padding-right:14px}.omr-modes{gap:9px}.omr-modes button{padding:17px 12px}.omr-wrong{gap:7px}.omr-wrong button{padding:10px 8px}.omr-corner-fields{gap:12px}.omr-number-pad{padding:13px}.omr-digit-grid{gap:8px}}@media(prefers-reduced-motion:no-preference){.omr-bubble:active{background:#b4342a30}}
/* Full-paper entry on wide screens; phone entry keeps its enlarged answer window. */

.omr-full-input.omr-sheet .omr-bubble{width:calc(28px*var(--omr-zoom));height:calc(46px*var(--omr-zoom));min-height:0;border-radius:0}.omr-full-input .omr-number{min-height:0}.omr-full-input .omr-bubble:focus-visible{outline-offset:0}.omr-fitted{display:grid;place-items:center}.omr-answer-controls{display:none;gap:5px}.omr-answer-controls button{min-width:44px;min-height:44px;padding:6px}.omr-answer-controls button[aria-pressed=true]{background:var(--ink,#191713);color:var(--paper,#EDE8DA)}
@media(min-width:768px){
 .omr-dialog{position:fixed;inset:0;margin:0;width:100%;height:100dvh;max-width:none;max-height:none;border:0}
 .omr-dialog[data-stage=input] .omr-body{display:flex;flex-direction:column;padding:10px 18px;scrollbar-gutter:auto}
 .omr-dialog[data-stage=input] .omr-kicker,.omr-dialog[data-stage=input] h1{display:none}
 .omr-dialog[data-stage=input] .omr-exam{display:flex;align-items:center;flex-wrap:wrap;gap:7px 16px;padding:8px 10px;margin:0 0 8px}
 .omr-dialog[data-stage=input] .omr-sheet-scroll{flex:1;min-height:180px;height:auto}
 .omr-dialog[data-stage=input] .omr-current{flex-shrink:0;margin-top:7px}.omr-dialog[data-stage=input] .omr-progress{margin:7px 0}
 .omr-dialog[data-stage=input] .omr-answer-controls{display:flex}.omr-dialog[data-stage=input] .omr-current strong{flex:0 0 140px}
 .omr-dialog[data-stage=input] .omr-check{margin:5px 0;min-height:28px}.omr-dialog[data-stage=input] .omr-input-bottom{margin:3px 0;gap:18px}.omr-dialog[data-stage=input] .omr-note{margin:0;font-size:11px!important;min-height:20px}
 .omr-dialog[data-stage=input] .omr-flags:empty{display:none}.omr-dialog[data-stage=input] .omr-flags{margin-top:6px}
 .omr-dialog[data-stage=input] .omr-header{padding:7px 18px}.omr-dialog[data-stage=input] .omr-actions{padding-top:8px;padding-bottom:max(8px,env(safe-area-inset-bottom))}
 .omr-dialog:not([data-stage=input]) .omr-body{width:min(900px,100%);margin:auto}
}


@media(min-width:960px){
 .omr-dialog[data-stage=input] .omr-body{display:grid;grid-template-columns:minmax(0,1fr) 264px;grid-auto-rows:min-content;align-content:start;gap:7px 18px}
 .omr-dialog[data-stage=input] .omr-body>*{grid-column:2;min-width:0}
 .omr-dialog[data-stage=input] .omr-sheet-scroll{grid-column:1;grid-row:1/20;min-height:180px;height:calc(100dvh - 96px)}
 .omr-dialog[data-stage=input] .omr-exam{display:grid;gap:5px;margin:0}
 .omr-dialog[data-stage=input] .omr-input-tools{display:grid;grid-template-columns:1fr 1fr;gap:6px}
 .omr-dialog[data-stage=input] .omr-input-tools>label{grid-column:1/-1}.omr-dialog[data-stage=input] .omr-input-tools select{flex:1;max-width:none}
 .omr-dialog[data-stage=input] .omr-progress{display:grid;gap:6px;margin:4px 0}
 .omr-dialog[data-stage=input] .omr-current{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0}
 .omr-dialog[data-stage=input] .omr-current>strong,.omr-dialog[data-stage=input] .omr-answer-controls{grid-column:1/-1}.omr-dialog[data-stage=input] .omr-answer-controls{justify-content:space-between}
 .omr-dialog[data-stage=input] .omr-input-bottom{gap:4px 16px}.omr-dialog[data-stage=input] .omr-note{margin-bottom:105px}
 .omr-dialog[data-stage=input] .omr-actions{position:absolute;right:18px;bottom:0;width:264px;padding:8px 0;background:var(--paper,#EDE8DA)}
}

/* SVG preset regions share the original image coordinate system. */
.omr-paper-heading{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;color:var(--omr-color);fill:currentColor;overflow:hidden}
.omr-numeric-controls{display:flex}
.omr-digit-grid{background:#fff;border:1px solid #ed258f;padding:12px;color:#ed258f}
.omr-digit-grid>div{border-right:1px dashed #ed258f70;padding-right:8px}.omr-digit-grid>div:last-child{border:0;padding-right:0}
.omr-digit-grid button{position:relative;background:transparent;border:0;border-radius:0;font-family:Arial,sans-serif;color:#ed258f}
.omr-digit-grid button:not([data-empty]):before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:24px;height:36px;border:1px solid #ed258f;border-radius:50%}
.omr-digit-grid button[aria-pressed=true]:not([data-empty]){background:transparent;color:#fff}.omr-digit-grid button[aria-pressed=true]:not([data-empty]):before{background:#191713;border-color:#191713;z-index:-1}
.omr-digit-grid button[aria-pressed=true]{isolation:isolate}.omr-digit-grid [data-empty]{font-size:12px;color:var(--ink,#191713)}
