.unit-page[data-astro-cid-jyjjejwb]{max-width:1200px;margin:0 auto;padding:clamp(2rem,6vw,3.5rem) clamp(1.25rem,4vw,1.5rem) 5rem}.back-link[data-astro-cid-jyjjejwb]{display:inline-block;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.05em;color:var(--ink-muted);text-decoration:none;margin-bottom:1.5rem}.back-link[data-astro-cid-jyjjejwb]:hover{color:var(--ink)}.unit-meta[data-astro-cid-jyjjejwb]{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.unit-meta[data-astro-cid-jyjjejwb] .eyebrow[data-astro-cid-jyjjejwb]{display:flex;align-items:center;gap:.55rem;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);margin:0}.eyebrow-dot[data-astro-cid-jyjjejwb]{width:.5rem;height:.5rem;border-radius:50%;background:var(--stamp-progress);flex-shrink:0}#it-app{--teal:#0d5c63;--gold:#c98a2f;--gold-ink:#8a560c;--ink:#1a1c1e;--muted:#43474e;--bg:#f5f4ef;--card:#ffffff;--line:#d8d3c4;--code-bg:#0e3a3d;--code-fg:#e9f4f2;--green:#2f7d55;--red:#b23a3a;--blue:#2c5d8f;--radius:12px;--shadow:0 8px 24px rgba(20,60,60,.1);--font:"Segoe UI", "Leelawadee UI", "Noto Sans Thai", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;--mono:"Consolas","SF Mono",Monaco,"Courier New",monospace;all:initial;display:block;width:100%;box-sizing:border-box;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.55;padding:16px;border-radius:16px;-webkit-font-smoothing:antialiased}#it-app *{box-sizing:border-box}#it-app h1,#it-app h2,#it-app h3,#it-app h4,#it-app p{margin:0 0 .5em}#it-app strong{color:var(--ink)}#it-app a{color:var(--blue);font-weight:700}#it-app :focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:8px}#it-app .hero{background:linear-gradient(120deg,var(--teal),#164a4f);color:#fff;border-radius:var(--radius);padding:22px 22px 20px;box-shadow:var(--shadow);position:relative;overflow:hidden}#it-app .hero:after{content:"[ ] [ ] [ ]";position:absolute;right:-6px;bottom:-14px;font-family:var(--mono);font-size:64px;font-weight:700;color:#ffffff1f;letter-spacing:-4px;white-space:nowrap}#it-app .eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;opacity:.9}#it-app .hero h1{font-size:34px;font-weight:800;line-height:1.05;margin:.15em 0}#it-app .hero .th{font-size:18px;font-weight:700;opacity:.9;margin:0 0 .4em}#it-app .teacher{display:inline-flex;align-items:center;gap:8px;margin-top:8px;background:#ffffff2e;padding:6px 12px;border-radius:999px;font-weight:700;font-size:14px;backdrop-filter:blur(2px)}#it-app .tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}#it-app .tab{appearance:none;cursor:pointer;border:2px solid var(--line);background:var(--card);color:var(--ink);font-family:var(--font);font-weight:700;font-size:14px;padding:9px 14px;border-radius:999px;min-height:44px;transition:transform .12s ease,background .12s ease,color .12s ease,border-color .12s ease}#it-app .tab:hover{border-color:var(--gold);transform:translateY(-1px)}#it-app .tab[aria-selected=true]{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 6px 14px #0d5c6359}#it-app .panel{display:none;animation:it-fade .25s ease}#it-app .panel.active{display:block}@keyframes it-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}#it-app .card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow);margin:14px 0}#it-app .card h2{font-size:20px;color:var(--teal);display:flex;align-items:center;gap:8px;flex-wrap:wrap}#it-app .card h3{font-size:16px;color:var(--ink);margin-top:.9em}#it-app .card h3:first-child{margin-top:0}#it-app .tag{display:inline-block;background:var(--gold-ink);color:#fff;font-weight:700;font-size:11px;letter-spacing:.5px;text-transform:uppercase;padding:3px 9px;border-radius:999px;vertical-align:middle}#it-app .tag.teal{background:var(--teal)}#it-app .th-term{font-weight:600;color:var(--muted);font-size:.92em}#it-app .grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}#it-app .side{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:16px;align-items:center}@media(max-width:700px){#it-app .grid2,#it-app .side{grid-template-columns:minmax(0,1fr)}#it-app .hero h1{font-size:26px}}#it-app ul.it{list-style:none;padding:0;margin:.3em 0}#it-app ul.it li{padding:5px 0 5px 4px;display:flex;gap:9px;align-items:flex-start}#it-app ul.it li .b{flex:0 0 auto}#it-app ul.dots{margin:.3em 0 .6em;padding-left:1.3em}#it-app ul.dots li{margin:.25em 0}#it-app .keyterm{border-left:5px solid var(--gold);background:#fbf3e4;padding:10px 14px;border-radius:8px;margin:12px 0}#it-app .keyterm b{color:var(--gold-ink)}#it-app .ex{border:1px solid var(--line);border-left:6px solid var(--blue);border-radius:10px;padding:14px 16px;margin:14px 0;background:#fbfcfe}#it-app .ex>.ex-h{font-weight:800;color:var(--blue);margin-bottom:6px}#it-app .think{border:2px dashed var(--gold);border-radius:12px;padding:14px 16px;margin:14px 0;background:#fffaf1}#it-app .think>.ex-h{font-weight:800;color:var(--gold-ink);margin-bottom:6px}#it-app .act{border:2px solid var(--red);border-radius:12px;padding:14px 16px;margin:14px 0;background:#fff7f6}#it-app .act>.ex-h{font-weight:800;color:var(--red);margin-bottom:6px}#it-app .qa{margin:10px 0}#it-app .qa p{margin:.15em 0}#it-app .qa .ql{color:var(--blue);font-weight:800}#it-app .qa .al{color:var(--gold-ink);font-weight:800}#it-app ol.algo{list-style:none;counter-reset:a;padding:0;margin:6px 0 10px;border-top:1px solid #8cc3d4}#it-app ol.algo>li{counter-increment:a;padding:7px 4px 7px 34px;border-bottom:1px solid #8cc3d4;position:relative}#it-app ol.algo>li:before{content:counter(a) ".";position:absolute;left:6px;font-weight:800;color:var(--teal)}#it-app ol.algo ol.algo{border-top:1px dashed #8cc3d4;margin:6px 0 -7px -34px;counter-reset:b}#it-app ol.algo ol.algo>li{counter-increment:b;padding-left:62px;border-bottom:1px dashed #8cc3d4}#it-app ol.algo ol.algo>li:last-child{border-bottom:none}#it-app ol.algo ol.algo>li:before{content:counter(a) "." counter(b);left:30px}#it-app .algo-h{font-weight:800;color:var(--red);margin-top:10px}#it-app .scroll{overflow-x:auto;border-radius:10px;border:1px solid var(--line)}#it-app table{border-collapse:collapse;width:100%;min-width:420px;font-size:14px;background:#fff}#it-app th{background:var(--teal);color:#fff;text-align:left;padding:9px 12px;font-weight:700}#it-app td{padding:8px 12px;border-top:1px solid var(--line);vertical-align:top}#it-app tr:nth-child(2n) td{background:#f6faf9}#it-app .mono{font-family:var(--mono)}#it-app .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}#it-app .flip{all:unset;display:block;perspective:900px;height:140px;cursor:pointer}#it-app .flip:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:10px}#it-app .flip .inner{position:relative;width:100%;height:100%;transition:transform .5s;transform-style:preserve-3d}#it-app .flip.on .inner{transform:rotateY(180deg)}#it-app .flip .side{position:absolute;inset:0;backface-visibility:hidden;border-radius:10px;padding:12px;display:flex;flex-direction:column;justify-content:center;text-align:center;box-shadow:var(--shadow)}#it-app .flip .front{background:var(--teal);color:#fff;font-weight:800;font-size:15px}#it-app .flip .front small{font-weight:600;opacity:.9;font-size:12px;margin-top:6px}#it-app .flip .back{background:#fff;border:2px solid var(--gold);color:var(--ink);font-size:13px;transform:rotateY(180deg)}#it-app .acc{border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:10px 0;background:#fff}#it-app .acc .head{cursor:pointer;padding:12px 14px;font-weight:700;background:#f2f8f7;width:100%;display:flex;justify-content:space-between;gap:10px;align-items:center;color:var(--ink);border:none;font-family:var(--font);font-size:15px;text-align:left}#it-app .acc .head:hover{background:#e6f2f0}#it-app .acc .chev{color:var(--gold-ink);font-weight:900;transition:transform .2s}#it-app .acc.on .chev{transform:rotate(90deg)}#it-app .acc .body{display:none;padding:12px 14px;border-top:1px dashed var(--line)}#it-app .acc.on .body{display:block}#it-app .viz{background:linear-gradient(180deg,#0e3a3d,#164a4f);color:#eafaf6;border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);margin:14px 0}#it-app .viz h3{color:#fff;margin-top:0}#it-app .viz p{color:#eafaf6}#it-app .viz strong{color:#fff}#it-app .viz .controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0 12px}#it-app .abtn{cursor:pointer;border:none;border-radius:8px;padding:8px 14px;font-weight:800;font-family:var(--font);font-size:14px;color:#fff;background:var(--teal);transition:.12s;min-height:44px}#it-app .abtn:active,#it-app .opt:active,#it-app .tab:active{transform:translateY(1px) scale(.98)}#it-app .abtn:hover{filter:brightness(1.1);transform:translateY(-1px)}#it-app .abtn.ghost{background:transparent;border:2px solid rgba(255,255,255,.45)}#it-app .abtn.alt{background:var(--gold-ink)}#it-app .log{background:#00000047;border-radius:10px;padding:10px 12px;font-family:var(--mono);font-size:13px;min-height:120px;max-height:200px;overflow-y:auto;margin-top:12px}#it-app .log div{padding:3px 0;border-bottom:1px solid rgba(255,255,255,.08)}#it-app .log .main{color:#ffd58a;font-weight:800}#it-app .log .final{color:#9ff5c8;font-weight:800}#it-app canvas.tc{display:block;width:100%;height:auto;background:#fff;border-radius:10px;border:1px solid var(--line)}#it-app .houses{width:100%;min-width:0;font-size:13px;margin-top:10px}#it-app .houses th{background:#ffffff1f;color:#fff}#it-app .houses td{background:transparent!important;border-top:1px solid rgba(255,255,255,.15);color:#eafaf6}#it-app .houses input{width:64px}#it-app input.inp,#it-app select.inp{font:600 14px var(--mono);padding:6px 8px;border:2px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);width:90px;min-height:44px}#it-app input.inp:focus,#it-app select.inp:focus{border-color:var(--teal);outline:none}#it-app select.inp{width:auto;max-width:100%;font-family:var(--font)}#it-app .controls>label{max-width:100%}#it-app .sw{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-1px;margin-right:4px;border:1px solid rgba(0,0,0,.3)}#it-app .gen{background:#f2f8f7;border:1px solid #bcd9d5;border-radius:10px;padding:12px 14px;margin:10px 0}#it-app .gen .row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:8px 0}#it-app .gen .btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}#it-app .gen .abtn{padding:7px 12px}#it-app .res{font-weight:700;font-size:14px;margin-top:8px;min-height:1.2em}#it-app .res.ok{color:#0c6b47}#it-app .res.no{color:#a5283a}#it-app .model{display:none;margin-top:8px;padding:10px 12px;border-radius:8px;background:#fff;border:1px dashed var(--teal)}#it-app .model.on{display:block}#it-app .q{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff}#it-app .q .opts{display:flex;flex-direction:column;gap:8px;margin-top:8px}#it-app .opt{cursor:pointer;text-align:left;border:2px solid var(--line);background:#fff;color:var(--ink);border-radius:9px;padding:10px 12px;font-family:var(--font);font-size:14px;font-weight:600;transition:.12s}#it-app .opt:hover{border-color:var(--teal)}#it-app .opt.correct{background:#e6faf1;border-color:var(--green);color:#0c6b47}#it-app .opt.wrong{background:#fdeef2;border-color:#a5283a;color:#a5283a}#it-app .opt:disabled{cursor:default}#it-app .fb{margin-top:8px;font-weight:700;font-size:13px;min-height:18px}#it-app .score{font-weight:800;color:var(--teal);font-size:16px;margin-top:6px}#it-app .chk{display:flex;gap:10px;align-items:flex-start;padding:6px 0;cursor:pointer}#it-app .chk input{width:20px;height:20px;margin-top:2px;accent-color:var(--teal);flex:0 0 auto}#it-app .foot{text-align:center;color:var(--muted);font-size:12px;margin-top:14px}#it-app .src{font-size:12px;color:var(--muted);margin-top:6px}#it-app .bk-figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px;align-items:end;margin:12px 0}#it-app .bk-fig{margin:12px auto;max-width:min(100%,max(var(--w,640px),140px));text-align:center}#it-app .bk-figs .bk-fig{margin:0 auto}#it-app .bk-zoom{all:unset;box-sizing:border-box;display:block;cursor:zoom-in;background:#fff;border:1px solid var(--line);border-radius:10px;padding:6px;transition:transform .2s,box-shadow .2s}#it-app .bk-zoom:hover{transform:translateY(-2px);box-shadow:var(--shadow)}#it-app .bk-zoom:focus-visible{outline:3px solid var(--gold);outline-offset:2px}#it-app .bk-zoom img{display:block;width:100%;height:auto;max-height:460px;object-fit:contain}#it-app .bk-fig figcaption{font-size:13px;color:var(--muted);margin-top:6px;line-height:1.4}#it-app .bk-fig figcaption b{color:var(--teal);margin-right:4px}dialog.bk-lb{border:none;padding:0;background:transparent;max-width:min(96vw,1200px);max-height:94vh;overflow:visible}dialog.bk-lb::backdrop{background:#0a1420d1}dialog.bk-lb figure{margin:0;background:#fff;border-radius:12px;padding:10px;display:flex;flex-direction:column;align-items:center}dialog.bk-lb img{display:block;max-width:100%;max-height:calc(94vh - 70px);width:auto;height:auto;object-fit:contain}dialog.bk-lb figcaption{font:600 14px/1.4 system-ui,sans-serif;color:#1a1c1e;padding:8px 4px 2px;text-align:center}dialog.bk-lb figcaption b{color:#0d5c63;margin-right:4px}dialog.bk-lb .bk-x{position:absolute;top:-16px;right:-16px;width:44px;height:44px;border-radius:50%;border:2px solid #fff;background:#0d5c63;color:#fff;font-size:18px;cursor:pointer}dialog.bk-lb .bk-x:focus-visible{outline:3px solid #ffd58a}#it-app .scr{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin:8px 0;font:600 13px/1.2 Helvetica Neue,Helvetica,Arial,sans-serif;overflow-x:auto;max-width:100%;padding:2px 2px 6px}#it-app .scr.inl{display:inline-flex;margin:2px 0;vertical-align:middle;padding:0;overflow:visible}#it-app .sgap{height:14px}#it-app .sb{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;color:#fff;padding:6px 10px;min-height:34px;border-radius:5px;border:1px solid rgba(0,0,0,.2)}#it-app .sb.hat{border-radius:20px 20px 5px 5px;padding-top:12px}#it-app .sb.def{border-radius:16px 16px 5px 5px;padding:12px 12px 8px}#it-app .sb.hl{outline:3px solid #ffb703;outline-offset:1px;box-shadow:0 0 0 6px #ffb70340}#it-app .sbc{display:flex;flex-direction:column;align-items:flex-start}#it-app .sbc>.sb{border-bottom-left-radius:0}#it-app .sbin{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border-left:16px solid var(--c);padding:2px 0;min-height:22px}#it-app .sbel{min-height:24px;padding:2px 10px;border-radius:0 5px 5px 0;min-width:90px}#it-app .sbft{width:90px;height:14px;background:var(--c);border-radius:0 0 5px 5px}#it-app .sl{background:#fff;color:#3d4250;border-radius:999px;padding:2px 8px;min-width:24px;text-align:center}#it-app .rp{display:inline-flex;align-items:center;gap:4px;color:#fff;border-radius:999px;padding:3px 9px;border:1px solid rgba(0,0,0,.22)}#it-app .bo{display:inline-flex;align-items:center;gap:4px;color:#fff;padding:5px 16px;min-height:28px;clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,12px 100%,0 50%)}#it-app .bo .bo.c-op{background:#2a7a2a}#it-app .bo .bo .bo.c-op{background:#328532}#it-app .sb.c-my .rp.c-my,#it-app .rp.c-my .rp.c-my{background:#c4334f}#it-app .sw2{display:inline-block;width:22px;height:16px;border-radius:999px;border:2px solid #fff}#it-app .c-mo{background:#3373cc;--c:#3373cc}#it-app .c-lo{background:#774dcb;--c:#774dcb}#it-app .c-ev{background:#9c6c00;--c:#9c6c00}#it-app .c-ct{background:#a5670c;--c:#a5670c}#it-app .c-se{background:#2b7da1;--c:#2b7da1}#it-app .c-op{background:#328532;--c:#328532}#it-app .c-va{background:#bb5900;--c:#bb5900}#it-app .c-my{background:#d33c59;--c:#d33c59}#it-app .c-pe{background:#0a8562;--c:#0a8562}#it-app .sbc.c-ct,#it-app .sbc.c-ev{background:none}#it-app td .scr.inl{font-size:12px}#it-app .ansl>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:6px 0}#it-app .blab-row{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12)}#it-app label.tg{display:inline-flex;align-items:center;gap:8px;min-height:44px;cursor:pointer}#it-app label.tg input{width:20px;height:20px;accent-color:var(--gold)}#it-app .bout{font:800 14px var(--mono);padding:6px 12px;border-radius:999px;color:#fff;min-width:64px;text-align:center}#it-app .bout.t{background:var(--green)}#it-app .bout.f{background:var(--red)}#it-app .viz label{color:#eafaf6;font-weight:700}#it-app .viz .inp{width:auto;max-width:100%}#it-app .viz select.inp{max-width:100%;white-space:normal}#it-app .gen .inp[type=number]{width:96px}#it-app .scr.dark{background:#ffffff0f;border-radius:10px;padding:10px;max-height:360px;overflow:auto}#it-app .hero strong{color:#fff}#it-app #st-log div{white-space:pre-wrap}#it-app canvas#mg-cv{touch-action:none;cursor:crosshair;max-width:640px;margin:0 auto}@media(prefers-reduced-motion:reduce){#it-app *{animation:none!important;transition:none!important}#it-app .bk-zoom:hover{transform:none}}
