/* aileelab learn — 공용 스타일. 분야 폴더 안에서만 쓴다 */
:root{
  --bg:#FBFAF7; --fg:#1B2233; --muted:#5B6476; --line:#E3E0D8; --panel:#FFFFFF;
  --accent:#14213D; --hi:#C94F0A; --s1:#0072B2; --s2:#D55E00; --s3:#009E73;
  --fs:18px; --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#11161F; --fg:#E8E6E0; --muted:#9AA3B2; --line:#2A3241; --panel:#171D28;
  --accent:#F6F4EF; --hi:#F2884B; --s1:#56B4E9; --s2:#E69F00; --s3:#4CC3A0;}}
:root[data-theme="dark"]{
  --bg:#11161F; --fg:#E8E6E0; --muted:#9AA3B2; --line:#2A3241; --panel:#171D28;
  --accent:#F6F4EF; --hi:#F2884B; --s1:#56B4E9; --s2:#E69F00; --s3:#4CC3A0;}
:root[data-big="1"]{--fs:24px}
*{box-sizing:border-box}
html{font-size:var(--fs)}
body{margin:0;background:var(--bg);color:var(--fg);font:1rem/1.7 "Pretendard","Noto Sans KR",system-ui,sans-serif}
a{color:inherit}
p,li,td{overflow-wrap:anywhere}
.katex-display{overflow-x:auto;overflow-y:hidden;padding:4px 0}
.wrap{max-width:760px;margin:0 auto;padding:0 16px}
.wide{max-width:1100px;margin:0 auto;padding:0 16px}
header.top{padding:28px 0 8px}
header.top .field{font-size:.8rem;color:var(--muted);text-decoration:none}
header.top h1{margin:.2rem 0 0;font-size:2rem;line-height:1.2;letter-spacing:-.01em}
header.top .sub{color:var(--muted);font-size:.9rem}
.tools{display:flex;gap:6px;justify-content:flex-end;padding-top:12px}
.tools button{font:inherit;font-size:.75rem;padding:4px 10px;border:1px solid var(--line);background:var(--panel);color:var(--fg);border-radius:6px;cursor:pointer}
nav.tabs{position:sticky;top:0;z-index:5;background:var(--bg);border-bottom:1px solid var(--line);overflow-x:auto;white-space:nowrap;scrollbar-width:thin}
nav.tabs a{display:inline-block;padding:12px 14px;text-decoration:none;color:var(--muted);font-size:.9rem;border-bottom:3px solid transparent}
nav.tabs a[aria-selected="true"]{color:var(--fg);font-weight:700;border-bottom-color:var(--hi)}
section.tab{display:none;padding:8px 0 40px}
section.tab.on{display:block}
h2{font-size:1.4rem;margin:2rem 0 .4rem}
h3{font-size:1.1rem;margin:1.8rem 0 .3rem}
h2 small,h3 small{font-weight:400;color:var(--muted);font-size:.7em;margin-left:.4em}
.anchor{opacity:0;margin-left:.3em;text-decoration:none;color:var(--muted);font-size:.8em;cursor:pointer}
h2:hover .anchor,h3:hover .anchor,.anchor:focus{opacity:1}
.hands{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px;margin:12px 0}
.hands .ctl{display:grid;grid-template-columns:auto 1fr auto;gap:6px 12px;align-items:center;font-size:.85rem}
.hands input[type=range]{width:100%}
.hands .val{font-family:var(--mono);min-width:6ch;text-align:right}
.hands .row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.hands .row button{font:inherit;font-size:.75rem;padding:4px 10px;border:1px solid var(--line);background:transparent;color:var(--fg);border-radius:6px;cursor:pointer}
.hands canvas{width:100%;height:260px;display:block;margin-top:10px}
.readout{font-family:var(--mono);font-size:.85rem;margin-top:8px;color:var(--muted)}
.note{font-size:.8rem;color:var(--muted)}
table.notation{border-collapse:collapse;width:100%;font-size:.85rem}
table.notation td,table.notation th{border-bottom:1px solid var(--line);padding:6px 8px;text-align:left}
ol.refs{font-size:.85rem;padding-left:1.2em}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin:20px 0 40px}
.card{display:block;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--panel);text-decoration:none}
.card b{display:block;font-size:1.05rem}
.card span{font-size:.8rem;color:var(--muted)}
.disclaimer{font-size:.75rem;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;margin-top:24px}
footer.brand{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:24px 16px 32px;font-size:12px;opacity:.85;max-width:1100px;margin:0 auto}
footer.brand img{height:20px;display:block}
footer.brand .wm-dark{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) footer.brand .wm-light{display:none}:root:not([data-theme="light"]) footer.brand .wm-dark{display:block}}
:root[data-theme="dark"] footer.brand .wm-light{display:none}
:root[data-theme="dark"] footer.brand .wm-dark{display:block}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:6px 12px;border-radius:6px;font-size:.8rem;opacity:0;transition:opacity .2s;pointer-events:none}
.toast.on{opacity:1}
@media print{
  nav.tabs,.tools,.hands .row,.anchor{display:none!important}
  section.tab{display:block!important;page-break-before:always}
  section.tab:first-of-type{page-break-before:auto}
  body{background:#fff;color:#000}
}
.wide>h2{max-width:728px;margin:2rem auto .4rem}
html[lang="en"] h2 small,html[lang="en"] h3 small{display:none}
/* Using LLMs — extension of the supplied template */
body{letter-spacing:-.012em}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--s1);outline-offset:3px}button{min-height:42px;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:6px 14px;font-size:.78rem}button:hover{border-color:var(--hi)}.tools{padding-top:24px;gap:8px}.tools button{min-height:40px}.top{padding-bottom:30px!important}.top.home{padding-top:60px;padding-bottom:44px!important}.eyebrow{font:600 .68rem/1.6 var(--mono);letter-spacing:.14em;color:var(--hi)}header.top h1{font-size:2.7rem;letter-spacing:-.045em;margin:.3rem 0 .5rem}.top.home h1{font-size:3.25rem}.titleline{display:flex;align-items:center;justify-content:space-between;gap:20px}.version{font:.66rem var(--mono);color:var(--muted);white-space:nowrap}.field span{padding-left:15px}.intro-note{font-size:.76rem;color:var(--muted);margin-top:24px;border-left:2px solid var(--line)}.intro-note p{margin:6px 0}.tab-inner{max-width:1440px;display:flex;justify-content:center;margin:auto;padding:0 16px}.tab-inner a{flex-shrink:0;font-size:.72rem;padding:16px 12px}.tab-inner a span{font-family:var(--mono);color:var(--hi);margin-right:6px}.tab h2{scroll-margin-top:90px;font-size:1.3rem;letter-spacing:-.025em}.tab .wrap>p{margin:12px 0 18px}.tab h2:not(:first-child){margin-top:2.5rem}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 70px}.card{padding:30px;border-radius:8px}.card h2{font-size:1.55rem;margin:30px 0 10px;letter-spacing:-.03em}.card p{font-size:.85rem;color:var(--muted);min-height:2.9em}.card-top,.card-bottom{display:flex;justify-content:space-between;align-items:center}.card-top .number{font:1rem var(--mono);color:var(--hi)}.card-top .badge{font-size:.65rem;border:1px solid var(--line);border-radius:20px;padding:2px 9px}.available{border-top:3px solid var(--hi)}.available:hover{box-shadow:0 4px 24px #14213d10;transform:translateY(-2px)}.card-bottom{border-top:1px solid var(--line);padding-top:16px;font-size:.72rem;color:var(--muted)}.planned{background:transparent}.hands{padding:30px;border-radius:9px;margin:20px 0 45px}.lab-heading{border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:24px}.lab-heading h3{margin:8px 0 0;font-size:1.25rem;letter-spacing:-.03em}.parts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:24px}.part{display:flex;gap:10px;align-items:center;border:1px solid var(--line);padding:12px;border-radius:6px;font-size:.75rem}.part span{font-family:var(--mono);color:var(--muted)}input[type=checkbox]{accent-color:var(--hi);width:18px;height:18px;flex-shrink:0}.compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}.output-box{border:1px solid var(--line);border-radius:6px;overflow:hidden;min-width:0}.box-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--bg);font-size:.75rem}.prompt{font:.73rem/1.8 var(--mono);padding:18px;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;max-height:400px;overflow:auto}.field-label{display:block;font-size:.8rem;margin:18px 0 8px}select,input[type=number]{min-height:44px;background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:8px 12px;max-width:100%;font-size:.8rem}textarea{display:block;resize:vertical;width:100%;min-height:145px;background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:14px;font:.78rem/1.75 var(--mono);margin:8px 0;overflow-wrap:anywhere}textarea.answer{min-height:240px}.compare>label,.compare>div>label{font-size:.8rem}.controls{display:flex;gap:18px;flex-wrap:wrap}.controls label{font-size:.75rem;min-width:130px;flex:1}.controls label select,.controls label input[type=number]{display:block;width:100%;margin-top:8px}.controls label.check{display:flex;align-items:center;gap:8px;min-width:auto}.metrics{display:flex;gap:14px;flex-wrap:wrap;margin:20px 0}.metric{flex:1;min-width:110px;padding:16px 18px;background:var(--bg);border-left:2px solid var(--hi)}.metric strong{display:block;font:600 1.35rem/1.5 var(--mono);letter-spacing:-.04em}.metric span{font-size:.68rem;color:var(--muted)}.metric p{font-size:.78rem}.metrics .status{width:100%}.actions{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 12px}.actions button:nth-child(2){background:var(--fg);color:var(--bg);border-color:var(--fg)}.share-opt{display:flex;align-items:center;gap:8px;font-size:.7rem;color:var(--muted)}details{font-size:.8rem;border-top:1px solid var(--line);padding:14px 0;margin-top:18px}summary{cursor:pointer;font-weight:600}.source p{font-size:.78rem}.status{font-size:.76rem;padding:10px 14px;border-left:3px solid var(--line);background:var(--bg);overflow-wrap:anywhere}.status.good{border-color:var(--s3)}.status.bad,.status.warn{border-color:var(--s2)}.diagram{width:100%;height:auto;color:var(--fg);margin:22px 0}.svg-box{fill:var(--panel);stroke:var(--line)}.svg-label{fill:var(--fg);font:18px var(--mono)}[data-big="1"] .svg-label{font-size:22px}.formula{border-left:3px solid var(--line);padding:14px;background:var(--panel);font-size:.9rem;overflow:auto}.rail-panel{border-bottom:1px solid var(--line);padding:14px 0}.rail-panel svg{width:100%;max-height:260px}.token-pieces{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px;max-height:600px;overflow:auto}.token{display:inline-flex;flex-direction:column;border:1px solid var(--line);border-top:3px solid var(--s1);border-radius:4px;padding:6px 9px;background:var(--bg);max-width:100%;overflow-wrap:anywhere}.token small{font: .53rem var(--mono);color:var(--muted)}.token code{white-space:pre-wrap;font:.8rem var(--mono);padding-top:4px}.token-1{border-top-color:var(--s2)}.token-2{border-top-color:var(--s3)}.token-3{border-top-color:var(--muted)}.budget p{font-size:.78rem}.budget strong{font:.8rem var(--mono)}.budget-track{height:12px;border-radius:3px;background:var(--line);overflow:hidden;margin:10px 0}.budget-track>div{height:100%;background:var(--s1)}.budget-track>.over{background:var(--s2)}.related{border-top:1px solid var(--line);padding-top:20px;margin-bottom:50px}.related a{display:block;font-size:.8rem;margin-top:8px}.skip{position:absolute;left:16px;top:-100px;background:var(--panel);padding:8px;z-index:30}.skip:focus{top:10px}.copy-fallback{position:fixed;z-index:40;inset:auto 16px 20px;max-width:700px;margin:auto;background:var(--panel);border:2px solid var(--hi);border-radius:8px;padding:20px;box-shadow:0 6px 40px #0004}.print-value{display:none}footer.brand{border-top:1px solid var(--line);margin-top:30px;padding-top:24px;opacity:1}.refs li{margin:12px 0}.refs a{text-decoration-thickness:1px;text-underline-offset:3px}.notation{table-layout:fixed}.notation th{font-weight:600}.notation th,.notation td{overflow-wrap:anywhere}.tab>.wide>h2{max-width:728px}noscript{display:block;padding:20px;background:var(--panel)}
@media(min-width:1500px){.tab-inner a{font-size:.84rem;padding:16px 18px}}
@media(max-width:700px){.wide,.wrap{padding-left:18px;padding-right:18px}.top.home{padding-top:35px}.top.home h1,header.top h1{font-size:2.15rem}.titleline{display:block}.version{display:block;margin:8px 0}.tab-inner{justify-content:flex-start;padding:0 6px}.tab-inner a{font-size:.72rem;padding:12px 10px}.cards,.compare{grid-template-columns:1fr}.card{padding:24px}.card h2{margin-top:20px}.card p{min-height:0}.cards{gap:14px}.hands{padding:18px 14px}.parts{grid-template-columns:repeat(2,minmax(0,1fr))}.part{padding:10px 8px;gap:6px;font-size:.68rem}.part span{display:none}.controls{gap:12px}.controls label{min-width:110px}.metric{padding:12px;min-width:90px}.metric strong{font-size:1.1rem}.svg-label{font-size:20px}.diagram{min-height:120px}.box-head{padding:9px 10px}.prompt{padding:12px;max-height:330px}.formula{padding:8px}.tab h2{scroll-margin-top:70px}.notation td,.notation th{padding:8px 4px;font-size:.73rem}.anchor{opacity:.5}}
@media print{html{font-size:12px!important;--bg:#fff!important;--fg:#000!important;--muted:#333!important;--panel:#fff!important;--line:#bbb!important;--hi:#6e2b0a!important;--s1:#005a8c!important}body{background:#fff!important;color:#000!important}.tab{display:block!important;break-before:page}.tab:first-of-type{break-before:auto}.tools,.tabs,.actions,.copy,.share-opt,.skip,.toast,.copy-fallback,.anchor,.intro-note{display:none!important}.wrap,.wide{max-width:none}.hands{border:1px solid #aaa;padding:14px;margin:15px 0}.prompt,.token-pieces{max-height:none;overflow:visible}.compare{display:block}.compare>*{margin:12px 0}.output-box{break-inside:avoid}.print-value{display:block;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.6 monospace}textarea{display:none}details>*:not(summary){display:block!important}summary{font-weight:bold}.diagram{max-height:140px}.metric strong{font-size:1.1rem}h2,h3{break-after:avoid}footer.brand .wm-light{display:block!important}footer.brand .wm-dark{display:none!important}.source{break-inside:avoid}a{text-decoration:none}.card{break-inside:avoid}.related{display:none}.rail-panel svg{max-height:190px}}
.diagram-scroll{max-width:100%;overflow-x:auto;margin:18px 0}.diagram-scroll .diagram{display:block;margin:0}.rail-panel{overflow-x:auto}[data-big="1"] .rail-panel svg text{font-size:24px}
@media(max-width:700px){.diagram-scroll .diagram{min-width:620px}.rail-panel svg{min-width:560px}[data-big="1"] .svg-label{font-size:24px}}
@media print{.diagram-scroll{overflow:visible}.diagram-scroll .diagram,.rail-panel svg{min-width:0!important;max-width:100%}.rail-panel{overflow:visible}}
