/* 落ち着いた配色と大きな操作面で、中学生の練習導線を統一する。 */
:root{--ink:#12274b;--muted:#4b6180;--green:#1758df;--mint:#eaf1ff;--line:#cedcf0;--paper:#f1f5fc;--white:#fff;--blue:#e5efff;--shadow:0 8px 24px #17397a0d;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #deaa4f;outline-offset:4px}button{border:0}h1,h2,h3,p{margin:0}p{line-height:1.9}button{transition:background .18s,transform .18s}button:hover:not(:disabled){filter:brightness(.97)}button:active:not(:disabled){transform:translateY(1px)}.app-shell{display:flex;min-height:100vh}.sidebar{width:240px;flex-shrink:0;padding:38px 25px 25px;background:white;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.brand{text-decoration:none;display:flex;align-items:center;gap:10px;font-size:19px;font-weight:800;letter-spacing:-.5px}.brand small{display:block;font-size:6.7px;letter-spacing:1.05px;margin-top:6px;color:var(--muted)}.brand-icon{display:flex;align-items:center;justify-content:center;gap:3px;width:36px;height:40px;background:var(--green);border-radius:13px;color:white}.brand-icon i{width:3px;border-radius:4px;background:currentColor;height:11px}.brand-icon i:nth-child(2){height:23px}.brand-icon i:nth-child(3){height:17px}.sidebar-label{font-size:9px;letter-spacing:1.8px;color:#637897;margin:55px 13px 16px}.nav-item{display:flex;gap:15px;align-items:center;text-align:left;width:100%;padding:14px 15px;border-radius:10px;background:transparent;color:#4b6180;font-size:13px;margin-bottom:7px}.nav-item span{font-size:23px;line-height:1;width:20px;text-align:center}.nav-item.active{background:var(--mint);color:var(--green);font-weight:700}.sidebar-note{margin-top:auto;padding:50px 13px 30px}.sprout{font-size:36px;color:#70a6ff;display:block;margin-bottom:16px}.sidebar-note strong{font-size:14px;line-height:1.9}.sidebar-note p{font-size:11px;color:var(--muted);margin-top:10px}.teacher-entry{border-top:1px solid var(--line);padding:22px 10px 15px;display:flex;justify-content:space-between;font-size:12px;background:white;color:var(--ink)}.version{font-size:9px;color:#7186a5;margin:10px}.workspace{margin-left:240px;min-width:0;width:calc(100% - 240px)}.topbar{height:78px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#ffffff85;font-size:12px;color:#4b6180}.prototype-badge{display:flex;gap:7px;align-items:center;border:1px solid #c6d7f0;border-radius:20px;padding:7px 12px;font-size:10px}.prototype-badge span{height:6px;width:6px;background:#2864e8;border-radius:50%}main{max-width:1100px;margin:auto;padding:43px 48px 32px;min-height:calc(100vh - 140px)}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--green);font-weight:700;margin-bottom:12px}h1{font-size:30px;line-height:1.5;letter-spacing:.03em;font-weight:750}.subtitle{font-size:13px;color:var(--muted);margin-top:10px}.welcome-head{margin-bottom:28px}.hero{background:#1758df;border:1px solid #1758df;min-height:228px;border-radius:20px;padding:32px 34px;display:flex;align-items:center;justify-content:space-between;gap:14px;overflow:hidden;position:relative}.hero-copy{position:relative;z-index:1}.small-tag{display:inline-block;border-radius:5px;padding:5px 9px;font-size:10px;letter-spacing:.04em;background:#ffffffb5;color:var(--green);margin-bottom:14px}.hero h2{font-size:25px;line-height:1.6;letter-spacing:.06em}.hero p{font-size:12px;color:#dce9ff;margin-top:10px}.sound-art{position:relative;flex-shrink:0;width:224px;height:170px;display:flex;align-items:center;justify-content:center}.sound-art:before,.sound-art:after{content:"";position:absolute;border:1px solid #ffffff45;border-radius:50%;width:160px;height:160px;transform:rotate(-25deg) scaleX(1.35)}.sound-art:after{width:128px;height:128px;transform:rotate(25deg) scaleX(1.35)}.sound-card{width:148px;height:100px;background:#fff;border:1px solid #d4e4ff;border-radius:19px;transform:rotate(-8deg);box-shadow:7px 12px 0 #07369a80;display:flex;gap:7px;align-items:center;justify-content:center;position:relative;z-index:1}.sound-card i{background:#1758df;border-radius:5px;width:7px;height:22px}.sound-card i:nth-child(2),.sound-card i:nth-child(6){height:38px}.sound-card i:nth-child(3),.sound-card i:nth-child(5){height:55px}.sound-card i:nth-child(4){height:68px}.spark{position:absolute;right:12px;top:7px;font-size:27px;color:#ffd23f}.sound-label{position:absolute;bottom:2px;right:7px;background:#ffd23f;color:#1c3a75;padding:8px 13px;border-radius:9px;transform:rotate(7deg);font-size:10px;z-index:2}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:31px 0 16px}.section-heading h2{font-size:16px}.section-heading small{font-size:10px;color:var(--muted)}.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.entry-card{background:white;border:1px solid var(--line);border-radius:15px;padding:24px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;position:relative;box-shadow:var(--shadow);color:var(--ink);min-height:166px}.entry-card:hover{border-color:#2864e8;transform:translateY(-2px)}.entry-icon{display:flex;align-items:center;justify-content:center;width:39px;height:39px;border-radius:11px;background:var(--blue);color:#1758df;font-size:23px;margin-bottom:15px}.entry-icon.mint{background:var(--mint);color:var(--green)}.entry-card strong{font-size:17px}.entry-card p{font-size:11px;margin-top:8px;color:var(--muted)}.entry-arrow{position:absolute;right:23px;top:32px;color:#1758df;font-size:22px}.lesson-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.lesson-card{background:white;border:1px solid var(--line);border-radius:13px;padding:19px;text-align:left;color:var(--ink);min-width:0}.lesson-card .lesson-top{display:flex;justify-content:space-between;align-items:center}.lesson-tag{font-size:9px;color:#2057bd;background:#eaf1ff;padding:5px 7px;border-radius:5px}.lesson-card h3{font-size:14px;margin:17px 0 6px;overflow-wrap:anywhere}.lesson-card p{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-bottom{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);margin-top:18px}.text-button{color:var(--green);font-size:11px;background:transparent;padding:7px 0}.quiet-note{font-size:10px;color:#536989;margin-top:24px;line-height:1.8}.page-head{margin-bottom:28px}.back-button{background:transparent;font-size:12px;color:var(--muted);padding:0;margin-bottom:20px}.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:var(--shadow)}.form-layout{display:grid;grid-template-columns:1fr 220px;gap:24px}.field{display:block;margin-bottom:23px}.field>span{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:650;margin-bottom:10px}.field small{font-weight:400;color:var(--muted);font-size:10px}.field input,.field textarea,.field select{width:100%;border:1px solid #bdcfe9;background:#ffffff;padding:13px 15px;border-radius:9px;font-size:14px;color:var(--ink)}.field textarea{resize:vertical;min-height:174px;line-height:1.9}.field textarea.translation{min-height:90px}.field input::placeholder,.field textarea::placeholder{color:#6c7e99}.field-hint{font-size:10px;color:var(--muted);display:flex;justify-content:space-between;margin-top:8px}.form-note{padding:21px;background:var(--mint);border-radius:13px;height:fit-content}.form-note h3{font-size:14px;margin:9px 0}.form-note p{font-size:11px;color:#4b6180}.primary,.secondary{padding:14px 22px;border-radius:10px;font-size:13px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:9px}.primary{background:var(--green);color:white}.secondary{background:white;border:1px solid #bdcfe9;color:var(--ink)}.button-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.error{font-size:12px;color:#a14837;margin:0 0 14px;line-height:1.8}.steps{display:flex;align-items:center;justify-content:center;gap:24px;margin:0 0 26px;font-size:11px;color:#52698a}.step{display:flex;align-items:center;gap:8px}.step b{border:1px solid #c1d1ea;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;font-size:10px}.step.active{color:var(--green)}.step.active b{background:var(--green);border-color:var(--green);color:white}.reading-header{display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px}.reading-header h2{font-size:18px;overflow-wrap:anywhere}.reading-header p{font-size:10px;color:var(--muted);margin-top:5px}.reading-tools{display:flex;gap:7px}.round-button{border:1px solid var(--line);background:white;width:38px;height:38px;border-radius:8px;color:var(--ink);font-size:13px}.reading-text{font-family:Georgia,"Times New Roman",serif;font-size:29px;line-height:1.85;letter-spacing:.005em;margin:30px 0;white-space:pre-wrap;overflow-wrap:anywhere}.reading-text.large{font-size:36px}.translation-text{font-size:13px;line-height:1.9;color:var(--muted);padding:17px;background:#edf3ff;border-radius:9px;margin-bottom:15px;white-space:pre-wrap}.practice-controls{border-top:1px solid var(--line);padding-top:23px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.speed{font-size:11px;color:var(--muted);display:flex;gap:9px;align-items:center}.speed select{border:1px solid var(--line);border-radius:6px;padding:6px;background:white;color:var(--ink)}.record-box{text-align:center;margin-top:24px;padding:24px;background:#e8f0ff;border:1px solid #bdd1f3;border-radius:14px}.record-box h3{font-size:15px}.record-box p{font-size:11px;color:var(--muted);margin:7px 0 17px}.demo-label{font-size:10px;color:#735006;background:#fff6d9;border:1px solid #edcf72;border-radius:6px;padding:7px 11px;display:inline-block}.record-box .demo-label{margin-bottom:13px}.timer{font-size:28px;color:var(--green);font-variant-numeric:tabular-nums;margin:15px}.record-wave{height:30px;display:flex;align-items:center;justify-content:center;gap:5px;margin:18px}.record-wave i{width:4px;height:20px;border-radius:5px;background:var(--green);animation:wave 1s ease-in-out infinite alternate}.record-wave i:nth-child(2n){animation-delay:-.5s;height:30px}.record-wave i:nth-child(3n){animation-delay:-.2s;height:12px}@keyframes wave{to{transform:scaleY(.3)}}.result-heading{text-align:center;margin:12px 0 25px}.result-heading h1{margin:14px 0 8px;font-size:27px}.result-heading p{font-size:12px;color:var(--muted)}.score-layout{display:grid;grid-template-columns:210px 1fr;gap:35px;align-items:center}.score-circle{width:172px;height:172px;margin:auto;border:12px solid #dfebff;border-top-color:#2462ec;border-right-color:#2462ec;border-bottom-color:#2462ec;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column}.score-circle strong{font-size:53px;font-weight:650;line-height:1.15;letter-spacing:-2px}.score-circle strong small{font-size:16px;letter-spacing:0}.score-circle>span{font-size:10px;color:var(--muted);margin-top:7px}.result-message h2{font-size:20px;line-height:1.7}.result-message p{font-size:12px;color:var(--muted);margin-top:12px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}.metric{background:#edf3ff;padding:18px;border-radius:10px}.metric>span{font-size:11px;color:var(--muted)}.metric strong{font-size:25px;display:block;margin-top:10px}.metric strong small{font-size:11px;font-weight:400;margin-left:4px}.feedback{padding:23px;margin-top:19px;border:1px solid #bfd1f0;background:#edf3ff;border-radius:12px;display:flex;gap:15px}.feedback>span{font-size:23px;color:#1758df}.feedback h3{font-size:13px}.feedback p{font-size:12px;color:#4b6180;margin-top:7px}.result-actions{justify-content:center;margin-top:25px}.share-panel{background:#e8f0ff;border:1px solid #b7cdf0;padding:24px;border-radius:14px;margin-top:23px}.share-panel h3{font-size:15px;margin-bottom:8px}.share-panel p{font-size:11px;color:var(--muted);margin-bottom:15px}.share-panel input{width:100%;padding:12px;border:1px solid #bdd0ee;border-radius:8px;background:white;font-size:11px;color:var(--muted);margin-bottom:12px}.empty-state{padding:45px;text-align:center;background:white;border:1px dashed #a9c1e6;border-radius:15px}.empty-state p{font-size:13px;color:var(--muted);margin-bottom:15px}details{font-size:12px;color:var(--muted);margin-top:20px}details summary{cursor:pointer;padding:8px 0}details p{padding:10px 0}footer{padding:19px 48px 24px;display:flex;justify-content:space-between;font-size:9px;color:#596f8f;border-top:1px solid var(--line)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#12274b;color:white;padding:13px 22px;border-radius:10px;box-shadow:0 5px 20px #0002;font-size:12px;max-width:90%;z-index:5;visibility:hidden}#toast.show{visibility:visible}
/* タブレット・スマートフォンでも英文と主要ボタンを優先して表示する。 */
@media(min-width:1500px){main{padding-top:55px}.hero{min-height:255px}.entry-card{min-height:185px}}
@media(max-width:1100px){.sidebar{width:210px;padding-left:20px;padding-right:20px}.workspace{margin-left:210px;width:calc(100% - 210px)}main{padding:30px}.topbar{padding:0 30px}.form-layout{grid-template-columns:1fr}.form-note{display:none}.sound-art{width:180px}.hero{padding:25px}.hero h2{font-size:22px}.lesson-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:static;width:100%;padding:18px 20px 0;display:block;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:18px}.brand small{font-size:6px}.brand-icon{height:35px;width:32px}.sidebar-label,.sidebar-note,.version{display:none}.sidebar nav{display:flex;margin-top:18px;gap:6px}.nav-item{font-size:11px;padding:11px;justify-content:center;gap:7px;margin-bottom:8px}.nav-item span{font-size:17px;width:17px}.teacher-entry{position:absolute;right:15px;top:25px;padding:6px;border:0;font-size:10px;gap:7px}.workspace{margin:0;width:100%}.topbar{height:48px;padding:0 22px;font-size:10px}main{padding:27px 21px;min-height:calc(100vh - 220px)}h1{font-size:25px}.subtitle{font-size:12px}.welcome-head{margin-bottom:22px}.hero{min-height:198px;padding:24px}.hero h2{font-size:20px}.hero p{font-size:10px}.sound-art{width:105px;height:145px;margin-right:-19px;opacity:.9}.sound-card{width:87px;height:80px;gap:4px}.sound-card i{width:5px}.sound-card i:nth-child(4){height:48px}.sound-card i:nth-child(3),.sound-card i:nth-child(5){height:39px}.sound-art:before{width:93px;height:125px}.sound-art:after{width:70px;height:98px}.sound-label{font-size:7px;right:0;bottom:6px;padding:6px}.spark{right:0;top:0}.entry-grid{gap:11px}.entry-card{padding:18px 15px;min-height:180px}.entry-card strong{font-size:14px}.entry-card p{font-size:10px}.entry-arrow{right:15px;top:25px;font-size:18px}.lesson-grid{grid-template-columns:1fr}.lesson-card{padding:17px}.lesson-card h3{margin-top:13px}.lesson-bottom{margin-top:12px}.section-heading h2{font-size:14px}.panel{padding:22px 19px}.reading-text{font-size:25px;margin:25px 0}.reading-text.large{font-size:30px}.reading-header h2{font-size:16px}.score-layout{grid-template-columns:1fr;gap:24px;text-align:center}.metrics{gap:7px}.metric{padding:13px 9px}.metric>span{font-size:9px}.metric strong{font-size:22px}.metric strong small{font-size:9px}.result-heading h1{font-size:23px}.steps{gap:14px;font-size:10px}.practice-controls{justify-content:center}.record-box{padding:22px 16px}.primary,.secondary{padding:14px 17px;font-size:12px}.field-hint{font-size:9px}footer{padding:18px 22px;font-size:8px}.quiet-note{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* 画面移動用のフォーカス枠は非表示にし、操作部品のフォーカス表示は残す。 */
main:focus{outline:none}.brand small{white-space:nowrap;font-size:6px;letter-spacing:.65px}.brand-icon{flex-shrink:0}
@media(max-width:760px){.sound-art{width:70px;margin-right:-8px}.hero h2{font-size:18px;letter-spacing:0}.hero p{font-size:10px}.hero{gap:8px}.sound-label{right:-5px}}
/* 採点の後は「提出の準備」にまとめ、ダウンロードと提出完了を区別する。 */
.submission-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px;align-items:start}.submission-title{display:flex;gap:15px;align-items:center;margin-bottom:20px}.submission-title h2{font-size:18px;overflow-wrap:anywhere}.submission-title p{font-size:11px;color:var(--muted);margin-top:5px}.submission-title .entry-icon{flex-shrink:0;margin:0}.submission-layout .demo-label{margin-bottom:24px}.audio-attachment{padding:19px;background:#edf3ff;border-radius:12px}.audio-attachment h3{font-size:14px}.audio-attachment p{font-size:11px;color:var(--muted);margin:10px 0}.audio-attachment audio,audio{width:100%;margin:14px 0}.audio-attachment .secondary{font-size:12px}.file-label{display:block;font-size:11px;color:var(--green);margin-top:17px}.file-label input{display:block;font-size:11px;max-width:100%;margin-top:10px}.submission-options .panel{padding:23px}.submission-options h2{font-size:15px;margin:10px 0 20px}.submission-options p{font-size:11px;color:var(--muted);margin:10px 0 20px}.wide{width:100%;text-decoration:none}.classroom-box{border-top:1px solid var(--line);margin-top:24px;padding-top:23px}.classroom-icon{font-size:25px;color:#1758df}.classroom-box h3{font-size:14px;display:inline;margin-left:9px}.classroom-box ol{padding-left:18px;color:var(--muted);font-size:11px;line-height:2.1}.classroom-box a{font-size:12px;margin-top:15px}.submission-state{display:block;font-size:10px;color:#526787;line-height:1.8}.prepared-panel{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:25px;margin-top:25px}.prepared-panel h2{font-size:19px;margin:10px 0}.prepared-panel p{font-size:12px;color:var(--muted);margin-bottom:15px}.prepared-panel .local-warning{margin:20px 0 0;padding:13px;border-radius:8px;background:#fff6d9;color:#72500b;font-size:11px}.qr-preview{text-align:center;padding-top:15px}.qr-preview img{max-width:100%;height:auto;image-rendering:pixelated}.qr-preview a{font-size:11px;color:var(--green);display:block;margin-top:10px}.report-section-title{font-size:14px;margin:28px 0 10px}.report-reading{font:22px/1.8 Georgia,serif;white-space:pre-wrap;overflow-wrap:anywhere}.report-reflection{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}#submission-status{margin-top:20px}
@media(max-width:1050px){.submission-layout{grid-template-columns:1fr}.submission-options .panel{padding:25px}.prepared-panel{grid-template-columns:1fr 170px}}
@media(max-width:600px){.prepared-panel{grid-template-columns:1fr}.qr-preview{padding-top:0}.submission-title h2{font-size:16px}.submission-layout .panel{padding:22px 18px}.prepared-panel .button-row{align-items:flex-start;flex-direction:column}}

/* ブルーと濃紺の面で情報の強弱を明確にする。 */
.sidebar{background:#102958;border-right:0;color:#fff}.brand small,.sidebar-label,.version{color:#b5caf0}.brand-icon{background:#3979ff;box-shadow:0 0 0 1px #ffffff20}.nav-item{color:#c8d9f6}.nav-item.active{background:#2865e7;color:#fff;box-shadow:0 6px 18px #0002}.nav-item:hover:not(.active){background:#1d3c70}.sidebar-note strong{color:#fff}.sidebar-note p{color:#c1d3ef}.teacher-entry{background:transparent;border-color:#3a527b;color:#fff}.topbar{background:#fff;border-bottom:1px solid #c7d8f1;color:#334f77}.prototype-badge{background:#edf3ff;border-color:#bfd3f6;color:#2253a8}.hero{background:linear-gradient(115deg,#104acb 0%,#2167ee 65%,#398aff 100%);box-shadow:0 14px 30px #185adc22;color:#fff;border:0;min-height:245px}.hero h2{font-size:29px;letter-spacing:.025em}.hero p{color:#e0ecff;font-size:13px}.small-tag{background:#ffd342;color:#173361;font-weight:750}.sound-card{box-shadow:9px 13px 0 #07369366;border:2px solid #fff}.sound-label{font-weight:650}.hero .spark{color:#ffe066}h1{font-size:33px;color:#102b58;font-weight:800}.section-heading h2{font-size:18px;font-weight:750}.entry-card{border:1px solid #bfd1ed;border-top:4px solid #2462e8;box-shadow:0 7px 20px #1945840b}.entry-card strong{font-size:19px;color:#123970}.entry-card p{font-size:12px;color:#405c82}.entry-icon,.entry-icon.mint{background:#e0eaff;color:#174fbf}.entry-arrow{background:#edf3ff;border-radius:50%;height:31px;width:31px;text-align:center;line-height:31px}.lesson-card{border-color:#c2d3ee;box-shadow:0 4px 12px #133b7908}.lesson-tag{font-weight:650}.panel{border-color:#c5d6ef;box-shadow:0 8px 24px #19458409}.primary{background:#1758df;box-shadow:0 4px 10px #1758df25}.primary:hover:not(:disabled){background:#1047bd;filter:none}.secondary{border-color:#a6bee5;color:#163f80}.record-box{border:2px solid #abc6f2;background:#e9f1ff}.record-box h3{color:#123c80}.reading-text{color:#102b58}.metric strong{color:#1758df}.metric>span{color:#405c82}.feedback h3{color:#174681}.quiet-note{color:#536787}.voice-settings{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:20px;padding:14px;background:#edf3ff;border-radius:9px}.voice-settings label{font-size:12px;font-weight:700;color:#173e7a}.voice-settings select{max-width:100%;min-width:180px;padding:9px 12px;background:#fff;border:1px solid #a9c2ec;border-radius:7px;color:#193b70;font-size:12px}.voice-settings>span{font-size:10px;color:#4b6180}
@media(max-width:760px){.sidebar{background:#102958}.teacher-entry{color:#fff}.hero{min-height:220px}.hero h2{font-size:19px}.hero p{font-size:11px}.sound-art{opacity:1}h1{font-size:26px}.entry-card strong{font-size:15px}.entry-card p{font-size:11px}.section-heading h2{font-size:16px}.voice-settings{align-items:flex-start;flex-direction:column}.voice-settings select{width:100%}.sidebar .brand{color:#fff}.nav-item{font-size:11px}}

/* 限定試用の入口と保存一覧も、ブルーを基調に読みやすく揃える。 */
.gate-body{min-height:100vh;display:grid;place-items:center;padding:32px 18px;background:linear-gradient(135deg,#102958,#1758df)}.gate-card{width:min(600px,100%);padding:42px;background:white;border-radius:22px;box-shadow:0 20px 70px #07183566}.gate-card h1{font-size:30px;line-height:1.5;margin:18px 0}.gate-card>p{line-height:1.9;color:var(--muted)}.gate-card form{margin-top:28px}.beta-notice{padding:18px 22px;background:#e5efff;border-left:4px solid #1758df;border-radius:8px;margin:24px 0;line-height:1.8;font-size:13px}.beta-notice p{margin:8px 0 0}.saved-list{display:grid;gap:16px}.saved-row{display:flex;gap:20px;align-items:center;justify-content:space-between}.saved-row>div{min-width:0;flex:1}.saved-row h2{font-size:18px;overflow-wrap:anywhere}.saved-row p{font-size:12px;color:var(--muted);margin:12px 0}.saved-row>button{flex-shrink:0}@media(max-width:600px){.gate-card{padding:26px 22px}.gate-card h1{font-size:25px}.saved-row{align-items:flex-start;flex-direction:column}}

/* 単語の一致・差分を色と記号の両方で区別する。 */
.word-comparison{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0;font-size:19px;line-height:1.8}.word-comparison span{padding:3px 8px;border-radius:6px}.word-match{background:#e6f2ff;color:#174c9c}.word-replace,.word-missing{background:#fff0d2;color:#78470a;border-bottom:2px solid #b97813}.word-extra{background:#f4e9ff;color:#643783}#live-transcript{min-height:50px;font-size:18px;overflow-wrap:anywhere}#speech-status{max-width:640px;margin:16px auto;line-height:1.8}[hidden]{display:none!important}.share-link-text{width:100%;min-height:95px;overflow-wrap:anywhere;padding:12px;font-size:12px}.qr-preview svg{width:min(100%,440px);height:auto;background:#fff}.shared-warning{padding:15px;background:#fff5d6;border-radius:8px;font-size:12px;line-height:1.9}

/* 初回案内と明示的な音声共有を、青い見出しと読みやすい間隔で示す。 */
.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:24px}.step-number{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#1758df;color:white;font-size:24px;font-weight:800;margin-bottom:18px}.guide-grid p,.share-steps{line-height:1.9}.share-steps{padding-left:22px}.audio-share-card{padding:24px;margin-top:24px;background:#eaf1ff;border:2px solid #1758df;border-radius:16px}.audio-share-card a{display:inline-flex}.panel details{border-top:1px solid #cbd9ef;padding:18px 0}.panel summary{cursor:pointer;font-weight:750;color:#123c89}.panel details p{line-height:1.9}.submission-options hr{border:0;border-top:1px solid #cbd9ef;margin:22px 0}.qr-preview svg{display:block;margin:16px auto}.share-link-text{overflow-wrap:anywhere}@media(max-width:800px){.guide-grid{grid-template-columns:1fr}}
