/* The Wiki: personal branding by profession and the Doctrine Library.
   Loaded only on wiki pages, after site.css, and built from its tokens. */

.wiki-crumbs{display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--ink-label); margin:0 0 26px;}
.wiki-crumbs a{color:var(--ink-label); text-decoration:none; border-bottom:1px solid var(--rule-light);}
.wiki-crumbs a:hover{color:var(--ink); border-color:var(--ink);}
.wiki-crumbs [aria-current]{color:var(--ink);}

/* Cards that are links */
a.wiki-card{display:flex; flex-direction:column; text-decoration:none; color:inherit; min-height:100%;}
a.wiki-card h3{color:var(--white);}
.s-white a.wiki-card h3{color:var(--ink);}
a.wiki-card p{flex:1;}
.wiki-go{margin-top:22px; font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--platinum); transition:transform .3s var(--ease);}
.s-white .wiki-go{color:var(--ink);}
a.wiki-card:hover .wiki-go,a.wiki-card:focus-visible .wiki-go{transform:translateX(6px);}
a.wiki-card:focus-visible{outline:2px solid var(--platinum); outline-offset:-2px;}
.wiki-grid[hidden],.wiki-group[hidden],.wiki-card[hidden]{display:none;}
.wiki-group{margin-top:44px;}
.wiki-group:first-child{margin-top:0;}
.wiki-group-h{font-family:var(--display); font-size:12px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--platinum); margin:0 0 18px;}

/* Search */
.wiki-search{display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin:0 0 30px;}
.wiki-search label{font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--platinum); flex:1 1 100%;}
.wiki-search input{flex:1 1 320px; max-width:560px; background:var(--panel-deep); color:var(--white); border:1px solid var(--rule-dark); border-radius:0; padding:14px 16px; font:inherit; font-size:16px;}
.wiki-search input::placeholder{color:var(--slate);}
.wiki-search input:focus{outline:none; border-color:var(--platinum);}
.wiki-count{font-size:14px;}
.wiki-empty{margin-top:24px;}

/* The Hierarchy as a pyramid, as on isaacmashman.com: one triangle with a true apex
   (clip-path on the list), cut into six tiers by the gaps between them. The top tier is
   the tallest so its name sits where the pyramid is wide enough. */
.wiki-pyr{margin:34px 0 22px;}
.wiki-pyr ol,.prose .wiki-pyr ol{list-style:none; margin:0 auto; padding:0; display:grid; grid-template-rows:40fr 12fr 12fr 12fr 12fr 12fr; row-gap:5px;
  height:clamp(360px, 46vw, 520px); width:100%; max-width:860px; clip-path:polygon(50% 0, 100% 100%, 0 100%);}
