@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700;750&family=IBM+Plex+Mono:wght@400;450;500;600&display=swap');
:root{--paper:#f2eddf;--ink:#24251f;--muted:#77776b;--line:#d6d1c2;--green:#44684e;--soft:#e8e4d6;--mono:'IBM Plex Mono',monospace;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.6' filter='url(%23n)'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0}button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:4px}button:disabled{cursor:default}.shell{max-width:1480px;width:calc(100% - 88px);margin-inline:auto}.edition{height:30px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 32px;font:9px var(--mono);letter-spacing:1.2px;color:var(--muted)}.edition>span:nth-child(2){display:flex;align-items:center;gap:7px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);flex-shrink:0}.header{height:96px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:28px}.wordmark{display:flex;align-items:center;gap:9px;font-size:29px;letter-spacing:-1.6px;font-weight:550;white-space:nowrap}.wordmark img{object-fit:contain}.cursor{color:#8B2020;margin-left:-8px;animation:terminal-cursor 1.1s step-end infinite}@keyframes terminal-cursor{0%,49%{opacity:1}50%,100%{opacity:0}}.header nav{display:flex;align-items:center;gap:30px;margin-left:30px;color:var(--muted);font-size:13px}.header nav a,.header nav button{padding:10px 0;position:relative}.header nav .nav-active{color:var(--ink)}.nav-active:after{content:'';height:3px;width:3px;background:var(--green);position:absolute;left:50%;bottom:0}.watch-count{font:9px var(--mono);margin-left:4px}.header-actions{display:flex;gap:24px;align-items:center}.language{font:11px var(--mono);padding:7px 0}.language span{margin-left:5px}.btn{min-height:43px;border:1px solid var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:0 20px;font:11px var(--mono);transition:background .2s,transform .2s}.btn:hover{background:var(--soft);transform:translateY(-1px)}.btn-dark{background:var(--ink);color:var(--paper)}.btn-dark:hover{background:var(--green);border-color:var(--green)}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;min-height:446px;padding-block:43px 38px;gap:24px}.eyebrow{font:9px var(--mono);letter-spacing:1.4px;display:flex;align-items:center;gap:9px}.mini-cross{font-size:21px;color:var(--green);line-height:1}.hero h1{font-size:clamp(38px,4.25vw,61px);line-height:1.04;font-weight:500;letter-spacing:-3.3px;margin:24px 0 21px}.green{color:var(--green)}.hero p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}.hero-actions{display:flex;gap:25px;align-items:center;margin-top:25px}.text-link{font:10px var(--mono);line-height:1.8}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.hero-footnote{display:flex;gap:12px;align-items:center;margin-top:29px;font:9px var(--mono);color:var(--muted)}.stacked-dice{font-size:17px;color:var(--ink);letter-spacing:-2px}.hero-art{height:345px;position:relative;overflow:hidden;border:1px solid #d9d4c6;background:#eee9db}.hero-art:before,.hero-art:after{content:'+';position:absolute;font:16px var(--mono);z-index:1;top:8px;left:12px;color:#888778}.hero-art:after{left:auto;right:12px}.hero-art img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}.ticker{border-block:1px solid var(--line);background:#eae6d8}.ticker-inner{display:flex;justify-content:space-between;align-items:center;gap:25px;min-height:42px;font:9px var(--mono);color:var(--muted)}.ticker-inner>span:first-child{display:flex;align-items:center;gap:9px;white-space:nowrap;color:var(--green)}.ticker-inner>span:nth-child(2){margin-right:auto}.ticker-inner a{color:var(--ink);font-size:8px;white-space:nowrap}.catalogue{padding-top:47px}.section-top{display:flex;align-items:end;justify-content:space-between;margin-bottom:25px}.section-top .eyebrow{color:var(--muted);font-size:8px}.section-top h2,.journal h2{font-size:30px;font-weight:500;letter-spacing:-1.2px;margin:12px 0 0}.catalogue-note{display:flex;align-items:center;gap:7px;font:9px var(--mono);color:var(--muted);padding-bottom:4px}.filterbar{display:flex;justify-content:space-between;gap:20px;align-items:center;border-block:1px solid var(--line);padding:12px 0}.tabs{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.tab{padding:10px 13px;font:10px var(--mono);color:var(--muted);border:1px solid transparent;white-space:nowrap}.tab:hover{color:var(--ink);background:#e5e1d3}.tab.active{border-color:var(--ink);color:var(--paper);background:var(--ink)}.tab.active span:not(.tab-icon){opacity:.65;margin-left:6px;font-size:8px}.tab-icon{font-size:14px;margin-right:6px}.search{border:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:9px 10px;width:255px}.search>span{font-size:22px;line-height:15px}.search input{width:100%;border:0;background:none;outline:none;font:9px var(--mono);min-width:0}.search kbd{border:1px solid var(--line);padding:0 4px;font:9px var(--mono);color:var(--muted)}.results-meta{display:flex;justify-content:space-between;align-items:center;margin:16px 0 17px;font:9px var(--mono);color:var(--muted)}.view-tools{display:flex;align-items:center;gap:18px}.concept-switch{display:flex;gap:6px;align-items:center;font-size:8px;cursor:pointer}.concept-switch input{accent-color:var(--green);width:11px;height:11px;margin:0}.view-tools button{font-size:19px;line-height:20px;border:1px solid var(--line);width:29px;height:27px;color:var(--ink)}.game-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.game-card{border:1px solid var(--line);transition:transform .2s,border-color .2s;position:relative;min-width:0}.game-card:hover{transform:translateY(-4px);border-color:#888b79}.card-art{height:166px;position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:#e8e4d7}.card-art:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#76776550 .65px,transparent .65px);background-size:5px 5px;opacity:.22}.save{position:absolute;top:10px;right:10px;width:28px;height:28px;display:grid;place-items:center;border:1px solid #acae9e80;background:#f2eddfb8;font-size:18px;z-index:2}.save.saved{background:var(--green);color:var(--paper);border-color:var(--green)}.prototype-label{position:absolute;top:12px;left:12px;z-index:1;font:7px var(--mono);letter-spacing:.5px;border:1px solid #9aab9580;padding:5px 7px;background:#f2eddfa6}.card-body{padding:16px}.card-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.card-title h3{font-weight:550;letter-spacing:-.6px;font-size:18px;margin:0}.card-title button{text-align:left;padding:0}.card-title button:hover{text-decoration:underline;text-underline-offset:4px}.card-title>span{color:var(--muted);font-size:16px}.card-body p{font-size:11px;line-height:1.8;color:var(--muted);margin:9px 0 18px;min-height:40px}.card-tags{display:flex;gap:5px;align-items:center}.tag{font:7px var(--mono);padding:4px 6px;border:1px solid var(--line);white-space:nowrap}.tag-status{color:var(--green);background:#e4e8d9;border-color:#b9c2a9}.card-bottom{margin-top:16px;border-top:1px solid var(--line);padding-top:12px;display:flex;justify-content:space-between;align-items:center;font:8px var(--mono);color:var(--muted)}.card-bottom button{padding:0;color:var(--ink);font:8px var(--mono)}.card-bottom button:hover{text-decoration:underline}.wheel-art{background:#dce2d1}.wheel{width:124px;height:124px;border-radius:50%;border:1px solid #51654b;position:absolute;top:26px;left:50%;transform:translateX(-50%) rotate(-16deg);background:conic-gradient(#4e684a 0deg 45deg,#e5e6d7 45deg 90deg,#7e906c 90deg 135deg,#f2eddf 135deg 180deg,#4e684a 180deg 225deg,#e5e6d7 225deg 270deg,#7e906c 270deg 315deg,#f2eddf 315deg);box-shadow:8px 8px 0 #8d9b7b25,inset 0 0 0 7px #e5e6d7,inset 0 0 0 8px #596d4f}.wheel:before{content:'✳';position:absolute;inset:42px;border-radius:50%;background:var(--paper);border:1px solid #677357;display:grid;place-items:center;font-size:24px;line-height:1}.wheel:after{content:'';position:absolute;top:-6px;left:54px;width:0;height:0;border-inline:7px solid transparent;border-top:14px solid var(--ink)}.dice-art{background:#e3dacb}.dice-scene{position:absolute;inset:30px 0 15px;display:flex;align-items:center;justify-content:center}.dice-scene img{width:106px;height:106px;transform:rotate(-15deg);filter:drop-shadow(9px 9px 0 #998c7930)}.dice-scene img+img{width:73px;height:73px;margin-left:-15px;transform:rotate(18deg) translateY(15px)}.arcade-art{background:#d7dedb}.arcade-machine{position:absolute;left:50%;top:27px;transform:translateX(-50%) rotate(5deg);width:90px;height:121px;background:#b3beb4;border:1px solid #53665b;box-shadow:8px 5px 0 #798d7f;clip-path:polygon(10% 0,90% 0,100% 63%,100% 100%,0 100%,0 63%)}.machine-top{text-align:center;background:var(--paper);font:8px var(--mono);margin:9px 10px 6px;padding:3px}.machine-screen{margin:0 12px;height:53px;background:#344c40;border:3px solid #708672;display:grid;place-items:center;color:#c0c9a6;font:21px var(--mono)}.machine-controls{border-top:1px solid #53665b;margin-top:8px;text-align:center;font:12px var(--mono);padding-top:3px}.trading-art{background:#e1dfd0}.chart{position:absolute;inset:39px 25px 35px;border-bottom:1px solid #9da38d;border-left:1px solid #9da38d;background-image:linear-gradient(#92988220 1px,transparent 1px),linear-gradient(90deg,#92988220 1px,transparent 1px);background-size:22px 22px}.chart svg{width:100%;height:100%;overflow:visible}.chart-tag{position:absolute;right:4px;top:7px;font:10px var(--mono);background:var(--green);color:var(--paper);padding:5px 8px;transform:rotate(-8deg)}.directory-disclosure{font:8px/1.8 var(--mono);color:var(--muted);max-width:790px;margin:18px 0 0}.empty{padding:40px;text-align:center;border:1px dashed var(--line)}.empty>span{font-size:40px}.empty h3{font-size:24px;letter-spacing:-1px}.empty p{color:var(--muted)}.game-grid.list-view{grid-template-columns:1fr}.list-view .game-card{display:grid;grid-template-columns:180px 1fr}.list-view .card-art{height:100%;min-height:170px;border-bottom:0;border-right:1px solid var(--line)}.list-view .card-body p{min-height:0}.builder{border:1px solid var(--line);margin-block:43px 48px;padding:29px 30px;display:flex;align-items:center;gap:26px;background:#eae6d8}.builder-symbol{font-size:62px;color:var(--green);line-height:1}.builder .eyebrow{font-size:7px;color:var(--muted);letter-spacing:1px}.builder h2{font-size:25px;letter-spacing:-.9px;font-weight:500;margin:10px 0 8px}.builder p{font-size:11px;color:var(--muted);margin:0;line-height:1.6}.builder .btn{margin-left:auto;white-space:nowrap}.journal{display:grid;grid-template-columns:.9fr 1fr 1fr;gap:36px;padding-bottom:44px}.journal h2{font-size:26px;max-width:200px;line-height:1.2;margin-top:14px}.journal>.eyebrow,.journal .eyebrow{font-size:8px;color:var(--muted)}.journal>a{padding-left:27px;border-left:1px solid var(--line)}.note-type{font:7px var(--mono);letter-spacing:1px;color:var(--muted)}.journal h3{font-size:18px;font-weight:500;letter-spacing:-.5px;margin:12px 0 9px}.journal p{font-size:11px;line-height:1.7;color:var(--muted);margin:0 0 14px}.journal .text-link{font-size:8px}footer{border-top:1px solid var(--line)}.footer-top{padding:28px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-top .wordmark{font-size:24px}.footer-top>div{display:flex;align-items:center;gap:23px;font:9px var(--mono);color:var(--muted)}.footer-top button{font:inherit;padding:0}.footer-tag{font:8px var(--mono);letter-spacing:1px;color:var(--muted)}.footer-bottom{border-top:1px solid var(--line);padding:17px 0 22px;display:flex;justify-content:space-between;gap:20px;font:8px/1.7 var(--mono);color:var(--muted)}.age{border:1px solid var(--line);padding:2px 4px;margin-left:12px}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:var(--paper);padding:12px}.skip-link:focus{top:10px}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--ink);padding:36px;max-width:540px;width:calc(100% - 32px);max-height:90dvh;box-shadow:14px 14px 0 #24251f28;position:fixed}dialog::backdrop{background:#24251f70;backdrop-filter:blur(4px)}dialog h2{font-size:32px;line-height:1.15;letter-spacing:-1.2px;font-weight:500;margin:20px 0}dialog p{font-size:13px;line-height:1.8;color:var(--muted)}dialog .btn{margin-top:10px}.close-dialog{position:absolute;top:10px;right:12px;font-size:25px}dialog label{display:flex;flex-direction:column;gap:8px;font:10px var(--mono);margin-top:17px}dialog input,dialog select,dialog textarea{background:#f7f3e9;border:1px solid var(--line);padding:11px;width:100%;font:12px var(--sans);border-radius:0}dialog textarea{resize:vertical}.form-row{display:flex;gap:15px}.form-row label{width:50%}.form-status{font:10px/1.7 var(--mono)}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:var(--paper);font:11px var(--mono);padding:15px 22px;opacity:0;pointer-events:none;transition:.2s;z-index:100;max-width:90vw}.toast.visible{opacity:1;transform:translate(-50%,0)}.detail-category{margin-bottom:15px}.detail-source{background:var(--soft);border:1px solid var(--line);padding:15px;margin:20px 0;font:10px/1.8 var(--mono)}.detail-warning{font:10px/1.8 var(--mono)}.detail-actions{display:flex;gap:10px;flex-wrap:wrap}
@media(min-width:1500px){.hero{min-height:500px}.hero-art{height:385px}.card-art{height:190px}}
@media(max-width:1100px){.header nav{margin:0;gap:20px}.header-actions{gap:16px}.wordmark{font-size:25px}.hero h1{font-size:46px}.hero p{font-size:12px}.hero-actions{gap:15px}.hero-actions .btn{padding:0 13px;font-size:10px}.hero-actions .text-link{font-size:9px}.hero-art{height:320px}.game-grid{gap:12px}.card-body{padding:13px}.card-title h3{font-size:16px}.card-art{height:156px}.card-tags{gap:4px;flex-wrap:wrap}.tag{font-size:6px}.catalogue-note{font-size:8px}.builder{gap:20px}.builder h2{font-size:23px}.builder .eyebrow{font-size:6px}.builder .btn{font-size:9px;padding-inline:14px}.journal{gap:24px}.journal>a{padding-left:20px}}
@media(max-width:800px){.edition{padding-inline:20px;font-size:7px}.edition>a{display:none}.header{height:80px;gap:15px}.header nav{gap:14px;font-size:11px}.header-actions>.btn{display:none}.hero{gap:20px;padding-block:35px;min-height:390px}.hero h1{font-size:37px;letter-spacing:-2px}.hero .eyebrow{font-size:7px}.hero p{font-size:11px}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:20px}.hero-art{height:290px}.hero-footnote{font-size:7px;gap:7px;margin-top:20px}.hero-footnote .stacked-dice{font-size:15px}.ticker-inner{font-size:8px;gap:16px}.ticker-inner a{font-size:7px}.catalogue{padding-top:35px}.section-top h2{font-size:27px}.catalogue-note{display:none}.filterbar{flex-wrap:wrap;gap:12px}.search{width:100%}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.card-art{height:185px}.wheel{top:36px}.dice-scene{inset:40px 0 25px}.arcade-machine{top:38px}.chart{inset:48px 35px 35px}.card-body{padding:17px}.card-title h3{font-size:20px}.card-body p{font-size:12px}.tag{font-size:8px}.card-bottom{font-size:9px}.card-bottom button{font-size:9px}.builder{flex-wrap:wrap;padding:25px;gap:18px}.builder-symbol{font-size:48px}.builder>div:nth-child(2){flex:1}.builder h2{font-size:24px}.builder .eyebrow{font-size:7px}.builder .btn{margin-left:66px}.journal{grid-template-columns:1fr 1fr;row-gap:25px}.journal>div{grid-column:1/-1}.journal h2{max-width:none}.journal>a{padding-left:0;border-left:0}.footer-tag{display:none}}
@media(max-width:520px){.edition{font-size:6px;letter-spacing:.8px;padding-inline:18px;height:27px}.header{height:75px;flex-wrap:wrap;gap:0}.wordmark{font-size:25px;gap:6px}.wordmark img{width:29px;height:29px}.header nav{order:3;width:100%;justify-content:space-between;margin-top:-5px;padding-inline:3px}.header nav a,.header nav button{padding-block:5px;font-size:10px}.header nav .nav-active:after{bottom:1px}.header-actions{margin-left:auto}.hero{grid-template-columns:1fr;padding-block:35px 25px;gap:27px}.hero h1{font-size:47px;letter-spacing:-2.7px;margin:20px 0 17px}.hero p{font-size:12px}.hero-actions{gap:18px;flex-wrap:nowrap}.hero-actions .btn{font-size:9px;padding:0 13px;gap:12px;min-height:42px}.hero-actions .text-link{font-size:8px}.hero-footnote{font-size:8px;margin-top:22px}.hero-art{height:260px}.hero-art img{object-position:center 47%}.ticker-inner{gap:10px;font-size:7px;min-height:49px;line-height:1.6}.ticker-inner>span:first-child{font-size:7px;max-width:75px;gap:5px}.ticker-inner>span:nth-child(2){flex:1}.ticker-inner a{font-size:6px;max-width:45px}.section-top h2{font-size:29px}.tabs{gap:2px;width:100%;justify-content:space-between}.tab{padding:9px 8px;font-size:8px}.tab-icon{font-size:11px;margin-right:3px}.results-meta{font-size:8px}.view-tools{gap:8px}.concept-switch{font-size:6px;gap:4px}.game-grid{gap:12px}.card-art{height:150px}.card-body{padding:12px}.card-title h3{font-size:17px}.card-body p{font-size:10px;line-height:1.7;min-height:51px;margin-bottom:12px}.tag{font-size:6px;padding:4px}.card-bottom,.card-bottom button{font-size:7px}.card-bottom{margin-top:12px;padding-top:10px}.prototype-label{font-size:6px;top:9px;left:8px;padding:4px}.save{top:8px;right:8px;width:24px;height:24px;font-size:16px}.wheel{top:28px;width:105px;height:105px}.wheel:before{inset:35px;font-size:21px}.wheel:after{left:44px}.dice-scene{inset:25px 0}.dice-scene img{width:84px;height:84px}.dice-scene img+img{width:55px;height:55px}.arcade-machine{top:28px;width:75px;height:108px}.machine-top{font-size:6px}.machine-screen{height:42px}.machine-controls{font-size:9px}.chart{inset:40px 18px 29px}.chart-tag{font-size:8px;padding:4px;right:-2px}.directory-disclosure{font-size:7px}.builder{margin-block:30px;padding:22px 18px;gap:14px}.builder-symbol{font-size:35px;align-self:flex-start;margin-top:17px}.builder .eyebrow{font-size:6px;line-height:1.7}.builder h2{font-size:22px}.builder p{font-size:10px}.builder .btn{margin-left:49px;font-size:9px}.journal{gap:25px 20px;padding-bottom:30px}.journal h3{font-size:17px}.journal p{font-size:10px}.note-type{font-size:6px}.journal .text-link{font-size:7px}.footer-top{flex-wrap:wrap;padding-block:22px;gap:20px}.footer-top>div{font-size:8px;gap:15px}.footer-top .wordmark{font-size:23px}.footer-bottom{font-size:7px;gap:12px}.footer-bottom>span:last-child{white-space:nowrap}.age{margin-left:5px}.list-view .game-card{grid-template-columns:120px 1fr}.list-view .card-art{min-height:200px}.list-view .card-body p{min-height:0}dialog{padding:30px 22px}dialog h2{font-size:28px}.detail-actions .btn{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.card-art-link{display:block;position:relative;overflow:hidden}.card-art-link:focus-visible{outline:2px solid var(--green);outline-offset:-4px}.card-art-link:hover .card-art{filter:brightness(1.025)}.prototype-label{pointer-events:none}.list-view .card-art-link{height:100%;min-height:170px}.list-view .card-art-link .card-art{height:100%}

/* A shared frame keeps masthead, navigation, ticker and page content aligned. */
@media(min-width:1600px){.shell{width:calc(100% - 112px)}}
@media(max-width:1180px){.shell{width:calc(100% - 56px)}}
@media(max-width:520px){.shell{width:calc(100% - 32px)}}
