@import"https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap";:root{font-family:Noto Sans KR,sans-serif;color:#263e35;background:#f6f7f2;font-synthesis:none;line-height:1.6;font-size:15px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,.button,select{border:1px solid #d7dfd7;border-radius:10px;padding:10px 15px;background:#fff;color:#294a3d;cursor:pointer;text-decoration:none;display:inline-block;font-weight:600}button:hover,.button:hover{filter:brightness(.96)}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #6a9dd3;outline-offset:3px}button.primary,.primary{background:#23634f;color:#fff;border-color:#23634f}button.danger{color:#9e4545}.top{display:flex;align-items:center;justify-content:space-between;padding:19px 4%;border-bottom:1px solid #e0e6dc;background:#fff}.brand{text-decoration:none;color:#234d3c;font-size:18px;font-weight:800}.brand-icon{display:inline-grid;place-items:center;background:#e1ecd9;border-radius:8px;width:34px;height:34px;margin-right:8px}.tag,.muted,.status{color:#66796d;font-size:13px}.container{max-width:1600px;margin:auto;padding:32px 4%}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:18px}h1{font-size:clamp(25px,2.5vw,38px);line-height:1.3;margin:8px 0 12px;letter-spacing:-1px}h2{font-size:19px;margin:0 0 10px}.eyebrow{font-size:12px;letter-spacing:1.8px;color:#5e8067;font-weight:700;margin:0}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.pill{padding:6px 12px;border-radius:30px;background:#e8efdf;color:#426143;font-size:12px;white-space:nowrap}.teacher-board{position:sticky;top:0;z-index:3;background:#fffef7;border:1px solid #dedfcd;border-left:5px solid #8da875;border-radius:14px;padding:16px 24px;box-shadow:0 5px 18px #34483208;margin-bottom:24px}.board-toggle{display:flex;justify-content:space-between;width:100%;border:0;padding:0;background:transparent;font-size:13px;color:#678052;margin-bottom:8px}.teacher-board h2{font-size:21px;margin:0;overflow-wrap:anywhere}#board-content{max-height:28vh;overflow:auto}#instructions{white-space:pre-wrap;color:#52604c;font-size:14px}.board-admin{display:flex;align-items:center;gap:8px;margin-top:12px;flex-wrap:wrap}.board-admin button,.board-admin .button{padding:5px 10px;font-size:12px}.file{display:flex;align-items:center;gap:8px;padding:6px 0;flex-wrap:wrap;overflow-wrap:anywhere}.file span{flex:1}.file button,.file .button{padding:5px 10px;font-size:12px}.panel{background:#fff;border:1px solid #e0e6dc;border-radius:16px;padding:24px}.composer{display:grid;grid-template-columns:1fr 1.5fr;gap:24px;margin-bottom:32px}.composer p{font-size:13px;color:#6d7b6c}.composer h2{margin-top:7px}.composer textarea{background:#fbfcf9}label{display:block}input:not([type=radio]):not([type=checkbox]):not([type=file]),textarea{display:block;border:1px solid #dbe1d6;border-radius:9px;padding:12px;width:100%;margin:6px 0 16px;background:#fff;color:#263e35}textarea{resize:vertical}.compose-bottom{display:flex;align-items:center;gap:12px}.compose-bottom #counter{margin-left:auto;color:#788474;font-size:12px}.color-options{display:flex;gap:7px}.swatch{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;cursor:pointer}.swatch:has(input:checked){outline:2px solid #52694b;outline-offset:2px}.swatch input{appearance:none;width:10px;height:10px;margin:0}.swatch input:checked{background:#55684c;border-radius:50%}.yellow{background:#fff0ac}.green{background:#e1edc9}.pink{background:#f9dce5}.blue{background:#dbeaf8}.list-toolbar{display:flex;justify-content:space-between;align-items:center;margin:20px 0;gap:12px}.list-toolbar h2{margin:0;white-space:nowrap}#note-count{color:#739461;font-size:16px;margin-left:6px}.list-toolbar button,.list-toolbar select{font-size:12px;padding:8px 12px}.notes{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:18px;align-items:start}.note{border-radius:4px 4px 17px;padding:24px 20px 12px;box-shadow:0 4px 8px #4655370b;min-height:205px;display:flex;flex-direction:column;border:1px solid #00000004}.note-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 22px;font-size:17px;line-height:1.8;flex:1;min-height:90px}.note-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.author{font-size:12px;color:#58624f;overflow-wrap:anywhere}.heart{background:#ffffff70;border:0;padding:4px 10px;border-radius:20px;white-space:nowrap}.heart.liked{color:#a5345c;background:#fff6}.note-tools{display:flex;gap:6px;margin-top:10px;justify-content:flex-end;border-top:1px solid #00000008;padding-top:5px}.note-tools button{background:transparent;padding:3px;border:0;font-size:11px;color:#617052}.empty{grid-column:1/-1;text-align:center;border:1px dashed #cdd9c4;padding:60px;color:#7d8a74;border-radius:16px}.footer{text-align:center;color:#8b9784;margin-top:40px;font-size:12px}.landing{max-width:950px;margin:60px auto;padding:24px}.landing h1{font-size:clamp(32px,5vw,52px);line-height:1.4}.intro{color:#6d7d6c;margin-bottom:36px}.login{max-width:460px}.login label{margin:14px 0 4px}.login button{width:100%}.preview-link{display:block;margin-top:24px;color:#456b43}.inline{display:flex;align-items:end;gap:20px}.inline label{flex:1}.inline input{margin-bottom:0!important}.room-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:28px}.room-card{color:inherit;text-decoration:none}.room-card h2{margin-top:12px}.room-card p{color:#6e7d65}.room-card small{color:#8c9886}.feature{position:fixed;inset:0;background:#f5f6efef;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;gap:24px;overflow:auto}.featured-note{padding:clamp(24px,5vw,65px);width:min(100%,1000px);box-shadow:0 15px 50px #30452415;border-radius:12px;max-height:75vh;overflow:auto}.featured-note p{font-size:clamp(24px,3.8vw,52px);line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 24px}.featured-note>div{display:flex;justify-content:space-between;font-size:20px}body.featured{overflow:hidden}dialog{border:1px solid #dae2d3;border-radius:18px;padding:32px;max-width:560px;width:calc(100% - 32px);max-height:90vh;color:#294837}dialog::backdrop{background:#192e2366}dialog label{margin-top:12px}dialog .close{float:right;border:0;font-size:24px;padding:0 8px}#qr-canvas{display:block;margin:auto;max-width:100%}.check{display:flex;align-items:center;gap:8px;margin-bottom:20px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%);z-index:100;background:#263e35;color:#fff;padding:13px 22px;border-radius:12px;display:none;max-width:90vw}#toast.show{display:block}.demo-banner{background:#ece7d4;color:#665b35;text-align:center;padding:7px 15px;font-size:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(min-width:1700px){.note-body{font-size:21px}.notes{grid-template-columns:repeat(5,1fr)}}@media(max-width:700px){.tag{display:none}.top{padding:14px 18px}.brand{font-size:16px}.container{padding:22px 16px}.heading{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:20px}.heading .actions{width:100%}.composer{grid-template-columns:1fr;gap:4px;padding:18px}.composer h2{font-size:17px}.composer p{margin:4px 0 12px}.compose-bottom{gap:8px;flex-wrap:wrap}.compose-bottom button{font-size:13px;padding:9px 12px}.list-toolbar{align-items:flex-start;flex-direction:column}.notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.note{padding:16px 12px 8px;min-height:190px}.note-body{font-size:15px;line-height:1.7}.note-tools{flex-wrap:wrap}.teacher-board{padding:12px 16px;top:0}.teacher-board h2{font-size:18px}.board-admin .muted{display:none}.feature{padding:18px}.feature>p:last-child{font-size:13px}.featured-note>div{font-size:16px}.landing{margin:25px auto}.inline{flex-direction:column;align-items:stretch}.note-bottom{gap:4px}.heart{padding:3px 8px}.author{font-size:11px}.board-toggle{font-size:12px}}@media(max-width:350px){.notes{grid-template-columns:1fr}}#question{max-height:5.5em;overflow:auto}.brand{min-width:0;overflow-wrap:anywhere}.top{gap:16px}.top .tag{flex-shrink:0}#dashboard-title{overflow-wrap:anywhere}[data-form-error]{color:#9e4545;font-size:14px}
