/* A2: paper depth separates tasks; lime marks actions and active learning. */
:root{--bg:#f3f1eb;--paper:#fffef9;--ink:#20211f;--muted:#64665f;--accent:#252820;--soft:#eff8d6;--line:#d5d5cd;--lime:#b6ff00;--edge:#4b4d45;--display:Pretendard,system-ui,sans-serif;--block-shadow:0 4px 0 #d4d3c9,0 5px 0 #777970,0 9px 14px #272b2010}
body{background:var(--bg);color:var(--ink)}a{color:inherit}button,input,textarea,select{font-family:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #597c00;outline-offset:3px}.shell{display:block;max-width:1320px;min-height:100dvh}.sidebar{position:static;height:auto;display:flex;flex-direction:row;align-items:center;padding:22px 32px;gap:36px;border:0;border-bottom:1px solid var(--line)}.brand{font-size:26px;font-weight:850;letter-spacing:-1.4px;flex:none}.mark{border-color:var(--ink);height:28px;width:24px;background:var(--paper);box-shadow:3px 3px 0 #bfc0b4}.mark:after{background:var(--lime)}.nav{display:flex;gap:6px;margin:0 0 0 auto}.nav a{padding:9px 15px;border-radius:4px;font-size:14px}.nav a.active{background:var(--lime);color:var(--ink)}.nav svg{width:17px;height:17px}.side-note{margin:0;border:0;padding:0}.side-note a{margin:0;font-size:11px}.workspace{padding:22px 32px 48px}.top{margin:0 0 18px;gap:12px}.crumb{font-size:13px}.btn{border-color:#b5b7ac;border-radius:5px;font-weight:650;min-height:44px}.btn.primary,.small-primary{background:var(--lime);border:1px solid var(--edge);color:var(--ink);box-shadow:0 2px 0 #849d46}.btn.plain{box-shadow:none;background:transparent}.top #add{background:var(--ink);border-color:var(--ink);color:var(--paper)}.headline{font-family:var(--display);font-weight:800;font-size:30px;letter-spacing:-1px;line-height:1.3}.section-title{margin:26px 0 14px}.section-title h1{font-size:28px;font-weight:850;letter-spacing:-1px}.section-title h2{font-size:19px;font-weight:750}.resume,.audio-card,.shelf,.growth-panel,.record-card,.collection-head,.empty{background:var(--paper);border:1px solid var(--edge);border-radius:8px;box-shadow:var(--block-shadow)}.home-grid{grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr);gap:18px;align-items:start}.resume{display:flex;align-items:stretch;overflow:hidden}.resume>.resume-thumb,.resume>.art{width:144px;flex:none;object-fit:cover;aspect-ratio:auto;margin:20px 0 20px 20px;border-radius:4px;align-self:stretch;min-height:160px}.resume>.art{background:#e7e9df;border:1px solid #b5b7aa;box-shadow:inset 5px 0 #c0c4b4;padding:18px 12px;color:var(--ink)}.resume .art strong{font-size:19px}.resume .art small{display:block;font-size:9px;letter-spacing:1px}.resume-body{padding:20px;flex:1;min-width:0}.resume h2{font-size:22px;line-height:1.4;overflow-wrap:anywhere}.resume .meta{font-size:11px}.progress,.row-progress,.growth-track{height:5px;border-radius:6px;overflow:hidden;background:#e1e2da}.progress span,.row-progress span,.growth-track i{background:var(--lime)}.paper-note{border:1px solid #e0d9c6;background:#faf1d9;color:#514c41;padding:10px 12px;max-height:100px;overflow:auto;border-radius:2px;box-shadow:2px 3px 0 #e1dbc7}.resume-action{margin-top:16px}.secondary{display:grid;gap:12px}.secondary h3{margin:0;font-size:12px;color:var(--muted)}.audio-card{padding:14px 16px}.audio-card h4{margin:6px 0;font-size:16px;line-height:1.5}.audio-card p{margin:6px 0}.audio-card .btn{padding:4px 0}.secondary-empty{padding:16px;font-size:13px;color:var(--muted)}.shelves{gap:24px 16px;padding-top:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.shelf{position:relative;border-left:1px solid var(--edge)!important;padding:27px 18px 18px;min-height:160px}.shelf>.badge{position:absolute;top:-13px;left:14px;border:1px solid var(--edge);background:var(--lime);border-radius:5px 10px 0 0;padding:2px 14px;font-size:11px;color:var(--ink);font-weight:700;box-shadow:0 2px 0 var(--paper)}.shelf h3{font-size:17px;margin:4px 0 8px;font-weight:750}.shelf .new{border-top:1px solid var(--line);padding-top:10px;margin-top:12px;font-size:11px}.shelf:hover{background:#fcfff3}.growth-panel{padding:14px 18px;margin-bottom:20px}.growth-panel:not(.expanded){display:flex;gap:24px;align-items:center}.growth-panel:not(.expanded) .growth-summary{gap:24px;flex:1}.growth-summary strong{font-size:23px}.growth-level{min-width:120px}.growth-panel:not(.expanded) .week-strip{flex:1;max-width:420px;border:0;padding:0;margin:0;gap:8px}.week-day.done i{background:var(--lime);color:var(--ink);border-color:#9fc926}.week-day.started i{background:#f0f8d8}.growth-panel.expanded .monthly-card{margin-top:16px;padding-top:16px}.month-mosaic .deep{background:#36501b}.month-mosaic .filled{background:#90b746;color:#182109}.month-mosaic .light{background:#e7f2cd}.filters{margin:12px 0;gap:8px}.filters button{background:var(--paper);border:1px solid #b5b7ac;border-radius:5px;min-height:44px;padding:6px 13px}.filters button.active{background:var(--lime);color:var(--ink);border-color:var(--edge)}.search{max-width:none;margin:4px 0 8px;border-color:#b5b7ac}.collection-head{padding:20px 22px;align-items:center;position:relative;gap:16px}.collection-head h1{margin:6px 0;font-size:26px}.collection-head .sub{font-size:13px}.collection-head .actions{margin:0}.collection-primary{display:flex;flex-direction:column;gap:8px;align-items:flex-start;margin-top:14px}.collection-primary small{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.collection-menu{position:relative;align-self:flex-start;flex:none}.collection-menu summary{cursor:pointer;list-style:none;border:1px solid var(--line);border-radius:5px;padding:8px 12px;min-height:44px;font-size:13px}.collection-menu[open]>div{position:absolute;right:0;top:50px;background:var(--paper);padding:8px;border:1px solid var(--edge);border-radius:6px;z-index:8;width:180px;box-shadow:var(--block-shadow)}.collection-menu .btn{display:flex;width:100%;border:0;justify-content:flex-start;font-size:13px}.focus-back{margin:0 0 12px;padding-left:0}.statusline{margin:18px 0 12px;font-size:12px}.list-row{border:1px solid #c6c8bc;background:var(--paper);border-radius:6px;margin:10px 0;padding:14px;gap:14px;box-shadow:0 2px 0 #ddded5}.list-row:hover{border-color:var(--edge)}.thumb-audio{background:#e9eddf;color:#464d3c;border:1px solid #c0c5b6;box-shadow:inset 4px 0 #ced3c3}.list-copy h3{font-weight:700}.list-copy p{font-size:12px}.number{font-variant-numeric:tabular-nums}.record-card{padding:18px 20px;margin:14px 0}.record-card h3{margin:0 0 12px;font-size:14px;color:var(--ink)}.record-card p{font-size:15px}.note-actions{border-top:1px solid var(--line);padding-top:6px}.stamp.btn{border:1px solid #c6cead;background:#f0f5e4}.empty{padding:24px}.empty h2{font-size:19px}.empty p{font-size:14px}.badge{color:var(--ink)}dialog{border:1px solid var(--edge);border-radius:9px;box-shadow:0 6px 0 #b4b7a9,0 18px 60px #20211f33;padding:24px;max-height:85dvh;overflow:auto}dialog::backdrop{background:#20211f66}dialog .notice{border-top:1px solid var(--line);padding-top:12px}#toast{background:var(--ink);color:var(--paper)}
/* Learning: one stable reading surface and one stable transport surface. */
.learning .workspace{padding:0 24px 20px}.learning .shell{max-width:1440px}.study-head{height:66px;gap:14px;margin:0 0 18px;border:0}.study-course{line-height:1.4;min-width:0}.study-course strong{display:block;font-size:13px;font-weight:650}.study-course>span{display:block;font-size:13px;font-weight:450;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.study-work{background:var(--paper);border:1px solid var(--edge);border-radius:8px;box-shadow:var(--block-shadow);padding:0;overflow:hidden}.work-tabs{background:var(--paper);border:0;padding:5px 5px 0;gap:3px}.work-tabs button{min-height:44px;font-size:13px;border-radius:5px 5px 0 0;border:1px solid transparent}.work-tabs button[aria-selected=true]{background:var(--lime);color:var(--ink);border:1px solid var(--edge);border-bottom:1px solid var(--lime)}.work-panel{padding:0 14px 12px}.script-toolbar{gap:8px;border-bottom:1px solid var(--line);min-height:40px}.script-toolbar .micro{font-size:10px}.script-toolbar .small-control{font-size:11px}.script-toolbar .sync-settings{font-size:11px}.script-lines{padding:8px 0 40px;scroll-padding:24px}.script-seek{gap:12px;padding:14px 6px;color:var(--ink);line-height:1.85}.sentence{font-size:18px}.script-time{padding-top:5px;font-size:11px;color:#6d7065}.script-line{margin:0;border-left:0;border-radius:3px;align-items:center}.is-current{background:#eef8ce;border:0}.is-current .sentence{color:var(--ink);font-weight:500}.is-current .word{background:linear-gradient(to right,var(--lime) var(--spoken,0%),transparent var(--spoken,0%));color:var(--ink);background-clip:border-box;-webkit-background-clip:border-box;border-radius:2px}.script-edit{opacity:.6;min-width:28px;font-size:14px;padding:0}.return-current{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);border:1px solid var(--edge);border-radius:22px;background:var(--paper);padding:8px 16px;box-shadow:0 3px 0 #c8cabe;white-space:nowrap;font-size:12px;z-index:3}.sync-settings[open]{z-index:8}.audio-lesson{height:calc(var(--study-height,100dvh) - 20px);display:flex;flex-direction:column;max-width:1020px;margin:auto}.audio-lesson .study-head{flex:none;margin:0;height:64px}.study-layout.is-audio{display:flex;flex:1;min-height:0;flex-direction:column;gap:12px}.is-audio .study-work{order:1;flex:1;min-height:0;display:flex;flex-direction:column}.is-audio .study-media{order:2;flex:none;background:var(--paper);border:1px solid var(--edge);border-radius:8px;box-shadow:var(--block-shadow);padding:8px 16px}.is-audio .work-tabs{flex:none}.is-audio .work-panel{flex:1;min-height:0;overflow:auto}.is-audio #panel-script{display:flex;flex-direction:column;overflow:hidden}.is-audio .script-toolbar{flex:none}.is-audio .script-lines{flex:1;min-height:0;max-height:none}.is-audio #panel-writing{display:flex;flex-direction:column}.is-audio .whole-writing{min-height:150px;flex:1;resize:none;font-size:16px}.is-audio .lesson-list{max-height:none}.audio-surface{padding:0}.audio-surface #playerHost{display:none}.audio-progress{display:flex;align-items:center;gap:12px;font-size:11px;font-variant-numeric:tabular-nums}.audio-progress>span{min-width:34px}.audio-progress>span:last-child{text-align:right}.audio-progress input{flex:1;min-width:0;height:32px;margin:0;accent-color:#81a90d;cursor:pointer}.audio-main-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-width:560px;margin:0 auto}.audio-main-controls button{border:0;background:transparent;min-width:44px;min-height:64px;padding:0 4px;display:flex;flex-direction:column;align-items:center;gap:1px}.audio-main-controls button>span{position:relative;font-size:40px;line-height:44px;display:block;width:48px;height:44px;font-family:system-ui,sans-serif}.audio-main-controls b{position:absolute;inset:4px 0 0;display:grid;place-items:center;font-size:13px;font-weight:750}.audio-main-controls small{font-size:11px;line-height:1.5}.audio-main-controls #audioToggle .play-symbol{font-size:21px;width:48px;height:44px;line-height:42px;background:var(--lime);border:1px solid #829c3a;border-radius:50%;box-shadow:0 2px 0 #9da979}.transport{justify-content:center;gap:8px;border-top:1px solid var(--line);margin-top:4px;flex-wrap:wrap}.transport button,.transport select{font-size:12px;padding:4px 8px;min-height:40px;color:var(--ink)}.transport #repeat{margin:0}.transport #sentenceReplay{border-inline:1px solid var(--line);border-radius:0}.is-audio .study-actions{padding:0;border-top:1px solid var(--line);border-bottom:0;gap:10px;min-height:32px}.is-audio .study-actions button{font-size:11px;min-height:32px;padding:4px 8px}.study-actions .micro{font-size:11px}.player-error{margin:4px 0;padding:6px 8px;font-size:12px}.save-status{display:block}.is-video .study-media{position:sticky;top:16px;align-self:start}.video-surface{border:1px solid var(--edge);border-radius:7px;overflow:hidden;box-shadow:var(--block-shadow)}.is-video .study-work{min-height:400px}.is-video .study-actions{border-bottom:0}.is-video .work-panel{max-height:calc(100dvh - 160px);overflow:auto}.is-video .whole-writing{min-height:calc(100dvh - 240px)}.lesson-list-row{border-radius:4px}.lesson-list-row.selected{background:var(--soft)}.time-link{font-weight:650}.compact-note{padding:10px 2px}.small-primary{border-radius:5px}.learning:has(.audio-lesson) #toast{bottom:245px}#scriptEditor{top:40px;max-height:calc(100% - 44px);overflow:auto;border-color:var(--edge);border-radius:5px}.whole-writing{outline-offset:-2px}
@media(min-width:1000px){.is-audio .audio-surface{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;align-items:center}.is-audio .audio-progress{grid-column:1/-1}.is-audio .audio-main-controls{width:100%}.is-audio .transport{border:0;margin:0}.is-audio .study-actions{margin-top:5px}.is-audio .script-seek{padding-inline:16px}.is-audio .script-lines{padding-inline:20px}}
@media(max-width:1000px){.sidebar{gap:20px}.side-note{display:none}.workspace{padding-inline:24px}.shelves{grid-template-columns:repeat(2,minmax(0,1fr))}.home-grid{grid-template-columns:minmax(0,1fr)}.secondary{grid-template-columns:repeat(3,minmax(0,1fr))}.secondary h3{grid-column:1/-1}.growth-panel:not(.expanded){gap:20px}.growth-panel:not(.expanded) .growth-summary{gap:16px}.growth-level{min-width:100px}}
@media(max-width:760px){.sidebar{padding:16px 16px 10px;border:0;display:block}.brand{font-size:23px}.nav,.side-note{display:none}.workspace{padding:8px 16px 100px}.top{margin:0 0 16px}.top .crumb{font-size:12px}.top #add{font-size:12px;padding:8px 12px}.section-title{margin:24px 0 12px}.section-title h1{font-size:25px}.section-title h2{font-size:18px}.resume{display:block}.resume>.resume-thumb{float:right;width:90px;height:64px;min-height:0;margin:18px 18px 0 12px;border-radius:4px}.resume>.art{display:none}.resume-body{padding:18px}.resume h2{font-size:20px;margin:9px 0;line-height:1.45}.resume .progress{clear:both;margin-top:16px}.resume-action .btn{width:100%;font-size:14px}.home-grid{gap:18px}.secondary{grid-template-columns:1fr;gap:12px}.audio-card{padding:12px 15px;display:grid;grid-template-columns:1fr auto;column-gap:12px;align-items:center}.audio-card .meta,.audio-card h4,.audio-card p{grid-column:1}.audio-card .btn{grid-column:2;grid-row:1/4;font-size:12px}.audio-card p{font-size:11px;margin:0}.audio-card h4{font-size:15px;margin:5px 0}.home-grid .secondary .audio-card:first-of-type{border-top:1px solid var(--edge)}.shelves{grid-template-columns:1fr;gap:24px}.shelf{min-height:0;padding:20px 16px 14px}.shelf h3{font-size:17px}.shelf .new{margin-top:10px}.growth-panel{padding:12px 14px;margin-bottom:18px}.growth-panel:not(.expanded){display:block}.growth-panel:not(.expanded) .growth-summary{gap:16px}.growth-summary strong{font-size:22px}.growth-panel:not(.expanded) .week-strip{max-width:none;border-top:1px solid var(--line);margin-top:10px;padding-top:8px;gap:6px}.week-day i{width:23px;height:23px}.week-day{font-size:10px}.week-total{font-size:17px}.growth-level{min-width:120px}.mobile-nav{display:flex;background:var(--paper);border-top:1px solid var(--edge);box-shadow:0 -3px 12px #272b2008;padding-top:7px}.mobile-nav a{border-radius:5px;flex:1;font-size:12px;min-width:0}.mobile-nav a.active{background:var(--lime);color:var(--ink)}.collection-head{padding:16px;display:flex;align-items:flex-start;gap:8px}.collection-head>div:first-child{flex:1;min-width:0}.collection-head h1{font-size:22px}.collection-menu summary{font-size:0;padding:7px 12px}.collection-menu summary:after{content:'•••';font-size:14px}.collection-primary .btn{font-size:12px;padding:8px 12px}.list-row{padding:12px 10px;gap:8px}.list-row .item-link{gap:10px}.thumb-small,.thumb-audio{width:64px;height:48px;font-size:10px}.list-copy h3{font-size:14px}.list-copy p{font-size:11px!important}.record-card{padding:16px}.record-card p{font-size:14px}.filters{gap:6px}.filters button{font-size:12px;padding:5px 10px}.learning .workspace{padding:0 10px 10px}.learning .study-head{height:58px;margin:0;gap:10px}.study-course strong{font-size:12px}.study-course>span{font-size:12px}.learning .study-head .back-link{min-width:44px;font-size:28px}.study-head .back-link span{display:none}.study-head .lesson-menu summary{font-size:16px}.audio-lesson{height:calc(var(--study-height,100dvh) - env(safe-area-inset-bottom) - 10px)}.audio-lesson .study-head{height:58px}.study-layout.is-audio{gap:10px}.is-audio .study-media{padding:5px 10px}.work-tabs button{font-size:12px;min-height:42px}.work-panel{padding:0 8px 8px}.script-toolbar{gap:4px}.script-toolbar .micro{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.script-toolbar .small-control{font-size:10px;padding:6px 3px}.script-seek{padding:12px 3px;gap:9px}.script-time{min-width:32px;font-size:10px}.sentence{font-size:16px;line-height:1.85}.script-edit{min-width:26px}.script-lines{padding:4px 0 62px}.audio-progress{gap:8px}.audio-main-controls{gap:4px}.transport{gap:0}.transport button,.transport select{font-size:11px;padding:4px 7px;min-height:36px}.is-audio .study-actions{gap:8px}.is-audio .study-actions button{min-height:30px}.is-audio .study-actions .micro{font-size:10px}.is-video{display:block}.is-video .study-media{position:sticky;top:0;z-index:5;background:var(--bg);padding-bottom:8px}.video-surface{width:100%;margin:0;min-height:0;aspect-ratio:16/9;border-radius:5px}.video-surface iframe{min-height:0}.is-video .study-title{padding:10px 2px 0}.is-video .study-title h1{font-size:15px;margin:0;-webkit-line-clamp:1}.is-video .study-meta{font-size:10px}.is-video .study-actions{padding:0 2px}.is-video .study-actions button{min-height:36px;font-size:12px}.is-video .study-work{margin-top:8px;min-height:300px}.is-video .work-panel{max-height:none}.is-video .whole-writing{min-height:45dvh}.is-video .lesson-list{max-height:50dvh}.inline-memo{padding:10px 2px}.learning:has(.audio-lesson) #toast{bottom:245px}.audio-lesson #panel-writing{padding-bottom:12px}}
@media(max-height:570px) and (max-width:760px){.audio-lesson{height:auto;min-height:100dvh}.is-audio .script-lines{height:240px;min-height:160px;flex:auto}.is-audio .study-media{position:sticky;bottom:0;z-index:6}.is-audio .study-work{flex:none}.is-video .study-media{position:static}}
@media(prefers-reduced-motion:no-preference){.btn,.shelf,.audio-main-controls button{transition:background .15s ease,box-shadow .15s ease}.btn.primary:active{box-shadow:none;transform:translateY(1px)}}
/* Metadata refresh notices belong to browsing, not the active lesson. */
.learning #globalStatus{display:none}
.audio-main-controls svg{width:38px;height:44px;padding:4px;overflow:visible}.audio-main-controls svg path{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.audio-main-controls svg text{fill:currentColor;stroke:none;text-anchor:middle;font-size:12px;font-weight:750;font-family:Pretendard,system-ui,sans-serif}
.audio-progress input{appearance:none;-webkit-appearance:none;background:transparent;height:32px;outline-offset:1px}.audio-progress input::-webkit-slider-runnable-track{height:4px;background:linear-gradient(to right,var(--lime) var(--progress,0%),#dedfd5 var(--progress,0%));border-radius:4px}.audio-progress input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin-top:-7px;border-radius:50%;background:var(--lime);border:1px solid #6f8c24;box-shadow:0 2px 2px #0001}.audio-progress input::-moz-range-track{height:4px;background:#dedfd5;border-radius:4px}.audio-progress input::-moz-range-progress{background:var(--lime);height:4px}.audio-progress input::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--lime);border:1px solid #6f8c24}.script-edit{display:none;min-width:44px;min-height:44px}.editing-script .script-edit{display:block}.transport button,.transport select,.is-audio .study-actions button,.work-tabs button{min-height:44px}.is-audio .study-actions{min-height:44px}.script-toolbar .small-control{min-height:44px}

@media(max-width:760px){.audio-lesson.keyboard-open .audio-progress,.audio-lesson.keyboard-open .transport,.audio-lesson.keyboard-open .study-actions,.audio-lesson.keyboard-open #repeatStatus{display:none}.audio-lesson.keyboard-open .audio-main-controls button{min-height:54px}.audio-lesson.keyboard-open .study-media{padding-block:4px}}
.lesson-menu>div{width:270px;max-width:calc(100vw - 32px);border-color:var(--edge);box-shadow:var(--block-shadow)}.lesson-info{margin:0;padding:10px;border-bottom:1px solid var(--line);font-size:13px;white-space:normal;overflow-wrap:anywhere}.lesson-info strong{display:block;line-height:1.5}.lesson-info span{display:block;margin-top:6px;font-size:11px;color:var(--muted)}
