*{box-sizing:border-box}body{margin:0;background:#f3eee1;color:#342d22;font-family:'Yu Gothic','Meiryo',sans-serif}button,input{font:inherit}button{cursor:pointer}[hidden]{display:none!important}.workshop-page{max-width:1240px;margin:auto;padding:18px 14px 28px}.workshop-page h1{font-size:clamp(24px,3vw,36px);margin:8px 0}.workshop-page>p{line-height:1.8}.parent-note{font-size:14px}#host{container-type:inline-size;position:relative;isolation:isolate;width:100%;aspect-ratio:16/9;border:3px solid #6c7956;border-radius:16px;overflow:hidden;background:#9bac89 url('./assets/workshop.webp') center/100% 100%;font-weight:800}#host:fullscreen{width:100vw;height:100dvh;aspect-ratio:auto;border:0;border-radius:0}#base{height:100%;padding:1.5% 4% 2.3%;display:flex;flex-direction:column;gap:2%}#host button{font-weight:800;border:2px solid #b19056;border-radius:10px;background:#fff2d1;color:#49341f;min-height:2.3em;line-height:1.3;padding:.5em .7em;box-shadow:0 3px 0 #76592f66}#host button:hover{border-color:#b24629}#host button:focus-visible,input:focus-visible{outline:3px solid #fff;box-shadow:0 0 0 6px #235f65!important}#host button[aria-pressed=true],#host .red-button{background:#b14e2e;color:#fff9e8;border-color:#843920}.workshop-top{height:10%;min-height:38px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:clamp(11px,1.25cqw,21px)}.workshop-top>strong{font-size:1.9em;background:url('./assets/board.webp') center/100% 100%;padding:.35em .7em;white-space:nowrap}.top-tools{display:flex;gap:6px}.top-tools button{padding:.4em .6em!important}.wood{background:#e3bc7d url('./assets/board.webp') center/100% 100%}.paper{background:#faf3df url('./assets/slate.webp') center/100% 100%}.cover{flex:1;min-height:0;display:grid;grid-template-columns:54% minmax(0,1fr);gap:2%;font-size:clamp(12px,1.65cqw,27px)}.dan-panel{padding:5% 6%;display:flex;flex-direction:column;gap:5%;min-height:0}.cover h2{font-size:1.2em;margin:0}.dan-panel h2{color:#734725}#dan-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:5%;flex:1;min-height:0}#dan-grid button{font-size:1.3em;background:transparent url('./assets/tile.webp') center/100% 100%;border:0;box-shadow:none;padding:0;min-height:0}#dan-grid button b{font-size:1.8em}#dan-grid button small{font-size:.65em}#dan-grid button[aria-pressed=true]{outline:4px solid #a74024;outline-offset:-5px;color:#a13f25!important}.dan-extra{display:flex;gap:6%;font-size:1.05em}.dan-extra button{flex:1}.order{padding:7% 8%;display:flex;flex-direction:column;justify-content:center;gap:4%;min-height:0;text-align:center}.order h2{font-size:1.8em;color:#99422a}.order>p{margin:0;font-size:.8em}#type-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}#type-row button{font-size:.85em;padding:.55em .2em;box-shadow:none;min-height:3.8em}#type-row small{display:block;font-size:.55em;margin-top:.5em;white-space:nowrap}#type-row button:last-child{grid-column:2/4}.count-select{display:flex;gap:6px;justify-content:center;font-size:.75em}.count-select button{flex:1;padding:.6em .25em!important}.order #preview{font-size:.72em;color:#754326;border-top:1px dashed #b9a67e;padding-top:.8em}.order #start{font-size:1.1em}.weak-note{font-size:.55em;color:#665d4d}.play{flex:1;min-height:0;display:flex;flex-direction:column;gap:2%;font-size:clamp(12px,1.6cqw,25px)}.ruler{display:flex;justify-content:space-between;align-items:center;padding:1% 3%;font-size:.8em;flex-shrink:0}.ruler span{white-space:nowrap}.ruler b{font-size:1.6em;color:#ad4629}.ruler span:nth-child(2) b{color:#2f6044}.ruler span:last-child b{color:#2a5c74}.play-body{flex:1;min-height:0;display:grid;grid-template-columns:59% minmax(0,1fr);gap:2%}.question-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3%;padding:5%;min-height:0}#badge{align-self:flex-start;border-radius:7px;background:#60784f;color:#fff;padding:.25em .7em;font-size:.6em}#question{font-size:4.8cqw;line-height:1.25;min-height:1.5em;display:grid;place-content:center;text-align:center;width:100%}#question small{display:block;font-size:.55em;margin-top:.35em}.play[data-type=reverse] #question,.play[data-type=story] #question{font-size:2.3cqw;line-height:1.5}#groups{display:flex;align-items:center;justify-content:center;gap:3%;width:100%;flex:1;min-height:0;padding:2% 0}#groups .group{height:100%;max-height:14cqw;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;flex:1;min-width:0;border-right:1px solid #baaa7a;padding-right:2%}#groups .group:last-child{border:0;padding-right:0}#groups img{width:min(100%,2.1cqw);height:min(calc((100% - 24px)/var(--rows)),2.1cqw);object-fit:contain;flex-shrink:1;min-height:0}#group-label{font-size:.85em;margin:0;color:#765638}.answers{padding:6%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:6%;min-height:0}.answers button{background:transparent url('./assets/tile.webp') center/100% 100%!important;font-size:4.3cqw;min-height:0!important;border:0!important;padding:4%!important;box-shadow:none!important;position:relative;color:#432a1c!important}.play[data-type=reverse] .answers button{font-size:3cqw}.answers button.correct{outline:4px solid #2d6950;outline-offset:-4px}.answers button.wrong{outline:4px solid #a4402f;outline-offset:-4px}.answers button.correct::after,.answers button.wrong::after{content:'○';position:absolute;bottom:5%;right:8%;border-radius:50%;background:#fff8e5;color:#27694d;font-size:1.7cqw;width:1.2em;height:1.2em;line-height:1.2}.answers button.wrong::after{content:'△';color:#a34028}.play-bottom{display:flex;gap:2%;align-items:stretch;min-height:3.2em;flex-shrink:0}.play-bottom p{flex:1;min-width:0;margin:0;padding:.6em 1em;background:#fff2d3;border:2px solid #b79250;border-radius:10px;font-size:.78em;display:grid;place-content:center;line-height:1.4;text-align:center}.play-bottom button{font-size:.7em}.play[data-type=story] .play-body{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 26%;gap:2%}.play[data-type=story] .question-card{padding:2% 5%;gap:2%}.play[data-type=story] #question{font-size:2.5cqw;min-height:0}.play[data-type=story] #badge{display:none}.play[data-type=story] #groups{max-height:8cqw}.play[data-type=story] .group{flex-direction:row;border:1px solid #8d9a73;border-radius:10px;padding:5px;gap:3px;height:100%;max-width:22%}.play[data-type=story] #group-label{font-size:.7em}.play[data-type=story] .answers{grid-template-columns:repeat(4,1fr);grid-template-rows:1fr;padding:1% 3%;gap:3%}.play[data-type=story] .answers button{font-size:3.5cqw}.result{flex:1;min-height:0;background:#f7ecd5 url('./assets/record.webp') center/100% 100%;padding:4% 6% 3%;display:flex;flex-direction:column;gap:4%;font-size:clamp(12px,1.6cqw,26px)}.result h2{color:#a64429;font-size:1.8em;margin:0}.result-body{display:grid;grid-template-columns:42% minmax(0,1fr);gap:8%;flex:1;min-height:0}.result-left{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5%;min-height:0}.score-stamp{width:80%;max-height:75%;aspect-ratio:1;border:7px double #b94933;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#ae3d2b;font-size:2em;gap:.1em}.score-stamp strong{font-size:2.2em;line-height:1}.score-stamp span{align-self:center;font-size:.8em}.result-left p{margin:0;font-size:.75em}.review{display:flex;flex-direction:column;gap:4%;min-height:0}.review h3{font-size:.9em;margin:0;background:#e8e8cf;padding:.4em .6em}#review-list{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:start;gap:4%}#review-list p{font-size:1.3em;border-bottom:1px solid #c4b391;padding:.2em;margin:0;line-height:1.3}#review-list small{font-size:.5em;color:#775d42;margin-left:1em}#perfect{font-size:1em;line-height:1.8}#review-nav{display:flex;align-items:center;justify-content:center;gap:8%;font-size:.6em}.result-actions{display:flex;justify-content:center;gap:3%;flex-shrink:0}.result-actions button{font-size:.82em;white-space:nowrap}.result-actions #weak-again{background:#f0d18c}#modal{position:absolute;inset:0;background:#233f39c9;display:grid;place-items:center;padding:3%;z-index:8}.dialog{width:85%;max-width:800px;max-height:96%;overflow:auto;background:#fbf2dc url('./assets/slate.webp') center/100% 100%;padding:4% 5%;border-radius:16px;font-size:clamp(14px,1.6cqw,25px)}.dialog header{display:flex;align-items:center;justify-content:space-between;gap:10px}.dialog h2{font-size:1.4em;margin:0}.dialog p{line-height:1.7}.dialog small{display:block;font-size:.8em;line-height:1.7}.dialog button{margin:.3em}.dialog input{width:95%}.dialog label{display:block;margin-top:1em}
@media(max-width:600px) and (orientation:portrait){.workshop-page{padding:12px 8px}#host{height:760px;aspect-ratio:auto;background-size:auto 100%}#host:fullscreen{height:100dvh}#base{padding:12px 8px 15px;gap:10px}.workshop-top{height:auto;min-height:77px;flex-wrap:wrap;justify-content:center;font-size:11px;gap:8px}.workshop-top>strong{font-size:21px}.top-tools button{min-height:31px!important}.cover{grid-template-columns:1fr;grid-template-rows:46% minmax(0,1fr);gap:10px;font-size:16px}.dan-panel{padding:18px 20px;gap:10px}.cover h2{font-size:16px}.dan-panel h2{text-align:center}#dan-grid{gap:8px}#dan-grid button{font-size:16px}#dan-grid button b{font-size:29px}.dan-extra{font-size:13px;gap:10px}.dan-extra button{min-height:33px!important;padding:5px!important}.order{padding:20px;gap:9px}.order h2{font-size:24px}.order>p{font-size:12px}#type-row{gap:5px;width:100%}#type-row button{font-size:13px;min-height:47px;padding:4px!important}#type-row small{font-size:8px}.count-select{font-size:12px;width:100%;gap:5px}.count-select button{min-height:31px!important;padding:4px!important}.order #preview{padding-top:7px;font-size:11px}.order #start{font-size:19px;width:100%;min-height:38px!important}.weak-note{font-size:10px}.play{font-size:16px;gap:10px}.ruler{font-size:10px;display:grid;grid-template-columns:1fr 1fr;padding:10px 18px;gap:6px 12px;text-align:center}.ruler b{font-size:18px}.play-body{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 36%;gap:10px}.question-card{padding:17px 20px;gap:10px}#badge{font-size:10px}#question{font-size:38px;min-height:1.5em}.play[data-type=reverse] #question,.play[data-type=story] #question{font-size:21px;line-height:1.5}#question small{font-size:16px}#groups{gap:4px;padding:0}#groups .group{max-height:160px;padding-right:3px;gap:2px}#groups img{width:min(100%,19px);height:min(calc((100% - 16px)/var(--rows)),19px)}#group-label{font-size:13px}.answers{padding:12px 15px;gap:8px}.answers button{font-size:39px}.play[data-type=reverse] .answers button{font-size:28px}.answers button.correct::after,.answers button.wrong::after{font-size:19px}.play-bottom{min-height:63px;flex-wrap:wrap;gap:6px}.play-bottom p{font-size:12px;min-height:47px;padding:7px}.play-bottom button{font-size:10px;padding:5px!important}.play[data-type=story] .play-body{grid-template-rows:minmax(0,1fr) 36%}.play[data-type=story] .question-card{padding:18px 20px;gap:12px}.play[data-type=story] #groups{max-height:none;flex-wrap:wrap;align-content:center;gap:7px}.play[data-type=story] .group{max-width:none;flex:0 0 30%;height:65px;flex-wrap:wrap;gap:1px;justify-content:center;align-content:center;padding:4px}.play[data-type=story] #groups img{width:14px;height:14px}.play[data-type=story] #group-label{font-size:12px}.play[data-type=story] .answers{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;padding:12px 15px;gap:8px}.play[data-type=story] .answers button{font-size:39px}.result{padding:25px 22px;font-size:16px;gap:15px}.result h2{font-size:23px;text-align:center}.result-body{grid-template-columns:1fr;grid-template-rows:37% minmax(0,1fr);gap:17px}.result-left{display:grid;grid-template-columns:55% 1fr;grid-template-rows:1fr 1fr;gap:5px 10px}.score-stamp{grid-row:1/3;width:100%;height:auto;max-height:100%;border-width:5px;font-size:22px}.score-stamp strong{font-size:49px}.result-left p{font-size:12px;line-height:1.6}.review{gap:10px}.review h3{font-size:14px}#review-list{gap:6px}#review-list p{font-size:23px;padding:3px;line-height:1.2}#review-list small{font-size:10px}#review-nav{font-size:11px}#review-nav button{font-size:11px!important;min-height:28px!important}.result-actions{flex-wrap:wrap;gap:7px}.result-actions button{font-size:13px!important;min-height:36px!important;padding:7px!important}.dialog{width:100%;padding:23px;font-size:15px}.dialog h2{font-size:20px}.dialog header button{font-size:12px}.dialog p{line-height:1.6}}
@media(max-height:550px) and (orientation:landscape){.workshop-page{padding:8px}#host{width:min(100%,calc((100dvh - 16px)*16/9));margin:auto}.workshop-top{min-height:29px;font-size:9px}.workshop-top>strong{font-size:15px}.top-tools{gap:3px}.top-tools button{font-size:9px}.cover{font-size:1.65cqw}.play{font-size:1.6cqw}.result{font-size:1.6cqw}.dialog{font-size:14px}.dialog p{margin:.5em 0}}

.play[data-type=story] .group{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));justify-items:center;align-content:center;gap:3px}.play[data-type=story] #groups img{width:1.8cqw;height:1.8cqw}.score-stamp{width:min(80%,20cqw);max-height:none;flex-shrink:0}#perfect{flex:1;display:grid;place-content:center;text-align:center}
@media(max-width:600px) and (orientation:portrait){.play[data-type=story] #groups img{width:14px;height:14px}.score-stamp{width:100%;max-height:none}}

.play[data-type=story] #groups .group{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));justify-items:center;align-content:center;gap:3px;border:1px solid #8d9a73;border-radius:10px;padding:5px;height:100%;max-height:100%}.play[data-type=story] #groups .group:last-child{border:1px solid #8d9a73;padding:5px}
@media(max-width:600px) and (orientation:portrait){.play[data-type=story] #groups .group{flex:0 0 30%;height:65px;max-height:65px;max-width:none;padding:4px;gap:1px}.play[data-type=story] #groups .group:last-child{padding:4px}}

@media(max-width:600px) and (orientation:portrait){.result{padding-top:60px}.result h2{font-size:21px}.result-body{grid-template-rows:155px minmax(0,1fr);gap:12px}.review{gap:7px}.review #review-list{gap:3px}#review-list p{font-size:21px;line-height:1.2;padding:3px;flex-shrink:0}#review-nav{flex-shrink:0}.review{background:#fff9ecb8}}

@media(max-width:600px) and (orientation:portrait){#review-list p{font-size:20px;padding:2px}}

#review-list{display:grid;grid-template-rows:repeat(5,minmax(0,1fr));gap:0}#review-list p{min-height:0;display:flex;align-items:center;padding:.1em 0;line-height:1.2;white-space:nowrap}
@media(max-width:600px) and (orientation:portrait){#review-list p{font-size:19px;padding:1px 0}.review #review-list{gap:0}#review-list small{margin-left:.5em}}
@media(max-height:550px) and (orientation:landscape){#review-list p{font-size:1.8cqw;padding:0}}
