:root{color-scheme:light;--ink:#183c36;--muted:#5e716c;--brand:#176b58;--paper:#f5f8f2;--line:#cbd9ce;--soft:#eaf2e9;font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}a{color:#125f63;text-underline-offset:3px}header,.site-footer,main{width:min(1120px,calc(100% - 36px));margin:auto}header,.site-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:22px 0;font-size:.82rem}header{border-bottom:1px solid var(--line)}.brand{color:var(--ink);font-weight:850;letter-spacing:.06em;text-decoration:none}header span,.site-footer{color:var(--muted)}.intro{padding:42px 0 30px;max-width:820px}.eyebrow{color:var(--brand);font-size:.86rem;font-weight:850;letter-spacing:.09em}h1{margin:8px 0 14px;font-size:clamp(2rem,5vw,3.45rem);line-height:1.15;letter-spacing:-.04em}.lead{max-width:720px;color:var(--muted);font-size:1.05rem}.facts{display:flex;flex-wrap:wrap;gap:8px}.facts span{padding:5px 11px;border:1px solid var(--line);border-radius:99px;background:#fff;font-size:.78rem}.workspace{display:grid;grid-template-columns:minmax(290px,.78fr) minmax(0,1.22fr);align-items:start;gap:24px}fieldset{margin:0;padding:0;border:0;min-width:0}.editor,.preview-pane{min-width:0;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff}.editor h2,.preview-controls h2{margin:0 0 18px;font-size:1.15rem}label{display:block;margin:16px 0 7px;font-weight:780}label span{color:var(--muted);font-size:.76rem;font-weight:500}input,select,button{max-width:100%;min-height:46px;border-radius:8px;font:inherit;font-size:16px}input,select{width:100%;padding:10px 12px;border:1px solid #91a8a0;background:#fff;color:var(--ink)}.options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.options>div:last-child{grid-column:1/-1}.hint,.privacy{color:var(--muted);font-size:.82rem}.buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}button{border:1px solid var(--brand);padding:10px 14px;background:var(--brand);color:#fff;font-weight:800;cursor:pointer}button.secondary{background:#fff;color:var(--brand)}button:disabled{opacity:.5;cursor:default}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #b54f22;outline-offset:3px}#error{min-height:1.5em;color:#9b271c;font-size:.88rem}#error:empty{display:none}.preview-pane{background:#e6eee8}.preview-controls button{width:auto}.preview-controls p{margin:8px 0}#preview{width:100%;overflow:hidden}#sheet{--accent:#22745f;--accent-soft:#e8f2ec;display:flex;flex-direction:column;width:210mm;min-height:297mm;padding:12mm 15mm;background:#fff;color:#172d29;transform-origin:top left;font-family:"UD Digi Kyokasho N-R","Yu Gothic","Noto Sans JP",sans-serif;line-height:1.35}#sheet[data-theme=blue]{--accent:#2d668e;--accent-soft:#eaf1f7}#sheet[data-theme=orange]{--accent:#9a5527;--accent-soft:#f7eee7}#sheet[data-theme=mono]{--accent:#333;--accent-soft:#f3f3f3}.sheet-heading{position:relative;border-bottom:1.2mm solid var(--accent);padding-bottom:4mm;margin-bottom:6mm}.sheet-heading p{margin:0}.sheet-heading #sheet-name{position:absolute;right:0;top:0;font-size:11pt}.sheet-kicker{color:var(--accent);font-size:10pt;font-weight:800;letter-spacing:.08em}.sheet-heading h2{margin:3mm 0 2mm;max-width:145mm;font-size:24pt;line-height:1.2;overflow-wrap:anywhere}.sheet-heading #sheet-instruction{font-size:11pt}.marks{list-style:none}.mark-cell{position:relative;display:grid;place-items:center;min-width:0;min-height:var(--cell-height);border:.7mm solid var(--accent);border-radius:4mm;background:#fff;break-inside:avoid}.mark-cell.halfway{background:var(--accent-soft)}.mark-cell.goal{border-width:1.2mm}.number{position:absolute;left:2mm;top:1.5mm;color:var(--accent);font-size:8pt;font-weight:800}.mark-space{width:min(17mm,62%);aspect-ratio:1;border:.55mm dashed var(--accent);border-radius:50%}.badge{position:absolute;left:50%;bottom:1.2mm;transform:translateX(-50%);max-width:95%;padding:0 1.5mm;background:#fff;color:var(--accent);font-size:6.5pt;font-weight:850;white-space:nowrap}.goal .badge{background:var(--accent);color:#fff}.sheet-goal{display:flex;align-items:center;gap:5mm;margin-top:auto;padding:5mm;border:.8mm solid var(--accent);border-radius:4mm;background:var(--accent-soft)}.sheet-goal strong{color:var(--accent);font-size:18pt;white-space:nowrap}.sheet-goal p{margin:0;font-size:11pt;overflow-wrap:anywhere}.sheet-footer{margin-top:4mm;color:#6a7773;font-size:7pt;letter-spacing:.08em}.notes{max-width:820px;margin:50px auto 60px;padding:28px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--muted)}.notes h2{color:var(--ink);font-size:1.2rem}.notes li{padding:4px 0}.ad-space{margin-top:28px;padding:15px;border:1px dashed var(--line);text-align:center;font-size:.8rem}.site-footer{border-top:1px solid var(--line)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}#mark-grid{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));grid-template-rows:repeat(var(--rows),var(--cell-height));gap:4mm;list-style:none;margin:0;padding:0}
@media(max-width:800px){.workspace{grid-template-columns:1fr}.preview-pane{width:100%;max-width:680px;margin:auto}.intro{padding-top:30px}}
@media(max-width:430px){header,.site-footer,main{width:calc(100% - 24px)}header span{max-width:110px;text-align:right}.editor,.preview-pane,.notes{padding:16px}.options,.buttons{grid-template-columns:1fr}.options>div:last-child{grid-column:auto}.facts span{font-size:.72rem}}
@page{size:A4 portrait;margin:0}
@media print{html,body{width:209mm!important;height:290mm!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#fff!important}.no-print,noscript,body>header,body>.site-footer,.intro,.notes,.editor{display:none!important}main,.workspace,.preview-pane,#preview{display:block!important;width:209mm!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;background:#fff!important;overflow:visible!important}#preview{height:auto!important}form,fieldset{margin:0!important;padding:0!important;border:0!important}#result{display:block!important}#sheet{width:209mm!important;height:290mm!important;min-height:290mm!important;overflow:hidden!important;transform:none!important;break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}}
