
:root{--cream:#f8f6ef;--ink:#263f35;--sage:#dfe7d9;--green:#385d48;--muted:#69776d;--line:#e2e6db;--orange:#e8a879}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;line-height:1.55}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid #cb8544}button{border:0;border-radius:12px;min-height:44px;padding:10px 17px;background:var(--green);color:white}button.secondary{background:#edf0e8;color:var(--ink)}button:disabled{cursor:default;opacity:.6}.demo{background:#e8ecdf;text-align:center;padding:9px 12px;font-size:12px;color:#42563d}.wrap{max-width:1120px;margin:auto;padding:0 28px 110px}header{display:flex;align-items:center;justify-content:space-between;padding:26px 0;border-bottom:1px solid var(--line);gap:16px}.logo{font-family:Georgia,serif;font-size:30px;letter-spacing:-1px}.logo small{display:block;font:10px Arial;letter-spacing:3px;margin-top:-5px;color:var(--muted)}.mode{display:flex;border:1px solid var(--line);padding:4px;border-radius:14px}.mode button{font-size:13px;background:transparent;color:var(--muted);padding:7px 14px;min-height:36px}.mode button.active{background:var(--green);color:white}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0;font-size:12px}.toolbar label{display:flex;gap:7px;align-items:center}select{background:white;border:1px solid var(--line);padding:9px;border-radius:9px;color:var(--ink);min-height:42px}.tag{font-size:11px;letter-spacing:1px;color:var(--green);font-weight:bold}.hero{display:grid;grid-template-columns:1.4fr 1fr;background:var(--sage);border-radius:24px;padding:30px 36px;position:relative;overflow:hidden;margin-bottom:28px}.hero h1{font-size:31px;line-height:1.4;letter-spacing:-1px;margin:10px 0}.hero p{font-size:14px;color:#526653}.art{display:flex;align-items:center;justify-content:center}.art svg{width:220px;max-width:100%}.pill{display:inline-block;border:1px solid #b5c5ae;border-radius:20px;padding:4px 11px;font-size:11px}.sectionhead{display:flex;justify-content:space-between;align-items:center;margin:22px 0 12px}.sectionhead h2{font-size:20px;margin:0}.sub{font-size:13px;color:var(--muted)}.grid{display:grid;grid-template-columns:1.45fr 1fr;gap:22px}.card{background:#fffefa;border:1px solid var(--line);border-radius:19px;padding:23px;margin-bottom:16px}.card h3{font-size:18px;margin:8px 0}.sentence{display:flex;gap:14px;padding:15px 0;border-bottom:1px solid #eeeee5}.number{font:italic 23px Georgia;color:#a9b99f}.sentence strong{display:block;font-size:18px;font-weight:500}.sentence span{font-size:13px;color:var(--muted)}.audio{display:flex;align-items:center;gap:13px;background:#f1f3eb;border-radius:12px;padding:12px;margin-top:20px}.play{border-radius:50%;width:42px;min-width:42px;padding:0}.audio .bar{flex:1}.wave{height:20px;background:repeating-linear-gradient(90deg,#a7b99d 0 3px,transparent 3px 7px);opacity:.5;mask-image:linear-gradient(0deg,transparent,#000,transparent)}.audio small{font-size:11px;color:var(--muted)}.check{width:100%;margin-top:16px}.mini{display:flex;gap:15px;align-items:center}.tile{background:#eee8d7;color:#8c7956;border-radius:13px;min-width:60px;height:60px;display:grid;place-items:center;font-size:25px}.mini p{margin:2px 0;font-size:12px;color:var(--muted)}.linecard{padding:15px 0;border-bottom:1px solid var(--line)}.linecard:last-child{border:0}.locked{background:#efeee8;color:#788173}.locked h3{font-size:16px}.nav{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:8px;background:#fffef9f2;border:1px solid var(--line);box-shadow:0 8px 30px #233b3514;border-radius:20px;padding:7px;z-index:3}.nav button{background:transparent;color:#798579;min-width:100px;font-size:12px;display:flex;flex-direction:column;gap:3px;align-items:center;padding:8px 12px}.nav button.active{background:#e8eee2;color:var(--green)}.nav b{font-size:19px}.notice{border-radius:16px;background:#f5eadc;padding:19px;font-size:14px}.empty{text-align:center;padding:60px 20px}.empty h1{font-size:25px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:block;margin:14px 0;font-size:13px}.field input,.field textarea,.field select{display:block;width:100%;border:1px solid var(--line);border-radius:10px;padding:11px;background:white;margin-top:6px;color:var(--ink)}textarea{resize:vertical;min-height:65px}.access{display:flex;gap:15px;flex-wrap:wrap;font-size:13px}.access label{padding:8px 0}.member{padding:16px 0;border-bottom:1px solid var(--line)}.memberhead{display:flex;justify-content:space-between;font-size:14px}.member-controls{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.member-controls button,.member-controls select{font-size:12px;padding:8px}.member small{display:block;color:var(--muted);font-size:12px}.status{font-size:11px;background:#edf0e7;padding:3px 8px;border-radius:12px}.toast{position:fixed;bottom:108px;left:50%;transform:translateX(-50%);max-width:90%;width:max-content;background:#263f35;color:#fff;padding:12px 20px;border-radius:12px;z-index:10;font-size:13px}.hide{display:none!important}.resource{display:block;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:15px;margin-top:10px}.resource span{display:block;font-size:12px;color:var(--muted)}footer{font-size:11px;color:#7b877c;padding-top:20px}.progress{height:5px;background:#e5eadd;border-radius:5px;margin:13px 0}.progress i{display:block;width:20%;height:100%;background:#79926f;border-radius:5px}@media(max-width:700px){.wrap{padding:0 18px 105px}header{padding:20px 0}.logo{font-size:26px}.mode button{font-size:12px;padding:7px 10px}.toolbar{gap:8px;margin:14px 0}.toolbar label{font-size:11px}.hero{padding:23px;grid-template-columns:1fr .6fr;border-radius:19px}.hero h1{font-size:25px}.hero p{font-size:12px}.art svg{width:130px}.grid,.admin-grid{grid-template-columns:1fr;gap:0}.card{padding:20px}.nav{bottom:10px;gap:0;width:calc(100% - 28px);justify-content:space-around}.nav button{min-width:0;flex:1;padding:8px 5px}.sentence strong{font-size:17px}.hero .pill{font-size:10px}.demo{font-size:11px}.sectionhead h2{font-size:19px}}

.chips{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.chips button{background:#edf0e8;color:var(--ink);font-size:13px}.chips button.active{background:var(--green);color:white}.search{width:100%;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fffefa;color:var(--ink)}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.smallbtn{font-size:12px;padding:7px 12px;min-height:36px}.split{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.stat{padding:17px;background:#fffefa;border:1px solid var(--line);border-radius:14px}.stat strong{display:block;font:28px Georgia}.stat span{font-size:12px;color:var(--muted)}.meta{font-size:12px;color:var(--muted);margin:8px 0}.sentence button{margin-left:auto;align-self:center;min-width:40px}.tabs{margin-top:20px}.field input[type=checkbox]{display:inline;width:auto}.recording{color:#a43d36}.admin-grid .card{min-width:0}audio{width:100%;margin-top:14px}.empty p{max-width:520px;margin:16px auto}.datebar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:18px 0}.datebar input{font:inherit;border:1px solid var(--line);border-radius:10px;padding:9px;max-width:165px}.nav button{min-width:85px}.notice a{color:var(--green)}.bookmark{background:#edf0e8;color:var(--green)}.saved{background:#e8d9ba;color:#594929}dialog{border:1px solid var(--line);border-radius:20px;padding:25px;width:min(500px,92vw);color:var(--ink);background:var(--cream)}dialog::backdrop{background:#263f3566}.resource{width:100%;text-align:left;background:white}.member-controls input{max-width:150px;border:1px solid var(--line);padding:8px;border-radius:8px}.hero h1{font-size:30px}@media(max-width:700px){.split{gap:7px}.stat{padding:12px}.hero h1{font-size:24px}.nav button{min-width:0}.datebar button{padding:8px 10px}.member-controls{gap:12px}.admin-grid{display:block}}

.listen-player{margin:18px 0;padding:17px;border:1px solid var(--line);border-radius:14px;background:#f1f3eb}.listen-player .seek{width:100%;accent-color:var(--green);margin:14px 0}.listen-player select{font-size:12px}.listen-player .play-toggle{min-width:86px}.view-label{font-size:10px;color:#899084;letter-spacing:1px;border-top:1px solid var(--line);padding-top:12px;margin-top:18px}.document-viewer{background:#eeeee7;border-radius:12px;padding:12px;margin:18px 0}.document-page{position:relative;margin:12px 0;overflow:hidden;background:white}.document-page img{width:100%;display:block;pointer-events:none;-webkit-user-drag:none}.watermark{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;align-items:center;pointer-events:none;color:#385d482c;font-size:clamp(12px,2vw,22px);transform:rotate(-18deg);text-align:center;line-height:7}.reading-text{line-height:1.9}.view-only img{-webkit-touch-callout:none;user-select:none}.player-time{font-variant-numeric:tabular-nums;font-size:12px}.player-error{color:#9b4034}.listen-player audio{display:none}@media print{body>*{display:none!important}body::before{content:'이 자료는 니나에듀 앱 안에서 열람해 주세요.';display:block;padding:60px;font-size:20px}}

.auth{max-width:480px;margin:55px auto}.auth h1{font-size:28px}.auth input{width:100%}.notice.error{color:#8e302b;background:#f8e5df}.viewer-controls{position:sticky;top:0;background:var(--cream);padding:10px;z-index:2}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.break{overflow-wrap:anywhere} .progress-range{width:100%;accent-color:var(--green)} .busy{opacity:.6;pointer-events:none} @media(max-width:700px){.two{grid-template-columns:1fr}.auth{margin:28px auto}}