:root{--gg:#16a34a;--gb:#1d4ed8;--gl:#eff6ff}
#gprog{position:fixed;top:0;right:0;left:0;height:4px;z-index:99;background:transparent}#gprog span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gg),var(--gb))}
.gwrap{display:grid;grid-template-columns:240px 1fr;gap:28px;max-width:1200px;margin:0 auto;padding:20px}
.gtoc{position:sticky;top:80px;align-self:start;background:#fff;border:1px solid #dbeafe;border-radius:14px;padding:14px;max-height:calc(100vh - 100px);overflow:auto}
.gtoc ol{padding-right:18px;margin:8px 0}.gtoc a{color:var(--gb);text-decoration:none;font-size:.93rem;line-height:1.9}.gtoc a.act{color:var(--gg);font-weight:800}
.gmain{min-width:0}.gmain h2{color:var(--gb);margin-top:36px;scroll-margin-top:80px}
.gnote{background:#f0fdf4;border-right:4px solid var(--gg);padding:10px 14px;border-radius:8px;font-size:.92rem}
.gbar{display:flex;gap:12px;align-items:center;margin:14px 0;flex-wrap:wrap}
.gsteps{list-style:none;padding:0;margin:0}.gsteps>li{scroll-margin-top:80px;margin:10px 0}
.gsteps details,.gfaq details{background:#fff;border:1px solid #dbeafe;border-radius:14px;transition:transform .2s,box-shadow .2s}
.gsteps details:hover,.gcard:hover,.gfaq details:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(29,78,216,.12)}
.gsteps summary,.gfaq summary{cursor:pointer;padding:14px 16px;font-weight:800;color:#0f172a;list-style:none;display:flex;align-items:center;gap:10px}
.gsteps summary i{font-style:normal;background:var(--gb);color:#fff;border-radius:50%;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;flex:none}
.gsteps details.read summary i{background:var(--gg)}
.gsteps details>div{padding:0 18px 14px}.gfaq p{padding:0 16px 12px;margin:0}
.ggrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.gcard{background:#fff;border:1px solid #dbeafe;border-top:4px solid var(--gg);border-radius:12px;padding:12px 14px;transition:transform .2s,box-shadow .2s}.gcard h4{margin:0 0 6px;color:var(--gb)}.gcard.bad{border-top-color:#dc2626}.gcard.bad p:before{content:"✖ ";color:#dc2626}
.gt{width:100%;border-collapse:collapse;margin:10px 0;background:#fff}.gt th{background:var(--gb);color:#fff}.gt th,.gt td{border:1px solid #dbeafe;padding:8px;text-align:right}.gt tr:nth-child(even) td{background:var(--gl)}.gt caption{font-weight:700;padding:6px;text-align:right}
.srcref{font-size:.8rem;color:#64748b}.ex{background:var(--gl);padding:8px 12px;border-radius:8px}
.gcheck{list-style:none;padding:0;columns:2}.gcheck li{break-inside:avoid;padding:5px 0}.gcheck input{width:18px;height:18px;accent-color:var(--gg);vertical-align:middle;margin-left:6px}
.gsrc{font-size:.9rem}.gsrc a{color:var(--gb);word-break:break-word}
@media(max-width:900px){.gwrap{grid-template-columns:1fr;padding:12px}.gtoc{position:static;max-height:none}.gtoc ol{columns:2}}
@media(max-width:480px){.gtoc ol{columns:1}.gcheck{columns:1}.gt{font-size:.85rem}.gt th,.gt td{padding:6px}.gsteps details>div{padding:0 12px 12px}}
@media print{header,footer,.hero,.gtoc,#gprog,.gbar,button{display:none!important}.gwrap{display:block}details{border:none!important}details:not([open])>*:not(summary){display:block}.gcheck{columns:1}}
