.splash{justify-content:center;align-items:center;gap:var(--space-3xl);background:var(--surface-0);flex-direction:column;min-height:100dvh;transition:opacity .8s ease-out .5s;animation:.6s fadeIn;display:flex}.splash-stack{width:320px;position:relative;overflow:visible}.splash-logo{z-index:1;width:320px;height:auto;transition:opacity .6s ease-out .1s;animation:.8s ease-out .35s both fadeIn;display:block;position:relative}.splash-d20{z-index:2;justify-content:center;align-items:center;width:140px;height:140px;transition:opacity .6s ease-out;animation:.7s ease-out fadeIn;display:flex;position:absolute;top:-30px;left:50%;transform:translate(-50%)}.splash-subtitle{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-tertiary);letter-spacing:3px;text-transform:uppercase;font-weight:400;transition:opacity .5s ease-out;animation:.8s ease-out .5s both fadeIn}.splash--fading .splash-d20,.splash--fading .splash-logo,.splash--fading .splash-subtitle,.splash--fading{opacity:0}:root{--surface-0:#0d0f14;--surface-1:#13161d;--surface-2:#1a1d26;--surface-3:#22262f;--surface-4:#2a2f3a;--border-0:#252830;--border-1:#303440;--border-2:#3d4250;--text-primary:#ededf0;--text-secondary:#bfc2cb;--text-tertiary:#b0b2bc;--decor-muted:#585c68;--accent:#d4b45c;--accent-muted:#8a7a42;--accent-soft:#d4b45c1a;--accent-border:#d4b45c4d;--heart:#e0a0aa;--success:#81c784;--error:#f07070;--font-body:"Inter", system-ui, -apple-system, sans-serif;--font-display:"Cinzel Decorative", serif;--ease-out:cubic-bezier(.33, 1, .68, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--space-2xs:2px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-2xl:24px;--space-3xl:32px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:12px;--radius-2xl:16px;--radius-full:9999px;--touch-target:44px;--touch-target-sm:44px;--touch-target-lg:48px;--text-xs:9px;--text-sm:11px;--text-md:12px;--text-base:13px;--text-lg:14px;--text-xl:15px;--text-2xl:16px;--text-3xl:20px;--text-4xl:22px;--border-thin:1px;--border-medium:1.5px;--border-thick:2px;--border-accent:3px;--icon-xs:14px;--icon-sm:16px;--icon-md:18px;--icon-lg:20px;--icon-xl:22px;--z-fab:50;--z-sheet:100;--z-detail:200;--z-drawer:300;--z-dialog:1000;--header-height:52px;--max-sheet-width:600px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;font-size:16px}body{font-family:var(--font-body);background:var(--surface-0);color:var(--text-primary);overscroll-behavior:none;min-height:100dvh;line-height:1.5;overflow-x:hidden}#root{flex-direction:column;min-height:100dvh;display:flex}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input,textarea,select{color:inherit;font-family:inherit}a{color:inherit;text-decoration:none}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.header-btn:focus-visible,.sd-action-btn:focus-visible,.scroll-top-fab:focus-visible{outline-offset:3px;border-radius:50%}input:focus-visible{outline-offset:-2px;border-radius:8px}.skip-to-content{z-index:9999;background:var(--accent);color:var(--surface-0);transition:top .2s var(--ease-out);border-radius:0 0 10px 10px;padding:12px 24px;font-size:14px;font-weight:600;text-decoration:none;position:fixed;top:-100px;left:50%;transform:translate(-50%)}.skip-to-content:focus{outline:none;top:0}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideOutRight{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
