:root{--paper: #faf8f4;--surface: #ffffff;--ink: #1b2430;--ink-soft: #5d6875;--ink-faint: #8a939e;--line: #e6e1d7;--line-2: #d5cec0;--brand: #1d5b6e;--brand-deep: #123f4c;--brand-tint: #eef4f5;--accent: #bf5320;--accent-deep: #9c4219;--accent-tint: #fbeee6;--green: #2e7d54;--red: #a83232;--shadow-sm: 0 1px 2px rgba(27, 36, 48, .06), 0 1px 3px rgba(27, 36, 48, .04);--shadow-md: 0 4px 12px rgba(27, 36, 48, .07), 0 1px 3px rgba(27, 36, 48, .05);--shadow-lg: 0 18px 40px rgba(27, 36, 48, .16);--radius: 12px;--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-read: Georgia, "Iowan Old Style", "Times New Roman", serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}input,textarea{font-family:inherit}.app-shell{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 26px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:13px}.mark{width:40px;height:40px;display:grid;place-items:center;font-size:21px;border-radius:11px;background:linear-gradient(150deg,var(--brand) 0%,var(--brand-deep) 100%);box-shadow:var(--shadow-sm)}.brand h1{margin:0;font-size:17px;letter-spacing:-.2px;font-weight:650}.brand p{margin:1px 0 0;font-size:12.5px;color:var(--ink-soft)}.topbar-right{display:flex;align-items:center;gap:10px}.model-dot{font-size:12px;color:var(--ink-soft);padding:5px 11px 5px 22px;border-radius:999px;border:1px solid var(--line);position:relative;background:var(--paper)}.model-dot:before{content:"";position:absolute;left:9px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:var(--ink-faint)}.model-dot.on:before{background:#38a169;box-shadow:0 0 0 3px #38a16929}.model-dot.off:before{background:#c05621}.layout{display:grid;grid-template-columns:392px minmax(0,1fr);align-items:start;flex:1}.builder{position:sticky;top:69px;height:calc(100vh - 69px);display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border-right:1px solid var(--line)}.builder-scroll{flex:1;overflow-y:auto;padding:22px 20px 8px}.builder-foot{border-top:1px solid var(--line);padding:14px 20px 18px;background:var(--surface);box-shadow:0 -6px 14px #1b24300a}.builder-foot .generate{margin-top:0}.subject-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;margin-bottom:18px;background:var(--paper);border:1px solid var(--line);border-radius:11px}.subject-tab{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:9px 11px;border:1px solid transparent;border-radius:8px;background:transparent;text-align:left;color:var(--ink-soft);transition:all .13s}.subject-tab:hover{background:#f3efe7;color:var(--ink)}.subject-tab.on{background:var(--surface);border-color:var(--line-2);color:var(--ink);box-shadow:var(--shadow-sm)}.subject-tab-name{font-size:13.5px;font-weight:650}.subject-tab-meta{font-size:10.5px;color:var(--ink-faint)}.subject-tab.on .subject-tab-name{color:var(--brand-deep)}.builder-title h2{margin:0;font-size:16px;font-weight:650;letter-spacing:-.1px}.builder-title p{margin:2px 0 20px;font-size:13px;color:var(--ink-soft)}.field{padding:16px 0;border-top:1px solid var(--line)}.field-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px;gap:8px}.field-head h3{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft)}.pill-count{font-size:11.5px;color:var(--brand);background:var(--brand-tint);padding:3px 9px;border-radius:999px;font-weight:600}.strands{display:flex;flex-direction:column;gap:8px}.strand{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--paper)}.strand-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;background:transparent;border:0;font-size:13px;font-weight:600;color:var(--ink);text-align:left}.strand-head:hover{background:#f3efe7}.strand-head.active{background:var(--brand-tint);color:var(--brand-deep)}.strand-count{font-size:11.5px;color:var(--ink-faint);font-variant-numeric:tabular-nums}.strand-head.active .strand-count{color:var(--brand)}.teks-list{display:flex;flex-direction:column;background:var(--surface)}.teks-row{display:flex;gap:9px;padding:8px 11px;cursor:pointer;border-top:1px solid var(--line);transition:background .12s}.teks-row:hover{background:#fbf9f5}.teks-row.on{background:var(--brand-tint)}.teks-row input{margin-top:3px;accent-color:var(--brand);width:15px;height:15px;flex:none}.teks-body{display:flex;flex-direction:column;gap:2px;min-width:0}.teks-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.teks-code{font-size:12.5px;font-weight:700;color:var(--brand-deep);font-variant-numeric:tabular-nums}.skill-name{font-size:12.5px;font-weight:650;color:var(--ink)}.teks-text{font-size:11.5px;color:var(--ink-soft);line-height:1.35}.section-note{margin:9px 0 0;font-size:11.5px;line-height:1.4;color:var(--ink-faint)}.tag{font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:1.5px 5px;border-radius:4px}.tag.readiness{background:#f0e6f6;color:#6b3fa0}.tag.supporting{background:#e8eef2;color:#456}.levels{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.levels.muted{opacity:.42;pointer-events:none}.level{padding:11px 0;border:1px solid var(--line-2);background:var(--surface);border-radius:9px;font-size:15px;font-weight:600;color:var(--ink-soft);transition:all .13s}.level:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.level.on{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 2px 8px #1d5b6e47}.level-name{margin:10px 0 0;font-size:13px;font-weight:600}.level-detail{margin:2px 0 0;font-size:12px;color:var(--ink-soft);min-height:16px}.switch{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-soft);cursor:pointer}.switch input{accent-color:var(--brand)}.formats{display:flex;flex-direction:column;gap:7px}.format{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:10px 13px;border:1px solid var(--line-2);border-radius:9px;background:var(--surface);text-align:left;transition:all .13s}.format:hover{border-color:var(--brand)}.format.on{border-color:var(--brand);background:var(--brand-tint);box-shadow:inset 3px 0 0 var(--brand)}.format-title{font-size:13.5px;font-weight:600}.format-detail{font-size:11.5px;color:var(--ink-soft)}.count-row{display:grid;grid-template-columns:44px 1fr 44px;border:1px solid var(--line-2);border-radius:9px;overflow:hidden;background:var(--surface)}.count-row button{border:0;background:var(--paper);font-size:19px;color:var(--ink-soft)}.count-row button:hover{background:var(--brand-tint);color:var(--brand)}.count-row input{border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);text-align:center;font-size:16px;font-weight:600;padding:9px 0;width:100%;-moz-appearance:textfield}.count-row input::-webkit-outer-spin-button,.count-row input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.quick-counts{display:flex;gap:6px;margin-top:8px}.quick{flex:1;padding:6px 0;font-size:12.5px;border:1px solid var(--line);background:var(--paper);border-radius:7px;color:var(--ink-soft)}.quick.on{background:var(--brand);color:#fff;border-color:var(--brand)}.generate{width:100%;margin-top:18px;padding:14px;border:0;border-radius:10px;background:linear-gradient(160deg,var(--accent) 0%,var(--accent-deep) 100%);color:#fff;font-size:15px;font-weight:650;letter-spacing:.1px;box-shadow:0 4px 14px #bf532047;transition:transform .1s,box-shadow .15s}.generate:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 7px 18px #bf532052}.generate:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.warn{margin:9px 0 0;font-size:12px;color:var(--red)}.workspace{padding:20px 26px 90px;max-width:1080px}.subject-mismatch{margin-bottom:12px;padding:9px 13px;font-size:12.5px;line-height:1.4;color:var(--accent-deep);background:var(--accent-tint);border:1px solid #efd3c2;border-radius:9px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:11px 15px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);position:sticky;top:69px;z-index:10;margin-bottom:18px}.toolbar-left{display:flex;align-items:center;gap:12px}.toolbar-right{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.select-all{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;cursor:pointer}.select-all input{width:16px;height:16px;accent-color:var(--brand)}.scope-hint{font-size:11.5px;color:var(--ink-faint)}.set-summary{font-size:11.5px;font-weight:600;color:var(--brand-deep);background:var(--brand-tint);padding:3px 9px;border-radius:999px;white-space:nowrap}.toolbar-right button{padding:7px 14px;border:1px solid var(--line-2);background:var(--surface);border-radius:8px;font-size:13px;font-weight:550;color:var(--ink);transition:all .12s}.toolbar-right button:hover:not(:disabled){border-color:var(--brand);color:var(--brand);background:var(--brand-tint)}.toolbar-right button:disabled{opacity:.42;cursor:not-allowed}.toolbar-right button.danger:hover:not(:disabled){border-color:var(--red);color:var(--red);background:#fdf2f2}.toolbar-right button.quiet{color:var(--ink-faint);border-color:transparent}.toolbar-right button.quiet:hover:not(:disabled){color:var(--ink-soft);border-color:var(--line-2);background:var(--paper)}.cards{display:flex;flex-direction:column;gap:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px 14px;box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s}.card:hover{box-shadow:var(--shadow-md)}.card.checked{border-color:var(--brand);box-shadow:0 0 0 3px #1d5b6e17}.card.working{opacity:.62;pointer-events:none}.card-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}.check{display:flex;align-items:center;gap:8px;cursor:pointer}.check input{width:16px;height:16px;accent-color:var(--brand)}.num{min-width:22px;text-align:center;font-size:12.5px;font-weight:700;color:var(--ink-faint);font-variant-numeric:tabular-nums}.badges{display:flex;gap:6px;flex-wrap:wrap;flex:1}.badge{font-size:11.5px;font-weight:650;padding:3px 9px;border-radius:6px;letter-spacing:.02em}.badge.teks{background:var(--brand-tint);color:var(--brand-deep)}.badge.skill{background:var(--accent-tint);color:var(--accent-deep)}.badge.type{background:#f3f0ea;color:var(--ink-soft)}.badge.level.l1{background:#e8f3ec;color:#2e7d54}.badge.level.l2{background:#eaf1e6;color:#4d7a33}.badge.level.l3{background:#fbf2dc;color:#8a6410}.badge.level.l4{background:#fbe9dc;color:#a2540f}.badge.level.l5{background:#fae3e3;color:#a83232}.card-tools{display:flex;gap:4px;margin-left:auto}.card-tools button{padding:5px 9px;border:1px solid transparent;background:transparent;border-radius:6px;font-size:12px;color:var(--ink-soft)}.card-tools button:hover:not(:disabled){background:var(--paper);border-color:var(--line-2);color:var(--ink)}.card-tools button.danger:hover{color:var(--red);border-color:#f0cfcf;background:#fdf3f3}.card-tools button:disabled{opacity:.4;cursor:not-allowed}.prompt{margin:0 0 12px;font-family:var(--font-read);font-size:16.5px;line-height:1.62;white-space:pre-wrap;color:#17202b}.passage{margin:0 0 11px;padding:11px 14px;background:#faf8f4;border-left:3px solid var(--line-2);border-radius:0 8px 8px 0}.passage-line{display:flex;gap:9px;margin:0 0 3px;font-family:var(--font-read);font-size:16px;line-height:1.55;color:#17202b}.passage-line:last-child{margin-bottom:0}.passage-line.new-para{margin-top:11px}.sentence-box{margin:2px 0 12px;padding:10px 14px;border:1.5px solid var(--line-2);border-radius:6px;background:var(--surface);font-family:var(--font-read);font-size:15.5px;line-height:1.5}.sent-num{flex:none;width:20px;height:20px;margin-top:3px;display:grid;place-items:center;font-family:var(--font-ui);font-size:10.5px;font-weight:700;color:var(--brand);background:var(--surface);border:1px solid var(--line-2);border-radius:50%}.prompt.stem{font-family:var(--font-ui);font-size:14px;line-height:1.45;font-weight:550;color:var(--ink);margin-top:2px}.data-table{border-collapse:collapse;margin:4px 0 14px;font-size:13.5px;font-family:var(--font-read);background:var(--paper);border-radius:8px;overflow:hidden}.data-table th,.data-table td{border:1px solid var(--line-2);padding:6px 16px;text-align:left}.data-table th{background:#f2eee6;font-family:var(--font-ui);font-size:11.5px;letter-spacing:.02em;color:var(--ink-soft);font-weight:650}.options{list-style:none;margin:0 0 12px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:7px}.options.two{grid-template-columns:1fr 1fr}.options.long{grid-template-columns:1fr}.options li{display:flex;align-items:flex-start;gap:9px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;font-size:14px;background:var(--paper);transition:all .12s}.options li.right{border-color:var(--green);background:#eef7f1;box-shadow:inset 3px 0 0 var(--green)}.letter{font-family:var(--font-ui);font-size:11.5px;font-weight:700;color:var(--brand);background:var(--surface);border:1px solid var(--line-2);width:20px;height:20px;flex:none;display:grid;place-items:center;border-radius:5px;margin-top:1px}.options li.right .letter{background:var(--green);border-color:var(--green);color:#fff}.opt{flex:1}.open-line{margin:4px 0 14px}.scaffold{display:block;padding:16px 2px 10px;font-family:var(--font-read);font-size:15px;letter-spacing:.04em;color:#a9b0b9;border-bottom:1px solid transparent}.write-lines{height:62px;margin-top:4px;background:repeating-linear-gradient(#fff,#fff 20px,#d9d4c9 21px)}.card-foot{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:11px}.reveal,.polish{border:1px solid var(--line-2);background:var(--surface);border-radius:7px;padding:6px 12px;font-size:12.5px;color:var(--ink-soft);transition:all .12s}.reveal:hover,.polish:hover:not(:disabled){border-color:var(--brand);color:var(--brand);background:var(--brand-tint)}.polish{margin-left:auto}.polish:disabled{opacity:.5;cursor:wait}.answer{margin-top:12px;padding:13px 15px;background:#f6f4ee;border-radius:9px;border:1px solid var(--line)}.answer-main{display:flex;align-items:baseline;gap:10px}.answer .label{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);min-width:46px}.answer-main strong{font-size:15px;color:var(--brand-deep);font-family:var(--font-read)}.solution{display:flex;gap:10px;margin-top:7px}.solution p{margin:0;font-size:13.5px;color:var(--ink-soft);line-height:1.55}.empty{text-align:center;padding:80px 24px;border:1.5px dashed var(--line-2);border-radius:var(--radius);background:#ffffff80}.empty h2{margin:0 0 8px;font-size:18px;font-weight:650}.empty p{margin:0;color:var(--ink-soft);font-size:14px}.empty-note{margin-top:10px!important;font-size:12.5px!important;color:var(--ink-faint)!important}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#141b238c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:24px;z-index:60}.modal{background:var(--surface);border-radius:14px;width:min(680px,100%);max-height:88vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:pop .16s ease-out}@keyframes pop{0%{transform:scale(.97);opacity:.6}to{transform:scale(1);opacity:1}}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:16px;font-weight:650}.close{border:0;background:transparent;font-size:15px;color:var(--ink-soft);padding:4px 8px;border-radius:6px}.close:hover{background:var(--paper)}.modal-body{padding:18px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.modal-field{display:flex;flex-direction:column;gap:7px}.modal-field>span{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.modal-field textarea,.modal-field input{width:100%;padding:10px 12px;border:1px solid var(--line-2);border-radius:8px;font-size:14px;line-height:1.55;color:var(--ink);background:var(--surface);resize:vertical}.modal-field textarea{font-family:var(--font-read);font-size:15px}.modal-field input:focus,.modal-field textarea:focus{outline:2px solid rgba(29,91,110,.35);outline-offset:-1px;border-color:var(--brand)}.edit-options{display:flex;flex-direction:column;gap:7px}.edit-option{display:flex;gap:8px;align-items:center}.edit-option .mark{width:34px;height:38px;flex:none;border:1px solid var(--line-2);background:var(--paper);border-radius:8px;font-size:13px;font-weight:700;color:var(--ink-soft)}.edit-option.on .mark{background:var(--green);border-color:var(--green);color:#fff}.edit-option.on input{border-color:var(--green);background:#f3faf5}.modal-error{margin:0;color:var(--red);font-size:13px}.modal-foot{display:flex;justify-content:flex-end;gap:9px;padding:14px 20px;border-top:1px solid var(--line)}.modal-foot .ghost{padding:9px 16px;border:1px solid var(--line-2);background:var(--surface);border-radius:8px;font-size:13.5px}.modal-foot .primary{padding:9px 18px;border:0;background:var(--brand);color:#fff;border-radius:8px;font-size:13.5px;font-weight:600}.modal-foot .primary:disabled{opacity:.6}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#1b2430;color:#fff;padding:11px 20px;border-radius:9px;font-size:13.5px;box-shadow:var(--shadow-lg);z-index:80;max-width:90vw;animation:rise .18s ease-out}@keyframes rise{0%{transform:translate(-50%,8px);opacity:0}to{transform:translate(-50%);opacity:1}}.print-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#3a3f45;z-index:70;overflow:auto}.print-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:12px 22px;background:#23282e;color:#eef1f4;border-bottom:1px solid #111}.print-bar-left{display:flex;flex-direction:column;gap:1px}.print-bar-left strong{font-size:13.5px}.print-bar-left span{font-size:11.5px;color:#9aa5b1}.print-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-left:auto}.print-controls label{display:flex;align-items:center;gap:7px;font-size:12.5px;color:#c7d0d9}.print-controls input[type=text],.print-controls input:not([type]){background:#171b20;border:1px solid #3a424a;color:#fff;padding:6px 10px;border-radius:6px;font-size:12.5px;width:190px}.print-controls .chk input{accent-color:#4f9db4}.print-bar-actions{display:flex;gap:8px}.print-bar-actions .ghost{padding:8px 14px;border:1px solid #4a535c;background:transparent;color:#dde3e9;border-radius:7px;font-size:13px}.print-bar-actions .primary{padding:8px 20px;border:0;background:#c4551f;color:#fff;border-radius:7px;font-size:13px;font-weight:600}.print-stage{padding:26px 16px 60px;display:flex;justify-content:center}.sheet{background:#fff;width:8.5in;min-height:11in;padding:.72in .7in;color:#111;font-family:var(--font-read);box-shadow:0 10px 34px #00000059}.sheet-head h1{margin:0;font-size:20pt;font-family:var(--font-ui);letter-spacing:-.3px}.sheet-sub{margin:3px 0 14px;font-size:9.5pt;color:#555;font-family:var(--font-ui)}.namebar{display:flex;gap:26px;margin-bottom:20px;font-family:var(--font-ui);font-size:10pt;color:#333}.name-field{display:flex;align-items:flex-end;gap:8px;flex:1}.name-field.small{flex:0 0 2.4in}.name-field i{flex:1;border-bottom:1px solid #777;height:15px}.sheet-list{margin:0;padding:0;list-style:none}.sheet-item{margin-bottom:15px;break-inside:avoid;page-break-inside:avoid}.sheet-q-head{display:flex;align-items:baseline;gap:9px}.sheet-num{font-family:var(--font-ui);font-weight:700;font-size:10.5pt;color:#000;min-width:18px}.sheet-teks{font-family:var(--font-ui);font-size:7.5pt;letter-spacing:.05em;color:#6b5b2e;background:#f4efdf;padding:1px 6px;border-radius:3px}.sheet-inst{font-family:var(--font-ui);font-size:8.5pt;color:#444;font-style:italic}.sheet-prompt{margin:2px 0 7px 24px;font-size:12pt;line-height:1.5;white-space:pre-wrap}.sheet-passage{margin:4px 0 4px 24px}.sheet-passage p{display:flex;gap:8px;margin:0 0 2px;font-size:11.5pt;line-height:1.45}.sheet-passage p.new-para{margin-top:12px}.sheet-box{margin:4px 0 6px 24px;padding:6px 10px;border:1px solid #777;font-size:11pt;line-height:1.4;break-inside:avoid}.sheet-sent-num{flex:none;min-width:14px;font-family:var(--font-ui);font-size:8.5pt;font-weight:700;color:#555}.sheet-prompt.stem{font-family:var(--font-ui);font-size:10.5pt;font-weight:600;margin-top:4px}.sheet-table{margin:4px 0 9px 24px;border-collapse:collapse;font-size:10pt}.sheet-table th,.sheet-table td{border:1px solid #888;padding:3px 14px;text-align:left}.sheet-table th{background:#f1f1f1;font-family:var(--font-ui);font-size:8.5pt}.sheet-options{list-style:none;margin:0 0 0 24px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:3px 20px}.sheet-options.long{grid-template-columns:1fr}.sheet-options li{display:flex;gap:8px;font-size:11pt;line-height:1.4}.sheet-letter{font-family:var(--font-ui);font-weight:700;font-size:9.5pt;color:#000;min-width:14px}.sheet-open{margin-left:24px;display:flex;flex-direction:column;gap:12px}.sheet-answer-line{display:block;border-bottom:1px solid #999;margin-bottom:6px}.sheet-work,.sheet-work.short{border:1px solid #ddd;border-radius:3px;height:.95in;background:repeating-linear-gradient(#fff,#fff 23px,#eee 24px)}.sheet-work.short{margin:7px 0 0 24px;height:.6in}.sheet-work.lines{height:1.15in;border:0;border-radius:0;background:repeating-linear-gradient(#fff,#fff 23px,#ddd 24px)}.sheet-key{break-before:page;page-break-before:always;margin-top:26px;padding-top:10px;border-top:2px solid #222}.sheet-key h2{margin:0 0 12px;font-size:14pt;font-family:var(--font-ui)}.sheet-key ol{margin:0;padding-left:22px;columns:2;column-gap:34px}.sheet-key li{margin-bottom:9px;font-size:10pt;break-inside:avoid}.key-teks{display:block;font-family:var(--font-ui);font-size:7.5pt;color:#777;letter-spacing:.04em}.key-answer{font-family:var(--font-ui);font-size:10pt}@media(max-width:1080px){.layout{grid-template-columns:1fr}.builder{position:static;height:auto;max-height:none;overflow:visible;border-right:0;border-bottom:1px solid var(--line)}.builder-scroll{overflow:visible;padding-bottom:0}.workspace{padding:18px 16px 80px}.options{grid-template-columns:1fr}.toolbar{position:static}}@media(max-width:640px){.topbar{padding:12px 14px}.brand h1{font-size:15px}.card-tools button{padding:5px 6px;font-size:11px}.card-top{flex-wrap:wrap}.sheet{width:100%;padding:24px}}@media print{@page{size:letter;margin:.55in}html,body,#root,.app-shell{background:#fff!important;height:auto!important;min-height:0!important;display:block!important}.app-shell>.topbar,.app-shell>.layout,.modal-backdrop,.toast,.no-print{display:none!important}.print-overlay{position:static!important;inset:auto!important;background:#fff!important;overflow:visible!important;display:block!important;z-index:auto!important}.print-stage{padding:0!important;display:block!important}.sheet{width:auto!important;min-height:0!important;padding:0!important;box-shadow:none!important;margin:0!important}.sheet-item{break-inside:avoid;page-break-inside:avoid}.sheet-options li{break-inside:avoid}.sheet-key{break-before:page;page-break-before:always}}.exemplar-toggle{margin-left:auto;font-size:12px;padding:4px 10px;border:1px solid var(--line-2);border-radius:7px;background:#fff;color:var(--ink-soft);cursor:pointer}.exemplar-toggle:hover{border-color:var(--brand);color:var(--brand-deep)}.exemplar{margin-top:10px;padding:12px 14px;border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:0 8px 8px 0;background:#fbfbfa}.ex-title{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--brand-deep);margin-bottom:8px}.ex-row{margin-bottom:9px}.ex-row .label{display:block;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:2px}.ex-row p{margin:0;font-size:13.5px;line-height:1.5;color:var(--ink)}.ex-model{color:var(--ink)!important}.ex-steps{margin:0;padding-left:18px;font-size:13.5px;line-height:1.5}.ex-steps li{margin-bottom:2px}.ex-level-note,.ex-teks-text{margin:0;font-size:12px;line-height:1.45;color:var(--ink-faint)}.ex-teks-text{margin-top:4px;font-style:italic}.sheet-exemplar{break-before:page;margin-top:0}.sheet-exemplar h2{font-size:13px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1.5px solid #000;padding-bottom:4px;margin:0 0 12px}.ex-block{border:1px solid #bbb;border-radius:3px;padding:8px 10px;margin-bottom:10px;break-inside:avoid}.ex-head{margin:0 0 6px;font-size:11px}.ex-head .ex-level{margin-left:8px;color:#555}.ex-label{margin:6px 0 1px;font-size:8.5px;letter-spacing:.06em;text-transform:uppercase;color:#555}.sheet-exemplar p{margin:0;font-size:10.5px;line-height:1.4}.sheet-exemplar .ex-model{font-family:var(--font-read);font-size:10.5px}.sheet-exemplar .ex-steps{font-size:10.5px;line-height:1.4;margin:0;padding-left:16px}.sheet-exemplar .ex-teks{font-style:italic;color:#444;margin-top:4px}.story-panel{background:var(--paper);border:1px solid var(--line-2);border-radius:14px;padding:16px 18px 12px;margin:0 0 16px}.story-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:10px}.story-kicker{display:block;font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand)}.story-title h2{margin:3px 0 0;font-size:19px;letter-spacing:-.2px}.story-tabs{display:flex;flex-wrap:wrap;gap:3px;background:#ececea;border-radius:9px;padding:3px;flex:0 0 auto}.story-tabs button{border:0;background:transparent;color:var(--ink-soft);font-family:var(--font-ui);font-size:12px;font-weight:600;padding:6px 11px;border-radius:7px;cursor:pointer}.story-tabs button.on{background:#fff;color:var(--ink);box-shadow:0 1px 2px #00000014}.story-count{font-size:9px;font-weight:700;color:var(--brand);background:var(--brand-tint);padding:1px 5px;border-radius:999px;margin-left:4px}.story-body{max-height:360px;overflow:auto;padding-right:4px}.story-line{display:flex;gap:10px;margin:0 0 3px;font-family:var(--font-read);font-size:14.5px;line-height:1.55;color:var(--ink)}.story-line.new-para{margin-top:10px}.story-num{flex:0 0 18px;text-align:right;font-family:var(--font-ui);font-size:10px;font-weight:700;color:var(--ink-faint);padding-top:4px}.story-foot{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-top:1px solid var(--line);margin-top:10px;padding-top:8px;font-size:12px;color:var(--ink-soft)}.story-source{color:var(--ink-faint);font-size:10.5px;text-align:right}.draft-ref{display:inline-block;font-family:var(--font-ui);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand);background:var(--brand-tint);border-radius:999px;padding:3px 8px;margin:0 0 8px}.sheet-story{margin:0 0 14pt;padding:0 0 10pt;border-bottom:1px solid #999;break-inside:avoid}.sheet-story-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.sheet-story-head h2{margin:0;font-size:14pt;font-family:var(--font-ui)}.sheet-story-head span{font-size:8pt;color:#555}.sheet-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:16pt;margin-top:8pt}.sheet-story-grid h3{margin:0 0 4pt;font-family:var(--font-ui);font-size:9pt;letter-spacing:.06em;text-transform:uppercase;color:#444}.sheet-story-tag{font-size:7.5pt;color:#555;background:#eee;border-radius:999px;padding:1pt 5pt;letter-spacing:0;text-transform:none}.sheet-story-line{display:flex;gap:6pt;margin:0 0 2pt;font-size:9.5pt;line-height:1.35}.sheet-story-num{flex:0 0 12pt;text-align:right;font-family:var(--font-ui);font-size:8pt;font-weight:700;color:#555;padding-top:1pt}.sheet-story-moral{margin:8pt 0 0;font-size:9.5pt}.sheet-draft-ref{margin:2pt 0 4pt 24pt;font-family:var(--font-ui);font-size:8.5pt;font-style:italic;color:#555}@media(max-width:720px){.story-head{flex-direction:column}.story-tabs{width:100%}.story-tabs button{flex:1}.story-body{max-height:280px}.story-foot{flex-direction:column;gap:4px}.story-source{text-align:left}}.fable-select{width:100%;border:1px solid var(--line-2);background:#fff;color:var(--ink);border-radius:8px;padding:8px 10px;font-family:var(--font-ui);font-size:13px}.fable-select:focus{outline:2px solid var(--brand-tint);border-color:var(--brand)}.story-hint{margin:-2px 0 8px;font-size:12px;font-style:italic;color:var(--ink-soft)}.sheet-story-grid.one{grid-template-columns:1fr}.draft-sentence{background:#f7f7f4;border-left:3px solid var(--brand);border-radius:8px;padding:9px 12px 7px;margin:0 0 12px}.draft-sentence-label{font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);margin-bottom:4px}.draft-sentence-line{display:flex;gap:9px;margin:0;font-family:var(--font-read);font-size:15px;line-height:1.5;color:var(--ink)}.draft-sentence-line+.draft-sentence-line{margin-top:2px}.app-shell.embedded .topbar{display:none}.app-shell.embedded .layout{min-height:100vh}.app-shell.embedded .builder{top:0;height:100vh}.app-shell.embedded .toolbar{top:0}.custom-text{margin-top:8px;border:1px dashed var(--line-2);border-radius:9px;padding:10px;background:var(--paper)}.custom-drop{display:flex;flex-direction:column;gap:3px;align-items:flex-start;padding:12px;border:1px dashed var(--brand);border-radius:7px;background:#fff;cursor:pointer}.custom-drop.busy{opacity:.65;cursor:wait}.custom-drop input{display:none}.custom-drop-title{font-family:var(--font-ui);font-weight:700;font-size:13px;color:var(--brand)}.custom-drop-note{font-size:11px;color:var(--ink-soft)}.custom-loaded{display:flex;flex-direction:column;gap:7px}.custom-loaded-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.custom-loaded-head strong{display:block;font-family:var(--font-ui);font-size:13px;color:var(--ink)}.custom-loaded-head span{display:block;margin-top:2px;font-size:11px;color:var(--ink-soft)}.custom-clear{border:1px solid var(--line-2);background:#fff;color:var(--ink-soft);border-radius:6px;padding:4px 8px;font-family:var(--font-ui);font-size:11px;cursor:pointer}.custom-clear:hover{color:var(--red);border-color:var(--red)}.custom-preview summary,.custom-paste summary{cursor:pointer;font-family:var(--font-ui);font-size:11px;font-weight:700;color:var(--brand)}.custom-preview p{margin:7px 0 0;padding:8px;background:#fff;border-radius:5px;font-family:var(--font-read);font-size:12px;line-height:1.45;color:var(--ink)}.custom-paste{margin-top:8px}.custom-paste-fields{display:flex;flex-direction:column;gap:6px;margin-top:7px}.custom-paste-fields input,.custom-paste-fields textarea{width:100%;border:1px solid var(--line-2);border-radius:6px;padding:7px 8px;background:#fff;color:var(--ink);font-family:var(--font-ui);font-size:12px}.custom-paste-fields textarea{resize:vertical;font-family:var(--font-read);line-height:1.4}.custom-use{align-self:flex-start;border:1px solid var(--brand);background:var(--brand);color:#fff;border-radius:6px;padding:6px 10px;font-family:var(--font-ui);font-size:12px;font-weight:700;cursor:pointer}.custom-use:disabled{opacity:.5;cursor:not-allowed}.custom-note{margin-top:8px!important;font-size:10px!important}.field-head-tools{display:flex;align-items:center;gap:8px}.stem-guide-open{border:1px solid var(--line-2);background:var(--surface);color:var(--brand-deep);border-radius:7px;padding:4px 8px;font-family:var(--font-ui);font-size:10.5px;font-weight:700;cursor:pointer}.stem-guide-open:hover{background:var(--brand-tint);border-color:var(--brand)}.teks-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.stem-guide-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:24px;background:#18141094}.stem-guide{width:min(1180px,96vw);max-height:90vh;display:flex;flex-direction:column;overflow:hidden;background:var(--paper);border:1px solid #d9d2c3;border-radius:14px;box-shadow:0 24px 80px #00000047}.stem-guide-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 22px 14px;border-bottom:1px solid var(--line)}.stem-guide-kicker{font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand)}.stem-guide-head h2{margin:3px 0 2px;font-size:21px;letter-spacing:-.2px}.stem-guide-head p{margin:0;font-size:12.5px;color:var(--ink-soft)}.stem-guide-close{flex:none;border:1px solid var(--line-2);background:var(--surface);border-radius:7px;padding:6px 11px;font-family:var(--font-ui);font-size:11px;font-weight:650;cursor:pointer}.stem-guide-close:hover{background:#f3efe7}.stem-guide-scroll{overflow:auto;padding:0 22px}.stem-table{width:100%;min-width:860px;border-collapse:collapse;table-layout:fixed;font-size:12px}.stem-table th{position:sticky;top:0;z-index:1;padding:10px 12px;background:var(--brand-deep);color:#fff;font-family:var(--font-ui);font-size:11px;letter-spacing:.04em;text-transform:uppercase;text-align:left}.stem-table th:nth-child(1){width:16%}.stem-table th:nth-child(2){width:30%}.stem-table th:nth-child(3){width:54%}.stem-table td{vertical-align:top;padding:12px;border-bottom:1px solid var(--line);line-height:1.4;color:var(--ink-soft)}.stem-row.on td{background:var(--brand-tint)}.stem-group-row th{position:static;background:#eee9dd;color:var(--brand-deep);border-bottom:1px solid var(--line-2);padding:7px 12px}.stem-choice{display:flex;align-items:flex-start;gap:8px;cursor:pointer;color:var(--ink)}.stem-choice input{margin-top:3px;accent-color:var(--brand);width:15px;height:15px;flex:none}.stem-choice strong{display:block;font-size:12.5px;color:var(--brand-deep)}.stem-skill-name{display:block;margin-top:2px;font-size:11px;font-weight:650;color:var(--ink)}.stem-choice .tag{display:inline-block;margin-top:4px}.stem-choice input:disabled{cursor:not-allowed}.stem-guiding{margin:0 0 6px}.stem-guiding:last-child{margin-bottom:0}.stem-list{margin:0;padding-left:16px}.stem-list li{margin:0 0 5px}.stem-list li:last-child{margin-bottom:0}.stem-guide-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 22px;border-top:1px solid var(--line);font-family:var(--font-ui);font-size:11px;color:var(--ink-soft)}.stem-guide-done{border:0;background:var(--brand);color:#fff;border-radius:7px;padding:7px 13px;font-family:var(--font-ui);font-size:11px;font-weight:700;cursor:pointer}.stem-guide-done:hover{filter:brightness(.94)}@media(max-width:700px){.stem-guide-backdrop{padding:8px}.stem-guide{max-height:94vh}.stem-guide-head{padding:14px 15px 12px}.stem-guide-scroll{padding:0 15px}.stem-guide-foot{padding:10px 15px}}.warn-action{display:inline;margin-left:6px;padding:0;border:0;background:none;color:var(--brand-deep);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
