:root{--bg:#f4f5f8;--card:#fff;--ink:#1f2430;--sub:#5d6676;--line:#d9dde5;--primary:#3b5bdb;--primary-dark:#2f49b0;--primary-soft:#e7ecff;--ok:#1f8a4c;--ok-soft:#e3f5ea;--ng:#c0392b;--ng-soft:#fbe9e7;--warn:#b7791f}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Yu Gothic UI,Meiryo,Hiragino Sans,sans-serif;font-size:16px;line-height:1.7}h1,h2,h3{margin:0 0 12px;line-height:1.3}h2{font-size:24px}h3{margin-top:28px;font-size:18px}p{margin:0 0 12px}kbd{border:1px solid var(--line);min-width:24px;color:var(--sub);text-align:center;background:#fff;border-bottom-width:2px;border-radius:5px;padding:0 6px;font:600 12px/20px Consolas,monospace;display:inline-block}.top{background:var(--card);border-bottom:1px solid var(--line);align-items:center;gap:16px;height:56px;padding:0 24px;display:flex}.brand{white-space:nowrap;font-size:18px;font-weight:700}.brandsub{background:var(--primary-soft);color:var(--primary);border-radius:10px;margin-left:8px;padding:1px 8px;font-size:12px}.hdrset{border:1px solid var(--primary);color:var(--primary);border-radius:10px;margin-left:8px;padding:1px 10px;font-size:12px;font-weight:700}.steps{flex:1;justify-content:center;gap:6px;display:flex}.step{white-space:nowrap;color:var(--sub);background:var(--bg);border-radius:14px;padding:2px 10px;font-size:13px}button.step{font:inherit;cursor:pointer;border:0;font-size:13px}button.step:hover{outline:2px solid var(--primary)}.step.done{color:var(--ok);background:var(--ok-soft)}.step.cur{color:#fff;background:var(--primary);font-weight:700}.topright{white-space:nowrap;justify-content:flex-end;align-items:center;gap:10px;min-width:150px;display:flex}.rest{color:var(--sub);font-size:13px}.step small{opacity:.8;font-size:11px}.keyhint{text-align:center;color:var(--sub);margin-top:12px;font-size:13px}.modeopt{border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;margin-top:6px;padding:10px 12px;font-size:14px;display:flex}.field .modeopt input{flex:none;width:auto;margin:6px 0 0}.modeopt:has(input:checked){border-color:var(--primary);background:var(--primary-soft)}.narrow-warn{color:#7a5200;text-align:center;background:#fff4d6;padding:10px 16px;display:none}@media (width<=899px){.narrow-warn{display:block}}.main{max-width:1120px;margin:0 auto;padding:32px 24px 64px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;max-width:760px;margin:0 auto;padding:28px 32px}.card.narrow{max-width:520px}.card.wide{max-width:none}.lead{font-size:17px}.card p,.card li,.stagebox p,.feedback,.caution li,.typebox p{word-break:auto-phrase;text-wrap:pretty}.sent{display:inline-block}.note{color:var(--sub);font-size:14px}.timefree{color:var(--primary);font-weight:600}.note.center{text-align:center}.warn{color:var(--ng);font-weight:600}.empty{text-align:center;color:var(--sub);padding:32px 0}.rules{margin:0 0 16px;padding-left:22px}.rules li{margin-bottom:8px}.actions{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}.btn{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:8px;padding:9px 18px}.btn:hover:not(:disabled){border-color:var(--primary)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.btn.primary:hover:not(:disabled){background:var(--primary-dark)}.btn.primary kbd{color:#fff;background:0 0;border-color:#ffffff80}.btn.small{padding:4px 10px;font-size:13px}.btn.big{width:100%;padding:12px;font-size:17px}.btn.danger{background:var(--ng);border-color:var(--ng);color:#fff}.hero{text-align:center;margin-bottom:28px}.hero h1{font-size:36px}.herosub{color:var(--sub);font-size:18px;font-weight:400}.hero,.modes,.homefoot{max-width:912px;margin-left:auto;margin-right:auto}.modes{grid-template-columns:1fr 1fr;gap:20px;display:grid}.mode{flex-direction:column;max-width:none;margin:0;display:flex}.mode p{flex:1}.modetime{color:var(--primary);margin-bottom:8px;font-weight:700}.homefoot{align-items:center;gap:16px;margin-top:24px;display:flex}.field{margin:16px 0;display:block}.field span{margin-bottom:4px;font-weight:600;display:block}.field input{border:1px solid var(--line);font:inherit;border-radius:8px;width:100%;padding:9px 12px}.field input.short{width:90px}.field input:focus{outline:2px solid var(--primary);outline-offset:1px}.sectionwrap{max-width:860px;margin:0 auto}.runbar{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.qcount{font-size:18px;font-weight:700}.tag{color:#7a5200;background:#fff4d6;border-radius:12px;padding:2px 12px;font-size:13px;font-weight:600}.timer{font:700 24px/1 Consolas,monospace}.timer.low{color:var(--ng)}.timebar{background:var(--line);border-radius:3px;height:6px;margin-bottom:16px;overflow:hidden}#timefill{background:var(--primary);width:100%;height:100%;transition:width .2s linear}.q{background:var(--card);border:1px solid var(--line);border-radius:12px;min-height:380px;padding:28px 32px}.prompt{margin-bottom:20px;font-size:20px}.series{letter-spacing:2px;margin-top:14px;font:700 30px/1.4 Consolas,monospace}.choices{gap:10px;display:grid}.choice{border:2px solid var(--line);color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:14px;padding:10px 16px;font-size:18px;display:flex}.choice:hover{border-color:#9fb0f0}.choice.sel{border-color:var(--primary);background:var(--primary-soft)}.choice.right{border-color:var(--ok);background:var(--ok-soft)}.choice.wrong{border-color:var(--ng);background:var(--ng-soft)}.q.figure{grid-template-columns:auto 1fr;align-items:center;gap:40px;display:grid}.q.figure .prompt{margin:0}.mgrid{grid-template-columns:repeat(3,108px);gap:6px;display:grid}.mcell{border:2px solid var(--ink);background:#fff;border-radius:6px;width:108px;height:108px;padding:6px}.mcell svg{width:100%;height:100%;display:block}.mcell.mq{border-style:dashed;border-color:var(--primary);color:var(--primary);justify-content:center;align-items:center;font-size:44px;font-weight:700;display:flex}.q.figure .choices{grid-template-columns:repeat(3,1fr);gap:12px}.q.figure .choice{flex-direction:column;gap:4px;padding:8px}.q.figure .ctext{width:92px;height:92px}.q.figure .ctext svg{width:100%;height:100%;display:block}.qnav{justify-content:space-between;align-items:center;gap:16px;margin-top:16px;display:flex}.dots{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.qnav .btn{white-space:nowrap;flex:none}.dot{border:1px solid var(--line);width:30px;height:30px;color:var(--sub);font:inherit;cursor:pointer;background:#fff;border-radius:50%;font-size:13px}.dot.done{background:var(--primary-soft);color:var(--primary);border-color:#9fb0f0}.dot.cur{border:2px solid var(--primary);color:var(--ink);font-weight:700}.feedback{border-radius:10px;margin-top:16px;padding:12px 16px}.feedback.ok{background:var(--ok-soft);color:#14532d}.feedback.ng{background:var(--ng-soft);color:#7f1d1d}.modal{z-index:10;background:#14182473;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal .card{width:480px}.modal h3{margin-top:0}.pausecard{text-align:center;margin-top:60px}.pausecard .actions{justify-content:center}.stagebox{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:340px;padding:36px 32px;display:flex}.stagebox .actions{justify-content:center}.digit{height:130px;font:700 120px/1 Consolas,monospace}.slots{gap:8px;margin:8px 0 12px;display:flex}.slot{border-bottom:3px solid var(--line);text-align:center;width:44px;height:58px;font:700 40px/54px Consolas,monospace}.slot.cur{border-bottom-color:var(--primary)}.pair{align-items:center;gap:72px;margin-bottom:28px;display:flex}.glyphs{border:2px solid var(--line);border-radius:10px;gap:6px;padding:12px 16px;display:flex}.glyph{fill:none;width:46px;height:46px;stroke:var(--ink);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.keys{gap:24px;display:flex}.keybtn{border:2px solid var(--line);min-width:170px;font:inherit;cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:18px;display:inline-flex}kbd.bigkey{min-width:34px;color:var(--ink);font:700 20px/30px Verdana,Segoe UI,Arial,sans-serif}.keycap{vertical-align:middle;flex-direction:column;align-items:center;margin:0 2px;display:inline-flex}.yomi{color:var(--sub);white-space:nowrap;font-size:11px;font-weight:400;line-height:1.3}.minifb{margin-top:18px;font-weight:600}.minifb.ok{color:var(--ok)}.minifb.ng{color:var(--ng)}.reshead{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.reslabel{color:var(--sub)}.iq{color:var(--primary);font-size:72px;font-weight:800;line-height:1.1}.iqword{color:var(--ink);font-size:28px}.iqrange{font-size:18px}.resmeta{text-align:right;color:var(--sub);font-size:14px}.resmeta b{color:var(--ink);font-size:16px}.bell{width:100%;max-width:640px;margin:20px auto 4px;display:block}.bellline{fill:none;stroke:var(--sub);stroke-width:2px}.bellrange{fill:var(--primary-soft)}.bellmark{stroke:var(--primary);stroke-width:3px}.belldot{fill:var(--primary)}.axis{stroke:var(--line);stroke-width:1.5px}.ticklabel{fill:var(--sub);text-anchor:middle;font-size:12px}.domains{border-collapse:collapse;width:100%}.domains th,.domains td{border-bottom:1px solid var(--line);text-align:left;padding:10px 8px}.domains th{white-space:nowrap;width:170px}.barcell{width:40%}.track{background:var(--bg);border-radius:6px;height:12px;position:relative}.track .mid{background:var(--sub);width:2px;position:absolute;top:-4px;bottom:-4px;left:50%}.track .blob{background:var(--primary);opacity:.75;border-radius:9px;width:64px;height:18px;margin-left:-32px;position:absolute;top:-3px}.band{white-space:nowrap;font-weight:700}.rawtext{color:var(--sub);white-space:nowrap;font-size:14px}.chip{border-radius:10px;margin-left:6px;padding:1px 8px;font-size:12px;font-weight:600}.chip.good{background:var(--ok-soft);color:var(--ok)}.chip.weak{color:#7a5200;background:#fff4d6}.caution{background:var(--bg);border-radius:10px;margin-top:24px;padding:14px 18px;font-size:14px}.caution ul{margin:6px 0 0;padding-left:20px}.tablewrap{overflow-x:auto}.list{border-collapse:collapse;width:100%;font-size:14px}.list th,.list td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:8px 10px}.list th{color:var(--sub);font-weight:600}.list .num{text-align:right}.list .sub{color:var(--sub);font-weight:400}.rowacts{text-align:right}.card.entry{max-width:880px;padding-top:20px;padding-bottom:18px}.card.entry .actions{margin-top:12px}.entrygrid{grid-template-columns:1.5fr .6fr 1fr;align-items:start;gap:0 28px;display:grid}.card.entry .field{margin:8px 0}.prefhint{color:var(--sub);margin-left:12px;font-size:13px;font-style:normal;font-weight:400}.modegrid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.modegrid .modeopt{margin-top:0}.field span em{background:var(--ng-soft);color:var(--ng);border-radius:4px;margin-left:8px;padding:0 6px;font-size:11px;font-style:normal;font-weight:600}.field small{color:var(--sub);margin-top:4px;font-size:13px;display:block}.field select{border:1px solid var(--line);font:inherit;background:#fff;border-radius:8px;min-width:200px;padding:9px 12px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chipopt{border:1px solid var(--line);cursor:pointer;border-radius:18px;align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.field .chipopt input{width:auto;margin:0}.chipopt:has(input:checked){border-color:var(--primary);background:var(--primary-soft)}.svq{margin:18px 0}.svactions{align-items:center}.svlabel{margin-bottom:6px;font-weight:600}.chipbtn{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:18px;padding:6px 14px;font-size:15px}.chipbtn:hover{border-color:#9fb0f0}.chipbtn.sel{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);font-weight:600}.code{letter-spacing:1px;font-family:Consolas,monospace}.glyphbox{flex-direction:column;align-items:center;gap:4px;display:flex}.glyphcap{color:var(--sub);font-size:13px}.glyphs.target{border-color:var(--primary);background:var(--primary-soft)}.verlabel{background:var(--primary-soft);color:var(--primary);vertical-align:middle;border-radius:12px;margin-left:10px;padding:2px 10px;font-size:13px;font-weight:600}.iqsub{color:var(--sub);margin-top:2px;font-size:14px}.iqsub b{color:var(--ink);font-size:16px}.report .iqsub{font-size:12px}.report .iqsub b{font-size:13px}.analogy{flex-direction:column;align-items:center;gap:8px;display:flex}.apair{align-items:center;gap:12px;display:flex}.aarrow{color:var(--sub);font-size:30px}.aword{color:var(--sub);font-size:14px}.rotword{text-align:center;max-width:240px;color:var(--ink);font-size:16px}.scales{flex-wrap:wrap;gap:8px 24px;margin:8px 0 14px;display:flex}.scale{width:270px;height:86px;color:var(--ink)}.scaleq{fill:var(--primary);text-anchor:middle;font-size:34px;font-weight:700}.bchoice{width:150px;height:30px;display:block}.q:has(.scales) .choices{grid-template-columns:repeat(3,1fr)}.q:has(.scales){min-height:0}.typebox{border:1px solid var(--line);border-left:5px solid var(--primary);border-radius:8px;padding:14px 18px}.typebox p{margin:6px 0 0}.typetitle{color:var(--primary);font-size:20px;font-weight:800}.typetasks{margin-top:10px}.typetasks ul{margin:4px 0 0;padding-left:22px}.report .reasonrow th,.report .reasonrow td{border-top:2px solid var(--line)}.report .typebox{padding:2.5mm 4mm;font-size:11.5px;line-height:1.5}.report .typebox p{margin:1mm 0 0}.report .typetitle{font-size:15px}.memwarn{min-height:1.5em;color:var(--ng);margin:0;font-size:14px;font-weight:600}.memwarn.flash{animation:.6s memflash}@keyframes memflash{0%,50%{background:var(--ng-soft)}to{background:0 0}}.pgrid{grid-template-columns:repeat(3,84px);gap:10px;margin:12px 0;display:grid}.pcell{border:2px solid var(--line);color:#fff;background:#fff;border-radius:10px;justify-content:center;align-items:center;width:84px;height:84px;padding:0;font:700 30px/1 Consolas,monospace;display:flex}button.pcell{cursor:pointer}button.pcell:hover:not(:disabled){border-color:var(--primary)}.pcell.lit{background:var(--primary);border-color:var(--primary)}button.pcell{position:relative}.pkey{color:var(--sub);font:600 12px/1 Verdana,Arial,sans-serif;position:absolute;top:4px;left:7px}.pcell.picked{background:var(--primary-soft);border-color:#9fb0f0}.codetable{background:var(--bg);border-radius:12px;gap:14px;margin-bottom:22px;padding:12px 18px;display:flex}.codecol{flex-direction:column;align-items:center;gap:2px;display:flex}.codearrow{color:var(--sub);font-size:14px;line-height:1}.codekey{cursor:pointer;background:0 0;border:0;padding:0}.codelabel{color:var(--sub);margin-bottom:6px;font-size:14px}.glyphs.big{border-color:var(--primary);padding:16px 22px}.glyphs.big .glyph{width:72px;height:72px}.agerow{grid-template-columns:1fr auto;align-items:start;gap:0 24px;display:grid}.agerow .chips{flex-wrap:nowrap;gap:6px}.agerow .chipopt{padding:4px 10px}.agebody{align-items:flex-start;gap:14px;display:flex}.agetop{flex:none;align-items:center;gap:6px;display:flex}.agepick{flex-direction:column;gap:6px;padding-top:4px;display:flex}.agedecades{flex-wrap:nowrap!important;gap:4px!important}.agedecades .agechip{font-size:12.5px}.patternfield{flex-wrap:wrap;align-items:center;gap:4px 14px;display:flex}.field.patternfield>span{margin:0}.patternfield small{flex-basis:100%;margin-top:0}.agedecades,.ageages{flex-wrap:wrap;align-items:center;gap:5px;min-height:26px;display:flex}.agechip{white-space:nowrap;border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:14px;padding:2px 6px;font-size:13px}.agechip:hover{border-color:#9fb0f0}.agechip.sel{border-color:var(--primary);background:var(--primary);color:#fff;font-weight:600}.ageages .agechip{min-width:38px}.prefhead{justify-content:space-between;align-items:center;gap:12px;display:flex}.field .prefhead span{margin-bottom:0}.preffilter{color:var(--sub);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.field .preffilter input{border-radius:6px;width:120px;padding:3px 8px;font-size:13px}.prefrow{align-items:flex-start;gap:8px;margin-top:4px;display:flex}.prefrow[hidden]{display:none}.prefregion{width:88px;color:var(--sub);flex:none;padding-top:3px;font-size:12px}.prefchips{flex-wrap:wrap;gap:5px;display:flex}.prefnone{color:var(--sub);margin-top:8px;font-size:13px}.prefchip{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:14px;padding:2px 9px;font-size:13px}.prefchip[hidden]{display:none}.prefchip:hover{border-color:#9fb0f0}.prefchip.first{border-color:var(--primary);border-style:dashed}.prefchip.sel{border-color:var(--primary);background:var(--primary);color:#fff;font-weight:600}.debugbtn{color:var(--warn);border-style:dashed}.pdfbox{border:1px solid var(--line);border-radius:10px;align-items:center;gap:12px;margin-top:20px;padding:14px 18px;display:flex}.pdfbox label{flex:1}.pdfbox label small{color:var(--sub);font-size:13px;display:block}.pdfbox input{border:1px solid var(--line);width:200px;font:inherit;border-radius:8px;padding:9px 12px}.pdfbox input:focus{outline:2px solid var(--primary);outline-offset:1px}.entrygrid{grid-template-columns:.5fr 1fr 1.5fr}.report{width:186mm;min-height:266mm;color:var(--ink);background:#fff;flex-direction:column;margin:0 auto;font-size:13px;line-height:1.6;display:none}.rep-head{background:var(--primary);color:#fff;border-radius:3mm;justify-content:space-between;align-items:center;padding:4mm 7mm;display:flex}.rep-title{letter-spacing:1px;font-size:22px;font-weight:800}.rep-badge{border:1.5px solid #fff;border-radius:10mm;padding:1mm 4mm;font-size:13px;font-weight:700}.rep-info{background:var(--bg);border-radius:3mm;grid-template-columns:repeat(4,1fr);gap:3mm 5mm;margin-top:4mm;padding:3mm 5mm;display:grid}.rep-info label{color:var(--sub);font-size:10.5px;display:block}.rep-info b{font-size:13px}.rep-main{border:1.5px solid var(--primary);border-radius:3mm;grid-template-columns:62mm 1fr;align-items:center;gap:6mm;margin-top:4mm;padding:3mm 6mm;display:grid}.rep-sub{color:var(--sub);font-size:12px;font-weight:700}.rep-iq .iq{font-size:54px}.rep-iq .iqrange{font-size:15px}.rep-rank{border-top:1px solid var(--line);margin-top:2mm;padding-top:2mm;font-size:13px}.rep-bell .bell{margin:0 auto}.rep-bell .note{margin:1mm 0 0;font-size:11px}.report h3{border-left:4px solid var(--primary);margin:4.5mm 0 1.5mm;padding-left:3mm;font-size:16px}.report .domains th,.report .domains td{padding:1.8mm 2mm}.report .domains th{width:62mm}.report .barcell{width:36%}.report .note{margin-bottom:0;font-size:11px;line-height:1.5}.report .caution{margin-top:4mm;padding:3mm 5mm;font-size:11.5px;line-height:1.55}.rep-foot{border-top:1px solid var(--line);color:var(--sub);text-align:center;margin-top:auto;padding-top:3mm;font-size:10.5px}.previewclose{display:none}body.printpreview{background:#8b93a3}body.printpreview .screenonly,body.printpreview .top,body.printpreview .narrow-warn{display:none}body.printpreview .report{box-sizing:content-box;padding:12mm;display:flex;box-shadow:0 4px 24px #0000004d}body.printpreview .previewclose{background:#fff;margin:16px auto 0;display:block}@media print{@page{size:A4;margin:12mm}html,body{background:#fff!important}.top,.narrow-warn,.screenonly,.previewclose{display:none!important}.main{max-width:none;padding:0}.report{box-shadow:none;padding:0;display:flex}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}rt{color:var(--sub);font-size:.5em;font-weight:400}.sitefoot{justify-content:center;gap:24px;margin-top:36px;display:flex}.linkbtn{color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.card.info h3{margin-top:22px;font-size:16px}.card.info ul{padding-left:22px}.card.info li{margin-bottom:4px}.infotable{border-collapse:collapse;margin:8px 0 16px}.infotable th,.infotable td{border-bottom:1px solid var(--line);text-align:left;padding:8px 14px}.infotable th{color:var(--sub);white-space:nowrap;font-weight:600}
