:root{color-scheme:light;--ink:#203d35;--muted:#67756c;--paper:#f4f0e8;--white:#fffdf8;--line:#d9ded0;--lime:#d9e69a;--orange:#d56b42}*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.app-shell{min-height:100dvh;padding-bottom:90px}.site-header{height:72px;max-width:1100px;margin:auto;padding:0 24px;justify-content:space-between;border-bottom:1px solid var(--line)}.brand,.site-header{display:flex;align-items:center}.brand{font-weight:800;font-size:17px;letter-spacing:-.04em;gap:10px}.brand-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--ink);color:var(--lime);font-size:20px}.private-pill{padding:6px 11px;border:1px solid var(--line);border-radius:30px;color:var(--muted);font-size:12px;font-weight:700}.content{max-width:880px;margin:auto;padding:36px 24px 60px}.section-heading{margin-bottom:46px}.eyebrow{font-size:11px!important;font-weight:800!important;letter-spacing:.16em!important;color:#778464!important;text-transform:uppercase;margin:0 0 18px!important}.entry-page h1,.game-page h1,.section-heading h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(44px,8vw,74px);letter-spacing:-.065em;line-height:.99;font-weight:500;margin:0 0 20px}.section-heading h1 em{font-weight:400}.lead{font-size:16px;line-height:1.55;color:var(--muted);max-width:520px;margin:0}.section-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-row h2{font-size:22px;letter-spacing:-.04em;margin:0}.section-row span{font-size:11px;letter-spacing:.14em;color:var(--muted);font-weight:800}.game-card{display:grid;grid-template-columns:minmax(180px,38%) 1fr;min-height:280px;background:var(--white);border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:transform .2s,box-shadow .2s}.game-card:hover{transform:translateY(-3px);box-shadow:0 15px 30px #203d3512}.card-art{background:#dbe4ad;position:relative;display:grid;place-items:center;min-height:230px;overflow:hidden}.card-art:after,.card-art:before{content:"";position:absolute;border:1px solid #203d3526;width:360px;height:360px;border-radius:50%}.card-art:before{transform:translate(-42%,-35%)}.card-art:after{transform:translate(45%,45%)}.card-die{width:118px;height:118px;border-radius:28px;background:var(--ink);transform:rotate(-14deg);box-shadow:14px 15px 0 #203d3520;display:flex;align-items:flex-start;justify-content:space-between;padding:26px;z-index:1}.card-die i{display:block;width:18px;height:18px;border-radius:50%;background:var(--lime)}.card-die i:last-child{align-self:flex-end}.card-art-label{position:absolute;bottom:22px;left:22px;font-size:11px;font-weight:800;letter-spacing:.1em}.card-info{padding:32px;display:flex;flex-direction:column;align-items:flex-start}.card-info .eyebrow{margin-bottom:12px!important}.card-info h3{font-family:Georgia,Times New Roman,serif;font-size:36px;letter-spacing:-.04em;font-weight:500;margin:0 0 8px}.card-info>p:not(.eyebrow){color:var(--muted);line-height:1.5;margin:0;max-width:350px}.card-action{margin-top:auto;font-size:14px;font-weight:800;border-bottom:1px solid var(--ink);padding-bottom:5px;display:flex;gap:40px}.workshop-teaser{margin-top:36px;background:#e9e9db;border:1px solid var(--line);border-radius:22px;padding:30px;position:relative}.workshop-teaser h2{font-family:Georgia,Times New Roman,serif;font-size:38px;font-weight:500;letter-spacing:-.05em;margin:0 0 8px}.workshop-teaser p:not(.eyebrow){color:var(--muted);line-height:1.5;max-width:430px;margin:0 0 22px}.workshop-teaser a{font-size:14px;font-weight:800;border-bottom:1px solid var(--ink);padding-bottom:5px}.workshop-teaser a span{margin-left:25px}.site-footer{max-width:880px;margin:0 auto;padding:0 24px 30px;display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:12px}.text-button{padding:0;border:0;background:transparent;color:var(--ink);text-decoration:underline;font-size:12px}.bottom-nav{position:fixed;z-index:5;bottom:0;left:0;right:0;min-height:70px;padding:8px max(20px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-right));background:#fffdf8f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line)}.bottom-nav,.bottom-nav>*{display:flex;justify-content:center;gap:8px}.bottom-nav>*{min-width:110px;align-items:center;border-radius:13px;font-size:13px;font-weight:700;color:var(--muted)}.bottom-nav .nav-current,.bottom-nav [aria-current]{background:var(--ink);color:white}.bottom-nav span[aria-hidden]{font-size:18px}.login-screen{min-height:100dvh;display:grid;place-items:center;padding:24px}.login-card{width:min(100%,460px);background:var(--white);border:1px solid var(--line);border-radius:28px;padding:clamp(28px,7vw,48px);box-shadow:0 20px 70px #203d350d}.brand-mark{width:56px;height:56px;border-radius:16px;background:var(--ink);color:var(--lime);font-weight:800;display:grid;place-items:center;font-size:19px;letter-spacing:-.1em;margin-bottom:42px}.brand-mark span{color:var(--orange)}.login-card h1{font-family:Georgia,Times New Roman,serif;font-weight:500;font-size:clamp(38px,10vw,54px);line-height:1.04;letter-spacing:-.06em;margin:0 0 18px}.login-card .lead{margin-bottom:35px}.primary-button{border:0;background:var(--ink);color:white;padding:16px 20px;border-radius:13px;font-weight:800;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:54px}.primary-button:hover{background:#31564a}.login-card .primary-button{width:100%}.fine-print{line-height:1.5;margin:16px 0 30px}.fine-print,.subtle-link{font-size:12px;color:var(--muted)}.subtle-link{text-decoration:underline}.error-note{background:#f7e3da;color:#973f24;padding:12px;border-radius:10px;font-size:13px}.back-link{font-size:13px;font-weight:700;display:inline-block;margin:4px 0 48px}.entry-page .lead,.game-page .lead{margin-bottom:36px}.game-panel{background:var(--white);border:1px solid var(--line);border-radius:24px;padding:clamp(24px,5vw,44px);max-width:570px}.game-symbol{width:170px;height:170px;margin:8px auto 30px;border-radius:40px;background:var(--lime);display:grid;place-items:center;font-family:Georgia,Times New Roman,serif;font-size:72px;letter-spacing:-.08em;box-shadow:10px 12px 0 #d9e69a55}.game-prompt{text-align:center;color:var(--muted);font-size:14px;margin-bottom:24px}.game-panel .primary-button{width:100%}.status{min-height:20px;text-align:center;color:var(--muted);font-size:12px;margin:14px 0 30px}.game-tools{display:flex;gap:10px;border-top:1px solid var(--line);padding-top:22px}.game-tools button{flex:1 1;background:transparent;border:1px solid var(--line);border-radius:10px;padding:11px 8px;color:var(--ink);font-size:12px;font-weight:700}.game-tools button:hover{background:var(--paper)}.offline-note{text-align:center;font-size:11px;color:var(--muted);margin:20px 0 0}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.accent-dot{color:var(--orange)}.search-form{margin:0 0 18px}.search-form label{display:block;font-size:12px;font-weight:800;margin-bottom:9px}.search-line{display:flex;gap:8px}.search-line input{min-width:0;flex:1 1;border:1px solid var(--line);border-radius:11px;background:var(--white);padding:13px 14px;outline:none}.search-line input:focus{border-color:var(--ink)}.search-line button{background:var(--ink);border:0;border-radius:11px;color:white;padding:0 17px;font-size:12px;font-weight:800}.filters{display:flex;gap:7px;overflow-x:auto;padding:4px 0 27px;white-space:nowrap}.filters a{font-size:12px;border:1px solid var(--line);border-radius:30px;padding:8px 12px;color:var(--muted)}.filters a.active{background:var(--ink);color:white;border-color:var(--ink)}.catalogue-list{border-top:1px solid var(--line)}.catalogue-item{position:relative;display:flex;flex-direction:column;gap:7px;padding:21px 40px 22px 2px;border-bottom:1px solid var(--line)}.catalogue-item:hover strong{text-decoration:underline}.catalogue-item .item-type{text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:800;color:#778464}.catalogue-item strong{font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:500}.catalogue-item>span:not(.item-type):not(.item-arrow){color:var(--muted);font-size:13px}.item-arrow{position:absolute;right:4px;top:36px;font-size:20px}.empty-state{color:var(--muted);padding:30px 0}.entry-page .eyebrow{text-transform:uppercase}.markdown-body{padding-top:26px;border-top:1px solid var(--line);max-width:650px;line-height:1.7;color:#354d43}.markdown-body p{margin:0 0 18px}.markdown-body a{text-decoration:underline}@media (max-width:600px){.site-header{height:64px;padding:0 20px}.content{padding:34px 20px 55px}.section-heading{margin-bottom:36px}.section-heading h1{font-size:52px}.game-card{display:block}.card-art{height:220px;min-height:0}.card-info{padding:25px;min-height:230px}.card-info h3{font-size:32px}.card-action{margin-top:25px}.workshop-teaser{padding:25px}.site-footer{padding:0 20px 20px}.back-link{margin-bottom:35px}.entry-page h1,.game-page h1{font-size:52px}}@media (prefers-reduced-motion:reduce){.game-card{transition:none}}