:root{--bg:#f6f5ef;--paper:#fff;--ink:#14213d;--ink2:#46526b;--muted:#6b7385;--line:#dcdacd;--acc:#0b7a62;--acc2:#075a48;--accbg:#e5f3ee;--mark:#ffe28a;--bad:#b42318;--good:#067647;--r:12px;
--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--sans)}
a{color:var(--acc2)}a:hover{color:var(--acc)}
img,svg{max-width:100%}
.wrap{max-width:1080px;margin:0 auto;padding:0 18px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
/* header */
.top{background:var(--ink);color:#fff;position:sticky;top:0;z-index:20;box-shadow:0 1px 0 rgba(0,0,0,.2)}
.top .wrap{display:flex;align-items:center;gap:14px;min-height:58px}
.logo{display:flex;align-items:center;gap:9px;color:#fff;text-decoration:none;font-weight:700;letter-spacing:-.01em;font-size:1.25rem}
.logo b{color:#7fe0c3;font-weight:700}.logo:hover{color:#fff}
.nav{margin-left:auto;display:flex;gap:2px;flex-wrap:wrap}
.nav a{color:#dfe5f2;text-decoration:none;padding:8px 11px;border-radius:8px;font-size:.94rem}
.nav a:hover,.nav a[aria-current]{background:rgba(255,255,255,.1);color:#fff}
.nav-toggle{display:none;margin-left:auto;background:none;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:8px;padding:7px 12px;font:inherit}
@media(max-width:820px){.nav-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:58px;background:var(--ink);flex-direction:column;padding:8px 14px 14px}.nav-open .nav{display:flex}.nav a{padding:12px}}
/* hero & page head */
.crumbs{font-size:.86rem;color:var(--muted);margin:18px 0 0}.crumbs a{color:var(--muted)}
.phead{padding:10px 0 6px}
h1,h2,h3{line-height:1.25;letter-spacing:-.01em}
h1{font-family:var(--serif);font-size:clamp(1.65rem,4.4vw,2.45rem);margin:.35em 0 .3em;font-weight:700}
.lead{font-size:1.06rem;color:var(--ink2);max-width:760px;margin:0 0 14px}
.hero{padding:34px 0 18px}.hero h1{font-size:clamp(1.9rem,5.4vw,3rem);max-width:820px}
.hero h1 em{font-style:normal;background:linear-gradient(transparent 62%,var(--mark) 62%)}
.badges{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 0;padding:0;list-style:none}
.badges li{background:var(--paper);border:1px solid var(--line);border-radius:99px;padding:5px 12px;font-size:.86rem;color:var(--ink2)}
/* panels */
.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin:14px 0;box-shadow:0 1px 2px rgba(20,33,61,.04)}
.panel-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.h-step{font-size:1.05rem;margin:0 0 10px;display:flex;align-items:center;gap:10px;font-family:var(--sans)}
.h-step span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--acc);color:#fff;font-size:.85rem}
.btns{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.btn{appearance:none;border:1px solid var(--acc);background:var(--acc);color:#fff;border-radius:10px;padding:10px 16px;font:600 .95rem var(--sans);cursor:pointer;min-height:44px;display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.btn:hover{background:var(--acc2);color:#fff}
.btn.ghost{background:#fff;color:var(--acc2);border-color:#bcd9cf}.btn.ghost:hover{background:var(--accbg);color:var(--acc2)}
.btn.big{width:100%;justify-content:center;font-size:1.05rem;margin-top:12px;min-height:50px}
.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #7fe0c3;outline-offset:1px}
.link{background:none;border:0;color:var(--acc2);text-decoration:underline;cursor:pointer;font:inherit;padding:4px}
textarea.paste{width:100%;min-height:150px;border:1.5px dashed #b9c6bf;border-radius:10px;padding:12px;font:13px/1.5 var(--mono);background:#fbfcfa;color:var(--ink);resize:vertical}
.data-meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:.9rem;color:var(--muted);margin:8px 0}
.chk,.rad{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;font-size:.93rem;min-height:40px}
.chk input,.rad input{width:18px;height:18px;accent-color:var(--acc)}
.checks{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 12px}
.ctl label:not(.chk):not(.rad),.calc-grid label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.92rem;margin:4px 0 10px}
.ctl label:not(.chk):not(.rad){display:inline-flex;margin-right:12px;min-width:200px}
.lbl{display:block;font-weight:600;font-size:.92rem;margin-top:4px}
select,input[type=number],input:not([type]),input[inputmode]{font:16px var(--sans);padding:10px 12px;border:1px solid #c9ccd6;border-radius:9px;background:#fff;color:var(--ink);min-height:44px;width:100%}
fieldset.opt{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:0 0 10px;display:flex;flex-wrap:wrap;gap:6px}fieldset.opt legend{font-weight:600;font-size:.9rem;padding:0 4px}
.calc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px 16px}
.muted{color:var(--muted);font-size:.92rem}
.err{background:#fef3f2;border:1px solid #fecdca;color:var(--bad);padding:12px;border-radius:10px}
.grid{font-size:.85rem}.grid small{display:block;font-weight:400;color:var(--muted);font-size:.72rem}.grid .more{color:var(--muted);text-align:center}
/* output SPSS */
.output{margin-top:4px}
.spss{margin:18px 0}
.spss-title{font-weight:700;font-size:1rem;text-align:center;margin:0 0 6px;color:#1d2a44}
.spss-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.spss table,.tbl{border-collapse:collapse;margin:0 auto;font:13.5px/1.35 Arial,var(--sans);background:#fff;min-width:50%}
.spss th,.spss td{border:1px solid #c9cdd6;padding:5px 9px;white-space:nowrap}
.spss thead th{background:#eef1f6;font-weight:600;text-align:center}
.spss tbody th{background:#f7f8fb;text-align:left;font-weight:600}
.spss td{text-align:right;font-variant-numeric:tabular-nums}
.spss td.good{color:var(--good);font-weight:600;text-align:left}.spss td.bad{color:var(--bad);font-weight:600;text-align:left}
.spss-notes{font-size:.8rem;color:var(--ink2);text-align:center;margin-top:4px}
h3.sec{font-family:var(--serif);font-size:1.25rem;margin:28px 0 4px;border-top:2px solid var(--line);padding-top:16px}
.interp{background:var(--accbg);border-left:4px solid var(--acc);border-radius:0 10px 10px 0;padding:6px 16px;margin:18px 0}
.interp h3{font-size:.98rem;margin:10px 0 4px;color:var(--acc2)}.interp p{margin:.5em 0}
.charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px}
.figure figcaption{font-size:.82rem;color:var(--muted);text-align:center}
.chart{width:100%;height:auto;font:11px var(--sans)}.chart circle{fill:var(--acc);fill-opacity:.75}.chart .ax{stroke:#99a;stroke-width:1}.chart .fit{stroke:#d9480f;stroke-width:2}.chart text{fill:#556}.chart .lab{font-weight:600}
.resid textarea{width:100%;font:12px var(--mono)}.resid summary{cursor:pointer;color:var(--acc2);margin:10px 0}
.big-num{font-family:var(--serif);font-size:1.15rem;color:var(--ink2)}.big-num span{font-size:2.8rem;font-weight:700;color:var(--acc2);margin-right:6px}
.steps{font-family:var(--mono);font-size:.92rem;background:#fafaf6;border:1px solid var(--line);border-radius:10px;padding:12px 12px 12px 34px}
.interp-inline{background:var(--accbg);padding:10px 14px;border-radius:10px}
.lookup output{display:block;font-size:1.1rem;padding:12px;background:var(--accbg);border-radius:10px}.lookup output b{font-size:1.4rem;color:var(--acc2)}
/* konten */
.content{max-width:780px}
.content h2{font-family:var(--serif);font-size:1.5rem;margin:34px 0 8px}
.content h3{font-size:1.1rem;margin:20px 0 6px}
.formula{font-family:var(--serif);font-size:1.2rem;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 16px;overflow-x:auto;text-align:center}
.content table.tbl,.tbl-full{margin:10px 0}
.tbl th,.tbl td{border:1px solid #cfd2da;padding:5px 8px;text-align:right}.tbl thead th{background:#eef1f6;text-align:center}.tbl tbody th{background:#f7f8fb;text-align:center}
.tbl-full{font-size:13px}.tbl-full tbody tr:nth-child(even) td{background:#fafbfc}
.sticky thead th{position:sticky;top:58px}
details.faq{border:1px solid var(--line);border-radius:10px;background:#fff;margin:8px 0;padding:0 14px}
details.faq summary{cursor:pointer;font-weight:600;padding:12px 0;list-style-position:outside}
details.faq p{margin:0 0 12px;color:var(--ink2)}
.related{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;padding:0;list-style:none}
.related a,.card{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;text-decoration:none;color:var(--ink);height:100%}
.related a:hover,.card:hover{border-color:var(--acc);box-shadow:0 2px 10px rgba(11,122,98,.12)}
.card strong{display:block;font-size:1.02rem}.card span{font-size:.88rem;color:var(--muted);display:block;margin-top:2px}
.hub h2{font-family:var(--serif);font-size:1.35rem;margin:28px 0 10px;display:flex;align-items:center;gap:10px}
.hub h2 small{font:500 .8rem var(--sans);color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.flow{counter-reset:s;list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.flow li{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px 12px 48px;position:relative;font-size:.94rem}
.flow li:before{counter-increment:s;content:counter(s);position:absolute;left:12px;top:12px;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:.85rem}
.ad-slot{min-height:0;margin:0}.ad-slot:empty{display:none}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%) translateY(120px);background:var(--ink);color:#fff;padding:12px 18px;border-radius:10px;transition:.3s;z-index:50;max-width:90vw}.toast.show{transform:translateX(-50%) translateY(0)}
.foot{margin-top:50px;background:#eceae0;border-top:1px solid var(--line);padding:26px 0;font-size:.9rem;color:var(--ink2)}
.foot .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.foot h4{margin:0 0 6px;font-size:.92rem}.foot ul{list-style:none;padding:0;margin:0}.foot li{margin:3px 0}.foot a{color:var(--ink2)}
.note{background:#fff8e1;border:1px solid #f3dc94;border-radius:10px;padding:10px 14px;font-size:.93rem}
@media print{.top,.foot,.data-panel,.ctl-panel,.btns,.content,.crumbs,.phead,.ad-slot,.charts{display:none!important}.panel{border:0;box-shadow:none;padding:0}body{background:#fff}}
@media(max-width:600px){.panel{padding:12px;border-radius:10px}.spss table{font-size:12.5px}.wrap{padding:0 12px}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
