/* Reading system matched to the live jaack.me site, September 10, 2026. */
:root{color-scheme:dark;--bg:#0c0c0c;--surface:#141414;--text:#f0ede8;--muted:#aaa69f;--accent:#e8c547;--line:#222;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--header-height:77px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 68px)}body{margin:0;background:var(--bg);color:var(--text);font:17px/1.65 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--accent);text-underline-offset:5px}a:hover{color:var(--text)}button,input,select{font:inherit}button,a,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}.skip{position:absolute;left:24px;top:-100px;z-index:30;background:var(--bg);padding:12px}.skip:focus{top:8px}
h1,h2,h3,h4{font-family:var(--font);font-weight:500;color:var(--text);text-wrap:balance}h1{font-size:clamp(40px,6vw,66px);line-height:1.05;letter-spacing:-1.2px;margin:12px 0 24px;max-width:770px}h1 i,h1 span{font-family:inherit;font-style:normal;font-weight:inherit}h2{font-size:32px;line-height:1.2;letter-spacing:-.5px;margin:0 0 24px}h3{font-size:12px;line-height:1.5;letter-spacing:.08em;color:var(--muted);margin:28px 0 10px}p{margin:0 0 18px}.intro{padding:8px 0 40px;border-bottom:1px solid var(--line)}.intro>p{font-size:18px;line-height:1.7;max-width:65ch;color:var(--muted)}.intro .small{font-size:14px}.actions{display:flex;gap:12px 26px;flex-wrap:wrap;margin:24px 0 0}.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 0;border:0;border-radius:0;background:none;color:var(--accent);font-size:15px;font-weight:500;text-decoration:underline;text-underline-offset:5px}.button.primary{background:none;color:var(--accent)}.button:hover{color:var(--text)}.button:active{transform:translateY(1px)}
.layout{max-width:1180px;margin:auto;display:grid;grid-template-columns:230px minmax(0,1fr);gap:64px;padding:44px 24px calc(80px + env(safe-area-inset-bottom))}.sidebar{align-self:start;position:sticky;top:calc(var(--header-height) + 20px);max-height:calc(100vh - var(--header-height) - 40px);overflow:auto;padding-right:16px}.sidebar>p{font-size:11px;letter-spacing:.08em;font-weight:400;color:var(--muted);margin:0 0 12px}.sidebar nav a,.mobile-menu nav a{display:block;min-height:44px;padding:11px 0;font-size:14px;line-height:1.5;color:var(--muted);text-decoration:none}.sidebar nav a:hover,.mobile-menu nav a:hover{color:var(--accent)}main{min-width:0;max-width:820px}.chapter{padding:38px 0;border-bottom:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.counter{font-size:12px;white-space:nowrap;color:var(--muted);margin-top:6px}.small,.context{font-size:14px;color:var(--muted)}.plan{font-size:16px;line-height:1.6;margin-bottom:10px}.reference{font-size:12px;margin:6px 0}.reference a{display:inline-block;min-height:30px;padding:3px 0}.note{padding:17px 20px;background:var(--surface);border:1px solid var(--line);border-left:2px solid var(--accent);border-radius:4px;margin:22px 0;font-size:16px;line-height:1.65}.note strong,.note b{font-weight:500}
.deck-list{list-style:none;padding:0;margin:0 0 20px}.deck-list li{display:flex;align-items:center;gap:14px;min-height:44px;padding:8px 0;line-height:1.5}.deck-list a{color:var(--text);text-decoration:none}.deck-list a:hover{color:var(--accent)}.deck-list li>span:last-child{overflow-wrap:anywhere}.quantity{min-width:30px;background:var(--surface);border:1px solid var(--line);color:var(--accent);line-height:28px;text-align:center;border-radius:3px;font-family:ui-monospace,"SFMono-Regular",Consolas,monospace;font-size:13px;font-variant-numeric:tabular-nums}
.filter-label{font-size:12px;font-weight:500;display:block;margin:24px 0 7px;color:var(--muted)}select{min-height:46px;max-width:100%;width:100%;background:var(--surface);border:1px solid #444;border-radius:4px;color:var(--text);padding:9px 12px;font-size:16px}#hand-count{margin:9px 0 20px}.hand{border-top:1px solid var(--line)}.hand:last-of-type{border-bottom:1px solid var(--line)}summary{cursor:pointer;min-height:72px;display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:12px;list-style:none;padding:17px 0}summary::-webkit-details-marker{display:none}.hand-number{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.hand-title{font-weight:500;font-size:17px;line-height:1.45}.verdict{font-size:10px;font-weight:500;letter-spacing:.04em;padding:4px 7px;border:1px solid var(--line);border-radius:3px;white-space:nowrap;background:var(--surface);color:var(--muted)}.verdict.keep{color:var(--accent)}.verdict.mulligan{color:var(--text)}.hand[open] summary{padding-bottom:10px}.hand-body{padding:0 0 25px 38px}.hand-cards{list-style:none;margin:18px 0;padding:0 0 0 15px;border-left:2px solid var(--accent);font-size:16px;overflow-wrap:anywhere}.hand-cards li{padding:3px 0}.hand-cards span{display:inline-block;min-width:20px;font-weight:500;color:var(--muted)}
.mobile-menu{display:none}footer{max-width:820px;margin:40px 0 0;padding-top:30px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;font-weight:400}footer p{margin:0 0 10px}.backtop{position:fixed;bottom:max(18px,env(safe-area-inset-bottom));right:max(18px,env(safe-area-inset-right));background:var(--surface);border:1px solid #444;color:var(--text);width:46px;height:46px;border-radius:50%;display:flex;justify-content:center;align-items:center;text-decoration:none}.backtop:hover{color:var(--accent);border-color:var(--accent)}
@media(max-width:850px){:root{--header-height:109px}.layout{display:block;padding-top:28px;max-width:780px}.sidebar{display:none}.mobile-menu{display:block;position:sticky;top:var(--header-height);z-index:15;background:var(--bg);border-bottom:1px solid var(--line);margin:0 24px;padding:0}.mobile-menu summary{display:flex;min-height:44px;padding:8px 0;font-size:13px;justify-content:space-between;color:var(--muted)}.mobile-menu summary::after{content:'+';color:var(--accent)}.mobile-menu[open] summary::after{content:'−'}.mobile-menu nav{max-height:54vh;overflow:auto;padding-bottom:16px;display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.chapter{padding:30px 0}h2{font-size:26px;letter-spacing:0}.intro{padding-bottom:32px}.intro>p{font-size:17px;line-height:1.7}.note{padding:16px 17px}.hand-body{padding-left:0}}
@media(max-width:600px){h1{font-size:41.6px;letter-spacing:-.8px}.layout{padding-left:24px;padding-right:24px}.actions{gap:8px 23px}.hand-title{font-size:16px}}
@media(max-width:350px){h1{font-size:36px}.layout{padding-left:20px;padding-right:20px}.mobile-menu{margin-left:20px;margin-right:20px}summary{gap:8px;grid-template-columns:20px 1fr auto}.hand-title{font-size:15px}.verdict{font-size:9px;padding:4px 5px}.note{font-size:15px}.counter{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button:active{transform:none}}
@media print{:root{color-scheme:light;--bg:#fff;--surface:#f5f5f5;--text:#111;--muted:#444;--accent:#333;--line:#ccc}.sidebar,.mobile-menu,.backtop,.filter-label,select,#hand-count{display:none}.layout{display:block;padding:0}.chapter{break-inside:avoid}h1{font-size:36px}.hand-body{display:block}}
/* jaack.me family: dark canvas, system typography, yellow links, quiet row layouts. */
.hub-header{position:sticky;top:0;z-index:25;background:var(--bg)}.header-inner{width:calc(100% - 48px);max-width:1180px;margin:auto;padding:16px 0;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:28px;border-bottom:1px solid var(--line);min-height:77px}.brand{font-size:24px;font-weight:700;letter-spacing:-1px;color:var(--text);text-decoration:none}.brand span{color:var(--accent)}.global-nav,.language{display:flex;align-items:center;gap:24px}.global-nav a,.language a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 0;font-size:14px;color:var(--muted);text-decoration:none;font-weight:400}.global-nav a:hover,.global-nav a.selected{color:var(--text)}.language{gap:2px}.language a{min-width:44px;font-size:12px}.language a[aria-current=page]{color:var(--accent);text-decoration:underline;text-underline-offset:5px}.hub-layout{display:block;max-width:960px}.hub-layout main{max-width:810px;margin:auto}.home-intro h1{max-width:770px}.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:20px}.breadcrumb a{color:var(--muted)}.breadcrumb a:hover{color:var(--accent)}.row-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--muted);margin:0 0 14px}.status{font-size:11px;font-weight:400;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}.status.active,.status.current{color:var(--accent)}.archive-row,.journal-row,.version-row{padding:26px 0;border-bottom:1px solid var(--line)}.archive-row h2{font-size:28px;margin-bottom:12px}.archive-row h2 a,.journal-row h3 a,.version-row h3 a{color:var(--text);text-decoration:none}.archive-row h2 a:hover,.journal-row h3 a:hover,.version-row h3 a:hover{color:var(--accent)}.archive-row p,.journal-row p,.version-row p{color:var(--muted)}.journal-row h3,.version-row h3{font-size:23px;line-height:1.3;letter-spacing:0;text-transform:none;margin:0 0 13px;font-weight:500}.journal-row:last-child,.version-row:last-child{border-bottom:0}.version-title{font-size:48px;line-height:1.12;letter-spacing:-1px}.hub-layout .chapter>.journal-row:first-of-type{padding-top:0}.hub-layout .chapter>.journal-row:last-of-type{padding-bottom:0}
@media(max-width:850px){.header-inner{padding:12px 0 8px;min-height:109px;grid-template-columns:1fr auto;gap:0 12px}.global-nav{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:18px}.language{grid-column:2;grid-row:1}.header-inner .brand{grid-column:1;grid-row:1}.hub-layout{padding-top:28px}.version-title{font-size:38px;letter-spacing:-.8px}.row-meta{gap:9px}.hub-layout main{width:100%}}
@media(max-width:350px){.header-inner{width:calc(100% - 40px)}.version-title{font-size:34px}.global-nav a{font-size:13px}.archive-row h2{font-size:26px}}
@media print{.hub-header{display:none}}

/* The page's links, language control and notes inherit its deck identity. */
.deck-theme .intro::before{content:"";display:block;height:3px;background:var(--deck-stripe);margin:0 0 25px;border-radius:1px}
.archive-row[class*="theme-"]::before{content:"";display:block;width:44px;height:3px;background:var(--deck-stripe);margin-bottom:17px}
.journal-row[class*="theme-"] .row-meta::before{content:"";width:22px;height:3px;flex:none;background:var(--deck-stripe)}
/* Real card imagery with native touch scrolling, no animation framework. */
.card-browser{margin:18px 0 30px;min-width:0}.card-toolbar{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:14px}.card-toolbar button{font:14px var(--font);min-height:46px;min-width:74px;background:none;border:0;border-bottom:2px solid transparent;padding:10px 16px;color:var(--muted);cursor:pointer}.card-toolbar button[aria-pressed=true]{color:var(--accent);border-bottom-color:var(--accent)}.card-summary,.card-status{font-size:12px;color:var(--muted);margin:9px 0 18px}.card-status:empty{display:none}.card-reference{font-size:12px;margin-top:17px}.card-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:24px 16px}.card-tile,.deck-card{font:inherit;display:block;min-width:0;width:100%;text-align:left;background:none;border:0;padding:0;color:var(--text);cursor:zoom-in}.card-picture{display:block;position:relative;width:100%;aspect-ratio:672/936;border-radius:4.7%;background:var(--surface);overflow:hidden}.card-picture img{display:block;width:100%;height:100%;object-fit:contain}.card-image-error{display:flex;align-items:center;justify-content:center;padding:18px;min-height:100%;font-size:13px;color:var(--muted);text-align:center}.card-label{display:flex;align-items:flex-start;gap:9px;margin-top:10px;line-height:1.4;font-size:13px}.card-count{color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap}.card-name{overflow-wrap:anywhere}.card-tile:hover .card-name,.deck-card:hover .card-name{color:var(--accent)}.card-tile:active{transform:translateY(1px)}
.deck-stage{position:relative;padding:28px 0 8px;min-height:340px}.deck-cover{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;margin:0 auto;width:min(100%,330px);padding:20px 24px;background:none;border:0;color:var(--accent);font:500 15px var(--font);cursor:pointer}.deck-stack{position:relative;display:block;width:180px;aspect-ratio:672/936}.deck-stack .card-picture{position:absolute;inset:0;box-shadow:0 10px 25px #0007;transition:transform .22s ease}.deck-stack .card-picture:nth-child(1){transform:translate(-24px,4px) rotate(-9deg);z-index:1}.deck-stack .card-picture:nth-child(2){transform:translate(23px,4px) rotate(9deg);z-index:2}.deck-stack .card-picture:nth-child(3){z-index:3}.deck-cover:hover .card-picture:nth-child(1){transform:translate(-37px,2px) rotate(-13deg)}.deck-cover:hover .card-picture:nth-child(2){transform:translate(37px,2px) rotate(13deg)}.deck-open-label{text-decoration:underline;text-underline-offset:5px}.deck-panel{min-width:0}.deck-rail{position:relative;display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:4px 8px 18px;scrollbar-width:thin;scrollbar-color:var(--accent) var(--surface)}.deck-card{flex:0 0 min(78%,270px);scroll-snap-align:start}.deck-controls{display:flex;justify-content:center;align-items:center;gap:24px;margin:16px 0 8px}.card-icon-button{font:22px var(--font);background:var(--surface);border:1px solid #444;border-radius:50%;width:46px;height:46px;color:var(--accent);cursor:pointer}.card-icon-button:disabled{opacity:.35;cursor:default}.deck-position{font-size:13px;min-width:66px;text-align:center;color:var(--muted);font-variant-numeric:tabular-nums}.deck-shut{display:block;margin:auto;min-height:44px;background:none;border:0;color:var(--muted);font:13px var(--font);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
html.card-modal-open{overflow:hidden}.card-dialog{position:fixed;padding:16px;margin:auto;width:min(92vw,430px);max-width:calc(100vw - 16px);max-height:94dvh;overflow:auto;color:var(--text);background:var(--bg);border:1px solid #444;border-radius:9px;overscroll-behavior:contain}.card-dialog::backdrop{background:#000c;backdrop-filter:blur(4px)}.card-dialog-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.card-dialog h2{font-size:17px;font-weight:500;line-height:1.3;letter-spacing:0;margin:0;flex:1}.card-dialog-close{font:27px var(--font);background:none;border:0;color:var(--text);width:44px;height:44px;flex:none;cursor:pointer}.card-dialog-image{max-width:100%;width:min(100%,calc((94dvh - 225px)*.718));margin:auto}.card-dialog-caption{font-size:12px;color:var(--muted);margin:12px 0 8px;text-align:center}.card-dialog-tools{display:flex;gap:16px;align-items:center;justify-content:center}.card-flip{min-height:44px;padding:8px 14px;background:none;border:1px solid var(--line);border-radius:4px;color:var(--accent);font:14px var(--font);cursor:pointer}.card-source{display:block;margin:8px auto 0;text-align:center;font-size:12px;min-height:32px;padding:5px}.card-dialog .card-picture{border-radius:4.7%}
@media(max-width:600px){.card-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.card-toolbar button{flex:1;min-width:0;padding:10px 8px}.card-label{font-size:12px;gap:6px}.deck-stage{padding-top:20px}.card-dialog{padding:12px;width:94vw;max-height:96dvh}.card-dialog-image{width:min(100%,calc((96dvh - 210px)*.718))}.card-dialog h2{font-size:16px}.card-dialog-close{width:44px;height:44px}.card-icon-button{width:44px;height:44px}.card-picture{min-width:0}}
@media(prefers-reduced-motion:reduce){.deck-stack .card-picture{transition:none}.card-tile:active{transform:none}.deck-cover:hover .card-picture:nth-child(1){transform:translate(-24px,4px) rotate(-9deg)}.deck-cover:hover .card-picture:nth-child(2){transform:translate(23px,4px) rotate(9deg)}}
@media print{.card-toolbar,.card-gallery,.card-deck,.card-dialog,.card-status,.card-reference{display:none!important}.card-list-view{display:block!important}}

.deck-rail:focus-visible{outline:2px solid var(--accent);outline-offset:4px}

.theme-g{--accent:#7fc49a;--deck-stripe:#7fc49a}
.theme-gu{--accent:#7fc49a;--deck-stripe:linear-gradient(90deg,#7fc49a 0% 50%,#80b5e8 50% 100%)}
.theme-rg{--accent:#ed887c;--deck-stripe:linear-gradient(90deg,#ed887c 0% 50%,#7fc49a 50% 100%)}