:root{font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;color:#1d2b44;background:#f3f6fc;font-size:16px;line-height:1.8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0;border-radius:10px;background:#1761d2;color:white;font-weight:650;padding:10px 18px;min-height:44px}button:hover{filter:brightness(.96)}button:disabled{opacity:.6;cursor:default}button.secondary{background:#eaf0f9;color:#0b2a5b}button.ghost{background:transparent;color:#345270}button.selected{background:#0b2a5b}a{color:#1761d2;text-underline-offset:4px}header{background:white;border-bottom:1px solid #dce5f3;padding:18px max(24px,calc((100vw - 1320px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:22px;text-decoration:none;color:#0b2a5b;font-size:20px;font-weight:750}.brand img{width:130px;height:auto;object-fit:contain}.brand small{display:block;font-size:12px;font-weight:400;color:#5f6f86}.account{display:flex;align-items:center;gap:16px;font-size:14px}nav{display:flex;gap:12px;max-width:1320px;margin:0 auto;padding:18px 24px;align-items:center}.connection{margin-left:auto;color:#5f6f86;font-size:12px}main{max-width:1320px;margin:auto;padding:22px 24px 60px}h1,h2,h3{line-height:1.4;color:#0b2a5b}h1{font-size:36px;letter-spacing:-1.2px;margin:12px 0}h2{font-size:23px;margin:0 0 18px}h3{font-size:18px}p{line-height:1.8;color:#52647b;overflow-wrap:anywhere}.eyebrow{font-size:12px;letter-spacing:1.6px;color:#1761d2;font-weight:700}.hero-note{margin-bottom:30px}.banner{background:#eaf1fb;border-radius:12px;padding:16px;line-height:1.8;color:#345777}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:white;border:1px solid #dce5f3;border-radius:14px;padding:26px;margin-bottom:22px;min-width:0}.book{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:start;min-height:310px}.book p{flex:1}.book:before{content:'';height:5px;background:var(--accent,#1761d2);position:absolute;left:0;right:0;top:0}.book h2{margin:24px 0 8px}.book button{margin-top:18px;width:100%}.teal{--accent:#087c83}.amber{--accent:#ae721c}.blue{--accent:#1761d2}.tag{font-size:12px;color:var(--accent,#1761d2);background:#f0f4fa;border-radius:24px;padding:4px 12px;display:inline-block}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:22px 0}.metrics>div{background:#eaf0fa;color:#5f6f86;padding:18px 24px;border-radius:14px;display:flex;align-items:center;gap:20px}.metrics strong{color:#0b2a5b;font-size:32px;font-weight:750}.section-title{margin-top:32px}.study-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.studygrid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.stack{min-width:0}.production{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.production form{background:#f6f8fc;padding:18px;border-radius:12px}.production button{display:block;margin-top:18px}.production small{display:block;margin-top:10px;font-size:11px}.assign{display:flex;align-items:end;gap:20px;flex-wrap:wrap}.assign label{flex:1;min-width:160px;margin:0}label{display:block;font-weight:600;margin:18px 0 8px;color:#233c5b}textarea,input,select{display:block;width:100%;border:1px solid #bacade;border-radius:9px;padding:10px;background:white;color:#1d2b44;min-width:0}textarea{min-height:90px;resize:vertical;line-height:1.7}input[type=checkbox]{display:inline-block;width:18px;height:18px;min-height:18px;accent-color:#1761d2}.check{display:flex;gap:10px;align-items:center;font-size:14px;font-weight:500;margin:10px 0}.check small{font-size:11px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0}.toolbar label{margin:0}.toolbar select{max-width:220px}.toolbar button{padding:9px 13px}.chapters{gap:8px}.chapters button{font-size:13px}canvas{width:100%;height:auto;aspect-ratio:1.6;display:block;border:1px solid #c5d4e7;border-radius:10px;background:repeating-linear-gradient(white,white 27px,#edf2f9 28px);touch-action:none;margin:12px 0}iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:10px;background:#12263d}iframe.source{height:700px;aspect-ratio:auto;background:white;margin-top:16px}.savebar{position:sticky;bottom:12px;display:flex;align-items:center;gap:12px;background:#fff;padding:16px;border:1px solid #c5d4e7;border-radius:14px;box-shadow:0 6px 24px #17335518;z-index:3}.savebar span{flex:1;font-size:13px;color:#47607d}.question{font-size:19px;color:#193756;line-height:1.85}.meta,small{font-size:13px;color:#5f6f86}.pill{color:#087c83;background:#e5f4f1;padding:5px 10px;border-radius:18px;font-size:12px}details{line-height:1.8;margin-top:20px}summary{cursor:pointer;font-weight:650;color:#0b2a5b;min-height:44px;display:list-item}details.card summary{padding:6px 0}.login{max-width:530px;margin:5vh auto;padding:38px}.login h1{font-size:35px}.login input{margin-bottom:15px}.login .primary{width:100%;margin-top:10px}.feedback{border-left:3px solid #087c83;background:#f0f8f6;padding:16px;margin-top:15px}.feedback p,.submitted{white-space:pre-wrap}.empty{padding:44px;text-align:center;background:white;border:1px dashed #c4d1e3;border-radius:14px;color:#5f6f86}.answer-photo{display:block;max-width:100%;max-height:460px;height:auto;margin-top:14px;border:1px solid #dce5f3;border-radius:10px}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f7fc;padding:16px;font-size:12px}#notice{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);padding:14px 22px;border-radius:12px;background:#0b2a5b;color:white;display:none;z-index:30;max-width:90vw;font-size:14px}#error{color:#ac3225}footer{display:flex;align-items:center;gap:24px;border-top:1px solid #dce5f3;padding-top:26px;margin-top:44px;font-size:12px;color:#5f6f86}footer img{width:115px;height:auto}:focus-visible{outline:3px solid #72abff;outline-offset:3px}[hidden]{display:none!important}section[id]{scroll-margin-top:24px}@media(min-width:1100px){body:has(.studygrid) main{max-width:1400px}}@media(max-width:1099px){.grid{grid-template-columns:repeat(2,1fr)}.studygrid{grid-template-columns:1fr}.production{grid-template-columns:1fr}.production form{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.production h3{grid-column:1/-1}.brand{gap:12px}.brand img{width:110px}}@media(max-width:599px){header{padding:14px 16px;align-items:start;gap:10px}.brand{display:block;font-size:15px}.brand img{width:92px;display:block;margin-bottom:6px}.brand small{font-size:10px}.account{flex-direction:column;gap:4px;align-items:end;font-size:12px}.account button{padding:7px 10px;font-size:12px}nav{padding:12px 16px;gap:6px;flex-wrap:wrap}nav button{font-size:14px;padding:9px 12px}.connection{font-size:10px}main{padding:18px 16px 40px}h1{font-size:29px}h2{font-size:21px}.grid{grid-template-columns:1fr}.card{padding:20px}.metrics{gap:8px}.metrics>div{padding:12px 8px;display:block;text-align:center;font-size:11px}.metrics strong{display:block;font-size:28px}.study-heading{display:block}.savebar{flex-wrap:wrap;bottom:8px;padding:12px;gap:8px}.savebar span{flex-basis:100%}.savebar button{flex:1;padding:10px 8px;font-size:14px}.login{margin:2vh auto;padding:24px}.login h1{font-size:30px}.production form{display:block}.assign{gap:14px}.assign label{flex-basis:100%}.book{min-height:270px}footer{align-items:start;gap:14px}footer img{width:80px}iframe.source{height:600px}}@media print{header,nav,.savebar,button{display:none}main{padding:0}.studygrid{display:block}.card{break-inside:avoid}}

/* Keep Safari selection gestures out of the handwriting surface, not out of text inputs. */
.ink-panel{margin-top:24px;padding:14px;border:1px solid #b5c9e4;border-radius:12px;background:#f7faff;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.ink-panel h3{margin:0 0 6px}.ink-panel p{margin:4px 0 10px}
#ink{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;cursor:crosshair}

.ink-tools button[aria-pressed="true"]{background:#0b2a5b;color:white;box-shadow:0 0 0 2px #8db8f8}
.ink-tools button[aria-pressed="false"]{background:#eaf0f9;color:#0b2a5b}
#ink[data-tool="eraser"]{cursor:cell}

.invite-qr img {display:block;max-width:100%;height:auto;margin:16px 0;}
