@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;background:#292e42;color:#302941;word-break:keep-all;overflow-wrap:break-word}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.52}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #cf7548;outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);left:0;top:0}#app{display:flex;flex-direction:column;min-height:100dvh}.header,.footer{min-height:65px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px clamp(14px,2vw,32px);background:#fff8eb;border-color:#38304a;flex:none}.header{border-bottom:2px solid}.footer{border-top:2px solid}.brand{font-size:18px;font-weight:800;color:#312b45;text-decoration:none;display:flex;align-items:center;gap:9px}.brand b{display:grid;place-items:center;width:38px;height:38px;background:#e2d1f1;border:2px solid #38304a;border-radius:10px;font-size:14px}.header-label,.footer-label{font-size:13px;font-weight:700;color:#756888}.top-controls{display:flex;gap:8px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:9px 15px;border:2px solid #38304a;border-radius:10px;background:#fffbf2;color:#302941;box-shadow:3px 3px #38304a;font-weight:800;line-height:1.35;text-decoration:none;text-align:center}.btn.primary{background:#f7c867}.btn.small{min-height:42px;font-size:13px;padding:7px 11px}.btn:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px #38304a}.scene{flex:1;background:linear-gradient(140deg,#625879,#303d4a);position:relative;isolation:isolate}.scene.cover{min-height:100dvh;display:flex;align-items:center;padding:clamp(22px,5vw,80px);color:#fffaf2;background:#35384a url('./assets/cover.webp') center/cover no-repeat}.scene.cover::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(24,30,47,.95) 0%,rgba(29,37,53,.76) 38%,rgba(27,37,48,.05) 82%)}.cover-home{position:absolute;top:24px;left:clamp(22px,5vw,80px);color:white;text-decoration:none;font-weight:700}.cover-credit{position:absolute;top:24px;right:clamp(22px,5vw,80px);font-size:13px;font-weight:700}.cover-body{max-width:650px}.eyebrow,.tag{display:inline-block;padding:6px 10px;border:1.5px solid #38304a;border-radius:8px;background:#f8d995;color:#534132;font-size:13px;font-weight:800}.cover h1{font-size:clamp(40px,5.2vw,78px);line-height:1.13;letter-spacing:-.04em;margin:15px 0}.cover h1 em{font-style:normal;color:#ffe094}.cover-body>p{font-size:clamp(17px,1.5vw,21px);line-height:1.6}.invite{background:rgba(255,249,239,.97);color:#302941;border:2px solid #38304a;border-radius:14px;box-shadow:4px 4px #38304a;padding:16px;margin-top:20px}.invite label{display:block;font-weight:800;margin-bottom:8px}.invite-row{display:flex;gap:8px}.invite-row input{min-width:0;flex:1}.invite small{display:block;margin-top:8px;color:#695c72;line-height:1.5}.old-link{margin:12px 0 0;font-size:13px}.old-link a{color:#fffaf2}.history{margin-top:10px}.history summary{cursor:pointer;font-weight:700}.history-list{max-height:180px;overflow:auto;display:grid;gap:7px;margin-top:7px}.history-list button{text-align:left}.layout{width:min(100%,1600px);margin:auto;padding:clamp(16px,2vw,30px)}.page-head{display:flex;justify-content:space-between;align-items:end;gap:12px;color:#fff9ef;margin-bottom:14px}.page-head h1{font-size:clamp(27px,2.8vw,42px);letter-spacing:-.035em;line-height:1.22;margin:8px 0}.page-head p{margin:0;line-height:1.5}.panel{padding:clamp(18px,2vw,28px);background:rgba(255,250,239,.97);border:2px solid #38304a;border-radius:16px;box-shadow:4px 4px #38304a}.panel h1,.panel h2{line-height:1.25;letter-spacing:-.03em}.panel h1{font-size:clamp(26px,2.5vw,39px);margin:8px 0}.panel h2{font-size:clamp(21px,1.7vw,28px);margin:8px 0}.panel p{line-height:1.6}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:stretch}.split>.panel{display:flex;flex-direction:column;justify-content:space-evenly;gap:10px}.split>.panel p{font-size:clamp(16px,1.2vw,20px);margin:0}.visual{min-height:360px;border:2px solid #38304a;border-radius:16px;box-shadow:4px 4px #38304a;background-position:center;background-size:cover;position:relative;overflow:hidden}.visual span{position:absolute;right:12px;bottom:12px;padding:7px 10px;background:rgba(42,38,58,.85);border-radius:6px;color:white;font-size:13px;font-weight:700}.highlight{background:#fceac1;border-left:5px solid #dc9a4f;border-radius:9px;padding:14px;line-height:1.55}.highlight b{display:block;color:#94602c;font-size:13px;margin-bottom:5px}.thought{background:#e8e4f3;border:1px solid #c0b3d4;border-radius:10px;padding:14px;line-height:1.55}.thought b{display:block;color:#685083;font-size:13px;margin-bottom:5px}.lesson-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.lesson-steps>div{background:#e4f1e7;border:1px solid #a1bea9;border-radius:9px;padding:12px;line-height:1.45}.lesson-steps b{display:block;color:#397667;font-size:13px;margin-bottom:4px}.quiz-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(285px,.65fr);gap:14px;align-items:stretch}.quiz-main,.quiz-help{display:flex;flex-direction:column;gap:12px}.quiz-main h1{margin:0}.context{background:#e9e7f5;border-radius:9px;padding:13px;line-height:1.6}.answers{display:grid;grid-template-columns:1fr 1fr;gap:10px}.answer{display:flex;align-items:center;gap:11px;text-align:left;min-height:80px;border:2px solid #554869;border-radius:10px;background:#fffaf2;padding:12px;color:#302941;line-height:1.5;font-weight:700}.answer b{flex:none;background:#eadff4;border:1px solid #a08cb5;border-radius:7px;padding:6px 10px}.answer.correct{background:#dff2e5;border-color:#398466}.answer.wrong{background:#ffebe2;border-color:#be6b53}.feedback{border:1px solid #d6b77a;border-radius:10px;background:#fff0cd;padding:13px;line-height:1.55}.feedback p{margin:4px 0 0}.feedback.good{background:#e0f2e5;border-color:#8ebba0}.feedback.wrong{background:#ffeae1;border-color:#d4937d}.help-banner{border-radius:10px;background:#e6e0f3;padding:16px;color:#5e4b76}.help-banner strong{display:block;font-size:20px}.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{width:100%;padding:11px;border:1.5px solid #a597ae;border-radius:9px;background:#fffef9;color:#302941;line-height:1.5}textarea{min-height:95px;resize:vertical}.helper{font-size:13px;line-height:1.5;color:#6f6178}.checklist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.checklist article{background:#ece9f5;border:1px solid #b4a8c4;padding:14px;border-radius:10px;line-height:1.5}.checklist h3{margin:0 0 7px;font-size:17px}.checklist p{margin:0}.report{background:#fffdf8;color:#312a41}.report-head{border-bottom:3px solid #7b6699;padding-bottom:12px}.report-head h1{margin:8px 0}.report-block{border-bottom:1px solid #d7d0df;margin-top:14px;padding-bottom:10px}.report-block h2{font-size:16px;margin:0 0 6px;color:#745e8c}.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}.letter-note{font-size:13px;color:#6b6072}.private-note{background:#fff0ce;border-left:4px solid #d99d45;border-radius:8px;padding:12px;line-height:1.5}
@media(min-width:901px) and (min-height:651px){.scene:not(.cover)>.layout{min-height:calc(100dvh - 130px);display:flex;flex-direction:column}.split,.quiz-grid{flex:1}.quiz-main .answers{flex:1;align-content:stretch}.quiz-help{justify-content:space-evenly}}
@media(max-width:900px),(max-height:650px){.split,.quiz-grid{grid-template-columns:1fr}.visual{min-height:0;aspect-ratio:16/8}.checklist{grid-template-columns:1fr}}
@media(max-width:600px){.header-label,.footer-label{display:none}.brand{font-size:15px}.header,.footer{padding:8px 12px}.scene.cover{padding:80px 18px 24px}.cover-credit{top:50px;left:18px;right:auto}.cover-home{top:20px;left:18px}.invite-row{flex-direction:column}.answers,.lesson-steps,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.page-head{align-items:start;flex-direction:column}.panel{padding:18px}.footer .btn{font-size:14px;padding:8px 10px}.visual{aspect-ratio:16/9}}
@media print{body{background:white;color:#111}.header,.footer,.report-actions,.letter-note{display:none!important}.scene{background:none!important}.layout{min-height:0!important;display:block!important;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}}
.game-picture,.writing-art,.revision-art{height:clamp(135px,19vh,220px);background-position:center;background-size:cover;border:2px solid #38304a;border-radius:14px;box-shadow:3px 3px #38304a;margin-bottom:14px}.game-picture{background-image:url('./assets/game.webp')}.writing-art{background-image:url('./assets/writing.webp')}.revision-art{background-image:url('./assets/revision.webp')}select{width:100%;min-height:46px;border:1.5px solid #a597ae;border-radius:9px;background:#fffef9;color:#302941;padding:10px;font:inherit}.report-actions button{flex:0 1 auto}@media print{.game-picture,.writing-art,.revision-art{display:none!important}}

.cover-teacher{color:#fffaf2;background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:3px;font-size:13px;cursor:pointer}
.cover-teacher,.old-link a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:600px){.header{flex-wrap:wrap}.top-controls{flex-wrap:wrap}}
@media print{@page{size:A4;margin:14mm}}
/* 그림 전체를 보면서 읽기·쓰기 활동을 나란히 배치합니다. */
.game-frame,.editor-frame{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:14px;align-items:start;flex:1}
.art-column{display:flex;flex-direction:column;gap:12px;min-width:0}
.game-picture,.writing-art,.revision-art{width:100%;height:auto;aspect-ratio:16/9;background-size:contain;background-repeat:no-repeat;background-color:#f5efdd;margin:0}
@media(max-width:900px),(max-height:650px){.game-frame,.editor-frame{grid-template-columns:minmax(0,1fr)}.art-column{display:grid;grid-template-columns:1fr 1fr}.art-column>div:first-child{grid-column:1/-1}}
@media(max-width:600px){.art-column{grid-template-columns:1fr}.art-column>div:first-child{grid-column:auto}}
@media print{html,body{background:#fff!important}#app{display:block!important;min-height:0!important}.scene{display:block!important;min-height:0!important;flex:none!important;background:#fff!important}.scene::before{display:none!important}}
@media(min-width:901px) and (min-height:651px){.editor-frame,.game-frame{align-items:stretch}.editor-frame>.panel{display:flex;flex-direction:column;justify-content:space-evenly}.art-column .thought,.art-column .highlight{flex:1;display:flex;flex-direction:column;justify-content:center}}
/* 9~11차시: 쓸 내용을 계획한 뒤 같은 기록을 보며 초고를 작성해요. */
.plan-frame{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:14px;align-items:stretch;flex:1}
.plan-intro,.plan-fields{display:flex;flex-direction:column;gap:12px;min-width:0}
.plan-intro .tag{align-self:flex-start}.plan-intro p{margin:0}.plan-fields .field{flex:1}.plan-fields textarea{min-height:85px;flex:1}
.plan-art{width:100%;aspect-ratio:16/9;background:#e9e4dc url('./assets/plan.webp') center/contain no-repeat;border:2px solid #38304a;border-radius:12px}
@media(max-width:900px),(max-height:650px){.plan-frame{grid-template-columns:minmax(0,1fr)}}
