:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111715;--surface:#1b241f;--text:#eeeade;--muted:#a8b2a6;--gold:#c0a16a;--gold-bright:#dfc38a;--green-bright:#b0d2b6;--border:#8c9e7b24;--border-strong:#b69b6155;--radius:10px;--font-body:Inter, "Segoe UI", Arial, sans-serif;--font-display:Georgia, "Times New Roman", serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:.9375rem;line-height:1.6}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--gold-bright);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.2}h1{font-size:clamp(26px,4vw,34px)}h2{font-size:1.5625rem}h3{font-size:1.4375rem}.app-shell{max-width:1080px;min-height:100dvh;margin:auto;padding:0 40px}.site-header{border-bottom:1px solid var(--border);align-items:center;gap:18px;height:106px;display:flex}.brand{letter-spacing:2px;align-items:center;gap:12px;font-size:1.125rem;font-weight:600;line-height:1.2;text-decoration:none;display:flex}.brand-mark{width:43px;height:47px;color:var(--gold);clip-path:polygon(0 0,100% 0,100% 75%,50% 100%,0 75%);border:1px solid #a4874b66;place-items:center;display:grid}.brand-accent{color:var(--gold)}.brand small{letter-spacing:2px;color:var(--muted);margin-top:8px;font-size:.5rem;font-weight:400;display:block}.header-caption{font-family:var(--font-display);color:var(--muted);margin-left:auto;font-size:1.0625rem;font-style:italic}.avatar{color:var(--gold);border:1px solid var(--border-strong);background:var(--surface);border-radius:50%;place-items:center;width:43px;height:43px;display:grid}.main-content{padding:36px 0 130px}.page-intro{justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px;display:flex}.eyebrow{color:var(--gold);letter-spacing:2.2px;margin-bottom:9px;font-size:.625rem;font-weight:600}.status{border:1px solid var(--border);letter-spacing:.2px;white-space:nowrap;color:var(--muted);background:#131d19;border-radius:20px;align-items:center;gap:8px;padding:6px 11px;font-size:.6875rem;display:inline-flex}.status-dot{background:currentColor;border-radius:50%;width:5px;height:5px}.status--success{color:var(--green-bright)}.status--warning{color:var(--gold-bright)}.hero{isolation:isolate;border-radius:var(--radius);background:#182b23;border:1px solid #77674666;min-height:360px;position:relative;overflow:hidden}.landscape{z-index:-2;width:100%;height:100%;position:absolute;inset:0}.hero:after{content:"";z-index:-1;background:linear-gradient(90deg,#101c19f0,#101c19aa 40%,#101c1900 85%),linear-gradient(#0000 55%,#101c1977);position:absolute;inset:0}.hero-copy{padding:36px 40px}.hero .eyebrow{font-size:.5625rem}.hero h2{letter-spacing:-.8px;font-size:clamp(37px,5vw,52px);line-height:1.12}.hero h2 em{color:var(--gold-bright);font-weight:400}.hero p{color:#c1cbbf;margin:18px 0 24px;font-size:.8125rem}.button{letter-spacing:.3px;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:16px;min-height:46px;padding:11px 19px;font-size:.75rem;font-weight:600;transition:background .2s,transform .2s;display:inline-flex}.button--primary{color:#171b15;background:linear-gradient(120deg,#d8b677,#be9554);box-shadow:0 4px 20px #0002}.button--primary:hover{background:#e4c78e;transform:translateY(-1px)}.button--quiet{border-color:var(--border-strong);color:var(--gold-bright);background:#c3a6690d}.button--quiet:hover{background:#c3a66920}.hero-caption{color:#bec0a1;letter-spacing:2px;gap:12px;font-size:.5rem;display:flex;position:absolute;bottom:20px;right:23px}.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.auth-panel{background:linear-gradient(120deg,#20291e,#19221e);align-items:flex-start;gap:18px;margin-top:20px;padding:24px;display:flex}.section-icon{width:44px;height:44px;color:var(--gold);background:#b8a06b0b;border:1px solid #bba56c33;border-radius:8px;flex-shrink:0;place-items:center;display:grid}.auth-copy h2{margin-bottom:7px;font-size:1.3125rem}.auth-copy p{color:var(--muted);max-width:620px;font-size:.8125rem}.auth-copy .button{min-height:42px;margin-top:17px;padding:9px 15px}.section-heading{justify-content:space-between;align-items:center;margin:29px 0 16px;display:flex}.section-heading h2{font-size:1.5rem}.muted{color:var(--muted);font-size:.75rem}.journey-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.journey-card{text-align:left;color:var(--text);border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(135deg,#202821,#18211d);padding:23px 25px 19px;transition:border-color .2s,background .2s;position:relative}.journey-card:hover{border-color:var(--border-strong);background:#263027}.tile-icon{width:46px;height:46px;color:var(--gold);background:#b6975820;border:1px solid #b6975833;border-radius:8px;place-items:center;display:grid;position:absolute;top:23px;right:23px}.tile-icon--green{color:#9dbca7;background:#9dbca710;border-color:#9dbca733}.journey-card h3{margin-bottom:12px;padding-right:50px}.journey-card p{color:var(--muted);font-size:.75rem;line-height:1.75}.card-footer{border-top:1px solid var(--border);color:var(--gold);justify-content:space-between;align-items:center;margin-top:23px;padding-top:13px;font-size:.6875rem;display:flex}.note{color:var(--gold);border:1px dashed #a78e5933;border-radius:8px;align-items:center;gap:12px;margin-top:24px;padding:18px 21px;display:flex}.note p{color:#bec3af;font-size:.75rem}.note span{color:var(--muted);font-size:.6875rem}.page-footer{color:#7f8b80;letter-spacing:3px;justify-content:center;align-items:center;gap:15px;margin:35px 0 0;font-size:.5625rem;display:flex}.page-footer span{color:var(--gold)}.bottom-nav{z-index:10;border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#19221ff5;border-radius:13px;justify-content:space-around;width:min(700px,100% - 40px);padding:10px 8px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 8px 40px #0006}.bottom-nav button{min-width:60px;min-height:48px;color:var(--muted);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:relative}.bottom-nav button span{font-size:.625rem}.bottom-nav button[aria-current]{color:var(--gold-bright)}.bottom-nav button[aria-current]:before{content:"";background:var(--gold);border-radius:1px;width:16px;height:2px;position:absolute;top:-11px}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:350px;padding:40px 22px;display:flex}.empty-state p{max-width:400px;color:var(--muted);font-size:.875rem}.empty-icon{width:70px;height:70px;color:var(--gold);border:1px solid var(--border-strong);background:radial-gradient(#b59d5d12,#0000);border-radius:50%;place-items:center;display:grid}.ornament{color:var(--gold);margin-top:7px}.profile-card{flex-direction:column;align-items:flex-start;gap:18px;padding:30px;display:flex}.profile-card dl{width:100%;margin:0}.profile-card dl div{border-bottom:1px solid var(--border);justify-content:space-between;gap:16px;padding:15px 0;display:flex}dt{color:var(--muted);font-size:.8125rem}dd{overflow-wrap:anywhere;margin:0;font-size:.875rem}.profile-card p{font-size:.8125rem}.loading-bar{background:linear-gradient(90deg, transparent, var(--gold), transparent);width:170px;height:2px;margin-top:17px;animation:1.5s ease-in-out infinite loading}@keyframes loading{50%{opacity:.25}}.configuration-error{padding:30px}.configuration-error p{margin-top:20px}.skip-link{z-index:100;background:var(--gold-bright);color:#111;padding:12px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:10px}@media (max-width:600px){.app-shell{padding:0 20px}.site-header{height:85px;padding-top:env(safe-area-inset-top,0px)}.brand{letter-spacing:1.7px;gap:9px;font-size:.9375rem}.brand small{letter-spacing:1.3px;font-size:.40625rem}.brand-mark{width:35px;height:40px}.header-caption{display:none}.avatar{width:37px;height:37px;margin-left:auto}.main-content{padding-top:25px;padding-bottom:calc(115px + env(safe-area-inset-bottom,0px))}.page-intro{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:20px}.page-intro .eyebrow{font-size:.5625rem}.page-intro .status{padding:4px 9px;font-size:.625rem}.hero{min-height:370px}.hero-copy{padding:29px 23px}.hero .eyebrow{letter-spacing:1.5px;font-size:.5rem}.hero h2{font-size:2.5rem}.hero:after{background:linear-gradient(90deg,#101c19eb,#101c1999 55%,#101c1911),linear-gradient(#0000,#101c1977)}.landscape{width:145%;left:-25%}.hero-caption{font-size:.4375rem;bottom:17px;right:17px}.auth-panel{gap:12px;padding:19px 16px}.section-icon{width:35px;height:35px}.auth-copy h2{font-size:1.25rem}.auth-copy p{font-size:.75rem}.section-heading h2{font-size:1.375rem}.section-heading .muted{font-size:.625rem}.journey-grid{gap:12px}.journey-card{padding:18px 16px 15px}.tile-icon{width:37px;height:37px;margin-bottom:15px;position:static}.tile-icon svg{width:21px}.journey-card h3{margin-bottom:10px;padding:0;font-size:1.375rem}.journey-card p{font-size:.6875rem}.card-footer{margin-top:17px;padding-top:12px;font-size:.625rem}.note{align-items:flex-start;padding:15px}.note>svg{flex-shrink:0;margin-top:3px}.note p{font-size:.6875rem}.note span{font-size:.625rem}.bottom-nav{width:100%;padding:11px 5px calc(10px + env(safe-area-inset-bottom,0px));border-bottom:0;border-radius:14px 14px 0 0;bottom:0}.bottom-nav button{flex:1;gap:6px;min-width:0}.bottom-nav button span{font-size:.5625rem}.bottom-nav button svg{width:21px}.bottom-nav button[aria-current]:before{top:-12px}.profile-card{padding:23px}.empty-state{min-height:340px}h1{font-size:1.8125rem}.profile-card dl div{flex-direction:column;gap:3px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.game-area,.game-content{gap:24px;min-width:0;display:grid}.game-area{margin-top:24px}.game-area .panel{padding:24px}.selected-name{font:1.7rem var(--font-display);overflow-wrap:anywhere;margin-top:10px;display:block}.game-area h2{margin:0 0 14px;font-size:1.65rem}.game-area h3{font-size:1.15rem}.character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.character-card{text-align:left;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;overflow-wrap:anywhere;gap:12px;min-width:0;min-height:160px;padding:22px;display:grid}.character-card strong{font:1.65rem var(--font-display)}.character-card small{color:var(--muted)}.character-card--selected{border-color:var(--gold-bright);box-shadow:inset 3px 0 var(--gold)}.selected-heading,.selection-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.selection-bar strong{overflow-wrap:anywhere;margin-top:8px;display:block}.selected-heading{margin:26px 0 16px}.selected-heading p{max-width:260px;font-size:.85rem}.sheet-tabs{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.sheet-tabs button{min-height:44px}.sheet-tabs button[aria-pressed=true]{border-color:var(--gold);color:var(--gold-bright);background:#c0a16a24}.ability-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.ability-grid .panel{text-align:center;overflow-wrap:anywhere;gap:12px;padding:20px 12px;display:grid}.ability-grid strong{font:2rem var(--font-display);color:var(--gold-bright)}.ability-grid small{color:var(--muted)}.stats-row,.resource-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-top:16px;display:grid}.game-area dl>div{min-width:0}.game-area dt{color:var(--muted);font-size:.85rem}.game-area dd{overflow-wrap:anywhere;margin:8px 0;font-size:1.3rem}.meter-block{margin:20px 0}.meter-block>div{justify-content:space-between;gap:12px;display:flex}.meter-block progress{appearance:none;background:#080f0b;border:0;border-radius:8px;width:100%;height:8px;margin-top:12px;display:block}.meter-block progress::-webkit-progress-bar{background:#080f0b;border-radius:8px}.meter-block progress::-webkit-progress-value{background:var(--green-bright);border-radius:8px}.meter-block progress::-moz-progress-bar{background:var(--green-bright);border-radius:8px}.equipment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.equipment-slot{border:1px solid var(--border-strong);border-radius:var(--radius);min-width:0;padding:18px}.equipment-slot span{color:var(--muted);margin-bottom:10px;font-size:.85rem;display:block}.equipment-slot strong{overflow-wrap:anywhere;font-size:1rem}.equipment-warning{color:var(--gold-bright)}.inventory-filters{flex-wrap:wrap;align-items:end;gap:14px;margin:24px 0;display:flex}.inventory-filters label{min-width:140px;color:var(--muted);flex:1;gap:8px;display:grid}.inventory-filters input,.inventory-filters select{width:100%;min-width:0;min-height:46px;color:var(--text);background:var(--bg);border:1px solid var(--border-strong);font:inherit;border-radius:8px;padding:12px}.item-list,.combat-events{margin:0;padding:0;list-style:none}.item-list li{border-bottom:1px solid var(--border);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;display:flex}.item-list li div{min-width:0}.item-list small{color:var(--green-bright);margin-top:7px;display:block}.item-list li>span{color:var(--gold-bright);flex-shrink:0}.combat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.combat-events li{border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding:10px 0}.game-loading{gap:14px;padding:20px 0;display:grid}.skeleton{background:linear-gradient(90deg, var(--surface), #29382d, var(--surface));border-radius:var(--radius);background-size:200% 100%;height:64px;animation:1.8s ease-in-out infinite skeleton-shift}.sr-only{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}@keyframes skeleton-shift{to{background-position:-200% 0}}@media (max-width:600px){.character-grid,.combat-grid{grid-template-columns:1fr}.ability-grid,.equipment-grid,.resource-grid,.stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}.game-area .section-heading{flex-wrap:wrap;gap:12px}.inventory-filters{grid-template-columns:1fr;display:grid}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.action-area,.action-form{gap:16px;min-width:0;display:grid}.action-area .panel{gap:12px;display:grid}.action-form label{gap:8px;display:grid}.action-form select{color:#f4ead6;width:100%;min-width:0;min-height:44px;font:inherit;background:#18202a;border:1px solid #786346;border-radius:10px;padding:10px}.operation-notice{overflow-wrap:anywhere}.confirmation-backdrop{z-index:100;background:#080b10dd;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirmation-dialog{color:#f4ead6;overflow-wrap:anywhere;background:#18202a;border:1px solid #786346;border-radius:18px;width:min(100%,460px);max-height:calc(100dvh - 40px);padding:24px;overflow:auto}.dialog-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.actions-jump{color:#ddbc78;padding:14px 0;display:inline-block}.action-area{scroll-margin-top:24px}:root{--at-safe-top:max(env(safe-area-inset-top,0px), var(--at-host-safe-area-inset-top,0px), var(--at-host-content-safe-area-inset-top,0px));--at-safe-bottom:max(env(safe-area-inset-bottom,0px), var(--at-host-safe-area-inset-bottom,0px), var(--at-host-content-safe-area-inset-bottom,0px));--at-safe-left:max(env(safe-area-inset-left,0px), var(--at-host-safe-area-inset-left,0px), var(--at-host-content-safe-area-inset-left,0px));--at-safe-right:max(env(safe-area-inset-right,0px), var(--at-host-safe-area-inset-right,0px), var(--at-host-content-safe-area-inset-right,0px))}.app-shell{min-height:var(--at-host-stable-height,100dvh);padding-left:max(20px, var(--at-safe-left));padding-right:max(20px, var(--at-safe-right))}.site-header{height:auto;min-height:85px;padding-top:var(--at-safe-top);padding-bottom:12px}.bottom-nav{padding-left:max(8px, var(--at-safe-left));padding-right:max(8px, var(--at-safe-right));padding-bottom:calc(10px + var(--at-safe-bottom))}.confirmation-backdrop{top:var(--at-visible-top,0px);height:min(var(--at-visible-height,100dvh), var(--at-host-height,100dvh));padding:max(16px, var(--at-safe-top)) max(16px, var(--at-safe-right)) max(16px, var(--at-safe-bottom)) max(16px, var(--at-safe-left));bottom:auto}.confirmation-dialog{overscroll-behavior:contain;max-height:100%}html[data-keyboard=true] .bottom-nav{display:none}.character-card,.selected-name,.inventory-list,.selection-bar,h1,h2,h3,p{overflow-wrap:anywhere;min-width:0}input,select{font-size:max(1rem,16px)}.dialog-actions .button{min-height:44px}@media (max-width:350px){.app-shell{padding-left:max(12px, var(--at-safe-left));padding-right:max(12px, var(--at-safe-right))}.brand{letter-spacing:.5px}.brand small{letter-spacing:.4px}.confirmation-dialog{padding:16px}}.bottom-nav button span{overflow-wrap:anywhere;line-height:1.25}.brand{flex:1;min-width:0}.brand>span:last-child{overflow-wrap:anywhere;min-width:0}.brand-mark,.avatar{flex-shrink:0}.status{white-space:normal;overflow-wrap:anywhere}html{scroll-padding-bottom:calc(var(--at-nav-height,150px) + 24px)}.main-content{padding-bottom:calc(var(--at-nav-height,150px) + 32px)}.game-content button{scroll-margin-bottom:calc(var(--at-nav-height,150px) + 24px)}.adventure-prose{white-space:pre-wrap;overflow-wrap:anywhere;font-size:1.08rem;line-height:1.85}.adventure-options{gap:.75rem;margin-block:1.25rem;display:grid}.adventure-options button{white-space:normal;overflow-wrap:anywhere;text-align:left}.adventure-check,.adventure-reward{border-inline-start:3px solid var(--gold,#c4a265);overflow-wrap:anywhere;margin-block:.75rem;padding:.75rem}.adventure-check.success{border-color:#92bd90}.adventure-check.failure{border-color:#d2947c}.adventure-history{overflow-wrap:anywhere;max-height:24rem;padding-inline-start:1.5rem;overflow:auto}.adventure-history li{margin-block:1rem}.adventure-scene{min-width:0}
