:root{--blue:#234ed8;--ink:#17284d;--muted:#63718a;--paper:#f4f7fc;--line:#dce3f1;--yellow:#ffdc83}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,Yu Gothic,sans-serif;font-size:15px;line-height:1.7}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;transition:background .15s,transform .15s}button:disabled{cursor:not-allowed;opacity:.5}button:not(:disabled):active{transform:translateY(1px)}button:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #bc8500}textarea:focus,input:focus,select:focus{outline-offset:2px;outline:3px solid #a8baff}.header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1160px;margin:auto;padding:25px 28px;display:flex}.brand{color:var(--ink);letter-spacing:.04em;align-items:center;gap:13px;font-size:21px;font-weight:750;text-decoration:none;display:flex}.brand small{letter-spacing:.12em;color:var(--muted);font-size:10px;font-weight:500;display:block}.brand-icon{background:var(--blue);color:#fff;border-radius:14px 14px 14px 3px;place-content:center;width:43px;height:46px;font-size:30px;line-height:1;display:grid;position:relative}.brand-icon span{font-size:20px;position:absolute;top:6px;right:7px}.header nav{gap:12px;display:flex}.nav{color:var(--muted);background:0 0;border:0;border-radius:9px;padding:10px 15px;font-size:13px}.nav.active{color:var(--blue);background:#e6ecfc;font-weight:700}.count{margin-left:4px;font-size:11px}main{max-width:1104px;margin:auto;padding:44px 0 0}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.intro{color:var(--muted);margin:0 0 7px;font-size:13px}h1{letter-spacing:.06em;margin:0;font-size:38px;font-weight:800;line-height:1.4}.subtitle{color:var(--muted);margin:12px 0 0;font-size:13px}.mode-badge{border:1px solid var(--line);white-space:nowrap;color:var(--muted);background:#fff;border-radius:30px;padding:7px 13px;font-size:11px}.workspace{grid-template-columns:.94fr 1.06fr;align-items:stretch;gap:24px;display:grid}.stage{background:var(--blue);color:#fff;border-radius:24px;padding:27px 32px 20px;position:relative;overflow:hidden}.stage-top{color:#d9e3ff;justify-content:space-between;align-items:center;font-size:12px;display:flex}.topic-tag{border:1px solid #7f9aff;border-radius:20px;padding:3px 12px;font-size:10px}.topic-area{min-height:170px;margin:29px 0 0}.section-number{letter-spacing:.08em;color:var(--muted);margin:0 0 12px;font-size:10px;font-weight:650}.stage .section-number{color:#c5d4ff}.topic-area h2{letter-spacing:.04em;max-width:390px;margin:0;font-size:26px;line-height:1.7}.topic-hint{color:#d7e2ff;max-width:350px;margin:15px 0 0;font-size:12px}.clock{background:conic-gradient(var(--yellow) var(--progress),#6f8cec var(--progress));border-radius:50%;width:220px;height:220px;margin:16px auto 23px;padding:2px;position:relative}.clock>div{background:var(--blue);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.clock-label{color:#d4e0ff;font-size:11px}.clock-time{font-variant-numeric:tabular-nums;letter-spacing:-.05em;font-size:66px;font-weight:350;line-height:1.4}.clock-caption{color:#d4e0ff;font-size:10px}.duration{justify-content:center;gap:5px;display:flex}.duration button{color:#dce5ff;background:0 0;border:0;border-radius:7px;min-height:37px;padding:6px 16px;font-size:12px}.duration button[aria-pressed=true]{color:var(--blue);background:#fff;font-weight:700}.timer-button{color:#fff;background:0 0;border:1px solid #839cf0;border-radius:10px;width:100%;min-height:45px;margin-top:17px;padding:11px;font-size:13px}.timer-button:hover{background:#315ce4}.topic-select{text-align:center;margin-top:18px;font-size:12px}.topic-select summary{cursor:pointer;color:#e5ecff;padding:7px;list-style-position:inside}.topic-select label{text-align:left;margin:12px 0 5px;display:block}.topic-select select{width:100%;color:var(--ink);background:#fff;border:0;border-radius:6px;padding:9px}.topic-select button{color:#fff;background:#fff2;border:0;border-radius:6px;margin-top:8px;padding:7px 12px}.answer-panel{border:1px solid var(--line);background:#fff;border-radius:24px;flex-direction:column;padding:29px 30px;display:flex}.panel-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-heading>svg{color:#b9c6e4}.panel-heading h2{letter-spacing:.015em;margin:0;font-size:21px}.speech-controls{flex-wrap:wrap;align-items:center;gap:14px;margin-top:25px;display:flex}.mic-button{color:var(--blue);background:#eaf0ff;border:1px solid #d9e3ff;border-radius:9px;align-items:center;gap:10px;min-height:45px;padding:10px 17px;font-size:13px;font-weight:650;display:flex}.speech-controls>span{color:var(--muted);font-size:10px}.mic-button.recording{color:#a72e45;background:#fff0f0;border-color:#f2c9d1}.record-dot{background:#a72e45;border-radius:50%;width:8px;height:8px}.speech-message{color:var(--muted);min-height:36px;margin:10px 0;font-size:10px;line-height:1.8}textarea{resize:vertical;width:100%;min-height:230px;color:var(--ink);background:#f9fbff;border:1px solid #e0e6f1;border-radius:12px;flex:1;padding:20px;font-size:14px;line-height:2}textarea::placeholder{color:#8b97af}textarea:disabled{opacity:.8}.answer-meta{color:var(--muted);justify-content:space-between;gap:12px;margin:10px 0 14px;font-size:10px;display:flex}.rubric-box{border:1px solid var(--line);color:var(--muted);background:#f6f8fd;border-radius:10px;margin:0 0 18px;padding:11px 14px;font-size:11px}.rubric-title{color:var(--ink);margin:0 0 6px;font-size:11px;font-weight:650}.rubric-list{gap:3px;margin:0;padding-left:16px;line-height:1.55;display:grid}.rubric-list strong{color:var(--ink);font-weight:650}.evaluate,.primary{background:var(--blue);color:#fff;border:0;border-radius:10px;min-height:52px;padding:14px 20px;font-size:14px;font-weight:650}.evaluate{justify-content:space-between;align-items:center;width:100%;display:flex}.evaluate span{font-size:23px;line-height:1}.evaluate:not(:disabled):hover,.primary:hover{background:#193db5}.under-button{color:var(--muted);text-align:center;margin:12px 0 0;font-size:10px;line-height:1.8}.interim{background:#edf3ff;border-radius:8px;padding:10px;font-size:12px}.access{margin-bottom:16px}.access label{margin-bottom:5px;font-size:12px;display:block}.access input{border:1px solid var(--line);border-radius:7px;width:100%;padding:10px}.access small{color:var(--muted);margin-top:5px;font-size:10px;display:block}.notice{background:#fff7da;border:1px solid #e9d693;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 20px;padding:13px 17px;font-size:12px;display:flex}.notice button{color:inherit;background:0 0;border:0;min-height:36px;padding:5px 10px}.notice button:first-of-type{margin-left:auto}.error{color:#9d2440;background:#fff1f4;border-radius:8px;padding:12px;font-size:12px}.howto{grid-template-columns:repeat(3,1fr);gap:20px;padding:30px 5px;display:grid}.howto>div{align-items:center;gap:15px;display:flex}.howto b{color:#adbad7;font-size:25px;font-weight:400}.howto strong{font-size:12px;font-weight:650;display:block}.howto small{color:var(--muted);font-size:10px}.results{border:1px solid var(--line);background:#fff;border-radius:24px;margin-top:24px;padding:30px;scroll-margin-top:20px}.result-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.result-heading h2{margin:0;font-size:23px}.result-heading p:not(.section-number){color:var(--muted);font-size:11px}.score{white-space:nowrap;color:var(--blue);font-size:55px;font-weight:750;line-height:1.2}.score small{color:var(--muted);margin-left:8px;font-size:12px}.metrics{grid-template-columns:1fr 1fr;gap:24px 32px;margin-top:25px;display:grid}.metric>div:first-child{justify-content:space-between;align-items:center;font-size:12px;display:flex}.metric strong{color:var(--blue);font-size:20px}.metric strong small{color:var(--muted);font-size:10px;font-weight:400}.bar{background:#e8edf7;border-radius:10px;height:6px;margin:8px 0;overflow:hidden}.bar i{background:var(--blue);border-radius:10px;height:100%;display:block}.metric>small{color:var(--muted);font-size:10px}.coaching{background:#f1f5ff;border-radius:12px;align-items:center;gap:15px;margin-top:30px;padding:20px;display:flex}.spark{color:var(--blue);font-size:30px}.coaching h3{margin:0 0 5px;font-size:14px}.coaching p{margin:0;font-size:12px}.coaching button,.saved-bottom button{color:var(--blue);white-space:nowrap;background:#fff;border:1px solid #c8d5f7;border-radius:8px;min-height:44px;margin-left:auto;padding:10px 14px;font-size:12px}.comparison{color:var(--blue);margin-top:8px!important}.history-heading{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:20px;font-size:12px;display:flex}.text-button{color:var(--muted);background:0 0;border:0;min-height:44px;padding:10px;font-size:12px;text-decoration:underline}.empty{text-align:center;border:1px solid var(--line);background:#fff;border-radius:24px;padding:70px 20px}.empty>span{color:var(--blue);font-size:50px}.empty h2{font-size:23px}.empty p{color:var(--muted);margin-bottom:25px;font-size:13px}.history-entry{border:1px solid var(--line);background:#fff;border-radius:16px;margin-bottom:15px;padding:22px 26px}.history-entry-top{color:var(--muted);justify-content:space-between;align-items:center;font-size:11px;display:flex}.history-entry h2{margin:5px 0 14px;font-size:18px}.saved-text{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);max-height:180px;font-size:13px;overflow:auto}.saved-bottom{justify-content:space-between;align-items:center;gap:15px;font-size:11px;display:flex}.saved-bottom strong{color:var(--blue);margin-left:7px;font-size:24px}footer{border-top:1px solid var(--line);max-width:1104px;color:var(--muted);flex-wrap:wrap;align-items:center;gap:20px;margin:15px auto 0;padding:24px 0 30px;font-size:10px;display:flex}.footer-brand{color:var(--ink);font-size:13px;font-weight:750}footer details{max-width:500px;margin-left:auto}footer summary{cursor:pointer}footer p{line-height:1.9}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (min-width:1500px){main{padding-top:55px}}@media (max-width:1180px){main,footer{margin-left:28px;margin-right:28px}}@media (max-width:760px){.header{align-items:center;gap:10px;padding:19px 20px}.brand{gap:9px;font-size:17px}.brand-icon{width:35px;height:39px;font-size:26px}.brand small{font-size:8px}.header nav{gap:2px}.nav{padding:9px 8px;font-size:11px}.count{display:none}main{margin-left:18px;margin-right:18px;padding-top:27px}.page-heading{align-items:flex-start;gap:8px;margin-bottom:22px;position:relative}.intro{font-size:11px}h1{font-size:29px}.subtitle{max-width:250px;font-size:11px}.mode-badge{margin-top:4px;padding:5px 8px;font-size:9px}.workspace{grid-template-columns:1fr;gap:16px}.stage{border-radius:20px;padding:22px 25px 18px}.topic-area{min-height:0;margin-top:22px}.topic-area h2{max-width:none;font-size:24px}.topic-hint{font-size:11px}.clock{width:185px;height:185px;margin:24px auto 19px}.clock-time{font-size:57px}.timer-button{margin-top:14px}.topic-select{margin-top:9px}.answer-panel{border-radius:20px;padding:23px 22px}.panel-heading h2{font-size:19px}.speech-controls{margin-top:20px}textarea{min-height:260px;padding:15px;font-size:16px}.answer-meta{gap:5px;font-size:9px}.howto{grid-template-columns:1fr;gap:12px;padding:25px 15px}.howto>div{gap:18px}.howto strong{font-size:12px}.howto small{font-size:11px}.results{border-radius:20px;padding:23px 20px}.result-heading h2{font-size:19px}.score{font-size:40px}.score small{text-align:right;margin:4px 0 0;font-size:10px;display:block}.metrics{grid-template-columns:1fr;gap:20px}.coaching{flex-wrap:wrap;align-items:flex-start;padding:18px}.coaching>div{flex:1;min-width:180px}.coaching button{margin-left:45px}.history-entry{padding:18px}.history-entry h2{font-size:17px}.saved-bottom button{padding:9px;font-size:11px}footer{gap:12px;margin-left:20px;margin-right:20px;padding-bottom:25px}footer details{width:100%;margin-left:0}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media (max-width:370px){.brand{font-size:15px}.nav{padding:8px 5px;font-size:10px}.mode-badge{font-size:8px}.speech-controls{gap:8px}.answer-meta{flex-wrap:wrap}}.footer-id{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.legal-links{flex-wrap:wrap;gap:18px;display:flex}.legal-links a{color:var(--muted);text-underline-offset:3px}.legal-page{max-width:800px;padding-bottom:35px}.legal-page h1{overflow-wrap:anywhere;margin-top:12px;font-size:32px}.legal-page h2{margin:32px 0 10px;font-size:18px}.legal-page p,.legal-page li{overflow-wrap:anywhere;font-size:14px;line-height:2}.legal-page a{color:var(--blue);text-underline-offset:4px}.legal-page .back-link{margin-bottom:30px;font-size:13px;display:inline-block}.legal-date{color:var(--muted);font-size:12px!important}.legal-page .notice{display:block}.legal-page ul{padding-left:22px}@media (max-width:760px){.legal-page h1{font-size:26px}.legal-page p,.legal-page li{font-size:13px}.legal-links{gap:15px}footer details{max-width:100%}}.draft-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.draft-delete{color:var(--muted);background:0 0;border:0;min-height:28px;padding:2px 4px;font-size:11px;text-decoration:underline}.rubric-note{border-top:1px dashed var(--line);color:var(--muted);margin:8px 0 0;padding-top:8px;font-size:11px;line-height:1.65}.cooldown-status{color:var(--blue);text-align:center;background:#eef3ff;border:1px solid #d5e1ff;border-radius:8px;margin:0 0 12px;padding:10px 12px;font-size:12px}.coaching{align-items:flex-start}.coaching-content{flex:1;gap:10px;min-width:0;display:grid}.guide-badge{color:var(--blue);background:#fff;border:1px solid #c8d5f7;border-radius:20px;justify-self:start;padding:2px 10px;font-size:10px;font-weight:650;display:inline-block}.guide-steps{gap:8px;margin:0;display:grid}.guide-steps>div{grid-template-columns:88px 1fr;align-items:baseline;gap:8px;font-size:12px;line-height:1.6;display:grid}.guide-steps dt{color:var(--blue);text-align:center;background:#fff;border:1px solid #d5e1ff;border-radius:6px;padding:2px 7px;font-size:11px;font-weight:700}.guide-steps dd{color:var(--ink);overflow-wrap:anywhere;margin:0}.guide-steps dd strong{font-size:13px;font-weight:700}.guide-supplement,.delivery-check,.comparison-box{background:#fff;border:1px solid #d5e1ff;border-radius:10px;padding:8px 12px;font-size:12px}.guide-supplement summary,.delivery-check summary,.comparison-box summary{cursor:pointer;color:var(--blue);padding:3px 0;font-size:12px;font-weight:650}.guide-details{border-top:1px dashed #d5e1ff;gap:6px;margin-top:8px;padding-top:8px;display:grid}.guide-question{color:var(--ink);margin:0;font-size:12px;font-weight:600;line-height:1.6}.guide-checklist{color:var(--ink);gap:3px;margin:0;padding-left:18px;font-size:12px;line-height:1.55;display:grid}.guide-example{color:var(--muted);background:#f8faff;border:1px solid #dce5fb;border-radius:8px;margin:0;padding:8px 10px;font-size:11px}.delivery-check-body,.comparison-box-body{border-top:1px dashed #d5e1ff;gap:6px;margin-top:8px;padding-top:8px;display:grid}.delivery-note{color:var(--muted);margin:0;font-size:11px;line-height:1.6}.delivery-list{color:var(--ink);gap:4px;margin:0;padding-left:18px;font-size:12px;line-height:1.6;display:grid}.comparison{color:var(--blue);margin:0!important}.history-details{border-top:1px solid var(--line);margin-top:14px;padding-top:12px;font-size:12px}.history-details summary{cursor:pointer;color:var(--blue);padding:4px 0;font-weight:650}.history-details-body{gap:16px;margin-top:14px;display:grid}.history-metrics{border:1px solid var(--line);background:#f8faff;border-radius:12px;grid-template-columns:1fr 1fr;gap:14px 24px;padding:16px;display:grid}.history-metric-row{justify-content:space-between;align-items:center;font-size:12px;display:flex}.history-metric-row strong{color:var(--blue);font-size:16px}.history-metric-row strong small{color:var(--muted);font-size:10px;font-weight:400}.history-metric>small{color:var(--muted);font-size:10px}.history-guide{background:#f1f5ff;border-radius:12px;gap:10px;padding:16px;display:grid}.history-guide h3{margin:0;font-size:14px}.history-guide p{margin:0;font-size:12px}.history-comparison{border-top:1px solid var(--line);padding-top:14px}.history-comparison h3{margin:0 0 10px;font-size:14px}.comparison-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.comparison-card{border:1px solid var(--line);background:#f9fbff;border-radius:10px;padding:12px}.comparison-head{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;font-size:11px;display:flex}.comparison-head strong{color:var(--blue);font-size:13px}.comparison-metrics{color:var(--muted);gap:2px;margin:8px 0 0;padding-left:18px;font-size:11px;display:grid}@media (max-width:760px){.history-metrics,.comparison-grid{grid-template-columns:1fr}.coaching button{width:100%;margin-left:0}.saved-bottom{flex-wrap:wrap}.saved-bottom button{margin-left:auto}.guide-steps>div{grid-template-columns:1fr;gap:4px}.guide-steps dt{justify-self:start}}@media (max-width:400px){.header{gap:8px;padding:14px}.brand{gap:7px;font-size:15px}.brand-icon{width:32px;height:36px;font-size:22px}.nav{padding:7px 8px;font-size:11px}main,footer{margin-left:14px;margin-right:14px}.stage,.answer-panel,.results,.history-entry{padding:18px 16px}.duration{flex-wrap:wrap}.duration button{padding:6px 12px}.evaluate{padding:12px 14px;font-size:13px}.guide-supplement,.delivery-check,.comparison-box{padding:8px 10px}}
