@font-face{font-family:Paperlogy;src:url('../festival-planning-v2/assets/fonts/Paperlogy-5Medium.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:Paperlogy;src:url('../festival-planning-v2/assets/fonts/Paperlogy-7Bold.woff2') format('woff2');font-weight:700;font-display:swap}@font-face{font-family:Paperlogy;src:url('../festival-planning-v2/assets/fonts/Paperlogy-8ExtraBold.woff2') format('woff2');font-weight:800;font-display:swap}
:root{font-family:Paperlogy,'Malgun Gothic',sans-serif;color:#193b3a;background:#173c3b;font-size:16px;word-break:keep-all;overflow-wrap:break-word}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #d35b30;outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);top:0;left:0}#app{min-height:100dvh;display:flex;flex-direction:column}.top,.bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px clamp(14px,2vw,30px);background:#fff5df;border-color:#203e3b;flex:none;z-index:1}.top{border-bottom:2px solid;min-height:64px}.bottom{border-top:2px solid;min-height:70px}.brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800;color:#173d3c;text-decoration:none}.brand-mark{display:grid;place-items:center;width:37px;height:37px;background:#ffd776;border:2px solid #203e3b;border-radius:10px;font-weight:800;font-size:14px}.top-right{display:flex;gap:8px;align-items:center}.top-label{font-size:14px;color:#50706a;font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:2px solid #203e3b;border-radius:10px;padding:10px 16px;background:#fffaf0;color:#193b3a;box-shadow:3px 3px #203e3b;text-decoration:none;font-weight:800;line-height:1.3}.btn.primary{background:#ffd371}.btn:hover:not(:disabled){filter:brightness(.97)}.btn:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px #203e3b}.btn.small{min-height:40px;padding:7px 10px;font-size:13px}.bottom-status{font-size:13px;color:#4e7168;font-weight:700;text-align:center}.scene{flex:1;position:relative;isolation:isolate;background:linear-gradient(145deg,#356d64,#173e40)}.scene::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,43,42,.82),rgba(8,43,42,.5))}.cover{min-height:100dvh;background-image:url('./assets/studio-cover.webp');display:flex;align-items:center;padding:clamp(24px,5vw,80px);color:#fff9ea}.cover::before{background:linear-gradient(90deg,rgba(7,39,39,.92) 0%,rgba(7,39,39,.72) 37%,rgba(7,39,39,.1) 80%)}.cover-content{width:min(650px,100%)}.cover-home{position:absolute;top:24px;left:clamp(24px,5vw,80px);color:white;text-decoration:none;font-weight:700}.cover-credit{position:absolute;top:24px;right:clamp(24px,5vw,80px);font-weight:700;font-size:13px}.eyebrow,.tag{display:inline-block;background:#ffda7d;border:1.5px solid #24423d;color:#624721;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:800}.cover h1{font-size:clamp(42px,5.4vw,78px);line-height:1.12;letter-spacing:-.04em;margin:16px 0}.cover h1 em{font-style:normal;color:#ffd477}.cover p{font-size:clamp(17px,1.5vw,22px);line-height:1.6}.cover-form{background:rgba(255,249,235,.96);color:#173d3c;border:2px solid #203e3b;box-shadow:4px 4px #203e3b;border-radius:14px;padding:16px;margin-top:22px}.cover-form label{display:block;font-weight:800;margin-bottom:8px}.invite-row{display:flex;gap:8px}.invite-row input{flex:1;min-width:0}.cover-form small{display:block;font-size:12px;margin-top:8px;color:#5a7467}.history{margin-top:10px;color:#fff9ea}.history summary{cursor:pointer;font-weight:700}.history-list{display:grid;gap:6px;margin-top:8px;max-height:180px;overflow:auto}.history-list button{text-align:left}.layout{width:min(100%,1600px);margin:auto;padding:clamp(16px,2vw,30px)}.panel{background:rgba(255,250,238,.97);border:2px solid #203e3b;border-radius:16px;box-shadow:4px 4px #203e3b;padding:clamp(18px,2vw,28px)}.panel h1,.panel h2{letter-spacing:-.03em;line-height:1.25}.panel h1{font-size:clamp(27px,2.7vw,42px);margin:10px 0}.panel h2{font-size:clamp(21px,1.8vw,29px);margin:8px 0}.panel p{line-height:1.6}.page-top{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:14px;color:#fff}.page-top h1{margin:7px 0;font-size:clamp(28px,2.8vw,42px)}.page-top p{margin:0;line-height:1.5}.page-top .tag{flex:none}.story-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:stretch}.story-grid .panel{display:flex;flex-direction:column;justify-content:center;gap:10px}.story-grid .panel p{font-size:clamp(16px,1.2vw,20px);margin:0}.story-visual{min-height:380px;border:2px solid #203e3b;border-radius:16px;box-shadow:4px 4px #203e3b;background:url('./assets/studio-story.webp') center/cover;position:relative;overflow:hidden}.story-visual span{position:absolute;right:12px;bottom:12px;border-radius:7px;padding:7px 10px;background:rgba(12,52,48,.85);color:white;font-size:13px;font-weight:700}.quote{padding:15px;border-radius:10px;background:#ffe9af;border-left:5px solid #e07a3e;font-size:18px;line-height:1.55;font-weight:700}.goal-box{background:#def1e7;border-radius:10px;padding:14px;border:1px solid #8ab3a0;line-height:1.5}.goal-box b{display:block;font-size:13px;color:#266b61;margin-bottom:5px}.concept-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.concept-visual{min-height:320px;border:2px solid #203e3b;border-radius:16px;background:url('./assets/studio-story.webp') center/cover;box-shadow:4px 4px #203e3b}.compare{display:grid;grid-template-columns:1fr 1fr;gap:10px}.compare>div{background:#fff0cc;border:1px solid #deb96f;border-radius:10px;padding:14px;line-height:1.55}.compare>div:nth-child(2){background:#e1f1e7;border-color:#95bdaa}.compare small{display:block;color:#796033;font-weight:800;margin-bottom:5px}.concept-steps{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 0}.concept-steps span{background:#e0efe4;border:1px solid #94b5a1;border-radius:7px;padding:7px 10px;font-size:13px;font-weight:700}.quiz-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(290px,.65fr);gap:14px;align-items:stretch}.quiz-main,.quiz-help{display:flex;flex-direction:column;gap:12px}.quiz-main h1{margin:0}.quiz-main .context{background:#e6f3e9;padding:14px;border-radius:10px;line-height:1.55}.answers{display:grid;grid-template-columns:1fr 1fr;gap:10px}.answer{display:flex;gap:12px;align-items:center;text-align:left;min-height:80px;border:2px solid #345248;background:#fffaf1;border-radius:10px;padding:13px;color:#183c39;line-height:1.5;font-weight:700}.answer b{flex:none;background:#ffe19b;border:1px solid #745b36;border-radius:7px;padding:6px 10px}.answer.correct{background:#d8f1e0;border-color:#34805b}.answer.wrong{background:#ffebe0;border-color:#b45a3e}.feedback-box{padding:14px;border:1px solid #d6b775;border-radius:10px;background:#fff1c8;line-height:1.6}.feedback-box.wrong{background:#ffeae1;border-color:#ce9078}.feedback-box.good{background:#dff2e4;border-color:#83b596}.quiz-help .help-image{min-height:120px;border-radius:10px;background:#d6ede1;border:1px solid #80ab98;padding:18px;display:flex;flex-direction:column;justify-content:center;gap:8px;color:#255a4f}.help-image strong{font-size:20px}.help-image span{line-height:1.45}.quiz-help h2,.quiz-help p{margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:6px;font-weight:700}.field.full{grid-column:1/-1}input,textarea,select{width:100%;border:1.5px solid #739585;border-radius:9px;background:#fffdf7;color:#173d3c;padding:11px;line-height:1.5}textarea{min-height:90px;resize:vertical}.helper{font-size:13px;color:#526f62;line-height:1.5}.practice-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.practice-list article{background:#e5f2e9;border:1px solid #a4bda8;padding:16px;border-radius:10px}.practice-list h3{margin:0 0 8px;font-size:17px}.practice-list p{margin:0;line-height:1.55}.report{background:#fffdf5;color:#183c39}.report-head{border-bottom:3px solid #1e655c;padding-bottom:14px}.report-head h1{margin:8px 0}.report-block{margin-top:15px;border-bottom:1px solid #d3dfd3;padding-bottom:12px}.report-block h2{font-size:17px;margin:0 0 6px;color:#31786a}.report-block p{white-space:pre-wrap;margin:0;line-height:1.6}.report-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:15px}.status-banner{background:#fff0c9;border-left:5px solid #d3913f;padding:12px;border-radius:8px;margin:12px 0}.report-hint{font-size:13px;color:#4f6e62}.history-actions{display:flex;gap:8px;flex-wrap:wrap}.muted{color:#526e64;font-size:13px}
@media(max-width:900px),(max-height:650px){.story-grid,.concept-grid,.quiz-grid{grid-template-columns:1fr}.story-visual,.concept-visual{min-height:0;aspect-ratio:16/8}.practice-list{grid-template-columns:1fr}.quiz-help .help-image{min-height:180px}.cover{min-height:100dvh}}
@media(max-width:600px){.top-label,.bottom-status{display:none}.brand{font-size:15px}.top,.bottom{padding:8px 12px}.cover{padding:80px 18px 26px}.cover-credit{top:50px;left:18px;right:auto}.cover-home{top:20px;left:18px}.invite-row{flex-direction:column}.answers,.compare,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.page-top{align-items:start;flex-direction:column}.panel{padding:18px}.bottom .btn{font-size:14px;padding:8px 10px}.story-visual,.concept-visual{aspect-ratio:16/9}}
@media print{body{background:white;color:#111}.top,.bottom,.report-actions,.report-hint{display:none!important}.scene{background:none!important}.scene::before{display:none}.layout{padding:0;max-width:none}.panel{border:0;box-shadow:none;padding:0}.report{background:white}.report-block{break-inside:avoid}.report-block p{font-size:12pt}.report-head h1{font-size:20pt}}

.episode-visual{min-height:380px;border:2px solid #203e3b;border-radius:16px;box-shadow:4px 4px #203e3b;background-size:cover;background-position:center;position:relative;overflow:hidden}.episode-visual span{position:absolute;right:12px;bottom:12px;border-radius:7px;padding:7px 10px;background:rgba(12,52,48,.85);color:white;font-size:13px;font-weight:700}@media(max-width:900px),(max-height:650px){.episode-visual{min-height:0;aspect-ratio:16/8}}@media(max-width:600px){.episode-visual{aspect-ratio:16/9}}

.old-radio{margin:12px 0 0!important;font-size:13px!important}.old-radio a{color:#fff9ea;text-underline-offset:3px}
/* 넓은 수업 화면에서는 카드와 그림이 실제 화면 높이를 함께 사용합니다. */
@media(min-width:901px) and (min-height:651px){
 .scene:not(.cover)>.layout{min-height:calc(100dvh - 134px);display:flex;flex-direction:column}
 .story-grid,.concept-grid,.quiz-grid{flex:1}
 .story-grid .panel{justify-content:space-evenly}
 .story-grid .panel p{font-size:clamp(17px,1.25vw,21px)}
 .quiz-main .answers{flex:1;align-content:stretch}
 .quiz-main .answer{min-height:90px}
 .quiz-help{justify-content:space-evenly}
}
@media print{.scene:not(.cover)>.layout{min-height:0;display:block}}
