:root{color:#243c36;font-synthesis:none;--green:#174e47;--line:#dce3dd;--muted:#65766e;background:#f6f7f3;font-family:system-ui,-apple-system,Noto Sans JP,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:var(--green);background:#fff;border:1px solid #cbd6cf;border-radius:8px;min-height:44px;padding:11px 17px;font-weight:600}button:hover{background:#eaf1eb}button:disabled{cursor:not-allowed;color:#85928c;background:#eef0ec;border-color:#e3e7e0}button.primary{background:var(--green);color:#fff;border-color:var(--green)}button.primary:hover{background:#24685d}a{color:var(--green)}:focus-visible{outline-offset:3px;outline:3px solid #c5842e}header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:20px;min-height:76px;padding:14px 4vw;display:flex}#brand{white-space:nowrap;letter-spacing:.08em;font-size:21px;text-decoration:none}#brand strong{background:var(--green);color:#fff;border-radius:5px;padding:4px 7px}nav{flex-wrap:wrap;gap:6px;display:flex}nav button{background:0 0;border:0;font-size:13px}nav #auth{border:1px solid var(--line)}h1,h2,h3,p{margin-top:0}h1{letter-spacing:.025em;font-size:clamp(27px,3vw,40px)}h2{font-size:22px}h3{font-size:18px}p{line-height:1.8}small{color:var(--muted);font-size:12px;line-height:1.7}.container{max-width:1240px;margin:auto;padding:36px 32px 80px}.hero{justify-content:space-between;align-items:center;gap:30px;padding:30px 0 52px;display:flex}.hero h1{font-size:clamp(32px,4vw,52px);line-height:1.5}.hero h1 span{color:var(--green)}.hero p:not(.eyebrow){color:var(--muted)}.eyebrow{letter-spacing:.2em;color:var(--green);font-size:11px;font-weight:700}.hero-meta{text-align:center;background:#edf2e9;border:1px solid #d5e2d8;border-radius:16px;min-width:260px;padding:32px 40px}.hero-meta b{font-size:56px;font-weight:500;line-height:1.35;display:block}.hero-meta b span{margin-left:8px;font-size:15px}.hero-meta p{margin:20px 0 0;font-size:12px}.actions{flex-wrap:wrap;align-items:center;gap:10px;margin:20px 0;display:flex}.section-head{justify-content:space-between;align-items:center;gap:20px;margin:20px 0;display:flex}.section-head>span{color:var(--muted);font-size:13px}.exam-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.exam-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:25px}.card-top{color:var(--muted);letter-spacing:.08em;justify-content:space-between;align-items:center;margin-bottom:24px;font-size:11px;display:flex}.badge{color:#65766e;white-space:nowrap;background:#eef0ec;border-radius:4px;padding:4px 9px;font-size:11px;display:inline-block}.badge.available{color:#315938;background:#e7f0df}.exam-card h3{margin-bottom:10px;font-size:17px}.exam-card p{color:var(--muted);font-size:12px}.exam-card button{font-size:13px}.availability{margin-bottom:0;font-size:11px!important}#notice:empty{display:none}#notice{color:#654c23;background:#fff1d5;padding:10px 4vw;font-size:13px;line-height:1.7}.skip{position:absolute;left:-9999px}.skip:focus{z-index:999;background:#fff;padding:10px;top:10px;left:10px}.exam{flex-direction:column;height:calc(100dvh - 77px);display:flex}.exam-top{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:14px;padding:12px 24px;display:flex}.exam-top>div:first-child{flex:1}.exam-top small{display:block}.timer-block{align-items:center;gap:10px;font-size:11px;display:flex}.timer-block strong{font-variant-numeric:tabular-nums;letter-spacing:.04em;font-size:28px}.urgent{color:#ac492b}.panes{grid-template-columns:minmax(0, var(--split,60%)) 10px minmax(0, 1fr);flex:1;min-height:0;display:grid;overflow:hidden}#pdfPane{background:#dfe4df;flex-direction:column;grid-area:1/1;min-width:0;min-height:0;display:flex}#markPane{background:#fff;grid-area:1/3;min-width:0;overflow:auto}.divider{cursor:col-resize;touch-action:none;background:#e8ede7;border-left:1px solid #cfd8d0;border-right:1px solid #cfd8d0;grid-area:1/2}.divider:after{content:"⋮";color:#87988d;justify-content:center;align-items:center;height:100%;display:flex}.exam[data-side=left] #markPane{grid-column:1}.exam[data-side=left] #pdfPane{grid-column:3}.mobile-tabs{display:none}.pdf-tools{background:#f4f6f2;border-bottom:1px solid #cbd4cc;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:5px;padding:8px;font-size:12px;display:flex}.pdf-tools button{min-height:36px;padding:6px 10px}.pdf-tools input{border:1px solid #ccd5ce;border-radius:4px;width:48px;padding:5px}.pdf-link{margin-left:auto;padding:8px}.pdf-scroll{overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;flex:1;min-height:0;position:relative;overflow:auto}.pdf-page{background:#fff;flex-shrink:0;max-width:none;margin:16px auto;position:relative;box-shadow:0 2px 7px #0002}.pdf-page canvas{display:block}.loading,.pdf-error{padding:32px;line-height:1.8}.sheet-top{border-bottom:1px solid var(--line);background:#f9faf6;padding:22px 24px 16px}.sheet-top>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.sheet-top h2{margin-bottom:10px;font-size:19px}.sheet-top b{font-size:12px}.sheet-top p{color:var(--muted);margin:6px 0;font-size:11px}progress{width:100%;height:6px;accent-color:var(--green);border:0;border-radius:6px;display:block}progress::-webkit-progress-bar{background:#e4eae2;border-radius:5px}progress::-webkit-progress-value{background:var(--green);border-radius:5px}.mark-section h3{z-index:1;background:#edf2e9;border-bottom:1px solid #d7e0d5;margin:0;padding:12px 20px;font-size:16px;position:sticky;top:0}.mark-section h3 small{margin-left:6px}.mark-row{border:0;border-bottom:1px solid #e5e9e3;min-width:0;margin:0;padding:10px 14px 12px}.mark-row legend{float:left;color:#62756b;width:100%;padding:4px 6px 8px;font-size:11px}.mark-row legend b{color:#2c473b;margin-left:10px;font-size:17px}.answered{float:right;margin-top:5px;font-size:10px}.done{background:#f3f8ef}.done .answered{color:#38743e}.bubbles{clear:both;flex-wrap:wrap;gap:0;display:flex}.bubble{border:0;border-radius:0;justify-content:center;align-items:center;width:44px;min-width:44px;height:46px;min-height:44px;padding:6px 10px;display:flex;background:0 0!important}.bubble span{color:#3b5947;border:1.5px solid #809083;border-radius:50%;justify-content:center;align-items:center;width:23px;height:33px;font-size:15px;font-weight:500;display:flex}.bubble[aria-pressed=true] span{color:#fff;background:#293e32;border-color:#293e32;box-shadow:0 0 0 2px #d3e0ce}.bubble:hover span{border-width:2px;border-color:#174e47}.stats{grid-template-columns:repeat(3,1fr);gap:20px;margin:28px 0;display:grid}.stats article{border:1px solid var(--line);background:#fff;border-radius:12px;padding:24px}.stats small{display:block}.stats b{margin-top:10px;font-size:36px;display:block}.stats b span{margin-left:8px;font-size:13px;font-weight:400}.chart-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:24px}.chart-card h2{font-size:18px}.chart-card label{font-size:13px}.chart{width:100%;max-height:260px;margin-top:20px}.chart text{fill:#65766e;font-size:12px}.records{margin-top:28px}.record{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px;padding:24px;display:flex}.record h3{margin:12px 0 5px}.record p{color:var(--muted);margin-bottom:7px;font-size:12px}.record-end{text-align:right;gap:15px;display:grid}.record-end strong{font-size:24px}.result-summary{background:#edf2e9;border-radius:14px;align-items:center;gap:50px;padding:32px;display:flex}.score{white-space:nowrap}.score b{font-size:80px;font-weight:500;line-height:1.4}.score span{margin-left:10px}.section-scores{flex:1;gap:15px;display:grid}.section-scores>div{flex-wrap:wrap;justify-content:space-between;gap:7px;font-size:13px;display:flex}.table-wrap{overflow:auto}table{border-collapse:collapse;background:#fff;width:100%;font-size:14px}td,th{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:16px}th{font-weight:600}th small{display:block}thead{background:#eaf0e6}.answer-chip{border-radius:4px;padding:3px 7px;display:inline-block}.correct{color:#25643c;background:#eef6e8}.incorrect{color:#a0442f;background:#fff0e7}.check{align-items:center;gap:6px;min-height:44px;font-size:13px;display:flex}input[type=checkbox]{width:20px;height:20px;accent-color:var(--green)}.preview{flex-direction:column;height:calc(100dvh - 77px);display:flex}.preview-head{background:#fff;justify-content:space-between;padding:14px 24px;display:flex}.preview-head h1{margin:8px 0;font-size:18px}#previewPdf{background:#dfe4df;flex-direction:column;flex:1;min-height:0;display:flex}dialog{color:#243c36;border:1px solid #d4ddd3;border-radius:16px;max-width:min(620px,95vw);padding:30px;box-shadow:0 20px 80px #0003}dialog::backdrop{background:#122b2280}dialog p{font-size:14px}dialog h2{font-size:23px}dialog input:not([type=checkbox]){border:1px solid #b5c4b8;border-radius:6px;width:100%;margin-top:10px;padding:12px;display:block}.layout-options{grid-template-columns:1fr 1fr;gap:15px;margin:25px 0;display:grid}.layout-card{text-align:center;padding:12px}.layout-card svg{width:100%;margin-bottom:10px;display:block}.layout-card b,.layout-card small{display:block}.layout-card.selected{border:2px solid var(--green);background:#eff5eb}.expanded{z-index:20;background:#dfe4df;inset:0;position:fixed!important}:is(#pdfPane:fullscreen,#previewPdf:fullscreen){background:#dfe4df;flex-direction:column;height:100dvh;display:flex}@media (max-width:1000px){.exam-grid{grid-template-columns:repeat(2,1fr)}header{padding:12px 20px}.hero-meta{min-width:220px;padding:24px}.exam-top{padding:10px 16px}.exam-top b{font-size:13px}.exam-top button{padding:9px;font-size:12px}.timer-block{text-align:center;display:block}.timer-block span{display:block}.timer-block strong{font-size:24px}}@media (max-width:760px),(orientation:portrait) and (max-width:1100px){.panes{display:block;position:relative}.divider{display:none}#pdfPane,#markPane{width:100%;height:100%;position:absolute;inset:0}.panes[data-tab=pdf] #markPane,.panes[data-tab=mark] #pdfPane{visibility:hidden;pointer-events:none}.mobile-tabs{border-bottom:1px solid var(--line);background:#fff;gap:8px;padding:5px 12px;display:flex}.mobile-tabs button{background:0 0;border:0;border-radius:0;flex:1;font-size:13px}.mobile-tabs button[aria-selected=true]{color:var(--green);border-bottom:3px solid var(--green);background:#edf3e8}.hero-meta{display:none}.hero{padding:16px 0 30px}.container{padding:24px 18px 50px}.hero h1{font-size:32px}.exam-top{gap:8px}.exam-top small{font-size:10px}.exam-top>div:first-child{max-width:40%}.exam-top button{padding:7px}.exam-top strong{font-size:22px}.exam{height:calc(100dvh - 110px)}header{flex-wrap:wrap;gap:8px;padding:10px 16px}#brand{font-size:18px}nav{margin-left:auto}nav button{min-height:40px;padding:8px;font-size:11px}.preview{height:calc(100dvh - 110px)}.result-summary{flex-direction:column;align-items:stretch;gap:20px;padding:24px}.score b{font-size:65px}.stats{gap:8px}.stats article{padding:15px}.stats b{font-size:28px}.record{padding:18px}.record-end strong{font-size:20px}.section-head h1{font-size:25px}.section-head>span{display:none}}@media (max-width:500px){.exam-grid{grid-template-columns:1fr}.exam-card{padding:22px}.hero h1{font-size:30px}.hero p{font-size:13px}.section-head{align-items:flex-start}.record{flex-direction:column;align-items:flex-start}.record-end{justify-content:space-between;align-items:center;width:100%;display:flex}.stats b span,.stats small{font-size:11px}.layout-card b{font-size:12px}header nav{justify-content:space-between;width:100%}header{min-height:110px}.exam-top b{font-size:11px}.exam-top{padding:8px}.timer-block strong{font-size:20px}.sheet-top{padding:18px}.pdf-tools{gap:3px}.pdf-tools button{padding:5px 8px}.pdf-link{margin-left:0}.actions button{font-size:13px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}body.workspace-mode{flex-direction:column;height:100dvh;display:flex;overflow:hidden}body.workspace-mode header,body.workspace-mode #notice{flex:none}body.workspace-mode .exam,body.workspace-mode .preview{flex:1;height:auto;min-height:0}.exam-card .preview-button{flex:none;height:auto}.login-banner{background:#eaf2e5;border:1px solid #c9dccc;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex}.login-banner p{color:var(--muted);margin:6px 0 0;font-size:13px}.login-banner button{flex-shrink:0}.exam-card .login-hint{color:#31583f;margin-bottom:10px;font-size:12px;line-height:1.8}body.workspace-mode>header{display:none}body.workspace-mode #notice{z-index:15;border-radius:8px;position:fixed;bottom:12px;left:12px;right:12px;box-shadow:0 2px 12px #0002}#markPane>.exam-top{z-index:3;flex-wrap:wrap;gap:8px;padding:12px 16px;position:sticky;top:0}#markPane>.exam-top>div:first-child{flex-basis:100%;max-width:none}#markPane>.exam-top .timer-block{text-align:left;flex:1}#markPane>.exam-top button{padding:9px 12px}#markPane .mark-section h3{position:static}.workspace-mode .preview-head{align-items:center;gap:10px;padding:6px 14px}.preview-head h1{flex:1}.workspace-mode .pdf-page{margin:8px auto}@media (max-width:760px),(orientation:portrait) and (max-width:1100px){.login-banner{flex-direction:column;align-items:stretch;padding:18px}.exam>.exam-top{flex-wrap:wrap;gap:6px;padding:8px 10px}.exam>.exam-top>div:first-child{flex-basis:100%;align-items:center;gap:8px;max-width:none;display:flex}.exam>.exam-top .timer-block{text-align:left;flex:1;align-items:center;gap:6px;display:flex}.exam-top button{min-height:40px}.preview-head h1{font-size:13px}#previewLogin{padding:6px;font-size:11px}}#notice{z-index:15;border-radius:8px;position:fixed;bottom:12px;left:12px;right:12px;box-shadow:0 2px 12px #0002}[hidden]{display:none!important}.sign-in{text-align:center;max-width:540px;margin:12vh auto}.sign-in h1{font-size:32px}.sign-in p{color:var(--muted)}.sign-in small{margin-top:16px;display:block}.exam-card{padding:20px}.exam-card h2{margin:0;font-size:18px}.exam-card .actions{margin:18px 0 0}.availability:empty{display:none}.pending-label{margin:14px 0 0}.mark-row{grid-template-columns:52px minmax(0,1fr);align-items:center;gap:4px;padding:3px 8px;display:grid}.mark-label{flex-direction:column;align-items:center;gap:0;line-height:1.2;display:flex}.mark-label small{font-size:10px;line-height:1.25}.mark-label b{font-size:15px}.mark-row .bubbles{gap:0}.mark-row .bubble{height:44px;min-height:44px;padding:4px 10px}.sheet-top{padding:8px 16px}.sheet-top>div{justify-content:flex-end}.sheet-top p{margin:4px 0 0;font-size:10px}.mark-section h3{padding:8px 14px}body.workspace-mode .review{flex:1;min-height:0}.review{flex-direction:column;display:flex;overflow:hidden}.review-header{border-bottom:1px solid var(--line);background:#fff;flex-shrink:0;align-items:center;gap:8px;padding:7px 12px;display:flex}.review-header>div{flex:1;min-width:0}.review-header b{font-size:14px}.review-header small{margin-left:12px}.review-header button{padding:7px 12px}.review-grid{background:var(--line);flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr) clamp(210px,22vw,300px);gap:1px;min-height:0;display:grid;overflow:hidden}.review-pdf{background:#dfe4df;flex-direction:column;min-width:0;min-height:0;display:flex}.review-pdf>h2,.review-marks-header h2{margin:0;padding:8px 12px;font-size:13px}.review-pdf>h2{background:#edf2e9}.review-viewer{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.review-viewer .pdf-tools{gap:3px;padding:4px}.review-viewer .pdf-tools button{min-height:32px;padding:4px 7px}.review-viewer .pdf-link{padding:4px;font-size:11px}.review-viewer .pdf-tools label{font-size:11px}.review-viewer .pdf-tools input{width:40px}.review-tabs{display:none}#reviewMarks{background:#fff;min-width:0;min-height:0;overflow:auto}.review-marks-header{z-index:2;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;padding-right:10px;display:flex;position:sticky;top:0}.review-marks-header .check{font-size:11px}.review-mark-section h3{background:#edf2e9;margin:0;padding:8px 10px;font-size:13px}.review-mark-row{border-bottom:1px solid var(--line);grid-template-columns:28px minmax(0,1fr);gap:5px;padding:6px 7px;display:grid}.review-mark-label{flex-direction:column;align-items:center;gap:2px;display:flex}.review-mark-label small{font-size:9px}.review-bubbles{flex-wrap:wrap;gap:3px;display:flex}.review-bubble{color:#435b49;border:1px solid #93a095;border-radius:50%;justify-content:center;align-items:center;width:19px;height:27px;font-size:12px;display:flex}.review-bubble.selected{color:#fff;background:#293e32;border-color:#293e32}.review-bubble.selected.incorrect{background:#a0442f;border-color:#a0442f}.review-mark-key{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:4px;margin-top:4px;font-size:10px;display:flex}@media (max-width:899px),(orientation:portrait) and (max-width:1100px){.review-tabs{border-bottom:1px solid var(--line);background:#fff;gap:4px;padding:4px 8px;display:flex}.review-tabs button{border:0;border-radius:0;flex:1;padding:7px 4px;font-size:12px}.review-tabs button[aria-selected=true]{border-bottom:3px solid var(--green);background:#edf2e9}.review-grid{display:block;position:relative}.review-grid>section{position:absolute;inset:0}.review-grid[data-tab=question] #reviewAnswer,.review-grid[data-tab=question] #reviewMarks,.review-grid[data-tab=answer] #reviewQuestion,.review-grid[data-tab=answer] #reviewMarks,.review-grid[data-tab=marks] #reviewQuestion,.review-grid[data-tab=marks] #reviewAnswer{visibility:hidden;pointer-events:none}.review-header small{margin:0;display:block}.review-header button{padding:6px 8px;font-size:11px}.review-mark-row{grid-template-columns:40px minmax(0,1fr);padding:6px 12px}.review-bubble{width:23px;height:31px;font-size:14px}.review-bubbles{gap:5px}}#countdown{color:var(--green);white-space:nowrap;background:#edf2e9;border-radius:6px;margin-left:auto;padding:7px 10px;font-size:12px;text-decoration:none}.print-link{background:#fff;border:1px solid #cbd6cf;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:10px 13px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.print-link:hover{background:#eaf1eb}.print-link[aria-disabled=true]{opacity:.5;pointer-events:none}#installApp{font-size:12px}@media (max-width:760px){#countdown{order:2;margin-left:0}header nav{order:3}#brand{font-size:17px}#countdown{padding:5px 8px;font-size:11px}#installApp{font-size:11px}}
