:root{--bg: #17161a;--fg: #f5f1ff;--muted: #b0a8c8;--gold: #ffd66f;--bonus: #7ee08a;--border: #463b6e;--slide-ms: .28s;--slide-ease: var(--e-out);--nature: #ef625e;--engineering: #50b7d8;--magic: #a871ec;--order: #f3bd55;--chaos: #e979a5;--support: #f3c5ff;--edge: #a89ad3;--space-h: .125rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--board-w: 32rem;--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-btn: 10px;--r-pill: 999px;--fs-xs: .75rem;--fs-sm: .84rem;--fs-md: .92rem;--fs-base: 1rem;--fs-lg: 1.2rem;--fs-xl: 1.45rem;--fs-2xl: 1.85rem;--fs-3xl: 2.4rem;--surface-0: #1f1935;--surface-1: #28213f;--surface-2: #342b52;--surface-3: #3f3563;--border-strong: #5d5090;--bg-glow: radial-gradient(ellipse 80% 40rem at 50% 0%, #1f1e24, transparent 70%);--shadow-1: 0 1px 2px rgb(0 0 0 / 25%);--shadow-2: 0 4px 14px rgb(0 0 0 / 35%);--shadow-3: 0 10px 30px rgb(0 0 0 / 50%);--hair: rgb(255 255 255 / 12%);--ink: #0f0c1c;--depth: 3px;--face: inset 0 1px 0 var(--hair), inset 0 0 0 1px rgb(255 255 255 / 3%), 0 var(--depth) 0 var(--ink), var(--shadow-2);--face-lift: inset 0 1px 0 var(--hair), inset 0 0 0 1px rgb(255 255 255 / 3%), 0 calc(var(--depth) + var(--p-lift)) 0 var(--ink), var(--shadow-3);--face-float: inset 0 1px 0 var(--hair), var(--shadow-3);--btn-pri-bg: linear-gradient(#ffe39a, #f5bc48);--btn-pri-fg: #3a2604;--btn-pri-edge: #8a5c12;--btn-pri-line: #b98422;--btn-alt-bg: linear-gradient(#3a3060, #2c2549);--t-fast: 90ms;--t-press: 80ms;--t-med: .2s;--t-slow: .44s;--e-out: cubic-bezier(.22, 1, .36, 1);--e-in-out: cubic-bezier(.65, 0, .35, 1);--e-spring: cubic-bezier(.34, 1.56, .64, 1);--p-lift: 2px;--p-press: .985;--p-stagger: 80ms;--p-stagger-max: 8;--p-glow: .2;--ls-label: .1em;--ring: 2px solid var(--gold);--ring-offset: 2px;--font: "Noto Sans TC", "Microsoft JhengHei", sans-serif;--font-num: "Baloo 2", "Noto Sans TC", "Microsoft JhengHei", sans-serif}@media(prefers-reduced-motion:reduce){:root{--face-lift: inset 0 1px 0 var(--hair), inset 0 0 0 1px rgb(255 255 255 / 3%), 0 var(--depth) 0 var(--ink), var(--shadow-3)}}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/baloo2-latin-500-700.woff2) format("woff2")}*{box-sizing:border-box}html{color-scheme:dark;scroll-padding-top:calc(var(--nav-h, 3rem) + var(--space-3))}body{display:flex;flex-direction:column;margin:0;min-height:100vh;background:var(--bg-glow) no-repeat,var(--bg);color:var(--fg);font-family:var(--font);line-height:1.6}a{color:var(--gold)}a:hover{text-decoration:underline}:focus-visible{outline:var(--ring);outline-offset:var(--ring-offset)}main{flex:1;width:100%;max-width:64rem;margin-inline:auto}footer{padding:var(--space-4);color:var(--muted);font-size:var(--fs-xs);border-top:1px solid var(--border);text-align:center}h1,h2,h3{font-weight:700;letter-spacing:.02em;line-height:1.3}code,pre{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}[data-enter] :is(.home-card,.guide-card,.dice-card,.event-card-link){animation:rise var(--t-slow) var(--e-out) both;animation-delay:calc(min(var(--i, 0),var(--p-stagger-max)) * var(--p-stagger))}@media(prefers-reduced-motion:reduce){[data-enter] :is(.home-card,.guide-card,.dice-card,.event-card-link){animation:none}}#site-nav{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--surface-2);background:color-mix(in srgb,var(--surface-2) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);border-bottom:1px solid color-mix(in srgb,var(--gold) 35%,transparent)}#site-nav a{position:relative;color:var(--fg);text-decoration:none;font-weight:600;transition:color var(--t-fast) var(--e-out)}#site-nav a:hover{color:var(--gold);text-decoration:none}#site-nav .brand{display:inline-flex;align-items:center;align-self:stretch;gap:var(--space-2);color:var(--gold)}#site-nav .brand .icon{width:1.25em;height:1.25em}#site-nav a,#site-nav .nav-menu>summary{white-space:nowrap}#site-nav .nav-updated{margin-left:auto;color:var(--muted);font-family:var(--font-num);font-variant-numeric:tabular-nums}@media(max-width:720px){#site-nav{gap:var(--space-3)}#site-nav .nav-updated{display:none}#site-nav .brand .brand-text{position:absolute;clip-path:inset(50%);white-space:nowrap}}@media(max-width:720px){#site-nav{overflow-x:auto;scrollbar-width:none;backdrop-filter:none;-webkit-backdrop-filter:none}#site-nav:before{content:"";position:fixed;top:0;right:0;left:0;z-index:-1;height:var(--nav-h, 3rem);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}#site-nav::-webkit-scrollbar{display:none}#site-nav>*{flex:none}}#site-nav [aria-current=page],#site-nav .nav-menu>summary[aria-current=page]{color:var(--gold)}#site-nav [aria-current=page]:before{content:"";position:absolute;right:0;bottom:calc(var(--space-3) * -1 - 1px);left:0;height:2px;background:var(--gold);border-radius:var(--r-pill)}#site-nav .nav-menu{position:relative}#site-nav .nav-menu>summary{position:relative;list-style:none;cursor:pointer;font-weight:600;color:var(--fg);user-select:none;transition:color var(--t-fast) var(--e-out)}#site-nav .nav-menu>summary::-webkit-details-marker{display:none}#site-nav .nav-menu>summary>.icon{margin-inline-start:var(--space-1);font-size:.8em;color:var(--muted)}#site-nav .nav-menu>summary:hover{color:var(--gold)}#site-nav .nav-menu-items{position:absolute;z-index:30;top:calc(100% + var(--space-2));left:calc(var(--space-2) * -1);display:flex;flex-direction:column;min-width:12rem;padding:var(--space-1);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--face-float)}#site-nav .nav-menu-items a{padding:var(--space-2) var(--space-3);border-radius:var(--r-sm);font-weight:500}#site-nav .nav-menu-items a:hover,#site-nav .nav-menu-items a:focus-visible{background:var(--surface-3);color:var(--fg);text-decoration:none}#site-nav .nav-menu-items [aria-current=page]:before{content:none}@media(max-width:720px){#site-nav .nav-menu-items{position:fixed;top:calc(var(--nav-h, 3rem) + var(--space-2));right:var(--space-4);left:var(--space-4)}}@media(prefers-reduced-motion:reduce){#site-nav a,#site-nav .nav-menu>summary{transition:none}}#hit-counter{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border);text-align:center;font-size:var(--fs-md);color:var(--muted)}#hit-counter[hidden]{display:block;visibility:hidden}#hit-number{display:inline-block;margin:0 var(--space-2);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:var(--fs-2xl);font-weight:600;letter-spacing:.02em;color:var(--gold);font-variant-numeric:tabular-nums;min-width:6ch}.page{padding:var(--space-6) var(--space-4) var(--space-7)}.page h1{margin:0 0 var(--space-2);font-size:var(--fs-3xl)}.page .lede{max-width:44rem;margin:0 0 var(--space-5);color:var(--muted)}.page .note{color:var(--muted);font-size:var(--fs-sm)}.page .muted{color:var(--muted)}.kw-link{white-space:nowrap;color:var(--support);text-decoration:underline dotted currentcolor;text-underline-offset:.2em}.kw-link:hover,.kw-link:focus-visible{text-decoration:underline solid currentcolor}.kw-section{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border)}.kw-section h2{margin:0 0 var(--space-2)}.kw-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));gap:var(--space-3);margin-top:var(--space-4)}.kw-entry{padding:var(--space-3);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-1)}.kw-entry:target{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.kw-entry h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2);margin:0 0 var(--space-2);font-size:var(--fs-base)}.kw-code,.kw-alias{color:var(--muted);font-size:var(--fs-xs)}.kw-desc{margin:0;font-size:var(--fs-md)}.kw-used,.kw-unused{margin:var(--space-2) 0 0;font-size:var(--fs-xs)}.kw-used{display:flex;flex-wrap:wrap;gap:var(--space-2)}.kw-unused{color:var(--muted);font-style:italic}.page-head{font-weight:900;text-shadow:0 var(--space-h) 0 var(--ink)}.sec-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-3);font-size:var(--fs-xl)}.sec-title:before{content:"";flex:none;align-self:center;width:.5em;height:.5em;border-radius:var(--space-h);background:var(--gold);box-shadow:0 0 var(--space-2) var(--gold);box-shadow:0 0 var(--space-2) color-mix(in srgb,var(--gold) 55%,transparent);transform:rotate(45deg)}@media(forced-colors:active){.sec-title:before{forced-color-adjust:none;background:CanvasText;box-shadow:none}}.card{background:var(--surface-1);background:linear-gradient(color-mix(in srgb,var(--branch, var(--edge)) 32%,transparent),transparent var(--space-7)) no-repeat,var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--face);color:var(--fg);transition:border-color var(--t-fast) var(--e-out),box-shadow var(--t-fast) var(--e-out),transform var(--t-press) var(--e-out)}.card:hover,a.card:focus-visible{border-color:var(--branch, var(--gold));box-shadow:var(--face-lift);transform:translateY(calc(-1 * var(--p-lift)));text-decoration:none}a.card:active{box-shadow:var(--face);transform:translateY(calc(-1 * var(--p-lift))) scale(var(--p-press))}.row-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--face);transition:border-color var(--t-fast) var(--e-out),box-shadow var(--t-fast) var(--e-out),transform var(--t-press) var(--e-out)}.row-card:hover{border-color:var(--border-strong);box-shadow:var(--face-lift)}a.row-card:hover{transform:translateY(calc(-1 * var(--p-lift)))}a.row-card:active{box-shadow:var(--face);transform:translateY(calc(-1 * var(--p-lift))) scale(var(--p-press))}.pill{background:var(--surface-0);border-color:transparent;box-shadow:inset 0 1px 3px #0000008c,inset 0 -1px 0 var(--hair)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);border:1px solid var(--border-strong);border-radius:var(--r-btn);color:var(--fg);font:inherit;font-size:var(--fs-sm);line-height:1.2;cursor:pointer;transition:transform var(--t-press) var(--e-out),box-shadow var(--t-press) var(--e-out),filter var(--t-fast) var(--e-out)}.btn-alt{background:var(--surface-2);background:var(--btn-alt-bg);box-shadow:inset 0 1px 0 var(--hair),0 var(--depth) 0 var(--ink)}.btn-pri{background:var(--gold);background:var(--btn-pri-bg);border-color:var(--btn-pri-line);color:var(--btn-pri-fg);font-weight:700;box-shadow:inset 0 1px #ffffff73,0 var(--depth) 0 var(--btn-pri-edge)}.btn:not(:disabled):hover{filter:brightness(1.1)}.btn[aria-pressed=true]{border-color:var(--gold);background:var(--surface-3);background:color-mix(in srgb,var(--gold) 16%,var(--surface-2))}.btn-alt:not(:disabled):active{box-shadow:inset 0 1px 0 var(--hair),0 0 0 var(--ink);transform:scale(var(--p-press))}.btn-pri:not(:disabled):active{box-shadow:inset 0 1px #ffffff73,0 0 0 var(--btn-pri-edge);transform:scale(var(--p-press))}.btn:disabled{opacity:.5;cursor:default}@media(forced-colors:active){.btn{border-color:ButtonBorder}.btn[aria-pressed=true]{forced-color-adjust:none;border-color:Highlight;background:Highlight;color:HighlightText}}.seg{display:inline-flex;gap:var(--space-h);padding:var(--space-h);border-radius:var(--r-btn);background:var(--surface-0);box-shadow:inset 0 1px 3px #0000008c,inset 0 -1px 0 var(--hair)}.seg>button{padding:var(--space-h) var(--space-3);border:1px solid transparent;border-radius:calc(var(--r-btn) - var(--space-h));background:none;color:var(--muted);font:inherit;cursor:pointer;transition:background-color var(--t-fast) var(--e-out),color var(--t-fast) var(--e-out),transform var(--t-press) var(--e-out)}.seg>button:not([aria-disabled=true]):hover{color:var(--fg)}.seg>button[aria-pressed=true]{border-color:var(--gold);background:var(--surface-3);background:color-mix(in srgb,var(--gold) 16%,var(--surface-2));color:var(--fg)}.seg>button:not([aria-disabled=true]):active{transform:scale(var(--p-press))}.seg>button[aria-disabled=true]{opacity:.5;cursor:not-allowed}@media(forced-colors:active){.seg>button{border-color:ButtonBorder}.seg>button[aria-pressed=true]{forced-color-adjust:none;border-color:Highlight;background:Highlight;color:HighlightText}}.step{display:flex;align-items:center;gap:var(--space-1)}.step>button{display:inline-grid;place-items:center;padding:var(--space-h) var(--space-1);border:0;border-radius:var(--r-sm);background:none;color:var(--fg);font:inherit;cursor:pointer;transition:background-color var(--t-fast) var(--e-out),transform var(--t-press) var(--e-out)}.step>button:not(:disabled):hover{background:var(--surface-3)}.step>button:not(:disabled):active{transform:scale(var(--p-press))}.step>button:disabled{color:var(--muted);cursor:default}.panel{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--face-float)}.home-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:var(--space-3);margin:var(--space-5) 0}:is(.home-card,.guide-card){padding:var(--space-4);text-decoration:none}.home-card h2{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);font-size:var(--fs-base);color:var(--gold)}.home-card p{margin:0;color:var(--muted);font-size:var(--fs-sm)}.home-repo{margin:var(--space-2) 0 0;font-size:var(--fs-sm)}.home-repo a{display:inline-flex;align-items:center;gap:var(--space-1)}.home-changelog{padding-top:0}.home-changelog h2{margin:0 0 var(--space-3)}.log-entry{padding:var(--space-3) 0;border-top:1px solid var(--border)}.log-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2);margin:0 0 var(--space-2)}.log-head time{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:var(--fs-sm)}.log-stamp{color:var(--gold);font-size:var(--fs-xs)}.log-entry ul{margin:0;padding-left:var(--space-5);color:var(--muted);font-size:var(--fs-md)}.filter-group{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.filter-group-label{color:var(--muted);font-size:var(--fs-xs);white-space:nowrap}.chip{position:relative;display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);color:var(--muted);font:inherit;font-size:var(--fs-sm);line-height:1.8;white-space:nowrap;cursor:pointer;user-select:none;margin:0;transition:color var(--t-fast) var(--e-out),border-color var(--t-fast) var(--e-out),transform var(--t-press) var(--e-out),background-color var(--t-med) var(--e-spring),box-shadow var(--t-med) var(--e-spring)}.chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.chip:hover{border-color:var(--border-strong);color:var(--fg)}.chip:has(input:checked),.chip[data-active],.chip[aria-pressed=true]{border-color:var(--gold);background:var(--surface-3);background:color-mix(in srgb,var(--gold) 16%,var(--surface-2));color:var(--fg);box-shadow:inset 0 0 11px #ffffff0f;box-shadow:inset 0 0 11px color-mix(in srgb,var(--gold) calc(var(--p-glow) * 100%),transparent)}.chip:active{transform:scale(var(--p-press))}.chip:has(input:focus-visible),.chip:focus-visible{outline:var(--ring);outline-offset:var(--ring-offset)}.branch-dot{display:inline-block;width:.6em;height:.6em;margin-right:.35em;border-radius:50%;vertical-align:baseline}.branch-nature{background:var(--nature)}.branch-engineering{background:var(--engineering)}.branch-magic{background:var(--magic)}.branch-order{background:var(--order)}.branch-chaos{background:var(--chaos)}.chip .branch-dot{margin-right:0;opacity:.45;transition:opacity var(--t-fast) var(--e-out),box-shadow var(--t-fast) var(--e-out)}.chip:has(input:checked) .branch-dot{opacity:1;box-shadow:0 0 var(--space-2) var(--branch, var(--gold))}@supports not selector(:has(*)){.chip input{position:static;width:auto;height:auto;opacity:1}}@media(forced-colors:active){.chip input{position:static;width:auto;height:auto;opacity:1}}:is(.dice-card,.chip)[data-branch=nature]{--branch: var(--nature)}:is(.dice-card,.chip)[data-branch=engineering]{--branch: var(--engineering)}:is(.dice-card,.chip)[data-branch=magic]{--branch: var(--magic)}:is(.dice-card,.chip)[data-branch=order]{--branch: var(--order)}:is(.dice-card,.chip)[data-branch=chaos]{--branch: var(--chaos)}.chip-xs{padding:0 var(--space-2);font-size:var(--fs-xs);line-height:1.9}.guide-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:var(--space-3);margin-top:var(--space-5)}.guide-cards.is-content{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr))}.guide-card h2{margin:var(--space-2) 0 var(--space-2);font-size:var(--fs-base);color:var(--gold)}.guide-card p{margin:0;color:var(--muted);font-size:var(--fs-sm)}.guide-h2{margin:var(--space-7) 0 var(--space-2)}.guide-swatch{display:flex;gap:3px}.guide-swatch span{width:1.5rem;height:.35rem;border-radius:var(--r-xs)}@media(prefers-reduced-motion:reduce){.card,.row-card,.btn,.seg>button,.step>button,.chip,.chip .branch-dot{transition:none}.card:hover,a.card:focus-visible,a.card:active,a.row-card:hover,a.row-card:active,.btn-alt:not(:disabled):active,.btn-pri:not(:disabled):active,.seg>button:not([aria-disabled=true]):active,.step>button:not(:disabled):active,.chip:active{transform:none}}.filter-bar{position:sticky;top:var(--nav-h, 3rem);z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5);margin:0 0 var(--space-5);padding:var(--space-3) var(--space-4);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--face-float)}.filter-count{margin:0 0 0 auto;color:var(--muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}@media(max-width:720px){.filter-count{margin-left:0}}.currency-icon{height:1em;width:1em;object-fit:contain;vertical-align:-.15em;margin-inline-end:var(--space-h)}.icon{width:1em;height:1em;flex:none;vertical-align:-.125em}:is(a,.note,.event-more)>.icon-trail{margin-inline-start:var(--space-1)}a>.icon-lead{margin-inline-end:var(--space-1)}
