:root{--font-print: "UD Mincho", "BIZ UDPMincho", "Yu Mincho", "Hiragino Mincho ProN", "MS Mincho", serif;--font-ui: "Hiragino Sans", "Yu Gothic UI", Meiryo, sans-serif;--box-border: 1.5px solid #111;--ui-text: 1rem;--ui-text-sm: .875rem;--ui-label: .875rem;--ui-heading: 1.375rem;--ui-sidebar-width: 24rem;--ui-space-xs: .5rem;--ui-space-sm: .75rem;--ui-space-md: 1rem;--ui-space-lg: 1.25rem;--ui-input-pad-y: .625rem;--ui-input-pad-x: .75rem;--ui-radius: 6px;--ui-control-min-h: 2.75rem;interpolate-size:allow-keywords}*{box-sizing:border-box}body{margin:0;font-family:var(--font-ui);font-size:var(--ui-text);line-height:1.5;background:#f0f2f5;color:#222}.editor{display:grid;grid-template-columns:var(--ui-sidebar-width) 1fr;gap:0;height:100dvh;overflow:hidden}.sidebar{background:#fff;border-right:1px solid #ddd;padding:var(--ui-space-lg);overflow-y:auto;max-height:100vh;position:sticky;top:0}.sidebar h1{font-size:var(--ui-heading);line-height:1.3;margin:0 0 var(--ui-space-md);border-bottom:2px solid #333;padding-bottom:var(--ui-space-sm)}.sidebar label{display:block;font-size:var(--ui-label);color:#444;margin:var(--ui-space-md) 0 var(--ui-space-xs)}.field-label-row{display:flex;align-items:center;gap:var(--ui-space-xs);margin:var(--ui-space-md) 0 var(--ui-space-xs)}.field-label-row label{margin:0}.notation-help-trigger{anchor-name:--notation-help-trigger;width:1.375rem;height:1.375rem;padding:0;border-radius:50%;font-size:.8125rem;font-weight:700;line-height:1;border:1px solid #aaa;background:#f0f2f5;color:#555;cursor:help;flex-shrink:0;min-height:auto}.notation-help-trigger:hover,.notation-help-trigger:focus-visible{opacity:1;background:#e8ebef;outline:2px solid #2563eb;outline-offset:1px}.notation-help-popover{position:fixed;inset:unset;top:anchor(bottom);left:anchor(left);margin:var(--ui-space-xs) 0 0 0;padding:var(--ui-space-sm) var(--ui-space-md);width:min(20rem,calc(100vw - 24px));font-size:var(--ui-text-sm);line-height:1.6;color:#333;background:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 4px 12px #0000001f}.notation-help-popover code{background:#eee;padding:1px 4px;border-radius:2px}.sidebar input[type=text],.sidebar select,.sidebar textarea{width:100%;font-family:var(--font-ui);font-size:var(--ui-text);border:1px solid #ccc;border-radius:var(--ui-radius);padding:var(--ui-input-pad-y) var(--ui-input-pad-x)}.sidebar input[type=text],.sidebar select{min-height:var(--ui-control-min-h)}.sidebar textarea{height:18rem;min-height:12rem;resize:vertical;line-height:1.6}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--ui-space-sm)}.size-settings-accordion{margin:var(--ui-space-md) 0;border:1px solid #ddd;border-radius:var(--ui-radius);background:#fafbfc}.size-settings-accordion::details-content{block-size:0;overflow:hidden;transition:block-size .3s ease,content-visibility .3s allow-discrete}.size-settings-accordion[open]::details-content{block-size:auto}.size-settings-accordion summary{padding:var(--ui-space-sm) var(--ui-space-md);font-size:var(--ui-label);font-weight:600;color:#444;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:var(--ui-space-sm);min-height:var(--ui-control-min-h);-webkit-user-select:none;user-select:none}.size-settings-accordion summary::-webkit-details-marker{display:none}.size-settings-accordion summary:after{content:"";flex-shrink:0;width:.5rem;height:.5rem;border-right:2px solid #666;border-bottom:2px solid #666;transform:rotate(45deg);transition:transform .25s ease}.size-settings-accordion[open] summary:after{transform:rotate(-135deg)}.size-settings-accordion summary:hover{background:#f0f2f5}.size-settings-accordion summary:focus-visible{outline:2px solid #2563eb;outline-offset:-2px}.size-settings-accordion .accordion-body{padding:0 var(--ui-space-md) var(--ui-space-md)}.size-settings-accordion .accordion-body>.row-2:first-child label{margin-top:0}@media(prefers-reduced-motion:reduce){.size-settings-accordion::details-content{transition:none}.size-settings-accordion summary:after{transition:none}}.btn-row{display:flex;flex-wrap:wrap;gap:var(--ui-space-sm);margin-top:var(--ui-space-md)}button{font-family:var(--font-ui);font-size:var(--ui-text);line-height:1.25;padding:var(--ui-input-pad-y) var(--ui-space-md);min-height:var(--ui-control-min-h);border:1px solid #888;border-radius:var(--ui-radius);background:#fff;cursor:pointer}button.primary{background:#2563eb;color:#fff;border-color:#2563eb}button:hover{opacity:.88}.preview-wrap{display:flex;flex-direction:column;min-height:0;min-width:0;height:100%;padding:var(--ui-space-lg);overflow:hidden}.preview-toolbar{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--ui-space-sm) var(--ui-space-md);margin-bottom:var(--ui-space-sm)}.preview-label{margin:0;font-size:var(--ui-text-sm);color:#555}.preview-mode-label{font-size:var(--ui-label);color:#444}.preview-mode-select{font-family:var(--font-ui);font-size:var(--ui-text);border:1px solid #ccc;border-radius:var(--ui-radius);padding:var(--ui-input-pad-y) var(--ui-input-pad-x);min-height:var(--ui-control-min-h);background:#fff}.preview-scroll{flex:1 1 0;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.preview-scale-host{width:100%}#print-root{display:flex;flex-direction:column;align-items:center;gap:var(--gap-sheet, 16px);margin:0 auto;width:297mm}#print-root:has(.empty-msg){background:#fff;box-shadow:0 2px 12px #0000001f}#print-root[data-orientation=portrait]{width:210mm}@page landscape-page{size:A4 landscape;margin:5mm}@page portrait-page{size:A4 portrait;margin:5mm}.sheet{width:297mm;height:210mm;page:landscape-page;padding:var(--sheet-pad, 6mm) var(--sheet-pad-x, 8mm);page-break-after:always;font-family:var(--font-print);color:#111;background:#fff;box-shadow:0 2px 12px #0000001f;overflow:hidden;line-height:1;--sheet-pad: 6mm;--sheet-pad-x: 8mm;--gap-header-body: 8mm;--gap-header-col: 4mm;--gap-header-block: 6mm;--gap-tier: 10mm;--gap-col-alpha: 1mm;--gap-sheet: 16px;--tier-row-rule: 1px solid #111;--gap-num-text: 1mm;--gap-yomi: .9mm;--width-yomi-lane: 4mm;--height-q-head: 5mm}.sheet[data-orientation=portrait]{width:210mm;height:297mm;page:portrait-page}.sheet:last-child{page-break-after:auto}.sheet-layout{display:flex;flex-direction:row-reverse;align-items:stretch;gap:var(--gap-header-body);height:100%;width:100%}.sheet-header{flex-shrink:0;height:100%;display:flex;flex-direction:row-reverse;gap:var(--gap-header-col, 4mm);align-items:stretch}.header-col{height:100%;display:flex;flex-direction:column;align-items:center}.header-col-title{justify-content:space-between}.header-col-instruction{justify-content:flex-start}.header-vtext{writing-mode:vertical-rl;text-orientation:mixed;text-align:center}.sheet-title{font-size:var(--title-size, 14pt);font-weight:700;letter-spacing:.12em}.sheet-instruction{font-size:var(--subtitle-size, 9pt);letter-spacing:.06em}.name-line{font-size:var(--name-size, 9pt);letter-spacing:.18em}.questions-area{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);flex:1;min-width:0;height:100%}.questions-area:has(>.q-tier:nth-child(2)){grid-template-rows:repeat(2,minmax(0,1fr));row-gap:var(--gap-tier, 10mm)}.questions-area:has(>.q-tier:nth-child(2))>.q-tier+.q-tier{position:relative}.questions-area:has(>.q-tier:nth-child(2))>.q-tier+.q-tier:before{content:"";position:absolute;left:0;right:0;top:calc(-.5 * var(--gap-tier, 10mm));height:0;border-top:var(--tier-row-rule);pointer-events:none}.q-tier{display:flex;flex-direction:row-reverse;min-height:0;gap:var(--gap-col, var(--gap-col-alpha, 1mm));align-items:stretch}.sheet[data-preview-mode=write] .q-tier,.sheet[data-preview-mode=read] .q-tier{gap:var(--gap-col, calc(var(--yomi-size, 5pt) + var(--gap-col-alpha, 1mm)))}.q-col{display:flex;flex-direction:column;align-items:center;gap:var(--gap-num-text, 1mm);height:auto;flex-shrink:0;align-self:stretch}.q-num{--q-num-size: 1.8em;display:inline-flex;align-items:center;justify-content:center;min-width:var(--q-num-size);height:var(--q-num-size);border:1.5px solid currentColor;border-radius:9999px;box-sizing:border-box;font-size:calc(var(--body-size, 9pt) * .5);font-weight:700;font-family:Arial,sans-serif;font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1;letter-spacing:0;line-height:1}.q-num-inner{display:block}.q-text{flex:1 1 0;align-content:start;justify-items:center}.q-text-inner{display:flex;align-items:center;gap:var(--gap-num-text, 1mm);writing-mode:vertical-rl;text-orientation:mixed;font-size:var(--body-size, 9pt);letter-spacing:.06em}.blank-ruby{position:relative;display:inline-block}.blank-ruby .kanji-box{display:inline-block;width:1.6em;border:var(--box-border);background:#fff;box-sizing:border-box}.blank-ruby.w-1 .kanji-box{height:calc(var(--body-size, 9pt) * 2.2 * var(--box-scale, 1))}.blank-ruby.w-2 .kanji-box{height:calc(var(--body-size, 9pt) * 4.2 * var(--box-scale, 1))}.blank-ruby.w-3 .kanji-box{height:calc(var(--body-size, 9pt) * 6.2 * var(--box-scale, 1))}.blank-ruby.w-4 .kanji-box{height:calc(var(--body-size, 9pt) * 8.2 * var(--box-scale, 1))}.blank-ruby.w-5 .kanji-box{height:calc(var(--body-size, 9pt) * 10.2 * var(--box-scale, 1))}.blank-ruby.w-6 .kanji-box{height:calc(var(--body-size, 9pt) * 12.2 * var(--box-scale, 1))}.blank-ruby rt{position:absolute;display:flex;right:0;top:1em;margin-right:-1.3em;justify-content:center;color:#333;font-size:var(--yomi-size, 5pt);font-family:var(--font-print);letter-spacing:.3em}.blank-ruby rt.display-text{text-decoration:underline solid red}.blank-ruby.line-wavy rt.display-text{text-decoration-style:wavy}.blank-ruby-answer .kanji-box{border-color:transparent;background:transparent;display:inline-flex;align-items:center;justify-content:center;writing-mode:vertical-rl;text-orientation:mixed}.blank-ruby-answer .kanji-box .display-text{color:red}.blank-ruby rt.write-yomi-lane{width:1em;height:1em;visibility:hidden;pointer-events:none;text-decoration:none}.token-read{position:relative;display:inline-block}.token-read .surface.display-text{text-decoration:underline solid red}.token-read .okurigana.display-text{text-decoration:none}.read-yomi-lane{position:absolute;right:0;top:1em;margin-right:-1.3em;width:1em;height:1em;font-size:var(--yomi-size, 5pt);visibility:hidden;pointer-events:none}.token-answer{display:inline}.token-answer .display-text{color:red}.token-emphasis-bold .display-text{font-weight:700}.parse-errors{font-size:var(--ui-text-sm);line-height:1.5;color:#b45309;background:#fffbeb;border:1px solid #fcd34d;border-radius:var(--ui-radius);padding:var(--ui-space-sm);margin-top:var(--ui-space-sm)}.parse-errors p{margin:0 0 var(--ui-space-xs)}.parse-errors p:last-child{margin-bottom:0}.empty-msg{writing-mode:horizontal-tb;padding:var(--ui-space-lg);font-size:var(--ui-text);text-align:center;color:#999}.layout-measurer{position:fixed;left:-10000px;top:0;visibility:hidden;pointer-events:none}.measure-tier{flex:0 0 auto;height:auto}.measure-col-host .q-col{height:auto}@media print{html,body{height:auto;overflow:visible}body{background:#fff}.editor{display:block;height:auto;overflow:visible}.sidebar,.preview-toolbar,.layout-measurer{display:none!important}.preview-wrap{padding:0;height:auto;overflow:visible}.preview-scroll{overflow:visible;flex:none;height:auto}.preview-scale-host{height:auto!important}#print-root{transform:none!important}#print-root{width:auto;gap:0}#print-root:has(.empty-msg){box-shadow:none}.sheet{box-shadow:none}.sheet[data-orientation=landscape],.sheet:not([data-orientation]){width:297mm;height:210mm}.sheet[data-orientation=portrait]{width:210mm;height:297mm}}
