@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;500;600;700;800;900&display=swap";:root{font-family:Noto Sans JP,sans-serif;color:#303e34;background:#f5f3ea;font-synthesis:none;--green:#304b3d;--red:#bd493c;--line:#d9dcd1;--serif:"Noto Serif JP","Yu Mincho",serif}*{box-sizing:border-box}body{margin:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.035' filter='url(%23n)'/%3E%3C/svg%3E")}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;background:transparent;border:1px solid #c9cec1;border-radius:3px;padding:12px 20px;transition:background .18s,transform .18s}button:hover:not(:disabled){background:#e9ecdf;transform:translateY(-1px)}button:focus-visible,a:focus-visible{outline:3px solid #bd493c;outline-offset:5px}button:disabled{cursor:default;opacity:.45}a{color:inherit}.topbar{max-width:1280px;margin:0 auto;height:101px;display:flex;align-items:center;justify-content:space-between;padding:0 52px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;font-family:var(--serif);font-weight:700;font-size:18px;letter-spacing:1px}.brand-mark{display:grid;place-items:center;font-size:23px;border:1.5px solid #536754;width:38px;height:38px}.brand-sub{font-family:Noto Sans JP,sans-serif;font-weight:400;font-size:11px;color:#899082;margin-left:10px;letter-spacing:1px}.sound{display:flex;gap:11px;align-items:center;border:none;font-size:23px}.sound span{font-size:11px;letter-spacing:1px}.home{max-width:1140px;margin:auto;padding:50px 32px 0}.intro-label{font-size:12px;letter-spacing:2px;display:flex;align-items:center;gap:11px}.intro-label>span{height:7px;width:7px;border-radius:50%;background:var(--red)}.hero{display:grid;grid-template-columns:1fr 1fr;gap:35px;min-height:590px;padding-top:29px}.hero-copy{padding:14px 0 0 10px}.edition{font-size:13px;letter-spacing:3px;display:flex;gap:16px;align-items:center}.edition>span{font-size:10px;border-left:1px solid #aeb6a7;padding-left:16px;letter-spacing:1px;color:#7c8576}h1,h2,h3,p{margin:0}.hero h1{font-family:var(--serif);font-size:74px;font-weight:800;line-height:1.42;letter-spacing:5px;margin:16px 0 22px;color:#293e30}.red{color:var(--red);position:relative}.red:after{content:"";position:absolute;bottom:-6px;left:2px;right:1px;border-bottom:3px solid var(--red);transform:rotate(-2deg);opacity:.7}.title-stop{color:var(--red)}.lead{font-family:var(--serif);font-size:19px;line-height:1.95;font-weight:600;letter-spacing:1px}.aside-note{font-size:11px;color:#7d8578;margin-top:16px;letter-spacing:.5px}.primary{background:var(--green);color:#fffdf4;border:1px solid var(--green);box-shadow:0 3px #1f3529;font-weight:600;letter-spacing:1px}.primary:hover:not(:disabled){background:#42614e}.start{display:flex;justify-content:space-between;align-items:center;max-width:355px;width:100%;padding:19px 25px;margin-top:30px;font-size:19px}.start>span:last-child{font-size:27px;font-weight:400}.start-meta{display:flex;gap:11px;align-items:center;font-size:10px;margin-top:15px;color:#7c8578}.start-meta i{height:3px;width:3px;background:#9ba18e;border-radius:50%}.hero-art{position:relative;margin-top:18px;padding:25px 25px 0;transform:rotate(2deg);height:510px}.paper-label{font-family:var(--serif);font-size:11px;letter-spacing:1px;margin:0 0 12px 12px;color:#8c9285;display:flex;justify-content:space-between;max-width:356px}.paper-label span{border-bottom:1px solid #b9bfb1;min-width:100px;text-align:center;color:#64715e}.demo-grid{width:365px;height:365px;background:#fffef7;border:2px solid #819078;box-shadow:8px 9px #d9ddd04d,0 5px 20px #384f3510;position:relative}.grid-cross:before,.grid-cross:after{content:"";position:absolute;z-index:0;pointer-events:none}.grid-cross:before{left:50%;top:0;bottom:0;border-left:1px dashed #b6bfac}.grid-cross:after{top:50%;left:0;right:0;border-top:1px dashed #b6bfac}.hero-kanji{width:100%;height:100%;position:relative}.demo-stroke{fill:none;stroke:#354337;stroke-width:4.7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:110;stroke-dashoffset:0;animation:ink 7s infinite}.s3{animation-delay:0s}.s1{animation-delay:.8s}.s2{animation-delay:1.6s}@keyframes ink{0%{stroke-dashoffset:110}15%,85%{stroke-dashoffset:0}to{stroke-dashoffset:0}}.stamp{position:absolute;right:-25px;top:18px;border:2px solid var(--red);border-radius:50%;width:83px;height:83px;display:grid;place-content:center;text-align:center;line-height:1.35;font-family:var(--serif);font-size:21px;color:var(--red);transform:rotate(-16deg);box-shadow:inset 0 0 0 3px #fffef7,inset 0 0 0 4px var(--red)}.teacher-home{position:absolute;bottom:4px;left:-51px;transform:rotate(-2deg);width:190px;height:220px}.teacher{width:100%;height:100%;overflow:visible}.teacher-name{position:absolute;bottom:-9px;left:31px;font-size:10px;letter-spacing:2px;color:#7f8879}.bubble{background:#fffef7;border:1px solid #aab39f;border-radius:7px;position:relative;padding:18px 23px;font-family:var(--serif);font-size:17px;line-height:1.7;font-weight:500;box-shadow:3px 3px #d9decf66}.bubble:after{content:"";position:absolute;left:22px;bottom:-9px;height:15px;width:15px;border-right:1px solid #aab39f;border-bottom:1px solid #aab39f;transform:skewY(30deg);background:#fffef7}.teacher-home .bubble{position:absolute;top:32px;left:155px;width:186px;transform:rotate(-4deg)}.bubble strong{font-weight:600;border-bottom:1px solid var(--red)}.bubble-mark{position:absolute;right:22px;top:16px;color:var(--red);font-size:30px;transform:rotate(10deg)}.pencil{position:absolute;right:7px;top:195px;height:242px;width:11px;background:linear-gradient(90deg,#b18d57 33%,#dcc08a 33%,#dcc08a 70%,#a58553 70%);transform:rotate(22deg);box-shadow:2px 3px 4px #3b3f3922}.pencil:before{content:"";position:absolute;top:-21px;border-left:5.5px solid transparent;border-right:5.5px solid transparent;border-bottom:21px solid #d7b888}.pencil:after{content:"";position:absolute;top:-22px;left:3px;border-left:2.5px solid transparent;border-right:2.5px solid transparent;border-bottom:8px solid #3a4236}.pencil span{position:absolute;bottom:0;left:0;right:0;height:15px;background:#a75342;border-top:9px solid #b7baac}.art-note{position:absolute;right:8px;bottom:23px;font-family:var(--serif);font-size:11px;color:#868b7d;letter-spacing:1px;transform:rotate(-2deg)}.howto{border-top:1px solid #bac3b0;border-bottom:1px solid #bac3b0;padding:29px 0;display:grid;grid-template-columns:1.05fr 1fr 1fr 1fr;gap:16px;align-items:center;margin-top:28px}.howto-title>span{font-family:var(--serif);font-weight:600;font-size:17px;letter-spacing:1px}.howto-title small{display:block;font-size:10px;color:#87907f;margin-top:9px}.step{display:flex;gap:12px;position:relative;padding-left:21px;border-left:1px solid var(--line);min-height:78px}.step-n{font-family:var(--serif);font-size:14px;color:var(--red);font-weight:600}.step h3{font-family:var(--serif);font-size:17px;font-weight:600;margin-bottom:9px}.step p{font-size:10px;line-height:1.9;color:#7a8475}.step-icon{position:absolute;right:3px;top:0;font-family:var(--serif);font-size:25px;color:#71816c;opacity:.7}.flower{color:var(--red);font-size:35px;top:-8px}.school-note{display:flex;align-items:center;gap:24px;margin:26px 0 37px;font-size:10px}.school-note>span:first-child{border:1px solid #aeb8a3;padding:4px 10px;letter-spacing:1px;white-space:nowrap}.school-note p{color:#7d8775;font-size:11px}.note-flower{margin-left:auto;color:var(--red);font-size:29px}footer{max-width:1176px;margin:auto;border-top:1px solid var(--line);display:flex;gap:30px;justify-content:space-between;align-items:center;padding:24px 0;color:#92988b;font-size:9px;letter-spacing:.6px}footer button{border:0;padding:0;font-size:9px;color:#7d8874}.game{max-width:950px;margin:auto;padding:32px 28px 55px}.progress-row{display:flex;justify-content:space-between;font-size:11px;color:#7c8777;align-items:center}.progress-row b{margin-left:14px;letter-spacing:1px;font-weight:500}.progress-row strong{font-family:var(--serif);font-size:25px;color:var(--green)}.progress-track{display:flex;gap:5px;margin-top:11px}.progress-track i{height:3px;background:#dce0d5;flex:1}.progress-track .done{background:#718570}.progress-track .now{background:var(--red)}.game-heading{text-align:center;margin:33px 0 28px}.eyebrow{color:var(--red);font-size:11px;letter-spacing:2px;font-weight:600}.game-heading h1{font-family:var(--serif);font-size:29px;font-weight:700;margin:13px 0}.game-heading p{font-size:12px;color:#7f8978}.play-area{position:relative;max-width:640px;margin:auto}.exercise-paper{background:#fffef9;padding:17px 23px 13px;width:440px;margin:auto;box-shadow:2px 5px 19px #2d482b0c;border:1px solid #dddcd0}.paper-top,.paper-bottom{display:flex;justify-content:space-between;color:#829078;font-size:10px;margin-bottom:12px}.paper-top{font-family:var(--serif);font-size:13px}.paper-bottom{margin:12px 0 0;font-size:9px}.canvas-wrap{border:1.5px solid #8b9a80;aspect-ratio:1;background:#fffefa}.canvas-wrap canvas{display:block;width:100%;height:100%}.class-teacher{position:absolute;width:130px;height:150px;left:-43px;bottom:-18px;pointer-events:none}.class-teacher .bubble{position:absolute;left:-24px;bottom:144px;width:178px;font-size:13px;padding:12px 16px}.class-teacher .emphasis{border:2px solid var(--red);color:var(--red);transform:scale(1.04)}.controls{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:13px;margin-top:33px}.controls .primary{min-width:180px;display:flex;justify-content:space-between;gap:24px}.tools,.assist-tools{display:flex;gap:8px;align-items:center}.tools button,.assist-tools button{font-size:11px;padding:12px 14px}.selected{background:#e2e9dc;border-color:#73876c}.help{font-size:11px;text-align:center;color:#8a9382;margin-top:18px;line-height:1.9}.watch-status{font-size:12px;letter-spacing:1px;display:flex;gap:9px;align-items:center}.watch-status i{height:7px;width:7px;background:var(--red);border-radius:50%;animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.25}}#candidates{flex-basis:100%;text-align:center;font-size:11px}#candidates button{font-size:11px;padding:7px;margin:4px}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:690px;margin:auto}.comparison h3{text-align:center;font-family:var(--serif);font-size:15px;font-weight:500;margin-bottom:12px}.replay-paper{padding:13px;background:#fffef7;border:1px solid #e0ded3;box-shadow:2px 5px 19px #2d482b0c}.replay-paper canvas{width:100%;display:block;border:1px solid #9aa48e}.verdict{display:flex;gap:18px;justify-content:center;align-items:center;margin:20px 0;color:var(--red)}#verdict>p{font-size:12px;text-align:center;padding:25px}.grade-symbol{font-family:var(--serif);font-size:75px;line-height:1}.verdict h2{font-family:var(--serif);font-size:25px}.verdict p{font-size:11px;margin-top:7px;color:#84907b}.review-teacher{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:8px}.review-teacher .teacher{width:90px;height:105px;flex-shrink:0}.review-teacher .bubble{max-width:480px;font-size:14px}.national{text-align:center;font-size:11px;color:#85907c;padding-top:15px}.final{max-width:660px;padding:40px 25px 50px;margin:auto}.final>.eyebrow{text-align:center;margin-bottom:22px}.report{background:#fffdf5;border:1px solid #d9d7c8;padding:30px 42px;box-shadow:4px 5px #dddccd55;transform:rotate(-.5deg)}.report-top{display:flex;justify-content:space-between;font-size:10px;color:#87927c;border-bottom:1px solid #ced2c0;padding-bottom:13px}.report h1{text-align:center;font-family:var(--serif);letter-spacing:12px;font-size:35px;margin:22px 0}.report>p{text-align:center;font-family:var(--serif);font-size:13px}.name-line{display:inline-block;border-bottom:1px solid #aeb79f;width:170px;padding-bottom:8px;margin-left:15px}.report-score{position:relative;text-align:center;padding:21px 0;color:var(--red);border-bottom:1px solid #d4d7c9}.report-score>strong{font-family:var(--serif);font-size:82px;font-weight:600}.report-score>span{font-family:var(--serif);font-size:19px}.score-stamp{position:absolute;right:-11px;top:37px;transform:rotate(13deg);font-family:var(--serif);border:2px solid var(--red);padding:7px;font-size:13px}.report-metrics{display:grid;grid-template-columns:1fr 1fr;padding:20px 0;border-bottom:1px solid #d4d7c9}.report-metrics>div{display:flex;flex-direction:column;align-items:center;gap:8px}.report-metrics>div:first-child{border-right:1px solid #d4d7c9}.report-metrics span{font-size:11px;color:#859178}.report-metrics strong{font-size:30px;font-family:var(--serif)}.report-metrics small{font-size:14px;margin-left:5px}.title-award{text-align:center;padding:21px 0}.title-award>span{font-size:10px;color:#8a947f}.title-award h2{font-family:var(--serif);font-size:25px;margin-top:7px}.result-list{display:flex;justify-content:space-between;gap:5px;border-top:1px solid #d4d7c9;border-bottom:1px solid #d4d7c9;padding:13px 0}.result-list>div{display:flex;flex-direction:column;gap:3px;text-align:center;min-width:20px}.result-list small{font-size:8px;color:#99a08d;min-height:10px}.result-list b{font-family:var(--serif);font-size:17px}.result-list span{color:var(--red);font-size:19px}.report-comment{padding-top:19px}.report-comment>span{font-size:11px;color:var(--red)}.report-comment p{font-family:var(--serif);font-size:14px;line-height:1.9;margin-top:9px}.final .controls button{font-size:12px}.final .controls>.primary{justify-content:center;width:100%}dialog{max-width:560px;width:calc(100% - 32px);padding:40px;background:#fffef5;border:1px solid #99a48d;color:var(--green)}dialog::backdrop{background:#22372b77}dialog h2{font-family:var(--serif);font-size:25px;margin:16px 0}dialog p{font-size:13px;line-height:1.9;margin-top:12px}dialog .close{position:absolute;right:10px;top:10px;border:0;font-size:22px}@media(min-width:1400px){.home{padding-top:65px}.hero{min-height:620px}.hero-art{margin-left:35px;margin-top:27px}.hero h1{font-size:80px}.howto{margin-top:30px}footer{margin-top:10px}}@media(max-width:900px){.topbar{padding:0 25px;height:80px}.brand-sub{display:none}.home{padding-top:35px}.hero{gap:15px;min-height:550px}.hero h1{font-size:59px}.hero-art{padding:25px 0 0 20px;margin-top:25px}.demo-grid{width:295px;height:295px}.teacher-home{width:155px;height:180px;left:-30px;bottom:65px}.teacher-home .bubble{left:126px;width:156px;font-size:15px}.pencil{right:-7px;top:165px;height:200px}.art-note{bottom:40px;right:0}.howto{grid-template-columns:1fr 1fr 1fr}.howto-title{grid-column:1/-1;display:flex;gap:18px;align-items:center}.howto-title small{margin:0}.step:nth-child(2){border:0;padding-left:0}.step-icon{right:0;font-size:20px}.school-note{gap:15px}footer{margin:0 25px}.class-teacher{left:-4px;width:105px;height:125px}.class-teacher .bubble{width:144px;left:-25px;bottom:120px;font-size:11px}.exercise-paper{width:400px}}@media(max-width:650px){.topbar{padding:0 20px;height:73px}.brand{font-size:14px;gap:9px}.brand-mark{width:31px;height:31px;font-size:19px}.sound{font-size:20px;gap:7px;padding:8px}.sound span{font-size:9px}.home{padding:28px 24px 0}.intro-label{font-size:10px;letter-spacing:1px}.hero{display:flex;flex-direction:column;padding-top:27px;gap:0}.hero-copy{padding:0 2px;position:relative}.edition{font-size:12px}.edition>span{font-size:9px}.hero h1{font-size:61px;line-height:1.4;margin:13px 0 20px;letter-spacing:4px}.lead{font-size:16px;line-height:1.9}.aside-note{font-size:10px;margin-top:12px}.start{margin-top:24px;max-width:100%;font-size:17px;padding:17px 23px}.start-meta{justify-content:center;font-size:9px;margin-top:13px;gap:10px}.hero-art{align-self:center;width:320px;height:390px;padding:24px 0 0 31px;margin:35px 0 0}.demo-grid{width:265px;height:265px}.paper-label{max-width:260px;font-size:9px;margin-left:0}.stamp{width:65px;height:65px;font-size:17px;right:-12px;top:15px}.teacher-home{left:-8px;bottom:0;width:140px;height:165px}.teacher-home .bubble{left:117px;top:59px;width:151px;padding:13px 18px;font-size:14px}.teacher-name{font-size:9px;bottom:-8px}.bubble-mark{font-size:24px;right:18px;top:10px}.pencil{right:-4px;top:135px;height:180px;width:9px}.art-note{bottom:1px;right:3px;font-size:9px}.howto{margin-top:39px;gap:19px;padding:23px 0}.howto-title>span{font-size:15px}.howto-title small{font-size:9px}.step{padding-left:12px;gap:6px}.step-n{font-size:11px}.step h3{font-size:14px;margin-bottom:8px}.step p{font-size:9px;line-height:1.8}.step-icon{display:none}.step:nth-child(3){padding-left:12px}.school-note{flex-wrap:wrap;gap:10px;margin:22px 0 26px}.school-note>span:first-child{font-size:9px}.school-note p{font-size:10px;line-height:1.8;max-width:85%}.note-flower{position:absolute;right:26px}footer{flex-wrap:wrap;gap:13px;font-size:8px;padding:20px 0}footer>span:nth-child(2){display:none}footer button{font-size:8px}.game{padding:23px 17px 40px}.progress-row{font-size:9px}.progress-row b{margin-left:8px}.progress-row strong{font-size:23px}.game-heading{margin:26px 0 23px}.eyebrow{font-size:9px}.game-heading h1{font-size:22px;line-height:1.6;margin:10px 0}.game-heading p{font-size:10px;line-height:1.9}.exercise-paper{width:100%;max-width:400px;padding:14px 15px 11px}.paper-top{font-size:12px}.paper-bottom{font-size:8px}.class-teacher{position:relative;left:0;bottom:0;width:75px;height:88px;margin:13px 0 0 6px}.class-teacher .bubble{left:88px;bottom:15px;width:calc(100vw - 150px);max-width:270px;font-size:12px;padding:13px 16px}.class-teacher .bubble:after{left:-7px;bottom:15px;transform:rotate(130deg);width:12px;height:12px}.controls{margin-top:22px;gap:11px}.tools{width:100%;justify-content:center;gap:6px}.tools button{font-size:10px;padding:11px 12px;flex:1;white-space:nowrap}.controls>.primary{width:100%;padding:15px 24px;justify-content:center;font-size:14px}.help{font-size:10px;padding:0 9px}.comparison{gap:12px}.comparison h3{font-size:12px}.replay-paper{padding:7px}.verdict{gap:12px;margin:21px 0}.grade-symbol{font-size:60px}.verdict h2{font-size:21px}.verdict p{font-size:9px;line-height:1.8}.review-teacher{gap:10px}.review-teacher .teacher{width:65px;height:80px}.review-teacher .bubble{font-size:11px;padding:12px 14px}.national{font-size:9px;padding-top:15px}.review .controls button:not(.primary){font-size:11px;padding:11px}.final{padding:29px 17px 35px}.report{padding:24px 21px}.report h1{font-size:29px;letter-spacing:9px}.report-score>strong{font-size:73px}.report-score>span{font-size:15px}.score-stamp{font-size:10px;right:-7px;top:22px}.title-award h2{font-size:23px}.result-list{gap:3px}.result-list b{font-size:16px}.report-comment p{font-size:12px}.report-top{font-size:9px}dialog{padding:35px 25px}dialog h2{font-size:21px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.rewatch-button{display:flex;flex-direction:column;align-items:center;gap:4px;border-color:#a6b49b;background:#fffdf5;font-size:13px}.rewatch-button small{font-size:10px;color:#9b5646}.earned-points{font-weight:600;color:#b64538!important}.report-score>strong{font-size:clamp(52px,9vw,82px)}.report-score .score-stamp{position:static;display:table;margin:5px auto 0;transform:rotate(-4deg);font-size:11px}.result-list>div{flex:1;min-width:0}.result-list small{font-size:8px;overflow-wrap:anywhere}@media(max-width:650px){.controls>.rewatch-button{width:100%;padding:12px}.class-teacher{height:auto;min-height:120px;width:100%;display:flex;align-items:center;gap:13px;margin:13px 0 0}.class-teacher .teacher{width:75px;height:88px;flex:none}.class-teacher .bubble{position:relative;left:auto;bottom:auto;width:auto;flex:1;max-width:none;font-size:12px}.class-teacher .bubble:after{top:calc(50% - 6px);bottom:auto}.report-score>span{font-size:15px}.earned-points{font-size:10px!important}}body.testing #app{min-height:100dvh;display:grid;grid-template-rows:40px minmax(0,1fr)}body.testing .topbar{height:40px;width:100%;max-width:950px;padding:0 16px}body.testing .brand{font-size:12px;gap:8px}body.testing .brand-mark{width:25px;height:25px;font-size:16px}body.testing .brand-sub{display:none}body.testing .sound{padding:4px 10px;font-size:18px}body.testing footer{display:none}body.testing .game{height:calc(100dvh - 40px);min-height:490px;width:100%;max-width:950px;margin:0 auto;padding:7px 14px max(7px,env(safe-area-inset-bottom));display:grid;grid-template-rows:20px 2px auto minmax(0,1fr) auto 16px;gap:5px}body.testing .progress-row{font-size:9px}body.testing .progress-row strong{font-size:19px}body.testing .progress-track{margin:0;gap:4px}body.testing .progress-track i{height:2px}body.testing .game-heading{margin:2px 0;text-align:center}body.testing .game-heading .eyebrow{display:none}body.testing .game-heading h1{font-size:19px;line-height:1.35;margin:0 0 2px}body.testing .game-heading p{font-size:10px;line-height:1.4}body.testing .play-area{width:100%;height:100%;min-height:0;max-width:none;margin:0;container-type:size;display:flex;flex-direction:column;align-items:center;gap:6px}body.testing .exercise-paper{width:min(100cqw,calc(100cqh - 106px),440px);max-width:none;flex-shrink:0;margin:0;padding:7px;box-shadow:none}body.testing .paper-top{font-size:11px;line-height:16px;height:16px;margin:0 0 4px}body.testing .paper-bottom{font-size:9px;line-height:12px;height:12px;margin:4px 0 0}body.testing .canvas-wrap{aspect-ratio:1;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}body.testing .class-teacher{position:static;display:flex;align-items:center;gap:10px;width:min(100%,500px);height:56px;min-height:56px;margin:0;flex:none;pointer-events:none}body.testing .class-teacher .teacher{width:49px;height:56px;flex:none}body.testing .class-teacher .bubble{position:relative;left:auto;bottom:auto;width:auto;max-width:none;flex:1;padding:5px 10px;font-size:11px;line-height:1.5;box-shadow:none}body.testing .class-teacher .bubble:after{left:-6px;top:calc(50% - 5px);bottom:auto;width:10px;height:10px;transform:rotate(130deg)}body.testing .class-teacher .emphasis{transform:none}body.testing .controls{width:100%;max-width:560px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:stretch}body.testing .tools{display:contents}body.testing .controls button{min-width:0;min-height:44px;padding:6px 10px;font-size:12px;line-height:1.3;box-shadow:none;transform:none}body.testing .controls>.primary{width:auto;justify-content:center;align-items:center}body.testing .controls>.rewatch-button{width:auto;gap:2px;font-size:12px}body.testing .rewatch-button small{font-size:9px;line-height:1.2}body.testing .help{margin:0;padding:0;font-size:9px;line-height:1.4;align-self:center}body.testing .watch-status{grid-column:1/-1;justify-content:center;min-height:44px;font-size:11px}body.testing .game:not(.review)>.controls:has(#write){grid-template-columns:1fr 1fr}body.testing .game:not(.review)>.controls:has(#write) #write{grid-column:2;grid-row:1}body.testing .game:not(.review)>.controls:has(#write) #rewatch{grid-column:1;grid-row:1}body.testing .game.review{grid-template-rows:20px 2px auto minmax(0,1fr) 84px 60px 17px 44px;gap:5px}body.testing .comparison{width:100%;height:100%;max-width:none;min-height:0;container-type:size;gap:10px;margin:0}body.testing .comparison>div{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}body.testing .comparison h3{font-size:12px;line-height:16px;margin:0}body.testing .replay-paper{width:min(calc(50cqw - 5px),calc(100cqh - 34px),300px);padding:5px;box-shadow:none}body.testing #verdict{height:84px;display:grid;align-items:center}body.testing #verdict>p{padding:0;font-size:11px}body.testing .verdict{margin:0;gap:12px}body.testing .grade-symbol{font-size:48px}body.testing .verdict h2{font-size:19px;line-height:1.4}body.testing .verdict p{font-size:10px;line-height:1.4;margin-top:3px}body.testing .review-teacher{margin:0 auto;max-width:560px;gap:10px;width:100%;height:60px}body.testing .review-teacher .teacher{width:49px;height:56px}body.testing .review-teacher .bubble{font-size:11px;line-height:1.5;padding:5px 10px;max-width:none;flex:1;box-shadow:none}body.testing .national{padding:0;font-size:9px;line-height:17px}body.testing .review .controls button:not(.primary){font-size:11px;padding:6px}body.testing .review #next{grid-column:2}@media(min-width:700px){body.testing .game{gap:7px;padding:10px 25px;grid-template-rows:20px 2px 45px minmax(0,1fr) auto 16px}body.testing .controls{max-width:700px;grid-template-columns:1fr 1fr 1.35fr 1.35fr}body.testing .review .controls{grid-template-columns:1fr 1fr}body.testing .review #next{grid-column:2}body.testing .game.review{grid-template-rows:20px 2px 45px minmax(0,1fr) 84px 60px 17px 44px}}@media(max-height:600px)and (orientation:landscape){body.testing .game:not(.review){min-height:290px;grid-template-columns:minmax(0,1fr) minmax(210px,.8fr);grid-template-rows:20px 2px 34px minmax(0,1fr) 26px;gap:5px}body.testing .progress-row,body.testing .progress-track{grid-column:1/-1}body.testing .game:not(.review) .play-area{grid-column:1;grid-row:3/6}body.testing .game:not(.review) .game-heading{grid-column:2;grid-row:3}body.testing .game:not(.review) .controls{grid-column:2;grid-row:4;align-content:center;grid-template-columns:1fr 1fr}body.testing .game:not(.review) .help{grid-column:2;grid-row:5}body.testing .game-heading h1{font-size:16px}body.testing .class-teacher{height:50px;min-height:50px}body.testing .class-teacher .teacher{width:40px;height:46px}body.testing .exercise-paper{width:min(100cqw,calc(100cqh - 100px),440px)}}.daily-date{display:flex;align-items:center;justify-content:space-between;max-width:355px;margin-top:20px;color:#78816f;font-size:10px}.daily-date span:first-child{color:#b3483a;letter-spacing:1px}.daily-date+.start{margin-top:10px}.audio-hint{font-size:10px;color:#818b78;line-height:1.6;margin-top:10px}.grade-section{margin:20px 0 38px;padding:25px 0 0;border-top:1px solid #bfc8b6}.grade-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px}.grade-section h2{font-family:var(--serif);font-size:25px;margin:6px 0 8px;letter-spacing:2px}.grade-section p{font-size:11px;color:#7b8772;line-height:1.9}.grade-section .eyebrow{font-size:10px}.grade-status{border:1px solid #c4cfbb;padding:7px 12px;color:#63765d;font-size:11px;white-space:nowrap}.grade-buttons{display:grid;grid-template-columns:repeat(6,1fr);gap:11px}.grade-button{display:flex;flex-direction:column;align-items:center;gap:7px;padding:19px 8px 15px;min-height:116px;background:#fffdf5;border-color:#b8c5ad;position:relative}.grade-button .grade-number{font-family:var(--serif);font-weight:700;font-size:23px}.grade-button .grade-caption{font-size:10px;line-height:1.6;color:#7e8b72}.grade-button.cleared{background:#e9efdf;border-color:#8ca57a}.grade-button.cleared:after{content:"合格";position:absolute;right:7px;top:7px;font-family:var(--serif);font-size:10px;border:1px solid #b94a3d;color:#b94a3d;padding:1px 4px;transform:rotate(8deg)}.grade-button:disabled{opacity:.5;background:#ebece4}.grade-save-note{font-size:10px!important;margin-top:13px!important;color:#919883!important}.promotion{margin:24px 0 0;border:1px solid #9daf90;background:#edf1e6;padding:17px 21px;text-align:center}.promotion strong{font-family:var(--serif);font-size:24px;color:#b5483b}.promotion p{margin-top:7px;font-size:12px;color:#6a7c61;line-height:1.7}.promotion.fail{border-color:#c6b9a1;background:#f3eee3}.final .controls #next-grade{width:100%;justify-content:center}.final .grade-result-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;width:100%}.final .grade-result-actions>button.primary{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;padding:16px 20px;font-size:13px;line-height:1.5}.test-label{font-size:10px;color:#7d8a72;text-align:center;margin-bottom:5px}@media(max-width:650px){.daily-date{max-width:none;font-size:9px;margin-top:18px}.grade-section{margin:35px 0 28px;padding-top:22px}.grade-section-head{align-items:flex-start;gap:9px}.grade-section h2{font-size:23px}.grade-section p{font-size:10px}.grade-status{font-size:9px;padding:6px 8px;margin-top:5px}.grade-buttons{grid-template-columns:repeat(3,1fr);gap:10px}.grade-button{padding:22px 6px 12px;min-height:108px}.grade-button .grade-number{font-size:21px}.grade-button .grade-caption{font-size:9px}.promotion{padding:15px}.promotion strong{font-size:22px}.promotion p{font-size:11px}}.daily-ranking-link{display:block;width:fit-content;margin:16px auto 0;border:1px solid #aab3a4;background:#fffdf6;padding:12px 20px;font-weight:700}.daily-rank-card{max-width:660px;margin:20px auto;padding:20px;background:#eeede4;border:1px solid #d9d7c8;border-radius:8px}.daily-rank-card h2{margin:0 0 8px;font-size:18px}.daily-rank-card>p{font-size:13px;color:#7d8778}.daily-rank-card form{display:flex;gap:10px;align-items:stretch}.daily-rank-card input{flex:1;min-width:0;border:1px solid #bfc5b9;border-radius:5px;background:#fff;padding:13px 15px;font:inherit;font-size:16px}.daily-rank-card form button{padding:12px 18px;white-space:nowrap}.daily-rank-card #daily-rank-status{min-height:1em;margin-bottom:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ranking-dialog{box-sizing:border-box;width:min(560px,calc(100% - 24px));max-height:min(82dvh,720px);overflow:auto}.ranking-dialog .ranking-scroll{width:100%;min-width:0}.ranking-dialog .ranking-list{box-sizing:border-box;width:100%;min-width:0;padding-left:25px}.ranking-dialog .ranking-list li{display:grid;grid-template-columns:45px minmax(0,1fr) auto;gap:10px;align-items:center;border-bottom:1px solid #d9dcd1;padding:10px 0;font-size:14px}.ranking-dialog .ranking-list li strong{white-space:nowrap}.ranking-dialog .ranking-list li b{min-width:0;overflow-wrap:anywhere}.ranking-dialog .ranking-list li.ranking-empty{display:block;width:100%;box-sizing:border-box;padding:16px 4px;text-align:center;line-height:1.7;overflow-wrap:normal;word-break:keep-all}.result-list [data-rate]{font-size:8px;color:#778475;white-space:nowrap}@media(max-width:650px){.daily-rank-card{margin:18px 0;padding:16px}.daily-rank-card h2{font-size:16px}.daily-rank-card form{flex-direction:column}.daily-rank-card form button{width:100%;font-size:14px}.result-list{flex-wrap:wrap;justify-content:flex-start;gap:7px 11px}.result-list>div{min-width:42px;flex:1}.result-list [data-rate]{white-space:normal}.ranking-dialog .ranking-list li{grid-template-columns:39px 1fr auto;font-size:13px}}.teacher-home .bubble,body.testing .class-teacher .bubble,body.testing .review-teacher .bubble{--speech-border:#aab39f;overflow:visible;isolation:isolate}body.testing .class-teacher .bubble.emphasis{--speech-border:var(--red)}.teacher-home .bubble:before,body.testing .class-teacher .bubble:before,body.testing .review-teacher .bubble:before{content:"";position:absolute;left:-11px;right:auto;top:50%;bottom:auto;width:0;height:0;border:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-right:11px solid var(--speech-border);background:none;transform:translateY(-50%);box-shadow:none}.teacher-home .bubble:after,body.testing .class-teacher .bubble:after,body.testing .review-teacher .bubble:after{content:"";position:absolute;left:-9px;right:auto;top:50%;bottom:auto;width:0;height:0;border:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:10px solid #fffef7;background:none;transform:translateY(-50%);box-shadow:none}
