@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9cc5c0547f229dea-s.26a4qkxezf9-r.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b0947914c9718a1e-s.1hzlq6xrrxf6u.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d0b60be57f16ee32-s.33on4mq75bz97.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1f9e983605289f29-s.p.2xsoqmjk136f4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/01e4147cff8141ee-s.p.0v7knm2wof07y.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9cc5c0547f229dea-s.26a4qkxezf9-r.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b0947914c9718a1e-s.1hzlq6xrrxf6u.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/d0b60be57f16ee32-s.33on4mq75bz97.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1f9e983605289f29-s.p.2xsoqmjk136f4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/01e4147cff8141ee-s.p.0v7knm2wof07y.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9cc5c0547f229dea-s.26a4qkxezf9-r.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b0947914c9718a1e-s.1hzlq6xrrxf6u.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/d0b60be57f16ee32-s.33on4mq75bz97.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1f9e983605289f29-s.p.2xsoqmjk136f4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/01e4147cff8141ee-s.p.0v7knm2wof07y.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9cc5c0547f229dea-s.26a4qkxezf9-r.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b0947914c9718a1e-s.1hzlq6xrrxf6u.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d0b60be57f16ee32-s.33on4mq75bz97.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1f9e983605289f29-s.p.2xsoqmjk136f4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../media/01e4147cff8141ee-s.p.0v7knm2wof07y.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond Fallback;src:local(Times New Roman);ascent-override:95.27%;descent-override:29.59%;line-gap-override:0.0%;size-adjust:96.98%}.cormorant_garamond_f6968e-module__Jk1alG__className{font-family:Cormorant Garamond,Cormorant Garamond Fallback;font-style:normal}.cormorant_garamond_f6968e-module__Jk1alG__variable{--font-serif:"Cormorant Garamond", "Cormorant Garamond Fallback"}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.p.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_11b9fd10-module__FwQZaq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_11b9fd10-module__FwQZaq__variable{--font-sans:"Inter", "Inter Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.block{display:block}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink:#201c17;--paper:#e9dfca;--gold:#b89148;--blood:#73342d}*{box-sizing:border-box}html{background:#11100e;min-height:100%;overflow:hidden auto}body{min-height:100%;color:var(--ink);font-family:var(--font-sans), sans-serif;margin:0;overflow:hidden visible}button,select,textarea{font:inherit}button{cursor:pointer}.tribute-home{color:#352d24;background:#f3eddf;min-height:100vh}.site-header{background:#faf6ec;border-bottom:1px solid #7d68452d;justify-content:space-between;align-items:center;gap:30px;min-height:78px;padding:0 max(28px,50vw - 590px);display:flex}.site-name{color:#3b3025;font:700 24px var(--font-serif), serif;letter-spacing:.03em;text-decoration:none}.site-header nav{gap:30px;display:flex}.site-header nav a{color:#756958;letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:700;text-decoration:none}.site-header nav a:hover{color:#8c6932}.tribute-body{overflow:hidden}.tribute-hero{grid-template-columns:1.08fr .92fr;align-items:center;gap:48px;width:min(1180px,100% - 56px);min-height:210px;margin:0 auto;padding:8px 0;display:grid}.tribute-hero h1{color:#34291f;font:600 clamp(58px, 7vw, 90px)/.78 var(--font-serif), serif;letter-spacing:-.055em;margin:0}.tribute-introduction{border-left:1px solid #8d744b55;padding-left:45px}.tribute-years{color:#685a48;font:600 21px/1.3 var(--font-serif), serif;margin:0}.tribute-mark{color:#a07a3c;margin:13px 0;font-size:15px}.tribute-lead{color:#756b5e;font:500 15px/1.55 var(--font-serif), serif;margin:0}.author-more-button{color:#805f2f;letter-spacing:.1em;text-transform:uppercase;background:0 0;border:0;border-bottom:1px solid #9b7740;margin-top:15px;padding:4px 0;font-size:9px;font-weight:800}.author-more-button:hover{color:#493720;border-bottom-color:#493720}.home-section{padding:84px max(28px,50vw - 590px)}.games-section{background:#e5dbc7}.section-heading{grid-template-columns:180px 1fr 320px;align-items:end;gap:28px;margin-bottom:40px;display:grid}.section-heading>p{color:#8c7047;letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px;font-size:10px;font-weight:800}.section-heading h2{color:#3a3026;font:600 57px/.9 var(--font-serif), serif;margin:0}.section-heading>span{color:#766b5c;font:500 16px/1.5 var(--font-serif), serif}.game-library{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.game-tile{background:#f7f1e5;border:1px solid #5c493333;flex-direction:column;align-items:flex-start;min-height:350px;padding:40px;display:flex;position:relative;box-shadow:0 16px 35px #6a54351a}.game-tile>p{color:#96703a;letter-spacing:.16em;text-transform:uppercase;margin:0 0 20px;padding-right:105px;font-size:10px;font-weight:800}.game-tile h3{color:#3b3025;font:700 67px/.9 var(--font-serif), serif;letter-spacing:-.04em;margin:0 0 18px}.game-tile span{color:#74695b;max-width:350px;font:500 18px/1.55 var(--font-serif), serif}.game-tile-actions{flex-wrap:wrap;gap:9px;margin-top:auto;display:flex}.game-tile button{color:#745124;letter-spacing:.1em;text-transform:uppercase;background:#a87c3b10;border:1px solid #9a7035;padding:13px 18px;font-size:10px;font-weight:800}.game-tile button:hover{color:#fffaf0;background:#8a642f}.game-tile-actions>button{clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px);color:#fff8e9;background:radial-gradient(circle at 18%,#f0d49c2c 0 2px,#0000 3px),radial-gradient(circle at 82%,#f0d49c2c 0 2px,#0000 3px),linear-gradient(135deg,#a78045,#76501f);border-color:#9a7035;min-width:240px;min-height:60px;padding:12px 43px 25px 39px;transition:transform .2s,box-shadow .2s,filter .2s;position:relative;overflow:hidden;box-shadow:0 8px 20px #5c3e1f28,inset 0 0 0 3px #f4dfb538}.game-start-button>span{z-index:1;color:inherit;font:inherit;position:relative}.game-start-button>i{color:#ffe5ad;width:164px;font:600 14px/1 var(--font-serif), serif;letter-spacing:.2em;opacity:.95;text-shadow:0 1px 3px #3c260f;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.game-start-button>i:before,.game-start-button>i:after{content:"";opacity:.8;background:currentColor;flex:0 0 32px;width:32px;height:1px}.game-tile-actions>button:before{content:"✦";color:#ffe1a5;text-shadow:0 1px 4px #4f3214;font-size:14px;position:absolute;top:43%;left:15px;transform:translateY(-50%)}.game-tile-actions>button:after{content:"→";color:#ffe1a5;text-shadow:0 1px 4px #4f3214;font-size:17px;transition:transform .2s;position:absolute;top:43%;right:16px;transform:translateY(-52%)}.game-tile-actions>button:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 12px 26px #5c3e1f3d,inset 0 0 0 3px #fff1ce2b}.game-tile-actions>button:hover:after{transform:translate(4px,-52%)}.game-tile button.history-button{color:#756957;background:0 0;border-color:#8e806c66}.game-tile button.history-button:hover{color:#4b3d2d;background:#e5dac6;border-color:#6f5d43}.game-tile button.game-history-corner{padding:9px 11px;font-size:8px;position:absolute;top:25px;right:25px}.goblin-tile{background:#eef0df;border-color:#65764d55}.goblin-tile p,.goblin-tile h3{color:#596b3e}.goblin-tile button{color:#506237;background:#718b4c10;border-color:#65794a}.goblin-tile button:hover{color:#fff;background:#607444}.goblin-tile .game-tile-actions>button{color:#f6faeb;background:radial-gradient(circle at 18%,#e1edc814 0 2px,#0000 3px),radial-gradient(circle at 82%,#e1edc814 0 2px,#0000 3px),linear-gradient(135deg,#80975c,#4e6335);border-color:#687d4b;box-shadow:0 8px 20px #3542252c,inset 0 0 0 3px #e8f4d21c}.goblin-tile .game-tile-actions>button:before,.goblin-tile .game-tile-actions>button:after,.goblin-tile .game-start-button>i{color:#d7e5bc}.goblin-tile .game-tile-actions>button:hover{background:radial-gradient(circle at 18%,#edf6db1c 0 2px,#0000 3px),radial-gradient(circle at 82%,#edf6db1c 0 2px,#0000 3px),linear-gradient(135deg,#8da667,#586f3d);box-shadow:0 12px 26px #35422540,inset 0 0 0 3px #f2f9e32b}.goblin-tile button.history-button{color:#647054;border-color:#77816a88}.goblin-tile button.history-button:hover{color:#3f4b31;background:#dde2cc}.game-tile .game-tile-actions>.game-load-button{color:#6c5635;min-width:150px;min-height:60px;box-shadow:none;background:#f8f1e3;border-color:#8a724c88;padding:12px 28px}.game-tile .game-tile-actions>.game-load-button:before{content:"↥";color:currentColor;text-shadow:none;left:14px}.game-tile .game-tile-actions>.game-load-button:after{content:none}.game-tile .game-tile-actions>.game-load-button:hover{color:#fff8e9;background:#725329;box-shadow:0 8px 18px #5c3e1f24}.about-section{background:#faf6ec;grid-template-columns:.7fr 1.3fr;gap:90px;display:grid}.about-section .section-heading{margin:0;display:block}.about-section .section-heading p{margin-bottom:20px}.about-copy{border-left:1px solid #8d744b55;max-width:720px;padding-left:45px}.about-copy p{color:#6e6253;font:500 20px/1.7 var(--font-serif), serif;margin:0 0 22px}.site-footer{color:#cfc3b2;background:#332d26;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;min-height:150px;padding:30px max(28px,50vw - 590px);display:grid}.site-footer-credit{gap:10px;display:grid}.site-author-button{color:#c5b393;letter-spacing:.03em;text-align:left;text-underline-offset:3px;background:0 0;border:0;justify-self:start;padding:0;font-size:10px;text-decoration:underline}.site-author-button:hover{color:#fff8e9}.site-author-button:focus-visible{outline-offset:5px;outline:2px solid #c5b393}.history-modal.site-author-modal{width:min(720px,100% - 48px);margin:auto;position:fixed}.site-author-modal::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#2a251fc7}.site-footer strong{font:600 21px var(--font-serif), serif}.site-footer span{color:#93897c;letter-spacing:.11em;text-transform:uppercase;font-size:10px}.site-footer a{color:#c5b393;letter-spacing:.08em;text-transform:uppercase;justify-self:end;font-size:10px;font-weight:700;text-decoration:none}.history-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#2a251fc7;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.history-modal{color:#3c3126;background:#f8f2e6;border:1px solid #8c744a55;width:min(720px,100%);max-height:90vh;padding:48px 52px;position:relative;overflow:auto;box-shadow:0 28px 90px #211b1470}.author-modal{width:min(820px,100%)}.history-modal-close{color:#5b4935;background:0 0;border:1px solid #816c4e66;width:34px;height:34px;font-size:22px;line-height:1;position:absolute;top:18px;right:18px}.history-modal h2{font:700 64px/.9 var(--font-serif), serif;letter-spacing:-.035em;margin:0 0 28px}.history-modal dl{border-top:1px solid #8c744a40;grid-template-columns:.7fr 1.3fr;margin:0 0 28px;display:grid}.history-modal dl>div{border-bottom:1px solid #8c744a40;padding:16px 12px 16px 0}.history-modal dt{color:#92733f;letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px;font-size:9px;font-weight:800}.history-modal dd{color:#4e4031;font:600 16px/1.35 var(--font-serif), serif;margin:0}.history-modal-copy p{color:#685c4d;font:500 17px/1.65 var(--font-serif), serif;margin:0 0 17px}.history-source{color:#958876;border-top:1px solid #8c744a30;margin:28px 0 0;padding-top:17px;font-size:10px;line-height:1.5}.tribute-back{color:#8e877c;letter-spacing:.06em;background:0 0;border:0;margin:20px auto 0;font-size:11px;display:block}.goblin-intro{background:radial-gradient(circle at 50% 15%,#3c4930 0,#1a2016 42%,#080a07 100%)}.goblin-intro-card{background:linear-gradient(150deg,#141912ed,#22291cd9);border-color:#8ca56277}.goblin-intro-card h1,.goblin-brand{color:#a7bd7e}.goblin-shell{background:#12170f}.goblin-shell .topbar{background:#0d110bf2;border-color:#819c4f40}.goblin-grid{grid-template-columns:340px minmax(0,780px)}.goblin-sheet{border-color:#849d5952}.stat-editor,.resource-editor{align-items:center;gap:7px;display:flex}.stat-editor button,.resource-editor button{color:#aaa398;background:0 0;border:1px solid #ffffff20;width:25px;height:25px;line-height:1}.stat-editor strong{min-width:22px}.goblin-collections{gap:11px;margin-top:18px;display:grid}.goblin-starting-kit{color:#aaa398;background:#0d0f0b;border:1px solid #ffffff12;gap:5px;margin-top:15px;padding:10px;display:grid}.goblin-starting-kit strong{letter-spacing:.08em;text-transform:uppercase;font-size:9px}.goblin-starting-kit span{color:#c4bcae;font:600 13px var(--font-serif), serif}.goblin-collections section{border-bottom:1px solid #ffffff10;gap:6px;padding-bottom:9px;display:grid}.goblin-collections section>strong{color:#aaa398;letter-spacing:.08em;text-transform:uppercase;font-size:10px}.goblin-collections small{color:#7f9360;margin-left:5px}.goblin-collections section>div{flex-wrap:wrap;gap:5px;display:flex}.goblin-collections section>div>span{color:#bac3ab;background:#71834d13;border:1px solid #80945b3d;padding:4px 7px;font-size:9px}.goblin-collections em{color:#615f58;font-size:11px}.goblin-actions,.goblin-dice,.goblin-combat{color:#4d593b;background:#71834d0d;border:1px solid #71834d55;gap:10px;margin-top:24px;padding:16px;display:grid}.goblin-actions>strong,.goblin-dice strong,.goblin-combat strong{font:700 17px var(--font-serif), serif}.goblin-actions>span{color:#7c765f;font-size:11px}.goblin-actions>div,.goblin-dice>div,.goblin-combat>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.goblin-actions button,.goblin-dice button,.goblin-combat button{color:#4f6038;letter-spacing:.05em;text-transform:uppercase;background:0 0;border:1px solid #71834d88;padding:9px 11px;font-size:10px;font-weight:800}.goblin-combat{background:#fff7e533;border-color:#8b332e55;padding:20px}.goblin-combat .combat-action{gap:10px;width:100%;display:grid}.goblin-combat-heading{align-items:center;gap:10px;display:flex}.goblin-combat-heading strong{color:#4d593b;font:700 24px var(--font-serif), serif;margin-right:auto}.goblin-combat-heading>span{color:#762f29;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:900}.goblin-combat-heading select{color:#493a28;background:#f4ead5;border:1px solid #806a4570;padding:6px 8px}.goblin-combat .combat-state,.goblin-combat .combat-results{width:100%}.goblin-combat-results .die{background:#f4ead5;margin-right:4px}.goblin-combat-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.goblin-combat-controls button:last-child{flex:1;min-width:190px}.goblin-combat .combat-message{margin:0;padding:13px 16px;font-size:22px;line-height:1.3}.goblin-actions button:disabled,.goblin-dice button:disabled,.goblin-combat button:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.55)}.goblin-dice>div:first-child{justify-content:space-between}.goblin-dice .die{background:#eef0de}.goblin-dice p{color:#5f513d;font:700 14px var(--font-serif), serif;margin:0}.gate-readiness .gate-readiness-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.gate-readiness-list p{color:#5f513d;background:#fff9e866;border:1px solid #71834d44;justify-content:space-between;gap:10px;margin:0;padding:9px 11px;font-size:11px;display:flex}.gate-readiness-list p.ready{color:#426039;border-color:#5f7b4a77}.gate-readiness-list p.warning{color:#855039;border-color:#9b633f66}.gate-readiness-list b{font-weight:700}.gate-readiness-list span{font-weight:900}.goblin-sale label{color:#5f513d;align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.goblin-sale input,.goblin-sale select{color:#3f4b31;background:#faf7ec;border:1px solid #71834d88;width:62px;padding:7px;font-weight:800}.goblin-sale em,.goblin-shop em{color:#7c765f;font:500 12px var(--font-serif), serif}.goblin-message{color:#5f513d;font:700 14px var(--font-serif), serif;margin:12px 0 0}.troll-turn-panel .troll-turn-heading{background:#71834d12;border-left:3px solid #71834d;justify-content:space-between;padding:10px 12px}.troll-turn-heading b{color:#3f4b31;font:800 15px var(--font-serif), serif}.troll-turn-heading span{color:#716b57;font-size:11px}.shop-offer{align-items:stretch;display:flex}.shop-offer .shop-bargain{color:#78633f;border-left:0;font-size:8px}.goblin-combat{background:#8b332e0c;border-color:#8b332e55}.goblin-combat>div{justify-content:space-between}.goblin-combat p{color:#633730;margin:0}.goblin-combat select{color:#633730;background:#eee2cc;border:1px solid #8b332e55;max-width:220px;padding:6px}@media (max-width:760px){.site-header{min-height:68px}.site-name{font-size:20px}.site-header nav{gap:14px}.tribute-hero{grid-template-columns:1fr;gap:18px;min-height:0;padding:22px 0}.tribute-hero h1{font-size:clamp(54px,17vw,76px)}.tribute-introduction{padding-left:20px}.home-section{padding-top:62px;padding-bottom:62px}.section-heading{grid-template-columns:1fr;gap:10px}.section-heading>span{max-width:360px}.game-library{grid-template-columns:1fr}.game-tile{min-height:310px;padding:30px}.game-tile h3{font-size:57px}.about-section{grid-template-columns:1fr;gap:35px}.about-copy{padding-left:24px}.site-footer{grid-template-columns:1fr;gap:13px}.site-footer a{justify-self:start}.history-modal{padding:40px 27px 30px}.history-modal h2{font-size:50px}.history-modal dl,.goblin-grid{grid-template-columns:1fr}.goblin-sheet{position:static}}.intro-screen,.game-shell{background:radial-gradient(circle at 50% 15%,#424037 0,#1c1c19 42%,#090a09 100%);min-height:100vh;position:relative}.intro-screen{color:#eee8da;place-items:center;padding:32px 20px;display:grid}.intro-screen:before{content:"";opacity:.2;background-image:repeating-linear-gradient(105deg,#0000 0 22px,#fff 23px,#0000 24px);position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 68%);mask-image:radial-gradient(circle,#000,#0000 68%)}.mist{filter:blur(35px);background:#a9b2aa22;border-radius:50%;width:600px;height:160px;animation:12s ease-in-out infinite alternate drift;position:absolute}.mist-one{top:20%;left:-10%}.mist-two{animation-delay:-6s;bottom:18%;right:-12%}@keyframes drift{to{transform:translate(120px)scale(1.15)}}.intro-card{text-align:center;background:linear-gradient(150deg,#171714e8,#282620d9);border:1px solid #ba9a6066;width:min(620px,100%);padding:58px 50px;position:relative;box-shadow:0 30px 100px #000,inset 0 0 80px #0007}.intro-card:after{content:"";pointer-events:none;border:1px solid #ba9a6033;position:absolute;inset:10px}.eyebrow{color:#bca56f;text-transform:uppercase;letter-spacing:.24em;margin:0 0 14px;font-size:11px;font-weight:700}.intro-card h1{font:700 clamp(70px, 15vw, 116px)/.9 var(--font-serif), serif;letter-spacing:-.05em;text-shadow:0 4px 16px #000;margin:0}.title-mark{color:var(--gold);margin:24px}.intro-copy{color:#c9c2b5;max-width:460px;font:500 20px/1.6 var(--font-serif), serif;margin:0 auto 34px}.primary-button{color:#17130e;text-transform:uppercase;letter-spacing:.12em;background:linear-gradient(#d7b86e,#a87f3a);border:1px solid #d2ae63;padding:15px 30px;font-size:12px;font-weight:800;box-shadow:0 8px 30px #0009}.primary-button:hover{filter:brightness(1.12);transform:translateY(-1px)}.text-button{color:#b6ad9c;text-underline-offset:5px;background:0 0;border:0;margin:22px auto 0;text-decoration:underline;display:block}.intro-load-button{color:#d5cbb8;min-width:245px;font:800 11px var(--font-sans), sans-serif;letter-spacing:.12em;text-transform:uppercase;background:#17161199;border:1px solid #b69a655e;margin:14px auto 0;padding:13px 20px;display:block}.intro-load-button:hover{color:#f0e6d2;background:#262319;border-color:#c6a86d}.intro-screen{overflow:hidden}.game-shell{color:#ddd7cb;background:#171714;height:auto;overflow:visible}.topbar{z-index:20;background:#11110ff2;border-bottom:1px solid #a88b5140;grid-template-columns:1fr auto 1fr;align-items:center;min-height:68px;padding:8px 30px;display:grid;position:sticky;top:0}.brand{color:#d3b46e;font:700 24px var(--font-serif), serif;letter-spacing:.16em;background:0 0;border:0;justify-self:start}.brand.home-button{color:#c7ad78;font:800 10px var(--font-sans), sans-serif;letter-spacing:.1em;text-transform:uppercase}.brand.home-button:hover{color:#f0d89f}.goblin-brand.home-button{color:#a7bd7e}.chapter{color:#9c978d;font:500 14px var(--font-serif), serif;letter-spacing:.08em}.top-actions{flex-wrap:wrap;justify-content:flex-end;justify-self:end;gap:8px;display:flex}.top-actions button{color:#aaa398;background:0 0;border:1px solid #ffffff1f;padding:8px 12px;font-size:12px}.top-actions .game-save-action{color:#d5cbb8;min-width:112px;min-height:36px;font:400 12px/18px var(--font-sans), sans-serif;white-space:nowrap;background:#171611;border:1px solid #494238;flex:none;padding:8px 12px}.top-actions .game-save-action:hover{color:#f0e6d2;background:#262319;border-color:#c6a86d}.top-actions .game-save-action:focus-visible{outline-offset:3px;outline:2px solid #c6a86d}.top-actions button:disabled{opacity:.35;cursor:default}.game-grid{grid-template-columns:300px minmax(0,780px);justify-content:center;align-items:start;gap:34px;width:min(1240px,100%);margin:0 auto;padding:42px 28px 80px;display:grid}.character-sheet{background:linear-gradient(150deg,#22211d,#161613);border:1px solid #b6924e52;padding:25px;position:sticky;top:102px;box-shadow:0 18px 50px #0007}.character-sheet h2{font:600 34px var(--font-serif), serif;margin:0 0 22px}.stats{border-top:1px solid #ffffff14}.stat{border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;padding:13px 0;display:flex}.stat>span{color:#bbb4a8;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.stat small{color:#6f6b64;margin-top:3px;font-size:9px;display:block}.stat strong{text-align:right;min-width:27px;font:600 22px var(--font-serif), serif;color:#d5bb80}.stat-current-value,.resource-value{animation:.7s ease-out card-value-change}@keyframes card-value-change{0%{color:#fff4bd;text-shadow:0 0 12px #e1b957;transform:scale(1.55)}55%{color:#f0cc78;transform:scale(1.12)}}.resources{gap:10px;margin:18px 0;display:grid}.resources>div{color:#aaa398;text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;align-items:center;font-size:12px;display:flex}.resources strong{color:#d5bb80;font:600 18px var(--font-serif), serif}.resources .gold-value{color:#e0b95f}.inventory-label{color:#aaa398;text-transform:uppercase;letter-spacing:.08em;gap:8px;font-size:11px;display:grid}.temporary-effect{color:#dbaca4;background:#672c2428;border:1px solid #9b493e66;gap:4px;margin-top:12px;padding:11px;display:grid}.temporary-effect strong{font:700 13px var(--font-serif), serif}.temporary-effect span{color:#a9958e;font-size:10px;line-height:1.4}.inventory-value{color:#cfc8bb;text-transform:none;letter-spacing:0;background:#0d0d0b;border:1px solid #ffffff18;min-height:72px;margin:0;padding:10px;font-size:12px;line-height:1.5;animation:.75s ease-out inventory-change}@keyframes inventory-change{0%{color:#fff3bd;background:#5e4a1f;border-color:#d6ab50;transform:scale(1.035);box-shadow:0 0 18px #d5aa4855}}.potion-control{background:#251f3055;border:1px solid #74619a55;gap:9px;margin-top:12px;padding:11px;display:grid}.potion-control>div{color:#b9a8d0;text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;align-items:center;gap:8px;font-size:10px;display:flex}.potion-control strong{color:#d6c4ee;font-size:12px}.potion-control button{color:#d6c4ee;text-transform:uppercase;letter-spacing:.08em;background:#77609618;border:1px solid #8b73ad;padding:8px 10px;font-size:10px;font-weight:800}.potion-control button:hover:not(:disabled){background:#8b73ad30}.potion-control button:disabled{opacity:.45;cursor:default}.die{color:#211d17;background:#ddd4c0;border-radius:5px;place-items:center;width:34px;height:34px;margin-right:7px;font-weight:800;display:inline-grid;overflow:hidden;box-shadow:inset 0 0 0 2px #4c4437}.die-number{line-height:1;display:block}.die-rolling-0 .die-number{animation:.13s linear 4 die-drum-a}.die-rolling-1 .die-number{animation:.13s linear 4 die-drum-b}@keyframes die-drum-a{0%{opacity:0;filter:blur(1px);transform:translateY(-26px)}35%,65%{opacity:1;filter:none;transform:translateY(0)}to{opacity:0;filter:blur(1px);transform:translateY(26px)}}@keyframes die-drum-b{0%{opacity:0;filter:blur(1px);transform:translateY(-26px)}35%,65%{opacity:1;filter:none;transform:translateY(0)}to{opacity:0;filter:blur(1px);transform:translateY(26px)}}.save-note{color:#6f766c;text-align:center;margin:16px 0 0;font-size:10px}.manual-save-status{z-index:45;color:#31532b;font:800 12px var(--font-serif), serif;background:#edf3e4;border:1px solid #527c4966;padding:10px 15px;animation:.25s ease-out notice-in;position:fixed;top:74px;right:22px;box-shadow:0 8px 28px #2b231c33}.save-file-input{display:none}.story-card{color:#2b251d;background-color:var(--paper);background-image:linear-gradient(90deg,#7c603417,#0000 6% 94%,#7c603417),repeating-linear-gradient(0deg,#0000 0 4px,#79673d09 5px);height:max-content;min-height:690px;padding:clamp(38px,7vw,76px);position:relative;overflow:visible;box-shadow:0 25px 70px #0009,inset 0 0 80px #6b4d2235}.story-card:before{content:"";pointer-events:none;border:1px solid #78633b58;position:absolute;inset:13px}.story-heading{text-align:center;color:#735e3e;text-transform:uppercase;letter-spacing:.2em;font-size:10px}.story-heading strong{color:#33291e;font:600 68px/1 var(--font-serif), serif;letter-spacing:-.04em;margin-top:2px;display:block}.paragraph-map-info{z-index:1;color:#79694e;gap:3px;min-width:105px;display:grid;position:absolute;top:31px;right:31px}.paragraph-map-info>strong{text-align:right;letter-spacing:.16em;text-transform:uppercase;margin-bottom:2px;font-size:8px;font-weight:900}.paragraph-map-info button{color:#695a43;text-align:right;cursor:pointer;background:0 0;border:0;grid-template-columns:22px auto;justify-content:end;align-items:center;gap:6px;padding:2px 0;font-size:9px;display:grid}.paragraph-map-info button:hover:not(:disabled){color:#2f281e}.paragraph-map-info button:disabled{opacity:.38;cursor:default}.paragraph-map-info kbd{width:21px;height:19px;font:800 9px var(--font-sans), sans-serif;background:#f8efd9aa;border:1px solid #806a4566;border-radius:3px;place-items:center;display:grid;box-shadow:0 1px #806a4544}.paragraph-map-info span{white-space:nowrap}.ornament{text-align:center;color:#9b7d43;letter-spacing:.3em;margin:14px 0 34px}.story-text{overflow-wrap:anywhere;white-space:pre-line;max-height:none;font:500 clamp(18px, 2.1vw, 21px)/1.72 var(--font-serif), serif;overflow:visible}.story-text:first-letter{float:left;color:var(--blood);font:700 55px/.72 var(--font-serif), serif;margin:8px 8px 0 0}.story-link{color:#712d28;font:700 inherit;background:#9b3e3210;border:0;border-bottom:1px solid #8b332e88;padding:0 2px;display:inline}.story-link:hover{color:#a42b22;background:#9b3e3220}.story-link-unvisited{color:#356332;background:#4b7a3e14;border-bottom-color:#4b7a3e99}.story-link-unvisited:hover{color:#254f24;background:#4b7a3e26}.story-link-locked,.story-link-locked:hover{opacity:.42;color:#78694f;cursor:not-allowed;background:#6b54350a;border-bottom-style:dashed}.stat-change{border-radius:3px;margin:0 2px;padding:0 5px;font-weight:800;display:inline-block}.stat-loss{color:#8b241d;background:#a52c2015;animation:.65s ease-in-out 2 stat-loss-pulse}.stat-gain{color:#356332;background:#3f7d3515;animation:.65s ease-in-out 2 stat-gain-pulse}@keyframes stat-loss-pulse{50%{color:#fff4e6;background:#9b2d24;transform:translate(-2px)scale(1.08)}}@keyframes stat-gain-pulse{50%{color:#f7ffec;background:#4b7a3e;transform:translateY(-2px)scale(1.08)}}.stat-limit-notice{color:#665438;background:#9b7d4312;border:1px solid #9b7d4360;gap:13px;margin-top:24px;padding:14px 16px;animation:.35s ease-out notice-in;display:flex}.stat-limit-notice>span{color:#a18043}.stat-limit-notice strong{font:700 15px var(--font-serif), serif}.stat-limit-notice p{margin:4px 0 0;font-size:12px;line-height:1.45}.meal-action{color:#45583a;background:#60774c12;border:1px solid #60774c55;justify-content:space-between;align-items:center;gap:18px;margin-top:24px;padding:15px 17px;display:flex}.meal-action>div{gap:4px;display:grid}.meal-action strong{font:700 16px var(--font-serif), serif}.meal-action span{color:#68755d;font-size:11px}.meal-action button{color:#45583a;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;background:0 0;border:1px solid #60774c;padding:10px 13px;font-size:10px;font-weight:800}.meal-action button:disabled{opacity:.5;cursor:default}.lake-return-action{color:#5f4b31;background:#806a4510;border:1px solid #806a4555;justify-content:space-between;align-items:center;gap:18px;margin-top:24px;padding:15px 17px;display:flex}.lake-return-action>div{gap:4px;display:grid}.lake-return-action strong{font:700 16px var(--font-serif), serif}.lake-return-action span{color:#796b57;font-size:11px}.lake-return-action button{color:#5f4b31;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;background:0 0;border:1px solid #806a45;padding:10px 13px;font-size:10px;font-weight:800}.escape-actions{gap:8px;display:flex!important}.escape-actions button:disabled{opacity:.5;cursor:default}.armory-status{color:#5f4b31;background:#806a4510;border:1px solid #806a4555;grid-template-columns:1fr auto;align-items:center;gap:5px 16px;margin-top:24px;padding:15px 17px;display:grid}.armory-status>div{gap:3px;display:grid}.armory-status>div strong{font:700 16px var(--font-serif), serif}.armory-status>div span{color:#796b57;font-size:11px}.armory-status>b{color:var(--blood);font:700 25px var(--font-serif), serif}.armory-status>p{color:#796b57;grid-column:1/-1;margin:5px 0 0;font-size:12px}.armory-status>button{color:#5f4b31;text-transform:uppercase;letter-spacing:.07em;background:0 0;border:1px solid #806a45;grid-column:1/-1;justify-self:start;margin-top:6px;padding:9px 12px;font-size:10px;font-weight:800}.found-items{color:#5f4b31;background:#806a4510;border:1px solid #806a4555;gap:13px;margin-top:24px;padding:16px;display:grid}.found-items>div:first-child{grid-template-columns:1fr auto;gap:3px 12px;display:grid}.found-items>div:first-child strong{font:700 16px var(--font-serif), serif}.found-items>div:first-child span{color:#796b57;grid-column:1;font-size:11px}.found-items>div:first-child b{color:var(--blood);font:700 24px var(--font-serif), serif;grid-area:1/2/3;align-self:center}.found-item-options{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.found-item-options button{color:#6f5b3e;text-transform:uppercase;letter-spacing:.06em;background:#fff8e955;border:1px solid #806a4566;gap:3px;padding:10px 8px;font-size:8px;font-weight:800;display:grid}.found-item-options button strong{font:700 11px var(--font-serif), serif;text-transform:none;letter-spacing:0}.found-item-options button:disabled{opacity:.45;cursor:default}.stat-notices{z-index:40;pointer-events:none;gap:8px;display:grid;position:fixed;bottom:24px;right:24px}.stat-notices>div{color:#f5eee1;border:1px solid #ffffff20;align-items:center;gap:11px;min-width:260px;padding:14px 17px;font-size:13px;font-weight:700;animation:.35s ease-out notice-in,.5s ease-in-out .4s notice-attention;display:flex;box-shadow:0 12px 35px #0008}.stat-notices span{border-radius:50%;place-items:center;width:27px;height:27px;font-size:18px;display:grid}.notice-loss{background:#5f211dee}.notice-loss span{background:#a63a30}.notice-gain{background:#294b28ee}.notice-gain span{background:#4d7c47}@keyframes notice-in{0%{opacity:0;transform:translate(35px)}}@keyframes notice-attention{50%{transform:scale(1.025)}}.context-dice{border-top:1px solid #6b54352f;gap:12px;margin-top:36px;padding-top:24px;display:grid}.fat-game{background:#fff7e599;border:1px solid #806a4555;gap:18px;margin-top:36px;padding:20px;display:grid}.fat-game-heading,.fat-game-footer{justify-content:space-between;align-items:center;gap:18px;display:flex}.invisible-fat-rounds{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.invisible-fat-rounds>div{text-align:center;border:1px solid #806a4540;align-content:center;place-items:center;gap:9px;min-height:120px;padding:13px;display:grid}.invisible-fat-rounds>div>strong{color:#5f4b31;font:700 14px var(--font-serif), serif}.invisible-fat-rounds>div>div{gap:7px;display:flex}.invisible-fat-rounds>div>span{color:#796b57;text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:800}.double-roll-placeholder{color:#9b8b72;font:700 27px var(--font-serif), serif;letter-spacing:.15em}.fat-game-heading>div{gap:4px;display:grid}.fat-game-heading>div strong{color:#493a28;font:700 18px var(--font-serif), serif}.fat-game-heading>div span{color:#796b57;font-size:12px}.fat-game-heading>b{color:var(--blood);white-space:nowrap;font-size:12px}.fat-game-rolls{grid-template-columns:repeat(5,minmax(64px,1fr));gap:8px;display:grid}.fat-game-rolls>div{border:1px solid #806a4535;align-content:center;place-items:center;gap:6px;min-height:74px;display:grid}.fat-game-rolls .die{margin:0}.fat-game-rolls span,.fat-game-rolls small{text-transform:uppercase;letter-spacing:.06em;font-size:9px;font-weight:800}.fat-hit{color:#356332;background:#4b7a3e12;border-color:#4b7a3e77!important}.fat-miss{color:#8b3a32;background:#9b2d2410}.fat-empty{color:#9b8b72;background:#806a4508}.fat-empty>span{font:700 24px var(--font-serif), serif}.fat-game-footer>span{color:#796b57;font-size:12px}.fat-game-footer button{color:#5f4b31;text-transform:uppercase;letter-spacing:.08em;background:0 0;border:1px solid #806a45;padding:10px 14px;font-size:11px;font-weight:800}.fat-game-footer button:disabled{opacity:.5;cursor:default}.dice-action{background:#fff5df55;border:1px solid #806a4545;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px;display:grid}.dice-action-copy{gap:4px;display:grid}.dice-action-copy strong{color:#493a28;font:700 17px var(--font-serif), serif}.dice-action-copy span{color:#796b57;font-size:12px;line-height:1.45}.dice-action>button{color:#5f4b31;overflow-wrap:anywhere;text-transform:uppercase;letter-spacing:.08em;white-space:normal;background:0 0;border:1px solid #806a45;grid-area:1/2/span 2;max-width:220px;padding:10px 14px;font-size:11px;font-weight:800;line-height:1.35}.dice-result{flex-wrap:wrap;align-items:center;gap:3px;display:flex}.dice-result b{color:var(--blood);font:700 14px var(--font-serif), serif;margin-left:8px}.dice-result .die{background:#f4ead5}.combat-results{align-items:stretch;gap:12px;display:flex}.combat-roll{background:#fff9ec80;border:1px solid;grid-template-columns:1fr auto;gap:8px 12px;min-width:150px;padding:11px 13px;display:grid}.combat-roll>span{letter-spacing:.13em;text-transform:uppercase;grid-column:1/-1;font-size:10px;font-weight:900}.combat-roll>span b{letter-spacing:.03em;border-left:1px solid;margin-left:6px;padding-left:7px;font-size:10px}.combat-roll>div{display:flex}.combat-roll strong{font:700 14px var(--font-serif), serif;white-space:nowrap;align-self:center}.monster-roll{color:#762f29;border-color:#8b332e66}.player-roll{color:#3e633a;border-color:#486b4366}.combat-versus{color:#8a7b64;letter-spacing:.08em;align-self:center;font-size:10px;font-weight:900}.combat-action{gap:8px;display:grid}.combat-action>label{color:#796b57;text-transform:uppercase;letter-spacing:.06em;justify-content:flex-end;align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.combat-action select{color:#493a28;background:#f4ead5;border:1px solid #806a4570;padding:6px 8px}.combat-state{background:#fff9ec80;border:1px solid #806a4545;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:13px 15px;display:grid}.combat-state>span{color:#8a7b64;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:900}.combatant-state{gap:6px;display:grid}.combatant-state>div:first-child{justify-content:space-between;gap:10px;font-size:11px;display:flex}.combatant-state>div:first-child strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.combatant-state>b{text-transform:uppercase;letter-spacing:.08em;font-size:10px}.health-track{background:#594d3b24;border-radius:20px;height:7px;overflow:hidden}.health-track span{border-radius:inherit;height:100%;transition:width .35s;display:block}.enemy-state{color:#762f29}.enemy-state .health-track span{background:#9a3b32}.player-state{color:#3e633a}.player-state .health-track span{background:#527c49}.combat-message{color:#594a37;font:700 13px var(--font-serif), serif;text-align:center;background:#806a4510;margin:0;padding:8px 12px}.combat-message strong{color:var(--blood);vertical-align:-4px;text-shadow:0 2px #8b332e20;margin:0 7px;font-size:48px;line-height:.8;display:inline-block}.combat-message strong.monster-damage{color:#356332;text-shadow:0 2px #35633220}.combat-message strong.player-damage{color:var(--blood)}.dice-action>button:disabled{opacity:.55;cursor:default}.game-over{color:#652b27;text-align:center;background:#8b332e12;border:1px solid #8b332e77;margin-top:22px;padding:24px;animation:.35s ease-out notice-in}.game-over>strong{font:700 28px var(--font-serif), serif}.goblin-story-dead>:not(.game-over) button{opacity:.42;cursor:not-allowed;pointer-events:none}.game-over p{color:#76544b;margin:8px 0 18px;font-size:13px}.game-over-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.game-over-actions button{min-width:180px}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#050504dd;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.new-game-confirmation{color:#30291f;background:var(--paper);text-align:center;width:min(460px,100%);padding:40px;box-shadow:0 30px 100px #000}.new-game-confirmation h2{font:700 36px/1.1 var(--font-serif), serif;margin:0 0 12px}.new-game-confirmation p{color:#6f6250;font:500 16px/1.55 var(--font-serif), serif;margin:0 auto 28px}.new-game-confirmation>div{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.new-game-confirmation button{color:#5f4b31;letter-spacing:.06em;text-transform:uppercase;background:0 0;border:1px solid #806a45;padding:12px 18px;font-size:11px;font-weight:800}.new-game-confirmation .confirm-new-game{color:#fff8e9;background:#7d302a;border-color:#8b332e}.new-game-confirmation button:hover{filter:brightness(1.08)}.rules-modal{color:#30291f;background:var(--paper);width:min(800px,100%);max-height:86vh;padding:45px;position:relative;overflow:auto;box-shadow:0 30px 100px #000}.rules-modal h2{font:700 42px var(--font-serif), serif;margin:0 0 25px}.rules-modal div{white-space:pre-line;font:500 16px/1.65 var(--font-serif), serif}.journey-map-modal{box-sizing:border-box;color:#30291f;background:var(--paper);flex-direction:column;width:calc(100vw - 40px);max-width:none;height:calc(100vh - 40px);max-height:none;padding:30px 34px 22px;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 100px #000}.journey-map-modal>.close{z-index:2;position:absolute;top:18px;right:22px}.journey-map-modal h2{font:700 40px var(--font-serif), serif;margin:0 0 8px;padding-right:300px}.map-title-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.map-title-row>span{color:#f6f8ee;letter-spacing:.12em;text-transform:uppercase;background:#4f6938;border-radius:999px;margin:0 0 8px;padding:5px 9px;font-size:8px;font-weight:900}.journey-map-modal-saved h2{color:#3f572f}.map-keyboard-hint{color:#756854;flex-wrap:wrap;align-items:center;gap:14px;margin:-4px 0 10px;font-size:12px;display:flex}.map-keyboard-hint span,.map-keyboard-hint button{align-items:center;gap:5px;display:inline-flex}.map-keyboard-hint button{color:inherit;font:inherit;background:0 0;border:0;padding:0}.map-keyboard-hint button:hover{color:#3f6b37}.map-keyboard-hint kbd{color:#4f3f2c;min-width:25px;height:25px;font:800 13px var(--font-sans), sans-serif;background:#fff8e988;border:1px solid #806a4588;border-radius:3px;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 2px #806a4544}.map-progress{color:#657458;align-items:center;gap:14px;margin:-3px 0 10px;font-size:12px;display:flex}.map-progress p{margin:0}.map-progress strong{color:#3f6b37;font-size:18px}.map-progress span{color:#887b67}.map-progress button{color:#31532b;background:#e4f0d888;border:1px solid #4f7f4577;padding:6px 10px;font-size:10px;font-weight:800}.map-route-search{color:#5b563f;align-items:center;gap:8px;margin:0 0 10px;font-size:12px;display:flex}.map-route-search input{color:#3f372b;width:210px;font:700 12px var(--font-sans), sans-serif;background:#fbf5e6;border:1px solid #9b8b67;padding:7px 9px}.map-route-search button{color:#31532b;background:#e4f0d888;border:1px solid #4f7f4577;padding:7px 10px;font-size:10px;font-weight:800}.map-phrase-search{color:#5b563f;align-items:center;gap:8px;margin:0 0 10px;font-size:12px;display:flex;position:relative}.map-phrase-search label{font-weight:800}.map-phrase-search>input{color:#3f372b;width:min(360px,42vw);font:700 12px var(--font-sans), sans-serif;background:#fbf5e6;border:1px solid #9b8b67;padding:7px 9px}.map-phrase-search small{color:#887b67}.map-phrase-results{z-index:4;background:#fbf5e6;border:1px solid #9b8b67;width:min(620px,100vw - 80px);max-height:260px;position:absolute;top:calc(100% + 2px);left:0;overflow-y:auto;box-shadow:0 12px 28px #34271944}.map-phrase-results button{color:#3f372b;text-align:left;background:0 0;border:0;border-bottom:1px solid #9b8b6733;gap:3px;width:100%;padding:8px 10px;display:grid}.map-phrase-results button:hover{background:#e4f0d8}.map-phrase-results strong{color:#31532b;font-size:11px}.map-phrase-results span{font:500 11px/1.35 var(--font-serif), serif;text-overflow:ellipsis;overflow:hidden}.map-phrase-results p{color:#796d5b;margin:0;padding:10px}.map-zoom-controls{z-index:1;color:#756854;justify-content:flex-end;align-items:center;gap:8px;margin:0;font-size:11px;font-weight:800;display:flex;position:absolute;top:76px;right:34px}.map-zoom-controls button{color:#5f4b31;background:#fff8e955;border:1px solid #806a4566;min-width:34px;height:30px;font-size:12px;font-weight:900}.map-zoom-controls button:last-child{min-width:78px;height:40px;padding:0 16px;font-size:14px}.map-zoom-controls button:disabled{opacity:.45;cursor:default}.map-zoom-controls span{text-align:center;min-width:44px}.journey-map-scroll{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#f8efdccc;border:1px solid #806a4538;flex:auto;min-height:0;overflow:auto}.journey-map-scroll.map-dragging{cursor:grabbing}.journey-map{width:100%;min-width:620px;height:auto;display:block}.map-route-edge{fill:none;stroke:#98773d;stroke-width:4px}.map-route-edge-one-way{stroke-width:3.5px;stroke-dasharray:12 3}.map-current-exit-edge{fill:none;stroke:#8b5b20;stroke-width:6px;filter:drop-shadow(0 0 3px #fff0c9)}.map-branch-edge{fill:none;stroke:#4f7f45;stroke-width:2.5px;stroke-dasharray:5 5}.map-route-edge.map-exploration-edge,.map-branch-edge.map-exploration-edge{stroke:#bd852a;stroke-width:5px;stroke-dasharray:none;filter:drop-shadow(0 0 4px #bd852a77)}.map-branch-edge-travelled{stroke:#98773d;stroke-width:3px;stroke-dasharray:none}.map-node rect{stroke-width:1.5px}.map-node text{fill:#443728;font:700 16px var(--font-serif), serif;text-anchor:middle}.map-node-visited rect{fill:#ead9b8;stroke:#94743b}.map-node-junction rect{stroke-width:3px}.map-node-corridor rect{rx:16px;fill:#e3d8c2;stroke:#8f826d}.map-node-monster rect{fill:#e7c6b6;stroke:#8b332e;stroke-width:3px}.map-node-monster text{fill:#5d211d}.map-node-monster rect:first-child{filter:drop-shadow(0 0 5px #8b332e33)}.map-combat-mark circle{fill:#8b332e18;stroke:#8b332e;stroke-width:.8px}.map-combat-mark line{stroke:#8b332e;stroke-width:1.8px;stroke-linecap:round}.map-node-current .map-combat-mark circle{fill:#fff3dc20;stroke:#fff3dc}.map-node-current .map-combat-mark line{stroke:#fff3dc}.map-node-special rect{fill:#f0d189;stroke:#9b6a22;stroke-width:3px}.map-node-special text{fill:#5b3715}.map-node-start rect{fill:#ead9b8;stroke:#a36f28;stroke-width:3px}.map-node-start text{fill:#5f431f}.map-node .map-start-mark rect{fill:#3f6b37;stroke:#f4e7c8;stroke-width:1.5px;filter:drop-shadow(0 1px 2px #30291f66)}.map-node .map-start-mark text{fill:#fff8e9;letter-spacing:.07em;font:800 6.5px system-ui,sans-serif}.map-node-current rect{fill:#7d302a;stroke:#5d211d}.map-node-current text{fill:#fff3dc}.map-node-current:focus{outline:none}.map-node-current:focus rect{stroke:#d5a94f;stroke-width:3px}.map-node .map-step-label{letter-spacing:.08em;text-transform:uppercase;font:700 7px system-ui,sans-serif}.map-node .map-place-label{letter-spacing:.04em;text-transform:uppercase;font:700 8px system-ui,sans-serif}.map-node-branch rect{fill:#e4f0d8;stroke:#4f7f45;stroke-width:2.5px;stroke-dasharray:4 3;filter:drop-shadow(0 0 4px #4f7f4538)}.map-node-branch text{fill:#31532b;font-size:13px}.map-node-branch .map-direction-label{fill:#3f6b37;text-transform:uppercase;font:800 8px system-ui,sans-serif}.map-node-branch .map-place-label{fill:#587b50;font-size:8px}.map-node-branch.map-node-seen rect{fill:#eee2ca;stroke:#8f7955}.map-node-branch.map-node-travelled rect{fill:#e4cfaa;stroke:#98773d;stroke-dasharray:none}.map-node-navigable{cursor:pointer;outline:none}.map-node-navigable rect{stroke:#3f7738;stroke-width:3px;filter:drop-shadow(0 0 5px #4f7f4555);transition:fill .15s,stroke .15s,filter .15s}.map-node-navigable:hover rect,.map-node-navigable:focus rect{fill:#d7ebc7;stroke:#285f29;filter:drop-shadow(0 0 8px #4f7f4588)}.map-node-navigable:hover text,.map-node-navigable:focus text{fill:#234d25}.map-node-visited.map-node-navigable rect{stroke:#a77a35;filter:drop-shadow(0 0 5px #a77a354d)}.map-node-visited.map-node-navigable:hover rect,.map-node-visited.map-node-navigable:focus rect{fill:#f0dfbd;stroke:#815b20;filter:drop-shadow(0 0 7px #a77a3566)}.map-node-visited.map-node-navigable:hover text,.map-node-visited.map-node-navigable:focus text{fill:#5b421f}.map-node-route-step rect{stroke:#bd852a;stroke-width:3.5px;filter:drop-shadow(0 0 6px #bd852a77)}.map-node-exploration-target rect{stroke:#23852c;stroke-width:4px;filter:drop-shadow(0 0 9px #3c9a45aa)}.map-node-located>rect{stroke:#23852c;stroke-width:5px;filter:drop-shadow(0 0 11px #23852cbb)}.map-exploration-hint{color:#31532b;font:600 12px/1.4 var(--font-serif), serif;background:#e4f0d866;border-left:3px solid #3f7738;justify-content:space-between;align-items:center;gap:14px;margin:10px 0 0;padding:8px 12px;display:flex}.map-exploration-hint button{color:#284e27;background:#f7f2e5;border:1px solid #4f7f45;flex:none;padding:7px 10px;font-weight:800}.map-navigation-message{color:#6b302b;font:700 13px/1.45 var(--font-serif), serif;background:#8b332e0d;border-left:3px solid #8b332e;margin:12px 0 0;padding:8px 12px}.map-note{color:#796d5b;margin:14px 0 0;font-size:11px;line-height:1.5}.setup-modal{color:#30291f;background:var(--paper);text-align:center;width:min(620px,100%);max-height:90vh;padding:45px;position:relative;overflow:auto;box-shadow:0 30px 100px #000}.setup-modal h2{font:700 40px/1.1 var(--font-serif), serif;margin:0 0 12px}.setup-copy{color:#6f6250;max-width:470px;font:500 16px/1.55 var(--font-serif), serif;margin:0 auto 28px}.initial-stats{border-top:1px solid #806d4a40;margin:0 0 30px}.initial-stat{text-align:left;border-bottom:1px solid #806d4a40;grid-template-columns:1fr 150px 50px;align-items:center;gap:16px;min-height:76px;display:grid}.initial-stat>span{letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.initial-stat small{color:#8b7b65;margin-top:4px;font-size:10px;display:block}.initial-stat>strong{color:var(--blood);font:700 30px var(--font-serif), serif;text-align:right}.goblin-initial-stat input{width:52px;color:var(--blood);font:700 22px var(--font-serif), serif;text-align:center;background:#fff9ec88;border:1px solid #806a4566;padding:7px 4px}.goblin-initial-stat .roll-placeholder{letter-spacing:.05em;text-transform:uppercase;font-size:10px}.initial-dice{justify-content:flex-end;display:flex}.initial-dice .die{background:#f4ead5;margin-right:5px}.roll-placeholder{color:#9d8e77;font-size:24px}.potion-choice{border:0;margin:0 0 28px;padding:0}.potion-choice legend{color:#493a28;width:100%;font:700 18px var(--font-serif), serif}.potion-choice>p{color:#8b7b65;margin:4px 0 12px;font-size:11px}.potion-choice>div{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.potion-choice label{color:#796b57;cursor:pointer;background:#fff9ec55;border:1px solid #806a4545;gap:3px;padding:12px 8px;display:grid;position:relative}.potion-choice label.selected{color:#5f412d;background:#b8914820;border-color:#806a45;box-shadow:inset 0 0 0 1px #806a4535}.potion-choice input{opacity:0;pointer-events:none;position:absolute}.potion-choice span{text-transform:uppercase;letter-spacing:.1em;font-size:9px}.potion-choice strong{font:700 13px var(--font-serif), serif}.setup-actions{justify-content:center;align-items:center;gap:12px;display:flex}.reroll-button{color:#5f4b31;text-transform:uppercase;letter-spacing:.1em;background:0 0;border:1px solid #806a45;padding:15px 22px;font-size:11px;font-weight:800}.reroll-button:hover{background:#806a4512}.setup-actions .primary-button:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.5)}.close{float:right;color:#493a28;background:0 0;border:1px solid #735e3e;width:34px;height:34px;font-size:22px;position:sticky;top:0}@media (max-width:820px){.topbar{grid-template-columns:1fr auto;padding:0 16px}.chapter{display:none}.game-grid{grid-template-columns:1fr;padding:18px 12px 50px}.character-sheet{order:2;position:static}.story-card{min-height:600px;padding:46px 28px}.intro-card{padding:48px 24px}.setup-modal{padding:36px 22px}.initial-stat{grid-template-columns:1fr 100px 42px;gap:8px}.potion-choice>div{grid-template-columns:1fr}.setup-actions{flex-direction:column-reverse}.setup-actions button{width:100%}.dice-action{grid-template-columns:1fr}.dice-action>button{grid-area:auto/1}.combat-results{flex-direction:column;align-items:stretch}.combat-versus{display:none}.combat-roll{min-width:0}.combat-state{grid-template-columns:1fr}.combat-state>span{text-align:center}.goblin-combat-heading{flex-direction:column;align-items:stretch}.goblin-combat-heading strong{margin-right:0}.fat-game-heading,.fat-game-footer{flex-direction:column;align-items:stretch}.fat-game-rolls{grid-template-columns:repeat(3,1fr)}.invisible-fat-rounds{grid-template-columns:1fr}.meal-action,.lake-return-action{flex-direction:column;align-items:stretch}.escape-actions{flex-direction:column}.found-item-options,.gate-readiness .gate-readiness-list{grid-template-columns:1fr}.journey-map-modal{width:calc(100vw - 20px);height:calc(100vh - 20px);padding:20px 14px 16px}.journey-map-modal h2{padding-right:42px;font-size:32px}.journey-map-modal>.close{top:14px;right:14px}.map-progress{flex-direction:column;align-items:flex-start;gap:6px}.map-route-search{flex-direction:column;align-items:stretch}.map-route-search input,.map-route-search button{width:100%}.map-phrase-search{flex-direction:column;align-items:stretch}.map-phrase-search>input,.map-phrase-results{width:100%}.map-phrase-results{top:100%}.map-zoom-controls{justify-content:flex-start;margin:0 0 10px;position:static}.map-exploration-hint{flex-direction:column;align-items:stretch}.map-exploration-hint button{width:100%}.stat-notices{bottom:12px;left:12px;right:12px}.stat-notices>div{min-width:0}}@media (prefers-reduced-motion:reduce){.stat-change,.stat-notices>div,.stat-limit-notice,.die-number,.stat-current-value,.resource-value,.inventory-value{animation:none}}.map-auto-center{cursor:pointer;align-items:center;gap:5px;display:inline-flex}.map-auto-center input{accent-color:#3f6b37;margin:0}.map-backdrop{padding:0}.journey-map-modal{background:#f3ecdd;border:1px solid #9b86565c;border-radius:14px;gap:0;width:calc(100vw - 32px);height:calc(100dvh - 32px);padding:22px 24px 12px}.journey-map-modal-saved{background:#edf0e3}.map-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;display:flex}.map-heading{min-width:0}.map-eyebrow{color:#77654c;letter-spacing:.16em;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:800;display:block}.journey-map-modal h2{font:700 clamp(24px, 2.6vw, 36px)/1.1 var(--font-serif), serif;margin:0;padding:0}.map-header-actions,.map-switch{align-items:center;gap:8px;display:flex}.map-switch{background:#d9cfb940;border:1px solid #8f78543d;border-radius:9px;gap:3px;padding:4px}.map-switch button{color:#70614e;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;min-height:36px;padding:0 14px;font-size:12px;font-weight:700;display:flex}.map-switch button[aria-pressed=true]{color:#f9f5e9;background:#40573c;box-shadow:0 2px 5px #24312122}.map-switch kbd{opacity:.65;font:inherit}.map-close{color:#594b3d;background:0 0;border:1px solid #8f78543d;border-radius:8px;flex-shrink:0;width:44px;height:44px;font-size:26px}.map-summary{color:#786b57;flex-shrink:0;align-items:center;gap:16px;margin:12px 0 16px;font-size:12px;display:flex}.map-position-badge{align-items:center;gap:7px;display:flex}.map-position-badge strong{color:#40573c}.map-search-panel{background:#fffdf566;border:1px solid #8f785435;border-radius:10px;flex-shrink:0;grid-template-columns:minmax(230px,.8fr) minmax(240px,1.2fr);gap:18px;padding:14px 16px;display:grid}.map-number-search,.map-name-search{min-width:0;position:relative}.map-search-panel label{color:#5c503f;margin-bottom:6px;font-size:11px;font-weight:800;display:block}.map-search-panel input{color:#30291f;width:100%;min-width:0;height:40px;font:500 14px var(--font-sans), sans-serif;background:#fffdf6;border:1px solid #9b8b6766;border-radius:6px;padding:0 12px}.map-search-panel input::placeholder{color:#8a7e6b}.map-input-action{gap:6px;display:flex}.map-input-action button{color:#fffdf6;background:#40573c;border:1px solid #40573c;border-radius:6px;flex-shrink:0;padding:0 14px;font-size:12px;font-weight:700}.map-search-tip{z-index:3;color:#77654c;background:#fffdf6;border-radius:4px;padding:5px 8px;font-size:11px;position:absolute;top:100%;right:0}.map-search-results{z-index:5;background:#fffdf6;border:1px solid #9b8b6766;border-radius:8px;width:100%;max-height:min(320px,45dvh);position:absolute;top:calc(100% + 6px);right:0;overflow:auto;box-shadow:0 12px 28px #34271930}.map-results-heading{color:#786b57;border-bottom:1px solid #9b8b672a;justify-content:space-between;align-items:center;padding:4px 6px 4px 12px;font-size:11px;display:flex}.map-results-heading button{background:0 0;border:0;width:36px;height:36px;font-size:22px}.map-search-results ul{margin:0;padding:0;list-style:none}.map-search-results li button{color:#403b30;text-align:left;background:0 0;border:0;border-bottom:1px solid #9b8b6722;grid-template-columns:54px 1fr 20px;gap:8px;width:100%;padding:12px;font-size:12px;display:grid}.map-search-results li button:hover{background:#e9efdf}.map-search-results strong{color:#40573c}.map-search-results p{margin:0;padding:14px;font-size:13px}.map-view-toolbar{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;display:flex}.map-view-actions,.map-view-zoom{align-items:center;gap:6px;display:flex}.map-view-toolbar button{color:#534735;background:#fffdf566;border:1px solid #8f78544d;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.map-view-toolbar .map-explore-button{color:#40573c;border-color:#40573c55}.map-view-actions button>span{font-size:17px}.map-view-zoom button{min-width:38px}.map-view-zoom .map-zoom-value{font-variant-numeric:tabular-nums;min-width:62px}.journey-map-modal button:disabled{cursor:default;opacity:.45}.journey-map-modal button:not(:disabled):hover{filter:brightness(.95)}.journey-map-modal :is(button,input,summary):focus-visible{outline-offset:3px;outline:3px solid #a66a22}.journey-map-modal>.map-auto-center{color:#526147;flex-shrink:0;min-height:32px;padding:0 0 8px;font-size:12px}.map-auto-center input{width:17px;height:17px}.journey-map-scroll{scrollbar-color:#a79a80 #eee5d3;scrollbar-width:thin;background-color:#faf5e9;background-image:radial-gradient(#9b8b6725 .7px,#0000 .7px);background-size:18px 18px;border-radius:9px;min-height:180px}.journey-map{min-width:0}.map-footer{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding-top:10px;display:flex}.map-legend{color:#6b604f;flex-wrap:wrap;gap:14px;font-size:11px;display:flex}.map-legend span{align-items:center;gap:6px;display:inline-flex}.map-legend i{background:#ead9b8;border:1px solid #94743b;border-radius:3px;width:10px;height:10px}.map-legend .legend-current{background:#73342d;border-color:#73342d}.map-legend .legend-new{background:#d9ecc7;border-style:dashed;border-color:#4f7f45}.map-help{color:#6b604f;font-size:11px;position:relative}.map-help summary{cursor:pointer;white-space:nowrap;padding:8px 0}.map-help>div{z-index:6;background:#fffdf6;border:1px solid #9b8b6766;border-radius:8px;width:min(440px,100vw - 64px);padding:16px;font-size:13px;line-height:1.5;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 8px 30px #34271930}.map-help p{margin:0 0 12px}.map-help .map-keyboard-hint{gap:10px;margin:0;font-size:11px}.map-navigation-message{color:#564931;font:500 12px/1.4 var(--font-sans), sans-serif;background:#e6d7b766;border-color:#837046;flex-shrink:0;margin:8px 0 0}.map-exploration-hint{flex-shrink:0;max-height:110px;overflow:auto}@media (max-width:700px){.journey-map-modal{border:0;border-radius:0;width:100vw;height:100dvh;padding:14px 12px 8px;overflow-y:auto}.map-header{align-items:flex-start;gap:8px}.journey-map-modal h2{font-size:23px}.map-eyebrow{font-size:9px}.map-header-actions{gap:5px}.map-switch{padding:3px}.map-switch button{min-height:36px;padding:0 9px;font-size:11px}.map-switch kbd{display:none}.map-close{width:38px;height:44px}.map-summary{gap:12px;margin:10px 0;font-size:11px}.map-remaining{display:none}.map-search-panel{grid-template-columns:1fr;gap:10px;padding:10px}.map-search-panel label{margin-bottom:4px}.map-search-panel input{height:40px;font-size:16px}.map-input-action button{min-width:100px}.map-view-toolbar{gap:8px}.map-view-actions,.map-view-zoom{flex:auto}.map-view-zoom{justify-content:flex-end}.map-view-toolbar button{min-height:40px;padding:0 10px;font-size:11px}.map-view-actions button{flex:1}.journey-map-scroll{min-height:220px}.map-footer{align-items:flex-start;gap:6px}.map-legend{gap:8px;font-size:10px}.map-help{font-size:10px}.map-help summary{padding:0}}@media (max-height:650px) and (min-width:701px){.journey-map-modal{overflow-y:auto}.journey-map-scroll{min-height:200px}}.storage-notice{z-index:150;color:#f4e4c5;font:400 13px/1.6 var(--font-sans), sans-serif;background:#302719;border-top:1px solid #bb9454;padding:14px 24px;position:sticky;bottom:0;box-shadow:0 -4px 18px #0005}.storage-notice strong{color:#ffda91}.analytics-consent{z-index:140;color:#ded3ba;background:#141d16;border:1px solid #a8884f;align-items:center;gap:24px;max-width:960px;margin:auto;padding:20px 24px;font-size:13px;line-height:1.6;display:flex;position:fixed;bottom:16px;left:16px;right:16px;box-shadow:0 8px 40px #0009}.analytics-consent strong{color:#f0d6a0;font:600 22px var(--font-serif), serif}.analytics-consent p{margin:8px 0}.analytics-consent a{color:#e6c788;text-decoration:underline}.analytics-consent-actions{flex:0 0 170px;gap:8px;display:grid}.analytics-consent button,.analytics-settings{color:#f0d6a0;cursor:pointer;background:#20291b;border:1px solid #a8884f;padding:10px 14px;font-size:12px}.analytics-settings{z-index:90;padding:7px 10px;font-size:10px;position:fixed;bottom:8px;right:8px}.analytics-consent button:hover,.analytics-settings:hover{background:#39402b}.analytics-consent :is(button,a):focus-visible,.analytics-settings:focus-visible{outline-offset:3px;outline:2px solid #f0d6a0}@media (max-width:600px){.analytics-consent{flex-direction:column;gap:12px;max-height:80dvh;padding:16px;bottom:8px;left:8px;right:8px;overflow-y:auto}.analytics-consent-actions{flex:auto;grid-template-columns:1fr 1fr;width:100%}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
.tribute-home{color:#e3d7be;background:#141713}.tribute-home .site-header{background:#10130f;border-color:#b4975d30;min-height:76px}.tribute-home .site-name{color:#ead8ae}.tribute-home .site-name:before{content:"✧";color:#c6a260;margin-right:12px}.tribute-home .site-header nav a{color:#c5b99e}.tribute-home .site-header nav a:hover{color:#ffe1a0}.adventure-hero{isolation:isolate;background:#172018 url(/images/dungeon-gateway.jpg) 50% 55%/cover no-repeat;border-bottom:1px solid #ae8c4a55;align-items:center;min-height:580px;padding:80px max(28px,50vw - 590px);display:flex;position:relative}.adventure-hero:before{content:"";z-index:-1;background:linear-gradient(90deg,#0b100de8,#0b100d9c 42%,#0b100d08 76%),linear-gradient(#0000 75%,#141713);position:absolute;inset:0}.adventure-hero-copy{max-width:650px}.adventure-hero h1{color:#f0e7d4;font:600 clamp(54px, 5.8vw, 84px)/.98 var(--font-serif), serif;letter-spacing:-.025em;text-shadow:0 3px 24px #0008;margin:0}.adventure-hero h1 span{color:#dab779;font-weight:500}.adventure-hero-copy>p{color:#c6c5b6;max-width:430px;font:500 19px/1.6 var(--font-serif), serif;margin:26px 0 30px}.tribute-home .games-section{background:radial-gradient(at 50% 100%,#30372566,#0000 70%),#141713;padding-top:58px;padding-bottom:68px}.tribute-home .section-heading{grid-template-columns:1fr auto;gap:12px 28px}.tribute-home .section-heading>p{color:#bb9e66;grid-column:1/-1;margin:0}.tribute-home .section-heading h2{color:#e7d9bc;font-size:clamp(36px,4vw,52px)}.tribute-home .section-heading>span{color:#b5b6a6;max-width:290px}.tribute-home .game-library{gap:28px}.tribute-home .game-tile{--cover-metal:#b58c4d;--cover-title:#f0d6a0;--cover-shadow:#1e160e;isolation:isolate;border:1px solid var(--cover-metal);background:linear-gradient(90deg,#21170ef5,#24190ed9 55%,#2e200e88),url(/images/dungeon-gateway.jpg) 75%/cover;min-height:410px;padding:46px 34px 34px;box-shadow:inset 5px 0 8px #0008,inset 9px 0 #b58c4d18,0 16px 36px #0006}.tribute-home .goblin-tile{--cover-metal:#82915c;--cover-title:#d8e5b2;--cover-shadow:#111e14;background:linear-gradient(90deg,#101e16f5,#14251cda 55%,#193c2788),url(/images/dungeon-gateway.jpg) 95% 35%/cover}.tribute-home .game-tile:before,.fantasy-modal:before{content:"";z-index:-1;border:1px solid var(--cover-metal);opacity:.45;pointer-events:none;position:absolute;inset:9px}.tribute-home .game-tile:after,.fantasy-modal:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(var(--cover-metal), var(--cover-metal)) left top / 25px 3px, linear-gradient(var(--cover-metal), var(--cover-metal)) left top / 3px 25px, linear-gradient(var(--cover-metal), var(--cover-metal)) right top / 25px 3px, linear-gradient(var(--cover-metal), var(--cover-metal)) right top / 3px 25px, linear-gradient(var(--cover-metal), var(--cover-metal)) left bottom / 25px 3px, linear-gradient(var(--cover-metal), var(--cover-metal)) left bottom / 3px 25px, linear-gradient(var(--cover-metal), var(--cover-metal)) right bottom / 25px 3px, linear-gradient(var(--cover-metal), var(--cover-metal)) right bottom / 3px 25px;background-repeat:no-repeat;position:absolute;inset:5px}.tribute-home .game-tile h3{color:var(--cover-title);text-shadow:0 2px #000,0 0 28px #bc97412b;margin:4px 0 20px;font-size:82px}.tribute-home .game-tile h3:after{content:"";border-top:1px solid var(--cover-metal);border-bottom:1px solid var(--cover-metal);opacity:.8;width:100px;height:4px;margin-top:20px;display:block}.tribute-home .game-tile>span{color:#ded3ba;text-shadow:0 1px 5px #000;max-width:380px;margin-bottom:30px}.tribute-home .game-tile>p{color:var(--cover-title);letter-spacing:.13em;font-size:9px;line-height:1.6}.tribute-home .game-tile button.game-history-corner{border-color:var(--cover-metal);min-height:36px;color:var(--cover-title);background:var(--cover-shadow);top:24px;right:24px}.tribute-home .game-tile button.game-history-corner:hover{color:#fff2d8;background:#485039}.tribute-home .game-tile-actions{gap:10px;width:100%}.tribute-home .game-start-button{flex:220px}.tribute-home .game-tile .game-load-button{flex:0 0 150px}.tribute-home .tribute-hero{border-top:1px solid #b4975d30;border-bottom:1px solid #b4975d30;grid-template-columns:.8fr 1.2fr;gap:60px;width:min(1180px,100% - 56px);padding:48px 0}.tribute-home .tribute-hero h2{color:#deceb0;font:600 clamp(48px, 5vw, 66px)/.9 var(--font-serif), serif;letter-spacing:-.03em;margin:0}.tribute-home .tribute-hero .eyebrow{color:#b69b6a}.tribute-home .tribute-years{color:#d4c6aa}.tribute-home .tribute-lead{color:#b2b3a2;font-size:17px}.tribute-home .tribute-introduction{border-color:#b4975d40}.tribute-home .author-more-button{color:#cbb17e;border-color:#9f834a;min-height:36px}.tribute-home .author-more-button:hover{color:#f7dfaf}.tribute-home .about-section{background:#141713;padding-top:58px;padding-bottom:44px}.tribute-home .about-copy p{color:#b5b6a6;font-size:18px}.tribute-home .site-footer{background:#0e110d;border-top:1px solid #b4975d30;grid-template-columns:1fr auto;min-height:124px}.tribute-home .site-footer span{color:#b0a48e}.tribute-home .site-author-button{min-height:32px;font:inherit;letter-spacing:inherit}.tribute-home :is(a,button):focus-visible{outline-offset:5px;outline:2px solid #bf9451}@media (max-width:1000px){.tribute-home .game-tile-actions>button{flex:100%}.tribute-home .game-tile>p{max-width:210px;padding-right:75px}}@media (max-width:760px){.adventure-hero{background-position:64%;min-height:590px;padding:58px 24px 72px}.adventure-hero:before{background:linear-gradient(90deg,#0b100deb,#0b100d70),linear-gradient(#0000 60%,#141713)}.adventure-hero h1{font-size:clamp(48px,10vw,72px)}.adventure-hero-copy>p{max-width:360px}.tribute-home .section-heading{grid-template-columns:1fr}.tribute-home .game-tile{min-height:390px;padding:38px 24px 26px}.tribute-home .game-tile h3{font-size:66px}.tribute-home .tribute-hero{grid-template-columns:1fr;gap:28px}.tribute-home .tribute-introduction{padding-left:20px}.tribute-home .about-section{gap:28px}.tribute-home .site-footer{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.tribute-home *,.tribute-home :before,.tribute-home :after{transition:none}}.history-modal.site-author-modal{color:#392f21;scrollbar-color:#9c855d #e9dab9;background:radial-gradient(at 0 65%,#a7762c20,#0000 55%),radial-gradient(at 100% 100%,#98632228,#0000 50%),repeating-linear-gradient(0deg,#75552b05 0 1px,#0000 1px 4px),#eee1c3;border:1px solid #b1955d;width:min(700px,100% - 32px);max-height:min(90dvh,900px);padding:0 0 30px;box-shadow:0 32px 100px #000b,0 0 0 5px #182017,0 0 0 6px #8d754b,inset 0 0 0 9px #b29a6324}.site-author-modal::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080e0bd9}.site-author-letter-heading{background:linear-gradient(90deg,#141d16f5,#141d16c4),url(/images/dungeon-gateway.jpg) 50% 43%/cover;border-bottom:3px double #b99c60;padding:38px 56px 30px}.site-author-modal .site-author-letter-heading .eyebrow{color:#d3b87d;letter-spacing:.18em;margin:0 0 14px;font-size:10px}.site-author-modal .site-author-letter-heading h2{color:#efe0bb;margin:0;font-size:clamp(40px,7vw,58px);line-height:1}.site-author-modal .history-modal-close{color:#e5cf9f;background:#152017d9;border-color:#b99c6066;width:40px;height:40px;top:14px;right:14px}.site-author-modal .history-modal-close:hover{background:#35402a;border-color:#dec38d}.site-author-modal .history-modal-copy{padding:30px 56px 0}.site-author-modal .history-modal-copy p{color:#51432f;font-size:19px;line-height:1.6}.site-author-modal .history-modal-copy p:first-child:first-letter{float:left;color:#775328;font:600 62px/.8 var(--font-serif), serif;margin:5px 8px 0 0}.site-author-modal .history-modal-copy p:last-child{color:#3c4b31;border-top:1px solid #94744355;margin:22px 0 0;padding-top:18px;font-weight:700}.site-author-letter-seal{color:#e4b88c;width:48px;height:48px;font:600 19px var(--font-serif), serif;background:#743c2d;border:3px double #be8b62;border-radius:50%;place-items:center;margin:22px auto 0;display:grid;transform:rotate(-9deg);box-shadow:0 3px 5px #49302030,inset 0 0 0 3px #562b2144}@media (max-width:600px){.site-author-letter-heading{padding:46px 26px 26px}.site-author-modal .history-modal-copy{padding:24px 26px 0}.site-author-modal .history-modal-copy p{font-size:18px}}.history-modal.fantasy-modal{--cover-metal:#b58c4d;--cover-title:#f0d6a0;isolation:isolate;border-color:var(--cover-metal);scrollbar-color:var(--cover-metal) #1b2016;background:linear-gradient(90deg,#21170ef7,#24190eeb 55%,#2e200ec9),url(/images/dungeon-gateway.jpg) 75%/cover;padding:46px 48px 36px;box-shadow:inset 5px 0 8px #0008,inset 9px 0 #b58c4d18,0 28px 90px #000b}.history-modal.game-history-modal-goblin{--cover-metal:#82915c;--cover-title:#d8e5b2;background:linear-gradient(90deg,#101e16f7,#14251ced 55%,#193c27ce),url(/images/dungeon-gateway.jpg) 95% 35%/cover}.fantasy-modal .eyebrow{color:var(--cover-title);letter-spacing:.17em}.fantasy-modal h2{color:var(--cover-title);text-shadow:0 2px #000,0 0 28px #bc97412b;margin:0 0 28px;font-size:76px}.fantasy-modal dl{border-top:3px double var(--cover-metal)}.fantasy-modal dl>div{border-bottom-color:var(--cover-metal)}.fantasy-modal dt{color:var(--cover-title)}.fantasy-modal dd{color:#e4dbc6;line-height:1.5}.fantasy-modal .history-modal-copy p{color:#ded3ba;text-shadow:0 1px 4px #0006;font-size:19px;line-height:1.65}.fantasy-modal .history-source{color:#c0b69f;border-top-color:var(--cover-metal);line-height:1.7}.fantasy-modal .history-modal-close{border-color:var(--cover-metal);width:40px;height:40px;color:var(--cover-title);background:#10170f}.fantasy-modal .history-modal-close:hover{color:#fff2d8;background:#485039}@media (max-width:600px){.history-modal.fantasy-modal{max-height:90dvh;padding:48px 26px 30px}.fantasy-modal h2{font-size:58px}.fantasy-modal .history-modal-copy p{font-size:18px}}.history-modal.fantasy-modal.author-modal{background:linear-gradient(90deg,#141c16f7,#1a241beb 55%,#293323d9),url(/images/dungeon-gateway.jpg) 75% 40%/cover}.fantasy-modal.author-modal h2{padding-right:16px;font-size:clamp(40px,6vw,64px);line-height:1.05}.fantasy-modal.author-modal .history-modal-copy p{line-height:1.75}.history-modal.fantasy-modal{flex-direction:column;max-height:90dvh;padding:14px 0;display:flex;overflow:hidden}.fantasy-modal-scroll{overscroll-behavior:contain;scrollbar-color:var(--cover-metal) #1b2016;min-height:0;padding:46px 48px 36px;overflow-y:auto}.fantasy-modal:before,.fantasy-modal:after{z-index:1}.fantasy-modal .history-modal-close{z-index:2;box-shadow:0 0 0 5px #10170f}@media (max-width:600px){.fantasy-modal-scroll{padding:64px 26px 30px}}
