@import"https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@500;600;700&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap";:root{--bg-start: #dff1f8;--bg-mid: #edf8fc;--bg-end: #f7fbfd;--ink: #143247;--muted: #4a6a7d;--accent: #1e7ca4;--accent-2: #2f5e8f;--panel: rgba(255, 255, 255, .84);--border: #bdd8e6;--shadow: 0 18px 40px rgba(26, 77, 109, .14);--wave: rgba(41, 119, 169, .1)}*{box-sizing:border-box}body{margin:0;font-family:Zen Kaku Gothic New,sans-serif;color:var(--ink);position:relative;overflow-x:auto;background:radial-gradient(circle at 12% 18%,rgba(179,224,242,.85) 0,transparent 42%),radial-gradient(circle at 85% 8%,rgba(153,210,238,.75) 0,transparent 40%),linear-gradient(165deg,var(--bg-start),var(--bg-mid) 52%,var(--bg-end));min-height:100vh}body:before,body:after{content:"";position:fixed;top:-12%;right:-8%;bottom:-12%;left:-8%;pointer-events:none}body:before{background:repeating-radial-gradient(circle at 24% 30%,var(--wave) 0 2px,transparent 2px 15px);opacity:.45;transform:rotate(-7deg);animation:waveDrift 34s linear infinite}body:after{top:-18%;right:-12%;bottom:-18%;left:-12%;background:repeating-linear-gradient(-8deg,#ffffff0f 0,#ffffff0f 10px,#5492bb0d 10px,#5492bb0d 20px);opacity:.35;filter:blur(.4px)}h1,h2{font-family:Shippori Mincho,serif;margin:0 0 .5rem;letter-spacing:.02em}h1{font-size:clamp(2.3rem,3vw,3.4rem)}h2{font-size:1.4rem}p{margin:0;line-height:1.5}.page{max-width:2200px;min-width:1240px;margin:0 auto;padding:2.2rem .8rem 3.6rem;display:flex;flex-direction:column;gap:1.5rem;position:relative;z-index:1}.app-layout{display:grid;grid-template-columns:226px minmax(0,1fr);gap:1rem;align-items:start}.app-main{min-width:0;display:grid;gap:1.5rem}.workflow-sidebar{margin-bottom:0;position:sticky;top:24px;max-height:calc(100vh - 28px);overflow-y:auto}.workflow-panel{background:#ffffffe0;border:1px solid rgba(157,203,225,.7);border-radius:18px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:1.1rem .95rem;display:grid;gap:.8rem;max-width:none}.workflow-kicker{font-size:.7rem;letter-spacing:.12em;color:var(--accent-2);font-weight:700}.workflow-progress{font-size:.82rem;color:var(--muted)}.workflow-list{display:grid;gap:.3rem}.workflow-step{width:100%;border:1px solid rgba(164,202,220,.72);border-radius:12px;background:#f7fdffe6;display:flex;gap:.6rem;align-items:center;padding:.6rem .65rem 1.28rem;text-align:left}.workflow-step-wrap{position:relative}.workflow-step:hover{transform:none;box-shadow:0 5px 14px #1d5d891c}.workflow-step.is-active{border-color:var(--accent);background:#e3f4fcf2}.workflow-step.is-done{border-color:#8ec8a7}.workflow-order{font-size:.76rem;color:var(--muted);font-weight:700;line-height:1;min-width:1.8rem}.workflow-step-body{flex:1;display:grid;gap:.16rem;min-width:0}.workflow-step-title{font-size:.88rem;font-weight:700;color:var(--ink)}.workflow-step-status{font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow-step-badge{display:inline-flex;align-items:center;justify-content:center;min-width:3.6rem;padding:.18rem .5rem;border-radius:999px;font-size:.68rem;font-weight:700;border:1px solid transparent}.workflow-step-badge.is-done{background:#e7f7ed;color:#227246;border-color:#94d1ab}.workflow-step-badge.is-active{background:#e6f4fc;color:#1e648a;border-color:#97c8e3}.workflow-step-badge.is-pending{background:#f6f9fb;color:#708796;border-color:#cfdeea}.workflow-arrow{text-align:center;color:var(--muted);opacity:.8;font-size:.92rem;line-height:1}.workflow-step-badge.is-optional{background:#f1f6f9;color:#607887;border-color:#c5d8e4}.workflow-hint-link{position:absolute;right:.65rem;bottom:.38rem;border:0;padding:0;background:transparent;color:#2d6688;font-size:.68rem;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer;line-height:1}.workflow-hint-link:hover{transform:none;box-shadow:none;color:#1a4f70}.workflow-hint-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#102a3a66;display:flex;align-items:center;justify-content:center;z-index:1400;padding:16px}.workflow-hint-modal{width:min(720px,94vw);border-radius:16px;border:1px solid #b8d6e7;background:#fdfffffa;box-shadow:0 24px 52px #0f364f47;padding:.95rem 1rem 1rem;display:grid;gap:.75rem}.workflow-hint-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.workflow-hint-header h3{margin:0;font-size:1.02rem;font-family:Shippori Mincho,serif}.workflow-hint-list{margin:0;padding-left:1.2rem;display:grid;gap:.45rem;color:var(--ink);line-height:1.5}.workflow-focus-pulse{animation:workflowFocusPulse 1.55s cubic-bezier(.2,.75,.18,1);outline:3px solid rgba(26,129,175,.82);outline-offset:2px;box-shadow:0 0 0 4px #1e7ca48c,0 0 0 14px #57add642,0 14px 28px #1854783d,inset 0 0 0 1px #ffffffa6}.build-stamp{position:fixed;top:8px;left:10px;z-index:1000;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:#f4fbffdb;color:var(--muted);font-size:.7rem;letter-spacing:.01em;line-height:1.2;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.maintenance-banner{border:1px solid #e5b482;background:linear-gradient(135deg,#fff4e5f5,#ffeed7f2);box-shadow:0 12px 28px #99581f2e;border-radius:14px;padding:.75rem .95rem;display:grid;gap:.2rem}.maintenance-banner-title{margin:0;font-size:.94rem;font-weight:700;color:#7c3900}.maintenance-banner-text{margin:0;font-size:.82rem;color:#8a4f1f;line-height:1.4}.hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr);gap:1.5rem;align-items:center}.hero-card{background:var(--panel);border-radius:18px;padding:1.5rem;box-shadow:var(--shadow);border:1px solid rgba(157,203,225,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;gap:.75rem}.hero-user{display:grid;gap:.2rem;padding:.6rem .75rem;border-radius:12px;border:1px solid rgba(157,203,225,.72);background:#f4fbffc7}.hero-user-name{margin:0;font-size:1.05rem;font-weight:700;color:var(--ink);word-break:break-word}.hero-current-work-label{margin:.2rem 0 0;font-size:.72rem;font-weight:700;color:var(--muted);letter-spacing:.02em}.hero-current-work-name{margin:0;font-size:.92rem;font-weight:700;color:var(--ink);line-height:1.35;word-break:break-word}.hero-user-meta{margin:0;font-size:.84rem;color:var(--muted);line-height:1.35;word-break:break-word}.hero-user-error{margin:.2rem 0 0;font-size:.8rem;color:#9a2f2f}.hero-intro{display:grid;gap:.75rem}.hero-status{max-width:560px;margin-top:.25rem;display:grid;gap:.35rem}.hero-log{min-height:92px;margin:0}.status-history-log{height:120px;max-height:120px;margin:0;white-space:pre-wrap;overflow-y:auto}.hero-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.eyebrow{text-transform:uppercase;font-size:.75rem;letter-spacing:.22em;color:var(--accent-2);margin-bottom:.75rem}.subhead{color:var(--muted);max-width:520px}.panel{background:var(--panel);border-radius:20px;padding:1.5rem;box-shadow:var(--shadow);border:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeInUp .6s ease both}.panel:nth-of-type(1){animation-delay:.05s}.panel:nth-of-type(2){animation-delay:.1s}.panel:nth-of-type(3){animation-delay:.15s}.panel:nth-of-type(4){animation-delay:.2s}.panel:nth-of-type(5){animation-delay:.25s}.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1.5rem}.file-field{display:grid;gap:.4rem;font-size:.9rem;color:var(--muted)}.preset-toolbar{margin-top:12px;display:grid;gap:.6rem}.preset-toolbar-row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:end}.preset-name-field{display:grid;gap:.35rem;color:var(--muted);font-size:.85rem}.preset-name-field{flex:1 1 360px;min-width:280px}.preset-select-field{display:grid;gap:.35rem;color:var(--muted);font-size:.85rem;flex:1 1 360px;min-width:280px}.preset-class-field{display:grid;gap:.35rem;color:var(--muted);font-size:.85rem;flex:0 0 150px}.preset-class-field input{width:150px}.preset-load-action{display:flex;align-items:center;gap:.45rem;align-self:flex-end}.preset-load-status{display:inline-block;min-height:1.2em;line-height:1.2}.preset-load-status:not(.is-visible){visibility:hidden}.name-list-upload-field{max-width:520px;gap:.3rem}.name-list-upload-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.name-list-upload-hints{display:grid;gap:.1rem}.name-list-upload-hints .fineprint{line-height:1.25}.name-list-template-btn{margin-left:auto;white-space:nowrap;align-self:flex-start;padding-top:.45rem;padding-bottom:.45rem}input[type=file],input[type=text],input[type=number],select{width:100%;padding:.6rem .8rem;border-radius:12px;border:1px solid var(--border);background:#fafeffeb;font-family:inherit;font-size:.9rem}textarea{width:100%;padding:.6rem .8rem;border-radius:12px;border:1px solid var(--border);background:#fafeffeb;font-family:inherit;font-size:.9rem;line-height:1.4;resize:vertical}.text-area{min-height:2.6rem}.canvas-shell{position:relative;border:1px dashed var(--border);border-radius:16px;padding:.75rem;background:linear-gradient(180deg,#f4fbfff5,#ecf7fcdb);overflow:auto;min-height:360px}.canvas-shell-fit-screen{height:clamp(420px,72vh,920px);overflow:auto;display:block;padding:.45rem}.canvas-shell-fit-screen canvas{display:block;margin:0}.canvas-warning-placeholder{min-height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:1.2rem}canvas{width:100%;height:auto;border-radius:12px;background:#fff}.hint{color:var(--muted);margin-bottom:.75rem}.toolbar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:.8rem}.pdf-sync-badge{display:inline-flex;align-items:center;min-height:34px;padding:.35rem .7rem;border-radius:999px;border:1px solid #c8dceb;background:#f2f8fc;color:#35627d;font-size:.8rem;font-weight:600}.pdf-sync-badge.is-pending{border-color:#a8cde6;background:#e9f5fd;color:#1e648a}.pdf-sync-badge.is-synced{border-color:#9acfb1;background:#ebf9f0;color:#1f6c3f}.pdf-sync-badge.is-error{border-color:#e3b3b3;background:#fff1f1;color:#9a2f2f}.switch{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .8rem;border-radius:999px;border:1px solid var(--border);background:#f7fdfff2;font-size:.85rem}.switch input{margin:0}button{border:none;cursor:pointer;padding:.6rem 1rem;border-radius:12px;font-weight:600;font-family:inherit;transition:transform .2s ease,box-shadow .2s ease}button:hover{transform:translateY(-1px);box-shadow:0 8px 18px #1e567e29}button:disabled{cursor:not-allowed;opacity:.7;box-shadow:none;transform:none}.primary{background:linear-gradient(135deg,#1e7ca4,#2b679f);color:#fff;box-shadow:0 8px 20px #206d9a42}.primary .fineprint{color:#ffffffeb}.ghost{background:#fafefff0;border:1px solid var(--border);color:var(--ink)}a.ghost{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1rem;border-radius:12px;font-weight:600;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}a.ghost:hover{transform:translateY(-1px);box-shadow:0 8px 18px #1e567e29}.ghost.is-active{border-color:var(--accent);color:var(--accent)}.mode-switch{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:999px;border:1px solid var(--border);background:#f8fdfff5;box-shadow:none}.mode-switch-part{border-radius:999px;padding:.45rem .85rem;font-size:.82rem;font-weight:700;line-height:1.1;color:var(--muted);background:transparent;white-space:nowrap;transition:background-color .15s ease,color .15s ease}.mode-switch-btn{border:none;background:transparent;box-shadow:none;cursor:pointer}.mode-switch-btn:hover{transform:none;box-shadow:none}.mode-switch.is-setting .mode-switch-part:first-child.is-active{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff}.mode-switch.is-linking .mode-switch-part:last-child.is-active{background:linear-gradient(135deg,var(--accent-2),#225482);color:#fff}.mode-switch.mode-switch-pdf.is-model .mode-switch-part:first-child.is-active{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff}.mode-switch.mode-switch-pdf.is-student .mode-switch-part:last-child.is-active{background:linear-gradient(135deg,var(--accent-2),#225482);color:#fff}.mode-switch-stack{display:grid;justify-items:end;gap:2px}.pdf-page-header{margin-top:0;margin-bottom:8px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.pdf-page-header-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.pdf-top-controls{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.pdf-top-page-nav{margin:0;gap:6px}.pdf-top-controls .page-instructions,.pdf-top-controls .mode-setting-hint-block{align-self:stretch}.mode-setting-note{font-size:.72rem;color:var(--muted);line-height:1.25;visibility:hidden}.mode-setting-note.is-visible{visibility:visible}.mode-setting-hint-block{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:.95rem;color:var(--text);line-height:1.5;margin-top:2px}.mode-setting-hint-line{display:inline-flex;align-items:center;gap:.2rem}.mode-setting-hint-toggle{border:none;background:transparent;color:var(--accent-2);font-size:.95rem;line-height:1.1;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.mode-setting-hint-toggle:hover{opacity:.9}.mode-setting-hint-tips{margin-top:2px}.pdf-rotation-panel{margin:.8rem 0}.pdf-rotation-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.pdf-rotation-panel-header h3{margin:0}.pdf-rotation-size-field{min-width:240px;margin:0}.pdf-rotation-size-field span{font-size:.75rem}.pdf-rotation-size-slider-row{display:inline-flex;align-items:center;gap:.4rem}.pdf-rotation-size-slider-row input[type=range]{width:170px;margin:0}.pdf-rotation-size-field input[type=number]{width:84px;min-width:84px;text-align:right}.pdf-rotation-sections{display:grid;grid-template-columns:minmax(0,1fr);gap:.8rem}.pdf-rotation-section{border:1px solid var(--border);border-radius:12px;padding:.6rem;background:#f8fdfff5}.pdf-rotation-section-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.pdf-rotation-section-header h4{margin:0}.pdf-rotation-grid{margin-top:.6rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--pdf-preview-card-width, 230px),var(--pdf-preview-card-width, 230px)));justify-content:flex-start;gap:.5rem;max-height:none;overflow:visible}.pdf-rotation-grid.is-student-grid{grid-template-columns:repeat(auto-fill,minmax(var(--pdf-preview-card-width, 230px),var(--pdf-preview-card-width, 230px)));justify-content:flex-start}.pdf-rotation-card{display:grid;gap:.3rem;padding:.35rem;border-radius:10px;border:1px solid var(--border);background:#fff;box-shadow:none;transform:none;align-content:start}.pdf-rotation-card:hover{transform:none;box-shadow:none}.pdf-rotation-card.is-selected{border-color:var(--accent);background:#edf8fff2}.pdf-rotation-card-main{display:grid;gap:.3rem;padding:0;border:0;background:transparent;text-align:left}.pdf-rotation-card-actions{display:flex;justify-content:flex-end;gap:.25rem}.pdf-rotation-image{width:100%;height:auto;border-radius:8px;border:1px solid rgba(151,178,198,.35)}.pdf-rotation-meta{display:flex;justify-content:space-between;font-size:.74rem;color:var(--muted)}.pdf-rotation-icon-btn{min-width:2.3rem;padding-inline:.55rem}.pdf-rotation-icon{display:inline-block;font-size:1.1rem;line-height:1}.pdf-rotation-mini-btn{min-width:1.8rem;min-height:1.8rem;padding:.15rem .35rem;font-size:.9rem;line-height:1}.tab-btn{display:inline-flex;align-items:center;gap:.5rem}.workflow-tab-toolbar{row-gap:.55rem}.workflow-tab-toolbar .tab-btn-independent{margin-left:.35rem}.workflow-tab-toolbar .workflow-arrow{position:relative;width:24px;min-width:24px;height:14px;align-self:center;pointer-events:none;opacity:.8}.workflow-tab-toolbar .workflow-arrow:before{content:"";position:absolute;left:0;right:7px;top:50%;border-top:2px solid rgba(46,80,104,.58);transform:translateY(-50%)}.workflow-tab-toolbar .workflow-arrow:after{content:"";position:absolute;right:1px;top:50%;width:8px;height:8px;border-top:2px solid rgba(46,80,104,.58);border-right:2px solid rgba(46,80,104,.58);transform:translateY(-50%) rotate(45deg)}.tab-status{font-size:.75rem;opacity:.85}.mode-hint{margin-top:.35rem;display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.mode-hint .fineprint{line-height:1.35}.math-text{max-width:100%;white-space:pre-wrap;line-height:1.45;overflow-wrap:anywhere;word-break:break-word}.math-text-block{display:block}.math-text-inline{display:inline}.math-text mjx-container{max-width:100%;overflow-x:hidden;overflow-y:hidden;padding-bottom:2px}.math-text-block mjx-container{display:block;width:100%!important}.math-text-block mjx-container[display=true]{width:100%!important}.math-text-inline mjx-container{display:inline-block;vertical-align:middle;overflow-x:auto}.math-text-math.math-text-size-lg mjx-container{font-size:1.06em!important}.math-text-math.math-text-size-md mjx-container{font-size:1em!important}.math-text-math.math-text-size-sm mjx-container{font-size:.95em!important}.math-text mjx-container[jax=SVG]>svg{max-width:100%;height:auto}.badge{background:#e1f1fce6;color:var(--accent);padding:.3rem .8rem;border-radius:999px;font-size:.8rem}.table-wrap{overflow-x:auto}.model-sticky-panel{position:sticky;top:12px;z-index:12;padding:.6rem;border:1px solid var(--border);border-radius:12px;background:#f8fdffeb}.model-sticky-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.model-sticky-panel .crop-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));max-width:420px}.model-sticky-panel .crop-img{max-width:220px}.model-sticky-panel .math-text{font-size:.9rem}.question-rescore-actions{align-items:center;gap:8px;flex-wrap:wrap}.name-list-table-wrap{max-height:420px;overflow:auto}.question-list{max-height:420px;overflow-y:auto}.setup-side-panel{min-width:0}.setup-side-panel.is-linking{display:grid;gap:.8rem;align-content:start}.question-list.is-linking{height:clamp(420px,72vh,920px);max-height:clamp(420px,72vh,920px)}table{width:100%;border-collapse:collapse;font-size:.85rem}thead{text-align:left;color:var(--muted)}th,td{padding:.5rem;border-bottom:1px solid #dcebF4;vertical-align:top}.question-row td{border-bottom:2px solid #d3e5ef}.question-row+.question-row td{border-top:1px dashed rgba(87,138,169,.4)}.question-drop-gap td{padding:0;border:0;background:transparent}.question-drop-gap-line{height:10px;margin:2px 0;border-radius:999px;background:linear-gradient(90deg,#3c8dbc33,#4f9bc7,#3c8dbc33);box-shadow:0 0 0 1px #3c8dbc59}td input,td textarea{width:100%}.wide-columns td:nth-child(3),.wide-columns td:nth-child(4){min-width:240px}.wide-columns th:nth-child(5),.wide-columns td:nth-child(5){min-width:120px}.wide-columns .score-input{min-width:90px}.question-review-table th:nth-child(2),.question-review-table td:nth-child(2){min-width:180px}.question-review-table th:nth-child(3),.question-review-table td:nth-child(3){min-width:240px}.question-review-table th:nth-child(5),.question-review-table td:nth-child(5){min-width:120px}.question-review-student-cell{display:grid;gap:6px}.question-review-answer-cell .math-text{font-size:.9rem}.question-review-empty-answer{color:var(--muted);font-size:.8rem}.score-stepper{display:inline-flex;align-items:center;gap:6px}.score-stepper .score-input{width:72px;min-width:72px;text-align:center}.pages-stepper{display:inline-flex;align-items:center;gap:.5rem}.pages-step-input{width:96px;min-width:96px;text-align:center}.pages-step-btn{min-width:2.8rem;min-height:2.6rem;padding:.45rem .75rem;font-size:1.1rem;font-weight:700;line-height:1}.pages-step-input::-webkit-outer-spin-button,.pages-step-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pages-step-input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.score-step-btn{min-width:2.1rem;padding:.35rem .5rem;line-height:1}.mini-triangle-btn{min-width:0;padding:0 .2rem;border:0;background:transparent;color:#111;font-size:.76rem;font-weight:700}.mini-triangle-btn:hover{transform:none;box-shadow:none;background:transparent}.row-mark-buttons{display:inline-flex;gap:4px}.row-mark-btn{min-width:1.9rem;padding:.22rem .35rem;border-radius:8px;font-size:.78rem;font-weight:700;line-height:1}.score-input::-webkit-outer-spin-button,.score-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.score-input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.mark-tabs{display:inline-flex;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff}.mark-tab{border:0;border-right:1px solid var(--border);border-radius:0;padding:.35rem .65rem;min-width:2.2rem;background:transparent;color:var(--ink);font-weight:700}.mark-tab:last-child{border-right:0}.mark-tab:hover{transform:none;box-shadow:none;background:#ebf5fb}.mark-tab.is-active{background:#dff1fb;color:var(--accent)}.name-list-match-table th:nth-child(1),.name-list-match-table td:nth-child(1){min-width:220px}.name-list-match-table th:nth-child(2),.name-list-match-table td:nth-child(2){min-width:420px}.name-list-crop-cell{display:grid;gap:8px}.name-list-crop-grid{display:flex;flex-wrap:wrap;gap:.5rem}.name-list-crop-grid .crop-zoom-btn{width:min(100%,var(--name-list-crop-size, 180px))}.name-list-crop-grid .name-list-crop-btn{height:max(52px,calc(var(--name-list-crop-size, 180px) * .36));display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;background:#fff;overflow:hidden}.name-list-crop-img{display:block;width:auto;height:auto;max-width:100%;max-height:100%}.name-list-ocr-text{white-space:pre-wrap;line-height:1.45}.question-table th:nth-child(1),.question-table td:nth-child(1){min-width:96px;width:96px}.question-table th:nth-child(2),.question-table td:nth-child(2){min-width:72px}.question-table td:nth-child(2) input[type=number]{width:64px;min-width:64px;text-align:center}.question-id-input{min-height:40px;padding:.55rem .65rem;font-size:.96rem}.active-row{background:#e9f6fc}.active-row td{box-shadow:inset 0 0 0 1px #3a86b473}.score-status-correct td{background:#ef44441f}.score-status-incorrect td{background:#3b82f61f}.score-status-partial td{background:#22c55e1f}.subpanel{margin-top:1rem;padding:1rem;border-radius:16px;border:1px solid var(--border);background:#f4fbffeb;display:grid;gap:.8rem}.subpanel-header{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.subpanel-grid{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.field{display:grid;gap:.4rem;font-size:.9rem;color:var(--muted)}.field textarea:disabled{background:#ecf5fa;color:var(--muted)}.to-address-field{width:100%;min-height:44px;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;padding:.45rem .6rem;border-radius:12px;border:1px solid var(--border);background:#fafeffeb;cursor:text}.to-address-field:focus-within{border-color:#7ca9c8;box-shadow:0 0 0 2px #3f8aba24}.to-address-prefix{color:#5f8096;font-size:.82rem;font-weight:700;padding-left:.1rem}.to-address-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .5rem;border-radius:999px;border:1px solid #c6dceb;background:#edf6fb;color:#295b76;font-size:.8rem;line-height:1.2}.to-address-chip-remove{border:none;background:transparent;color:#2f6888;border-radius:999px;padding:0;width:1rem;height:1rem;font-size:.82rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.to-address-chip-remove:hover{transform:none;box-shadow:none;color:#184e6b}.to-address-chip-remove:disabled{opacity:.45}.to-address-field input[type=text].to-address-input{border:none;background:transparent;box-shadow:none;padding:.15rem .2rem;min-width:180px;width:auto;flex:1}.to-address-field input[type=text].to-address-input:focus{outline:none}.crop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem}.crop-grid.compact{grid-template-columns:repeat(auto-fit,minmax(84px,1fr));min-width:92px}.crop-img{width:100%;border-radius:8px;border:1px solid var(--border);background:#fff;box-shadow:0 6px 14px #2362882e}.crop-img.compact{max-width:110px}.question-review-crop-grid{grid-template-columns:repeat(auto-fit,minmax(calc(var(--question-review-crop-size, 130px) * .72),var(--question-review-crop-size, 130px)));max-width:calc(var(--question-review-crop-size, 130px) * 3.2)}.question-review-crop-img{max-width:var(--question-review-crop-size, 130px);max-height:calc(var(--question-review-crop-size, 130px) * 1.08);object-fit:contain}.question-review-crop-card{display:grid;gap:.25rem;justify-items:start}.question-review-crop-label{font-size:.72rem;color:var(--muted);line-height:1.2}.model-sticky-panel .question-review-crop-img{max-width:var(--question-review-crop-size, 130px);max-height:calc(var(--question-review-crop-size, 130px) * 1.08)}.crop-size-control{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.crop-size-control input[type=range]{width:min(640px,80vw)}.crop-zoom-btn{border:0;background:transparent;padding:0;border-radius:8px}.crop-zoom-btn:hover{transform:none;box-shadow:none}.image-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1200;padding:20px}.image-modal{background:#fff;border-radius:14px;padding:12px;max-width:min(95vw,1200px);max-height:92vh;display:grid;gap:10px}.image-modal-img{max-width:100%;max-height:calc(92vh - 72px);object-fit:contain;border:1px solid var(--border);border-radius:8px}.log{background:#173a53;color:#e8f5fc;padding:1rem;border-radius:16px;min-height:120px;font-size:.85rem;overflow:auto}.results{display:grid;gap:.8rem}.result-card{border:1px solid var(--border);border-radius:14px;padding:.8rem 1rem;background:#f4fbffe6;display:grid;gap:.4rem}.result-card a{color:var(--accent-2);font-weight:600;text-decoration:none}.analysis-panel{display:grid;gap:1rem}.analysis-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.analysis-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.analysis-summary-card{border:1px solid var(--border);border-radius:14px;background:#f4fbffe6;padding:.85rem .95rem;display:grid;gap:.25rem}.analysis-summary-label{font-size:.76rem;color:var(--muted)}.analysis-summary-value{font-size:1.2rem;line-height:1.2}.analysis-summary-note{word-break:break-word}.analysis-table th,.analysis-table td{white-space:nowrap}.analysis-table th:last-child,.analysis-table td:last-child{min-width:180px}.analysis-bar-track{width:100%;min-width:140px;height:10px;border-radius:999px;background:#a7cde073;overflow:hidden}.analysis-bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#6eb7d9,#2f7ea6)}.fineprint{font-size:.75rem;color:var(--muted)}.page-instructions{display:flex;flex-direction:column;align-items:flex-start;gap:4px;color:var(--text);font-size:.95rem;line-height:1.5}.page-instructions p{margin:0}.session-choice-panel{transition:opacity .18s ease,transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.session-choice-panel.is-active{background:#fffffff5;border-color:#78b6d3;box-shadow:0 18px 40px #1a4d6d29}.session-choice-panel.is-inactive{opacity:.58;background:#edf5f9d1;box-shadow:0 10px 24px #1a4d6d14}.session-choice-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.session-choice-header h3{margin:0}.setup-run-actions{margin-top:16px;display:flex;justify-content:flex-end;gap:.6rem}.setup-score-total-row{margin-top:14px;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.6rem}.setup-score-total-input{min-width:220px}.score-total-warning{margin-top:6px;color:#b83c3c}.setup-pdf-warning{margin-top:.3rem;padding:.65rem .8rem;border-radius:12px;border:1px solid rgba(196,126,92,.35);background:#fff1e9f0;color:#9a4223;font-size:.84rem;font-weight:700;line-height:1.45}.usage-guide{display:grid;gap:1rem}.usage-guide h3{margin:0;font-size:1.02rem}.usage-quickstart{border:1px solid var(--border);border-radius:14px;background:#f4fbffe6;padding:1rem}.usage-quickstart ol{margin:.6rem 0 0;padding-left:1.2rem;display:grid;gap:.35rem;line-height:1.5}.usage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem}.usage-card{border:1px solid var(--border);border-radius:14px;padding:1rem;background:#f9feffe6;display:grid;gap:.5rem}.usage-tips{border:1px solid var(--border);border-radius:14px;padding:1rem;background:#edf8fde6}.usage-tips ul{margin:.6rem 0 0;padding-left:1.2rem;display:grid;gap:.35rem;line-height:1.5}.usage-step-list{display:grid;gap:.9rem}.usage-subpage-tabs{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:.9rem}.usage-subpage-card{align-content:start}.usage-subpage-card p{line-height:1.55}.usage-faq-list{display:grid;gap:.7rem}.usage-faq-item{border:1px solid var(--border);border-radius:12px;background:#fafefff0;padding:.55rem .7rem}.usage-faq-item summary{cursor:pointer;font-weight:600;color:var(--accent-2);-webkit-user-select:none;user-select:none}.usage-faq-answer{margin-top:.55rem;display:grid;gap:.4rem}.usage-faq-answer p{margin:0;line-height:1.55}.usage-step-card{border:1px solid var(--border);border-radius:14px;background:#f6fcffeb;padding:.95rem;display:grid;gap:.5rem}.usage-step-card p{line-height:1.55}.usage-step-notes{margin:0;padding-left:1.2rem;display:grid;gap:.25rem;color:var(--muted);font-size:.92rem}.usage-step-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:.6rem}.usage-step-images.is-large{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}.usage-step-figure{margin:0;border:1px solid var(--border);border-radius:12px;padding:.45rem;background:#fffffff0;display:grid;gap:.35rem}.usage-step-image{width:100%;max-height:480px;object-fit:contain;border-radius:9px;border:1px solid rgba(164,202,220,.8);background:#fff}.usage-step-images.is-large .usage-step-image{max-height:560px}.usage-step-image-btn{border:0;background:transparent;padding:0;border-radius:9px;cursor:zoom-in;text-align:left}.usage-step-figure figcaption{color:var(--muted);font-size:.8rem}.usage-step-dropdown{border:1px solid var(--border);border-radius:10px;background:#fbffffe6;padding:.45rem .55rem}.usage-step-dropdown summary{cursor:pointer;color:var(--accent-2);font-size:.9rem;font-weight:600;-webkit-user-select:none;user-select:none}.usage-step-dropdown[open]{display:grid;gap:.55rem}.usage-step-dropdown .usage-step-images{margin-top:.2rem}.feedback-panel{display:grid;gap:1rem}.feedback-form-card{border:1px solid var(--border);border-radius:14px;background:#f9feffeb;padding:.95rem;display:grid;gap:.7rem}.feedback-form-card h3{margin:0;font-size:1rem}.feedback-form{display:grid;gap:.75rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes waveDrift{0%{transform:rotate(-7deg) translateZ(0)}to{transform:rotate(-7deg) translate3d(-40px,24px,0)}}@keyframes workflowFocusPulse{0%{transform:scale(1);outline-color:#1a81af00;box-shadow:0 0 #1e7ca400,0 0 #57add600,0 0 #18547800}28%{transform:scale(1.012);outline-color:#1a81afd9;box-shadow:0 0 0 4px #1e7ca499,0 0 0 16px #57add64d,0 16px 30px #18547847,inset 0 0 0 1px #ffffffb8}62%{transform:scale(1.004);outline-color:#1a81af85;box-shadow:0 0 0 3px #1e7ca46b,0 0 0 11px #57add638,0 10px 22px #1854782e,inset 0 0 0 1px #ffffff8f}to{transform:scale(1);outline-color:#1a81af00;box-shadow:0 0 #1e7ca400,0 0 #57add600,0 0 #18547800,inset 0 0 #fff0}}@media (max-width: 720px){.page{min-width:0}.build-stamp{top:6px;left:6px;font-size:.64rem}.hero,.split{grid-template-columns:1fr}.preset-toolbar-row{flex-direction:column;align-items:stretch}.preset-name-field,.preset-select-field,.preset-class-field,.preset-class-field input,.name-list-upload-field{width:100%;max-width:100%;min-width:0}.name-list-upload-row{align-items:flex-start}.name-list-template-btn{width:auto}.setup-run-actions{justify-content:flex-start;flex-direction:column-reverse}.setup-run-actions button,.setup-score-total-input{width:100%}.workflow-tab-toolbar .workflow-arrow{width:18px;min-width:18px}.model-sticky-grid{grid-template-columns:1fr}.pdf-page-header{flex-direction:column;align-items:stretch}.pdf-top-controls{width:auto;align-items:flex-end}.pdf-rotation-grid,.pdf-rotation-grid.is-student-grid{grid-template-columns:minmax(0,1fr)}}