.wiki-pyr .wp,.prose .wiki-pyr .wp{margin:0; font-size:inherit; line-height:1.2; --fill:#1A1A1E; --on:#FFFFFF; --sub:#A9A6A0; background:var(--fill); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; text-align:center; padding:4px 10px; min-height:0; transition:opacity .3s ease;}
.wiki-pyr .wp[data-tier="6"]{--fill:var(--platinum); --on:var(--ink); --sub:#3A3936; justify-content:flex-end; padding-bottom:14px;}
.wiki-pyr .wp[data-tier="5"]{--fill:#8E8B84; --on:var(--ink); --sub:#1F1F22;}
.wiki-pyr .wp[data-tier="4"]{--fill:#4A4843; --sub:var(--platinum);}
.wiki-pyr .wp[data-tier="3"]{--fill:#2E2D2B; --sub:var(--platinum);}
.wiki-pyr .wp[data-tier="2"]{--fill:#222226;}
.wp-n{font-family:var(--display); font-size:9.5px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--sub);}
.wiki-pyr .wp b,.prose .wiki-pyr .wp b{font-family:var(--display); font-size:clamp(12.5px, 1.35vw, 17px); font-weight:600; line-height:1.2; color:var(--on);}
.wiki-pyr .wp[data-tier="6"] b{max-width:16ch;}
.wiki-pyr .wp::before,.wiki-pyr .wp::marker{content:none;}
.wiki-pyr.has-pick .wp:not(.is-from):not(.is-to){--fill:#E6E4DE; --on:#8E8B84; --sub:#A9A6A0;}
.wiki-pyr.has-pick .wp[data-tier="6"]:not(.is-from):not(.is-to){--fill:#EFEDE8;}
.wiki-pyr .wp.is-from .wp-n::after{content:"\00B7  Most Stand"; margin-left:8px;}
.wiki-pyr .wp.is-to .wp-n::after{content:"\00B7  Build Toward"; margin-left:8px;}
.wiki-pyr-key{display:flex; flex-wrap:wrap; justify-content:center; gap:8px 28px; margin:20px 0 0; font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--ink-label);}

@media (max-width:640px){
  .wiki-pyr ol{height:clamp(360px, 108vw, 440px); grid-template-rows:44fr 11.2fr 11.2fr 11.2fr 11.2fr 11.2fr; row-gap:4px;}
  .wiki-pyr .wp b,.prose .wiki-pyr .wp b{font-size:12px;}
  .wp-n{font-size:8.5px; letter-spacing:0.14em;}
  .wiki-pyr .wp[data-tier="6"] b{max-width:10ch;}
  .wiki-pyr .wp.is-from .wp-n::after,.wiki-pyr .wp.is-to .wp-n::after{content:none;}
}

/* Recommendations across the Five Pillars */
.wiki-pillars{display:flex; flex-direction:column; gap:1px; background:var(--rule-dark); border:1px solid var(--rule-dark);}
.wiki-pillar{background:var(--ink); padding:clamp(24px, 3vw, 38px); display:grid; grid-template-columns:minmax(200px, 300px) minmax(0, 1fr); gap:10px 40px;}
.wiki-pillar-h{display:flex; flex-direction:column; gap:8px;}
.wiki-pillar-h h3{color:var(--white); margin:0;}
.wiki-w{font-family:var(--display); font-size:11px; font-weight:700; letter-spacing:0.2em; color:var(--slate);}
.wiki-pillar .cell-list{margin:0; padding:0; list-style:none;}
.wiki-pillar .cell-list li:first-child{border-top:0; padding-top:0;}
.wiki-pillar .cell-list b{color:var(--white); font-weight:500; display:block; margin-bottom:2px;}
.wiki-ref{display:block; margin-top:6px; font-size:12.5px; color:var(--slate);}
.wiki-ref a{color:var(--platinum);}
.wiki-tool{font-size:12.5px; color:var(--platinum); margin-left:2px;}
@media (max-width:820px){ .wiki-pillar{grid-template-columns:1fr;} }

/* Content ideas */
.wiki-table-wrap{overflow-x:auto; margin:24px 0 44px; border:1px solid var(--rule-light);}
.wiki-more{margin:0 0 30px;}
.prose .wiki-more h3{margin:0 0 14px;}
.prose .wiki-more li{margin-bottom:10px;}
.prose .wiki-more li b{color:var(--ink);}
.wiki-ideas{width:100%; border-collapse:collapse; font-size:15px; min-width:560px;}
.wiki-ideas th,.wiki-ideas td{text-align:left; vertical-align:top; padding:14px 16px; border-bottom:1px solid var(--rule-light);}
.wiki-ideas thead th{font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--ink-label); background:#F7F6F3;}
.wiki-ideas tbody th{font-family:var(--display); font-weight:600; color:var(--ink); width:22%;}
.wiki-ideas tbody th small{display:block; font-family:var(--body); font-weight:400; font-size:12.5px; color:var(--ink-label); margin-top:4px;}
.wiki-ideas tbody tr:last-child th,.wiki-ideas tbody tr:last-child td{border-bottom:0;}

/* Method steps */
.wiki-steps{list-style:none; counter-reset:ws; margin:22px 0; padding:0; border-top:1px solid var(--rule-light);}
.wiki-steps li{counter-increment:ws; display:grid; grid-template-columns:48px minmax(0, 1fr); gap:4px 14px; padding:18px 0; border-bottom:1px solid var(--rule-light);}
.wiki-steps li::before{content:counter(ws, decimal-leading-zero); grid-row:span 2; font-family:var(--display); font-size:13px; font-weight:700; letter-spacing:0.12em; color:var(--ink-label); padding-top:3px;}
.wiki-steps b{font-family:var(--display); font-weight:600; color:var(--ink);}
.wiki-steps span{color:var(--ink-body);}

.wiki-specs{margin:16px 0 34px; border-top-color:var(--rule-light);}
.wiki-specs > div{border-bottom-color:var(--rule-light);}
.wiki-specs dt{font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--ink-label); flex:0 0 170px; padding-top:3px;}
.wiki-specs dd{margin:0; flex:1 1 260px; color:var(--ink);}
.wiki-book,.wiki-audit{margin:40px 0;}
.wiki-book .btn,.wiki-audit .btn{margin-top:6px;}

@media print{ .wiki-search,.wiki-crumbs{display:none;} }
.prose .wiki-audit a.btn,.prose .wiki-book a.btn{color:var(--white); text-decoration:none;}
.prose .wiki-audit a.btn:hover,.prose .wiki-book a.btn:hover{color:var(--white);}

/* The Wiki band on the home page (markup from tools/wiki_build.py) */
.wiki-band{position:relative; overflow:hidden; isolation:isolate; background:#0E0E10; color:var(--white); padding:clamp(84px, 9vw, 140px) 0 0;}
.wiki-band::before{content:""; position:absolute; inset:0; z-index:-2; pointer-events:none;
  background:radial-gradient(ellipse 60% 70% at 82% 38%, rgba(200,197,190,0.16), transparent 70%),
    linear-gradient(rgba(255,255,255,0.045) 1px, transparent 1px) 0 0/56px 56px,
    linear-gradient(90deg, rgba(255,255,255,0.045) 1px, transparent 1px) 0 0/56px 56px;
  -webkit-mask-image:linear-gradient(180deg, #000 55%, transparent); mask-image:linear-gradient(180deg, #000 55%, transparent);}
.wiki-band::after{content:""; position:absolute; left:0; right:0; top:0; height:1px; background:linear-gradient(90deg, transparent, var(--platinum) 30%, var(--platinum) 70%, transparent);}
.wiki-band-mark{position:absolute; z-index:-1; right:-7%; top:46%; width:min(48vw, 680px); height:auto; transform:translateY(-50%); opacity:0.06; pointer-events:none;}
.wiki-band-in{display:grid; grid-template-columns:minmax(0, 1.15fr) minmax(0, 1fr); gap:clamp(44px, 6vw, 100px); align-items:center;}
.wiki-band h2{font-size:clamp(40px, 5.1vw, 76px); font-weight:800; line-height:1.0; letter-spacing:-0.035em; color:var(--white); margin:18px 0 24px;}
.wiki-band h2 em{display:block; font-style:normal; font-weight:300; color:var(--platinum);}
.wiki-band-copy p{font-size:clamp(16px, 1.25vw, 18px); line-height:1.7; color:#C8C5BE; max-width:46ch; margin:0 0 34px;}
.wiki-band-cta{display:flex; flex-wrap:wrap; gap:14px;}
.wiki-band-stats{display:grid; gap:18px;}
.wiki-stat{position:relative; display:grid; grid-template-columns:auto minmax(0, 1fr) auto; grid-template-rows:auto auto; column-gap:28px; align-items:end;
  padding:30px 32px; text-decoration:none; color:var(--white); border:1px solid rgba(255,255,255,0.16);
  background:linear-gradient(135deg, rgba(255,255,255,0.07), rgba(255,255,255,0.015)); transition:border-color .35s var(--ease), transform .35s var(--ease), background .35s var(--ease);}
.wiki-stat::before{content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--platinum); transform:scaleY(0); transform-origin:bottom; transition:transform .45s var(--ease);}
.wiki-stat:hover,.wiki-stat:focus-visible{border-color:rgba(200,197,190,0.7); transform:translateY(-3px); background:linear-gradient(135deg, rgba(255,255,255,0.1), rgba(255,255,255,0.03));}
.wiki-stat:hover::before,.wiki-stat:focus-visible::before{transform:scaleY(1);}
.wiki-stat:focus-visible{outline:2px solid var(--platinum); outline-offset:3px;}
.wiki-stat-n{grid-row:1 / span 2; font-family:var(--display); font-size:clamp(76px, 8vw, 124px); font-weight:800; line-height:0.82; letter-spacing:-0.05em;
  background:linear-gradient(180deg, #FFFFFF 30%, #8E8B84); -webkit-background-clip:text; background-clip:text; color:transparent;}
.wiki-stat-k{font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--platinum); margin-bottom:8px;}
.wiki-stat-t{grid-column:2; font-family:var(--display); font-size:clamp(17px, 1.4vw, 21px); font-weight:600; line-height:1.25;}
.wiki-stat-go{grid-column:3; grid-row:1 / span 2; align-self:center; font-size:22px; color:var(--platinum); transition:transform .3s var(--ease);}
.wiki-stat:hover .wiki-stat-go{transform:translateX(6px);}
.wiki-band-run{display:flex; overflow:hidden; margin-top:clamp(72px, 8vw, 116px); border-top:1px solid rgba(255,255,255,0.12); border-bottom:1px solid rgba(255,255,255,0.12);
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);}
.wiki-band-run ul{display:flex; flex:none; list-style:none; margin:0; padding:0; animation:wiki-run 140s linear infinite;}
.wiki-band-run:hover ul,.wiki-band-run:focus-within ul{animation-play-state:paused;}
.wiki-band-run a{display:block; padding:22px 30px; font-family:var(--display); font-size:11px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; white-space:nowrap; color:#8E8B84; text-decoration:none; border-right:1px solid rgba(255,255,255,0.08); transition:color .2s ease;}
.wiki-band-run a:hover,.wiki-band-run a:focus-visible{color:var(--white);}
@keyframes wiki-run{to{transform:translateX(-100%);}}
@media (max-width:900px){
  .wiki-band-in{grid-template-columns:1fr;}
  .wiki-band-mark{width:90vw; right:-30%; top:30%;}
  .wiki-stat{padding:24px 22px; column-gap:20px;}
}
@media (prefers-reduced-motion:reduce){
  .wiki-band-run{overflow-x:auto;}
  .wiki-band-run ul{animation:none;}
  .wiki-band-run ul[aria-hidden]{display:none;}
}

/* ---------------------------------------------------------------- The Wiki, dressed like the home page band */
.wiki-hero{background:#0E0E10;}
.wiki-hero::before{left:auto; right:-22%; top:-40%; background:radial-gradient(closest-side, rgba(200,197,190,0.2), rgba(200,197,190,0.06) 50%, rgba(200,197,190,0) 100%);}
.wiki-hero::after{background-size:56px 56px; -webkit-mask-image:linear-gradient(180deg, #000 40%, transparent); mask-image:linear-gradient(180deg, #000 40%, transparent);}
.wiki-hero .page-mark{opacity:0.06;}
.wiki-hero .eyebrow{color:var(--platinum);}
.wiki-hero.is-hub{padding-bottom:0;}
.wiki-hero.is-hub .wrap{display:grid; grid-template-columns:minmax(0, 1.1fr) minmax(0, 1fr); column-gap:clamp(44px, 6vw, 100px); align-items:end;}
.wiki-hero.is-hub .wrap > .eyebrow,.wiki-hero.is-hub .wrap > h1,.wiki-hero.is-hub .wrap > .lede{grid-column:1;}
.wiki-hero.is-hub .lede{margin-bottom:0;}
.wiki-hero-stats{grid-column:2; grid-row:1 / span 3; align-self:end; display:grid; gap:18px;}
.wiki-hero .wiki-band-run{position:relative; z-index:2; margin-top:clamp(64px, 7vw, 100px);}
@media (max-width:900px){
  .wiki-hero.is-hub .wrap{grid-template-columns:1fr;}
  .wiki-hero-stats{grid-column:1; grid-row:auto; margin-top:36px;}
}

/* Shelves: the dark sections that hold the cards */
.wiki-shelf{position:relative; isolation:isolate; background:#0E0E10;}
.wiki-shelf::before{content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(ellipse 50% 40% at 10% 0%, rgba(200,197,190,0.10), transparent 70%),
    linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px) 0 0/56px 56px,
    linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px) 0 0/56px 56px;
  -webkit-mask-image:linear-gradient(180deg, #000, rgba(0,0,0,0.35)); mask-image:linear-gradient(180deg, #000, rgba(0,0,0,0.35));}
.wiki-shelf::after{content:""; position:absolute; left:0; right:0; top:0; height:1px; background:linear-gradient(90deg, transparent, var(--platinum) 30%, var(--platinum) 70%, transparent); opacity:0.7;}
.wiki-shelf .grid.wiki-grid{background:none; gap:16px;}
.wiki-shelf a.wiki-card{position:relative; overflow:hidden; background:linear-gradient(135deg, rgba(255,255,255,0.065), rgba(255,255,255,0.012)); border:1px solid rgba(255,255,255,0.12);
  padding:clamp(30px, 2.6vw, 38px) clamp(24px, 2.2vw, 32px) 28px; transition:border-color .35s var(--ease), transform .35s var(--ease), background .35s var(--ease);}
.wiki-shelf a.wiki-card::before{top:0; bottom:0; left:0; right:auto; width:3px; height:auto; background:var(--platinum); transform:scaleY(0); transform-origin:bottom; transition:transform .45s var(--ease);}
.wiki-shelf a.wiki-card:hover,.wiki-shelf a.wiki-card:focus-visible{border-color:rgba(200,197,190,0.6); transform:translateY(-3px); background:linear-gradient(135deg, rgba(255,255,255,0.095), rgba(255,255,255,0.025));}
.wiki-shelf a.wiki-card:hover::before,.wiki-shelf a.wiki-card:focus-visible::before{transform:scaleY(1);}
.wiki-shelf a.wiki-card .cell-num{color:var(--platinum); padding-right:76px;}
.wiki-shelf a.wiki-card p{color:#A9A6A0;}
.wiki-card-n{position:absolute; top:16px; right:20px; font-family:var(--display); font-size:clamp(44px, 4vw, 58px); font-weight:800; line-height:1; letter-spacing:-0.04em;
  color:var(--white); opacity:0.1; transition:opacity .35s var(--ease), color .35s var(--ease);}
.wiki-shelf a.wiki-card:hover .wiki-card-n{color:var(--platinum); opacity:0.32;}
.wiki-shelf .wiki-group-h{display:flex; align-items:center; gap:18px;}
.wiki-shelf .wiki-group-h::after{content:""; flex:1; height:1px; background:linear-gradient(90deg, rgba(200,197,190,0.45), transparent);}
.wiki-shelf .wiki-search input{padding:18px 20px 18px 52px; font-size:17px; background:rgba(255,255,255,0.04) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23C8C5BE' stroke-width='1.6'%3E%3Ccircle cx='7.5' cy='7.5' r='6'/%3E%3Cpath d='M12 12l5 5'/%3E%3C/svg%3E") no-repeat 20px 50%; border-color:rgba(255,255,255,0.18);}
.wiki-shelf .wiki-search input:focus{border-color:var(--platinum); background-color:rgba(255,255,255,0.07);}
@media (prefers-reduced-motion:reduce){ .wiki-shelf a.wiki-card,.wiki-shelf a.wiki-card::before{transition:none;} }

/* Hub intros: the copy beside a short guide to the page */
.wiki-intro{display:grid; grid-template-columns:minmax(0, 1.25fr) minmax(0, 1fr); gap:clamp(36px, 6vw, 96px); align-items:start;}
.wiki-intro .prose{max-width:none;}
.wiki-aside{position:relative; background:#F7F6F3; border:1px solid var(--rule-light); padding:clamp(26px, 2.6vw, 36px);}
.wiki-aside::before{content:""; position:absolute; left:0; right:0; top:0; height:3px; background:var(--ink);}
.wiki-aside h3{font-family:var(--display); font-size:11px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--ink-label); margin:0 0 18px;}
.wiki-aside ol{list-style:none; counter-reset:wa; margin:0; padding:0;}
.wiki-aside li{counter-increment:wa; display:grid; grid-template-columns:40px minmax(0, 1fr); gap:2px 12px; padding:14px 0; border-top:1px solid var(--rule-light);}
.wiki-aside li::before{content:counter(wa, decimal-leading-zero); grid-row:span 2; font-family:var(--display); font-size:22px; font-weight:800; letter-spacing:-0.03em; line-height:1; color:#B9B6AF;}
.wiki-aside b{font-family:var(--display); font-size:15px; font-weight:600; color:var(--ink);}
.wiki-aside span{font-size:14px; line-height:1.6; color:var(--ink-body);}
@media (max-width:900px){ .wiki-intro{grid-template-columns:1fr;} }

/* Cards sit on a true grid, so a last card never stretches across the row */
.wiki-shelf .grid.wiki-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(min(280px, 100%), 1fr));}
.wiki-shelf .grid.wiki-grid > .cell[hidden]{display:none;}
.wiki-stat-n{min-width:1.15em;}
