:root{--bg: #17100c;--bg-soft: #211711;--bg-softer: #2a1d15;--border: #3a2a1f;--border-soft: #2c2019;--text: #f0e6d8;--muted: #b39a80;--accent: #c8943f;--accent-soft: #e0b968;--accent-dim: #8a6a3a;--maxw: 1120px;--serif: "Iowan Old Style", "Palatino Linotype", "Palatino", "Georgia", serif;--sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--serif);line-height:1.7;font-size:18px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(1100px 600px at 8% -8%,rgba(200,148,63,.07),transparent 60%),radial-gradient(900px 500px at 108% 8%,rgba(160,90,40,.06),transparent 55%),radial-gradient(800px 800px at 94% 114%,rgba(120,60,30,.05),transparent 60%)}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 44px}@media (max-width: 680px){.wrap{padding:0 22px}}header.site{padding:64px 0 30px}header.site .kicker{font-family:var(--sans);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-dim);margin-bottom:16px}header.site h1{font-size:2.7rem;letter-spacing:-.015em;font-weight:600;line-height:1.1;margin-bottom:14px}header.site .tagline{font-size:1.3rem;color:var(--accent-soft);line-height:1.4;margin-bottom:18px;max-width:660px}header.site .intro{color:var(--muted);font-size:1.02rem;max-width:660px}header.site .links{margin-top:22px;display:flex;gap:22px;flex-wrap:wrap;font-family:var(--sans);font-size:.85rem}header.site .links a{color:var(--text);text-decoration:none;border-bottom:1px solid var(--accent-dim);padding-bottom:3px;transition:color .2s,border-color .2s}header.site .links a:hover{color:var(--accent-soft);border-color:var(--accent-soft)}.book{display:grid;grid-template-columns:260px 1fr;gap:0;border-top:1px solid var(--border)}.book .toc-col{border-right:1px solid var(--border)}.book .page-col{min-width:0}.toc{position:sticky;top:0;padding:36px 30px 36px 0}.toc .toc-label{font-family:var(--sans);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-dim);margin-bottom:20px}.toc ol{list-style:none}.toc button{display:flex;align-items:baseline;gap:12px;width:100%;text-align:left;background:none;border:none;cursor:pointer;font-family:var(--serif);color:var(--muted);font-size:1.12rem;padding:11px 0 11px 16px;position:relative;line-height:1.3;border-left:2px solid transparent;transition:color .2s,border-color .2s}.toc button .t{padding-left:0}.toc button:hover{color:var(--accent-soft)}.toc button.active{color:var(--accent-soft);border-left-color:var(--accent);padding-left:20px}.toc button.active:after{content:"";position:absolute;left:-2px;top:50%;transform:translateY(-50%);width:2px;height:60%;background:var(--accent)}.page-col{padding:36px 0 36px 40px}.panel{display:none}.panel.active{display:block;animation:fadein .5s ease}@keyframes fadein{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.panel .panel-title{font-family:var(--sans);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;font-weight:600}.panel .panel-note{color:var(--muted);font-size:1rem;margin-bottom:24px;max-width:640px}.piece{padding:22px 0;border-top:1px solid var(--border-soft)}.piece:first-of-type{border-top:none;padding-top:2px}.piece h3{font-size:1.26rem;font-weight:600;margin-bottom:6px}.piece .caption{color:var(--muted);font-size:1rem;margin-bottom:12px;max-width:640px}.piece .result{display:inline-block;font-family:var(--sans);font-size:.78rem;letter-spacing:.03em;color:var(--accent-soft);background:var(--bg-soft);border:1px solid var(--border);padding:4px 12px;border-radius:100px;margin-bottom:12px}.piece a.piece-link{font-family:var(--sans);color:var(--text);font-size:.86rem;text-decoration:none;border-bottom:1px solid var(--accent-dim);padding-bottom:2px;transition:color .2s,border-color .2s}.piece a.piece-link:hover{color:var(--accent-soft);border-color:var(--accent-soft)}.piece a.piece-link:after{content:" ↗";opacity:.7}.piece .placeholder{font-family:var(--sans);color:var(--accent-dim);font-size:.82rem;font-style:italic;border:1px dashed var(--border);padding:11px 15px;border-radius:8px;margin-top:6px;background:#c8943f08}.soon-item{padding:16px 0;border-top:1px solid var(--border-soft)}.soon-item:first-child{border-top:none}.soon-item .tag{display:inline-block;font-family:var(--sans);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-dim);border:1px solid var(--border);padding:2px 9px;border-radius:4px;margin-right:12px}.soon-item h3{display:inline;font-size:1.12rem;font-weight:600}.soon-item p{color:var(--muted);font-size:.96rem;margin-top:6px}.frame-note{font-family:var(--sans);color:var(--muted);font-size:.9rem;margin-bottom:26px;max-width:640px}.excerpt .body{font-size:1.06rem;line-height:1.85;color:#ece2d2;max-width:640px}.excerpt .body p{margin-bottom:1.05rem}footer.site{padding:44px 0 80px;color:var(--muted);font-size:.85rem;font-family:var(--sans);border-top:1px solid var(--border)}footer.site a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}@media (prefers-reduced-motion: reduce){.panel.active{animation:none}}@media (max-width: 760px){.book{grid-template-columns:1fr}.book .toc-col{border-right:none;border-bottom:1px solid var(--border)}.toc{position:static;padding:26px 0}.toc ol{display:flex;flex-wrap:wrap;gap:4px 8px}.toc button{width:auto;padding:8px 14px;border:1px solid var(--border);border-radius:100px;font-size:.95rem}.toc button.active{border-color:var(--accent);padding:8px 14px}.toc button.active:after{display:none}.page-col{padding:28px 0}}@media (max-width: 600px){body{font-size:17px}header.site{padding:44px 0 22px}header.site h1{font-size:2.05rem}header.site .tagline{font-size:1.12rem}}.overview{font-size:1.1rem;line-height:1.8;color:#ece2d2;max-width:640px}.overview p{margin-bottom:1.1rem}.overview p:last-child{margin-bottom:0}.results{list-style:none;font-size:1.06rem;line-height:1.8;color:#ece2d2;max-width:640px}.results li{position:relative;padding-left:22px;margin-bottom:1.05rem}.results li:last-child{margin-bottom:0}.results li:before{content:"";position:absolute;left:0;top:.82em;width:9px;height:1px;background:var(--accent)}.piece-image{display:flex;align-items:center;justify-content:center;margin:12px 0;max-width:460px;padding:8px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg-soft);transition:border-color .2s,transform .2s}.piece-image:hover{border-color:var(--accent-dim);transform:translateY(-2px)}.piece-image img{display:block;width:100%;height:auto}.piece-actions{display:flex;gap:18px;flex-wrap:wrap;align-items:center}.inline-article{margin-top:16px;padding:20px 0 4px;border-top:1px solid var(--border-soft);max-width:640px;font-size:1.04rem;line-height:1.8;color:#ece2d2}.inline-article .article-title{font-size:1.3rem;line-height:1.3;margin-bottom:16px;font-weight:600;color:var(--text)}.inline-article .article-subhead{font-family:var(--sans);font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin:22px 0 10px;font-weight:600}.inline-article p{margin-bottom:1.05rem}.skill-excerpt{margin-top:16px;padding:20px 20px 6px;border:1px solid var(--border);border-radius:10px;background:var(--bg-soft);max-width:640px}.skill-excerpt .frame-note{margin-bottom:20px}.skill-excerpt .skill-body{font-size:1rem;line-height:1.75;color:#ece2d2}.skill-excerpt .skill-title{font-size:1.12rem;font-weight:600;margin-bottom:12px;color:var(--text)}.skill-excerpt .skill-body p{margin-bottom:.95rem}.skill-excerpt .skill-body strong{color:var(--accent-soft);font-weight:600}
