@font-face{font-family:Gmarket;src:url('GmarketSansMedium.woff2') format('woff2');font-weight:400 500;font-display:swap}@font-face{font-family:Gmarket;src:url('GmarketSansBold.woff2') format('woff2');font-weight:600 900;font-display:swap}
:root{font-family:Gmarket,'Malgun Gothic',sans-serif;background:#f1f6ff;color:#213956;line-height:1.8;font-weight:400}body{background:radial-gradient(ellipse at 0 0,#e2efff,transparent 55%),radial-gradient(ellipse at 100% 50%,#e8f4ee,transparent 55%);min-height:100vh}header{background:#ffffffed;border-bottom:1px solid #d9e5f4;padding:17px 3vw;gap:12px;box-shadow:0 4px 24px #153a6d05}header a{font-size:16px;line-height:1.9;letter-spacing:-.04em}header a b{font-size:24px;color:#285dc9}header button{font-size:14px}#groupLabel{font-size:14px;background:#eaf1ff;color:#2856a6;padding:7px 14px;border-radius:40px}main{padding-top:32px;padding-bottom:40px}h1{font-size:30px;letter-spacing:-.045em;margin-bottom:16px;line-height:1.6}h2{letter-spacing:-.035em;line-height:1.7}p{word-break:keep-all;overflow-wrap:anywhere}.eyebrow{font-size:13px;color:#416bb5;letter-spacing:.09em;display:block;margin-bottom:8px}.panel{border:1px solid #dce7f5;border-radius:28px;padding:30px;box-shadow:0 12px 40px #26467408}.layout{grid-template-columns:minmax(265px,.65fr) minmax(480px,1.35fr);gap:26px;align-items:start}.layout aside{position:sticky;top:24px}.layout aside>p{font-size:16px}button,.filebutton{border:1px solid #d5e0ef;border-radius:15px;padding:12px 18px;line-height:1.65;background:#fff;box-shadow:0 3px 0 #dce5f0;transition:background .15s,box-shadow .15s,transform .15s;word-break:keep-all}button:hover{background:#f2f7ff;border-color:#90b1ea;transform:translateY(-2px);box-shadow:0 5px 0 #d3e0f1}button:active{transform:translateY(2px);box-shadow:0 0 0 transparent}button:disabled:hover{transform:none}.primary{background:linear-gradient(145deg,#3d78e8,#2854c6);border-color:#2959c8;box-shadow:0 4px 0 #1e4299;color:white}.primary:hover{background:#3268d6;border-color:#2856ba;box-shadow:0 6px 0 #1e4299}.quiet{box-shadow:none;border-color:transparent;color:#59728f}.steps{padding:7px;border:1px solid #dce6f3;background:#ffffffab;border-radius:22px;width:fit-content;gap:5px}.step{border-radius:15px;background:transparent;color:#657991;padding:10px 17px;font-size:14px}.step.active{background:#2e64ce;box-shadow:0 4px 10px #2e64ce20}.portrait{background:linear-gradient(145deg,#e6f1ff,#f0f6ff);border:1px solid #d6e6fc;font-size:90px;margin:20px 0;padding:24px;box-shadow:inset 0 -7px 0 #deebfc}.tag{background:#e8f0ff;color:#2855a7;padding:5px 13px;font-size:13px}.note{background:#fff8df;border:1px solid #f1e5b7;border-left:5px solid #e6b948;border-radius:14px;padding:16px 18px;font-size:15px;color:#6c5731;line-height:1.9}.bubble{background:#f0f5fd;border:1px solid #dce7f6;border-radius:7px 23px 23px 23px;padding:23px 26px;font-size:20px;line-height:2;box-shadow:0 5px 0 #e6edf7;margin:10px 0 22px;white-space:pre-wrap;word-break:keep-all}.bubble.student{background:#e8efff;border-color:#ccdaf9;color:#244d99;border-radius:22px 7px 22px 22px;font-size:17px;margin-left:35px;box-shadow:0 4px 0 #dce5f8}.speaker{font-size:14px;font-weight:700;color:#526b8e;margin-top:20px}.student-label{text-align:right;color:#3a61a4}.actions{gap:12px}.actions button{font-size:14px}.questions{gap:12px;max-height:none;counter-reset:questions;padding:4px 4px 8px}.questions button{padding:17px 20px;font-size:16px;display:flex;align-items:center;gap:14px;border-radius:16px}.questions button[data-q]::before{counter-increment:questions;content:counter(questions,decimal-leading-zero);color:#607fb3;font-size:13px;min-width:26px}.questions button.asked{border-left:1px solid #9cbdae;background:#f1f8f4;box-shadow:0 3px 0 #dcece3}.questions .follow{border:1px solid #8fb8a4;background:#edf8f1;color:#27664b}.days button{min-width:85px;flex:1;padding:15px 10px}.days button.selected{background:#2d64d2;box-shadow:0 4px 0 #1f4395}label.field{font-size:15px;color:#3c5778;margin-top:24px}input:not([type=file]),textarea{border:1px solid #c8d8eb;background:#f8fbff;padding:16px;border-radius:14px;font-size:16px;line-height:1.9}input::placeholder,textarea::placeholder{color:#7e90a7}textarea{min-height:245px}.town{border:6px solid white;box-shadow:0 12px 30px #24425d12;margin:12px 0 26px}.town img{height:330px;object-position:center 47%}.town .caption{font-size:14px;border:1px solid #ffffff;padding:9px 16px;backdrop-filter:blur(5px)}.people{gap:17px}.person{border-top-width:5px;padding:20px 17px;box-shadow:0 5px 0 #dce5ed}.person strong{font-size:17px}.person small{font-size:13px}.person .status{line-height:1.7}.person .emoji{margin-bottom:10px}.start{max-width:700px;margin:35px auto;padding:42px;border-top:6px solid #3a70d8}.start h1{font-size:29px}.start .primary{width:100%;margin-top:12px;padding:16px}.mail{border:1px solid #dce6f3;background:repeating-linear-gradient(#f7faff,#f7faff 35px,#edf2fa 36px);font-size:16px;line-height:2.2;padding:22px}summary{cursor:pointer;color:#335fa8;font-size:15px;padding:10px 0}hr{border:0;border-top:1px solid #e0e8f3;margin:28px 0}dialog{font-family:inherit;border:1px solid #e1eaf7;border-radius:27px;padding:32px;width:min(90%,760px);box-shadow:0 30px 90px #112e5530}dialog::backdrop{background:#142d5670;backdrop-filter:blur(4px)}#dialogBody{white-space:normal}#closeDialog{margin-top:22px;min-width:100px}.history{border:0;padding:18px 22px;background:#f1f6fd;border-radius:18px;margin:15px 0}.history b{font-size:16px;color:#2c5daa;margin-bottom:12px}.history p{font-size:17px;line-height:1.95;margin:0}.archive-list{display:grid;gap:14px}.archive-person{display:flex;align-items:center;gap:18px;text-align:left;width:100%;padding:18px}.archive-icon{font-size:38px}.archive-person strong{display:block;font-size:17px}.archive-person small{display:block;font-size:13px;color:#657b94;margin-top:5px}.archive-person>span:last-child{margin-left:auto;color:#416bad}footer{border-top:1px solid #dfe8f3;font-size:12px;padding:22px}#saveStatus{display:block;font-size:12px;margin-top:6px;color:#5374a0}button:focus-visible{outline:3px solid #e5a52b;outline-offset:4px}@media(max-width:1050px){.layout{grid-template-columns:1fr}.layout aside{position:static}.portrait{font-size:65px;padding:12px}.people{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.panel{padding:22px;border-radius:22px}.people{grid-template-columns:repeat(2,1fr)}.start{padding:25px}.start h1,h1{font-size:24px}header a b{font-size:20px}.bubble{font-size:18px;padding:20px}.bubble.student{margin-left:12px}.step{font-size:12px;padding:8px 10px}.days button{min-width:65px}.questions button{font-size:15px}.town img{height:230px}dialog{padding:23px}}@media(prefers-reduced-motion:reduce){button{transition:none}}

.short-mail{min-height:110px}.mail-hint{font-size:13px;color:#596f8c;line-height:1.9;margin:8px 0 12px}.mail-question-grid{display:grid;gap:14px}.mail-question{border:1px solid #dbe5f3;background:#f8faff;padding:16px;border-radius:16px}.mail-question .field{margin:0 0 10px}.mail-question .field span{color:#3666bb}.mail-issue{font-size:13px;color:#a13f29;margin:0}.mail-count,.mail-ready{color:#275f47;background:#edf8f0;padding:12px 16px;border-radius:12px}.mail-retry{background:#fff3e9;border:1px solid #eac4a4;color:#743d23;border-radius:16px;padding:18px;margin-top:18px;font-size:14px}.mail-retry li{margin:7px 0}.mailed-tag{font-size:11px;white-space:nowrap;background:#e4edff;color:#285bb0;padding:4px 8px;border-radius:8px;margin-left:auto}.questions button{flex-wrap:wrap}

.copyright{font-size:12px;color:#566c7e;margin:15px 0 0}

.worksheet-guide{max-width:calc(1440px - 6vw);margin:24px auto 0;padding:18px 23px;display:flex;align-items:flex-start;gap:18px;background:#fff8df;border:1px solid #e5d69d;border-radius:18px;color:#5b4a2d}.worksheet-pages{flex-shrink:0;background:#725b36;color:white;border-radius:12px;padding:8px 13px;font-size:14px}.worksheet-guide strong{font-size:17px}.worksheet-guide p{font-size:14px;line-height:1.9;margin:5px 0 0}@media(max-width:650px){.worksheet-guide{margin:16px 3vw 0;flex-direction:column;gap:10px;padding:16px}.worksheet-guide strong{font-size:16px}}
