*,*:before,*:after{box-sizing:border-box}:root{--muse-ok: #0D9B6B;--muse-warn: #C07820;--muse-fail: #C73E3E;--muse-tip: #0B8B9E;--color-white: #FFFFFF;--color-black: #0A0A0A;--muse-r-sm: .25rem;--muse-r-md: .5rem;--muse-r-lg: .75rem;--muse-r-xl: 1rem;--muse-r-2xl: 1.5rem;--status-success: var(--muse-ok);--status-success-hover: #0B8A5F;--status-warning: var(--muse-warn);--status-warning-hover: #A86418;--status-error: var(--muse-fail);--status-error-hover: #B23636;--status-info: var(--muse-tip);--status-info-hover: #097882;--radius-tight: var(--muse-r-sm);--radius-normal: var(--muse-r-md);--radius-loose: var(--muse-r-lg);--radius-wide: var(--muse-r-xl);--radius-xwide: var(--muse-r-2xl);--shadow-sm: var(--muse-shadow-sm);--shadow-md: var(--muse-shadow-md);--shadow-lg: var(--muse-shadow-lg);--shadow-xl: var(--muse-shadow-xl);--font-primary: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-frozen: "Special Elite", "Courier New", monospace;--font-neon: "Rajdhani", "Futura", "Trebuchet MS", sans-serif;--font-dystopic: "Barlow Condensed", "Impact", "Arial Narrow", sans-serif;--font-fantasy: "Cormorant Garamond", Georgia, serif;--font-bloody: "Libre Baskerville", Georgia, serif;--font-western: "Rye", "Cormorant Garamond", Georgia, serif;--ease-out-back: cubic-bezier(.22, 1.35, .58, 1)}body{--color-primary: #4A5F7F;--color-primary-dark: #3A4F6A;--color-primary-light: #6B7FA0;--color-secondary: #5B7A8C;--color-accent: #5A6B7D;--focus-ring: 0 0 0 2px rgba(74, 95, 127, .2);--color-secondary-hover: #4A6A7A;--color-gray-50: #F8F7F6;--color-gray-100: #F0EEEC;--color-gray-200: #E2DFDB;--color-gray-300: #CFCAC5;--color-gray-400: #9E9892;--color-gray-500: #6E6862;--color-gray-600: #4F4A46;--color-gray-700: #3D3936;--color-gray-800: #282624;--color-gray-900: #1A1816;--bg-primary: #FFFFFF;--bg-secondary: #F8F7F6;--bg-tertiary: #F0EEEC;--text-primary: #1A1816;--text-secondary: #4F4A46;--border-primary: #E2DFDB;--border-secondary: #F0EEEC;--muse-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .04);--muse-shadow-md: 0 2px 8px -2px rgba(0, 0, 0, .06);--muse-shadow-lg: 0 4px 16px -4px rgba(0, 0, 0, .08);--muse-shadow-xl: 0 8px 24px -6px rgba(0, 0, 0, .1);--body-gradient-1: #F6F5F4;--body-gradient-2: #E8E6E3;overflow-x:hidden}@keyframes bg-pulse{0%{transform:scale(1);opacity:.8}to{transform:scale(1.15);opacity:.4}}@keyframes text-pulse-glow{0%,to{filter:drop-shadow(0 0 15px var(--theme-glow-color-low, rgba(95, 203, 240, .1)))}50%{filter:drop-shadow(0 0 25px var(--theme-glow-color-high, rgba(95, 203, 240, .4)))}}@keyframes pulse-glow{0%,to{box-shadow:0 0 15px var(--theme-glow-color-low, rgba(95, 203, 240, .1))}50%{box-shadow:0 0 25px var(--theme-glow-color-high, rgba(95, 203, 240, .25))}}body.dark-mode{--color-primary: #7CB8D4;--color-primary-dark: #5A9BB8;--color-primary-light: #9DCFE4;--color-secondary: #8FA3B5;--color-accent: #7CB8D4;--focus-ring: 0 0 0 2px rgba(124, 184, 212, .25);--color-secondary-hover: #6A9BB5;--theme-glow-color: #7CB8D4;--theme-glow-color-low: rgba(124, 184, 212, .08);--theme-glow-color-high: rgba(124, 184, 212, .25);--color-gray-50: #0F1214;--color-gray-100: #161B1F;--color-gray-200: #1E252B;--color-gray-300: #2D363D;--color-gray-400: #4A5562;--color-gray-500: #6B7886;--color-gray-600: #8FA3B5;--color-gray-700: #B8C5D0;--color-gray-800: #D8E0E8;--color-gray-900: #EDF1F5;--bg-primary: #12171A;--bg-secondary: #1A2025;--bg-tertiary: #242C33;--text-primary: #E8ECF0;--text-secondary: #8FA3B5;--border-primary: rgba(124, 184, 212, .12);--border-secondary: rgba(124, 184, 212, .18);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .5);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5);--body-gradient-1: #020203;--body-gradient-2: #020203;--font-primary: "Source Sans 3", -apple-system, sans-serif;--font-heading: "Source Sans 3", sans-serif;--font-body: "Source Sans 3", -apple-system, sans-serif}body.dark-mode h1,body.dark-mode h2,body.dark-mode h3,body.dark-mode h4,body.dark-mode h5,body.dark-mode h6{font-family:var(--font-heading);color:var(--text-primary);background:none;-webkit-text-fill-color:initial}body.dark-mode strong,body.dark-mode b{color:var(--text-primary);background:none;-webkit-text-fill-color:initial;background-clip:unset;-webkit-background-clip:unset;font-weight:700}body.dark-mode:before{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(124,184,212,.06) 0%,transparent 60%),radial-gradient(circle at 80% 20%,rgba(124,184,212,.04) 0%,transparent 40%);z-index:-1;pointer-events:none}body.dark-mode input,body.dark-mode textarea,body.dark-mode select{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:var(--radius-tight)}body.dark-mode ::placeholder{color:#ffffff80;opacity:1}body.dark-mode button{color:var(--text-primary)}body.dark-mode .dashboard-card h3,body.dark-mode #auth-status-container,body.dark-mode #auth-status-container *,body.dark-mode .campaign-list-name,body.dark-mode .campaign-list-role,body.dark-mode #campaign-name-display{color:var(--text-primary);background:none;-webkit-text-fill-color:initial}.roll-entry .dice-result{padding:.25rem;margin:.25rem;min-width:3rem;min-height:3rem;font-size:1.25rem}.roll-entry .dice-result.d2,.roll-entry .dice-result.d6,.roll-entry .dice-result.d8,.roll-entry .dice-result.d10,.roll-entry .dice-result.d12,.roll-entry .dice-result.d20{width:3rem;height:3rem;min-width:3rem}.roll-entry .dice-result.d4{border-left-width:1.5rem;border-right-width:1.5rem;border-bottom-width:3rem;width:0;height:0;min-width:0}.roll-entry .dice-result.d4:after{bottom:auto;font-size:1rem}body.bloody-theme{--theme-glow-color: #8B1538;--theme-glow-color-low: rgba(139, 21, 56, .2);--theme-glow-color-high: rgba(139, 21, 56, .5);--color-primary: #8B1538;--color-primary-dark: #6B0F2A;--color-primary-light: #B8234A;--color-secondary: #C9A961;--color-accent: #6B0F2A;--color-gray-50: #1A0A0F;--color-gray-100: #2A1418;--color-gray-200: #3D1F26;--color-gray-300: #522934;--color-gray-400: #75424D;--color-gray-500: #9B6B73;--color-gray-600: #C9A9AE;--color-gray-700: #E0C9CD;--color-gray-800: #F0E0E3;--color-gray-900: #FAF5F6;--bg-primary: #1A0A0F;--bg-secondary: #2A1418;--bg-tertiary: #3D1F26;--text-primary: #FAF5F6;--text-secondary: #C9A9AE;--border-primary: #8B1538;--border-secondary: #522934;--shadow-sm: 0 1px 3px 0 rgba(139, 21, 56, .5), 0 0 8px rgba(139, 21, 56, .2);--shadow-md: 0 3px 10px -2px rgba(139, 21, 56, .6), 0 0 15px rgba(139, 21, 56, .25);--shadow-lg: 0 6px 20px -4px rgba(139, 21, 56, .7), 0 0 25px rgba(139, 21, 56, .3);--shadow-xl: 0 12px 32px -8px rgba(139, 21, 56, .8), 0 0 40px rgba(139, 21, 56, .35);--body-gradient-1: #0D0508;--body-gradient-2: #1A0A0F;--font-primary: var(--font-bloody);background-image:radial-gradient(ellipse at 50% 50%,transparent 0%,rgba(13,5,8,.95) 75%),linear-gradient(120deg,var(--body-gradient-1) 0%,var(--body-gradient-2) 100%)}.app-header-logo{text-align:center;margin-bottom:.5rem;margin-top:0;position:relative;z-index:10;pointer-events:none}.logo-text{font-family:var(--font-heading);font-weight:700;font-size:3.5rem;margin:0;line-height:1.2;text-transform:uppercase;letter-spacing:.05em;transition:transform .26s ease,opacity .26s ease}body.dark-mode .logo-text{background:linear-gradient(135deg,white 0%,var(--color-accent) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 15px rgba(95,203,240,.3));animation:text-pulse-glow 5s infinite}body.bloody-theme .logo-text{font-family:var(--font-bloody);color:var(--color-primary);text-shadow:0 0 10px rgba(139,21,56,.8),0 0 20px rgba(0,0,0,.8),2px 2px 4px rgba(0,0,0,.9);letter-spacing:.1em;font-weight:700}body.eternal-theme .logo-text{font-family:var(--font-fantasy);color:var(--color-primary);text-shadow:0 0 15px rgba(205,127,50,.6),0 2px 4px rgba(0,0,0,.8);letter-spacing:.08em}body.fantasy-theme .logo-text{font-family:var(--font-fantasy);color:var(--color-primary-light);text-shadow:0 0 15px rgba(74,124,89,.6),0 2px 4px rgba(26,18,10,.8);letter-spacing:.05em}body.frozen-theme .logo-text{font-family:var(--font-frozen);color:var(--text-primary);text-shadow:0 0 10px rgba(125,211,252,.6),0 0 20px rgba(125,211,252,.4),0 0 40px rgba(125,211,252,.2);letter-spacing:.1em}body.dystopic-theme .logo-text{font-family:Special Elite,cursive;color:#8b4513;text-shadow:2px 2px 0px #000,3px 3px 0px rgba(0,0,0,.7),0 0 20px rgba(139,69,19,.3);transform:rotate(-1deg);letter-spacing:.15em}body.neon-theme .logo-text{font-family:var(--font-neon);color:#f5f0fa;text-shadow:2px 0 0 rgba(255,0,110,.8),-2px 0 0 rgba(0,245,255,.8),0 0 20px rgba(131,56,236,.5);letter-spacing:.1em}body.delinquent-theme .logo-text{font-family:Special Elite,cursive;color:var(--color-primary);text-shadow:3px 3px 0 #000;transform:rotate(-3deg) skew(-10deg);font-weight:900;letter-spacing:.1em}body.corrupted-theme .logo-text{font-family:var(--font-frozen);color:var(--color-secondary);text-shadow:0 0 10px rgba(167,139,250,.8),2px 2px 0px rgba(76,29,149,.8);letter-spacing:.1em}body.college-ruled-theme .logo-text{font-family:Caveat,cursive;color:var(--color-primary);text-shadow:1px 1px 0px rgba(0,0,0,.1);transform:rotate(-2deg)}body.college-ruled-inverted-theme .logo-text{font-family:Caveat,cursive;color:var(--color-primary);text-shadow:1px 1px 0px rgba(0,0,0,.5);transform:rotate(-2deg)}body.princess-theme .logo-text{font-family:Cormorant Garamond,serif;background:linear-gradient(to bottom,gold,#ff69b4);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 10px rgba(255,105,180,.6));letter-spacing:.05em}body.raygun-gothic-theme .logo-text{font-family:Helvetica Neue,Arial,Roboto,sans-serif;color:#ff6b00;text-shadow:3px 3px 0 rgba(0,0,0,.6);letter-spacing:.2em;text-transform:uppercase;font-weight:700}body.raygun-light-theme .logo-text{font-family:Helvetica Neue,Arial,Roboto,sans-serif;color:#c50;text-shadow:2px 2px 0 rgba(255,255,255,.8);letter-spacing:.2em;text-transform:uppercase;font-weight:700}body.espionage-theme .logo-text{font-family:Courier New,monospace;color:var(--color-primary);text-shadow:0 0 10px rgba(139,0,0,.8);letter-spacing:.2em;background:#000;padding:0 10px;display:inline-block}body.mystic-theme .logo-text{font-family:Cormorant Garamond,serif;color:var(--color-primary-light);text-shadow:0 0 15px rgba(155,89,182,.8),0 0 30px rgba(155,89,182,.4);letter-spacing:.1em}body.serpentine-theme .logo-text{font-family:Cormorant Garamond,serif;color:#9acd32;text-shadow:0 0 20px rgba(154,205,50,.8),0 0 40px rgba(46,139,87,.5),0 0 60px rgba(154,205,50,.3),2px 2px 0px rgba(0,0,0,.9),3px 3px 6px rgba(0,0,0,.7);letter-spacing:.12em}body.smoldering-theme .logo-text{font-family:Cormorant Garamond,serif;color:#ff4500;text-shadow:0 0 15px rgba(255,69,0,.6),0 0 5px rgba(139,37,0,.8);letter-spacing:.05em}body.terminal-theme .logo-text{font-family:Courier New,monospace;color:#0f0;text-shadow:0 0 10px #00FF00,0 0 20px #00FF00;letter-spacing:.1em}body.withered-theme .logo-text{font-family:var(--font-western);color:#daa520;text-shadow:0 0 15px rgba(205,133,63,.7),3px 3px 0px #8B4513,4px 4px 0px rgba(0,0,0,.9),0 0 30px rgba(218,165,32,.3);letter-spacing:.15em}body.bloody-theme .character-sheet{border:none;position:relative;background-color:var(--bg-secondary);box-shadow:0 0 50px #8b15384d,0 0 100px #8b153826,inset 0 0 60px #00000080;background-image:radial-gradient(ellipse at 30% 0%,rgba(139,21,56,.15) 0%,transparent 20%),radial-gradient(ellipse at 70% 0%,rgba(139,21,56,.1) 0%,transparent 15%),radial-gradient(ellipse at 50% 0%,rgba(139,21,56,.12) 0%,transparent 25%);padding:2rem}body.bloody-theme .character-sheet:before{content:"";position:absolute;inset:0;border:3px solid var(--color-primary);pointer-events:none;box-shadow:inset 0 0 0 1px #c9a9614d,inset 0 0 30px #8b153826,0 0 20px #8b153833}body.bloody-theme .character-sheet:after{content:"";position:absolute;top:0;left:10%;right:10%;height:8px;background:linear-gradient(to bottom,rgba(139,21,56,.6) 0%,rgba(139,21,56,.3) 50%,transparent 100%);pointer-events:none;border-radius:0 0 50% 50%/0 0 100% 100%}body.bloody-theme .floating-action-btn{background:var(--bg-secondary);border-color:var(--color-primary);box-shadow:0 0 15px #8b153866}body.bloody-theme #sheet-button,body.bloody-theme #campaign-button,body.bloody-theme #dice-roller-button,body.bloody-theme #theme-button,body.bloody-theme #instructions-toggle-button{background:var(--bg-secondary);border-color:var(--color-primary);color:#fff}body.bloody-theme .stats-box,body.bloody-theme .trait-item{border:2px solid rgba(139,21,56,.4);background:linear-gradient(135deg,#1a0a0fe6,#2a1418cc);border-radius:2px;box-shadow:0 4px 15px #00000080,inset 0 1px #c9a9611a,inset 0 0 20px #8b15381a;position:relative;transition:transform .26s ease,opacity .26s ease}body.bloody-theme .stats-box:hover,body.bloody-theme .trait-item:hover{border-color:#8b1538b3;box-shadow:0 4px 20px #0009,0 0 25px #8b153840,inset 0 1px #c9a96126,inset 0 0 25px #8b153826;transform:scale(1.01)}body.bloody-theme h2,body.bloody-theme h3{color:var(--color-secondary);text-shadow:0 0 15px rgba(201,169,97,.5),0 2px 4px rgba(0,0,0,.7);font-weight:700;letter-spacing:.05em;font-style:italic}body.bloody-theme label{color:var(--color-gray-600);text-shadow:0 0 8px rgba(139,21,56,.2);font-style:italic}body.bloody-theme input,body.bloody-theme textarea,body.bloody-theme select{background:linear-gradient(135deg,#1a0a0fcc,#2a141899);border:1px solid rgba(139,21,56,.3);color:var(--text-primary);box-shadow:inset 0 2px 4px #0006}body.bloody-theme input:focus,body.bloody-theme textarea:focus,body.bloody-theme select:focus{border-color:#8b153899;box-shadow:inset 0 2px 4px #0006,0 0 15px #8b153840;outline:none}body.bloody-theme .btn{background:linear-gradient(135deg,#6b0f2acc,#8b153899);border:2px solid rgba(201,169,97,.4);color:var(--color-gray-800);font-weight:700;font-style:italic;letter-spacing:.05em;box-shadow:0 4px 15px #00000080,0 0 10px #8b153833;text-shadow:0 0 8px rgba(201,169,97,.3);transition:transform .26s ease,opacity .26s ease}body.bloody-theme .btn:hover{background:linear-gradient(135deg,#8b1538b3,#b8234a80);border-color:#c9a96199;box-shadow:0 4px 20px #0009,0 0 25px #8b153859;transform:translateY(-2px)}body.bloody-theme .floating-panel-content,body.bloody-theme .modal-content{background-color:var(--bg-secondary);background-image:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);border:2px solid rgba(139,21,56,.5);box-shadow:0 10px 40px #000c,0 0 30px #8b153833,inset 0 1px #c9a9611a}body.bloody-theme,body.bloody-theme input,body.bloody-theme textarea,body.bloody-theme select,body.bloody-theme button,body.bloody-theme .btn,body.bloody-theme label,body.bloody-theme .tab-button{font-family:var(--font-bloody)}body.bloody-theme:before{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,var(--theme-glow-color-low) 0%,transparent 60%),radial-gradient(circle at 80% 20%,var(--theme-glow-color-low) 0%,transparent 40%);z-index:-1;animation:bg-pulse 15s ease-in-out infinite alternate;pointer-events:none}body.bloody-theme h1,body.bloody-theme h2,body.bloody-theme h3,body.bloody-theme h4,body.bloody-theme h5,body.bloody-theme h6{animation:text-pulse-glow 3s infinite}body.bloody-theme .btn:hover,body.bloody-theme .btn:focus{animation:pulse-glow 3s infinite}body.eternal-theme{--theme-glow-color: #CD7F32;--theme-glow-color-low: rgba(205, 127, 50, .2);--theme-glow-color-high: rgba(205, 127, 50, .5);--color-primary: #CD7F32;--color-primary-dark: #8B4513;--color-primary-light: #D4A574;--color-secondary: #B8860B;--color-accent: #704214;--color-gray-50: #1A1410;--color-gray-100: #2A2118;--color-gray-200: #3D3024;--color-gray-300: #524030;--color-gray-400: #7A5D45;--color-gray-500: #A68B6E;--color-gray-600: #C9B8A0;--color-gray-700: #E0D4C4;--color-gray-800: #F0EBE0;--color-gray-900: #FAF8F5;--bg-primary: #1A1410;--bg-secondary: #241C14;--bg-tertiary: #2E241A;--text-primary: #FAF8F5;--text-secondary: #D4A574;--border-primary: #CD7F32;--border-secondary: #704214;--shadow-sm: 0 1px 3px 0 rgba(205, 127, 50, .4);--shadow-md: 0 3px 10px -2px rgba(205, 127, 50, .5);--shadow-lg: 0 6px 20px -4px rgba(205, 127, 50, .6);--shadow-xl: 0 12px 32px -8px rgba(205, 127, 50, .7);--body-gradient-1: #0F0C08;--body-gradient-2: #1A1410;--font-primary: var(--font-fantasy);background-image:radial-gradient(ellipse at 50% 0%,rgba(205,127,50,.08) 0%,transparent 50%),linear-gradient(120deg,var(--body-gradient-1) 0%,var(--body-gradient-2) 100%)}body.eternal-theme .character-sheet{border:none;position:relative;background-color:var(--bg-secondary);box-shadow:0 0 20px #cd7f3240,0 0 40px #b8860b1a,inset 0 0 20px #0009;background-image:radial-gradient(ellipse at 50% 0%,rgba(205,127,50,.06) 0%,transparent 30%);padding:2rem}body.eternal-theme .character-sheet:before{content:"";position:absolute;inset:0;border:3px solid rgba(205,127,50,.5);pointer-events:none;box-shadow:inset 0 0 0 1px #b8860b4d,inset 0 0 10px #cd7f3214}body.eternal-theme .floating-action-btn{border-color:var(--color-primary);box-shadow:0 0 5px #cd7f324d}body.eternal-theme #sheet-button,body.eternal-theme #campaign-button,body.eternal-theme #dice-roller-button,body.eternal-theme #theme-button,body.eternal-theme #instructions-toggle-button{background:var(--color-primary);color:var(--color-gray-50);box-shadow:0 0 5px #cd7f3299,inset 0 0 5px #b8860b66}body.eternal-theme .stats-box,body.eternal-theme .trait-item{border:2px solid rgba(205,127,50,.35);background:linear-gradient(135deg,#1a1410e6,#70421426);box-shadow:0 2px 5px #0006,inset 0 1px #cd7f321a;transition:transform .26s ease,opacity .26s ease}body.eternal-theme .stats-box:hover,body.eternal-theme .trait-item:hover{border-color:#cd7f3299;box-shadow:0 4px 10px #00000080,0 0 10px #cd7f3233,inset 0 1px #cd7f3233;transform:scale(1.01)}body.eternal-theme h2,body.eternal-theme h3{color:var(--color-primary);text-shadow:0 0 5px rgba(205,127,50,.5),0 2px 4px rgba(0,0,0,.6);font-weight:700;letter-spacing:.05em}body.eternal-theme label{color:var(--color-primary-light);text-shadow:0 0 2px rgba(205,127,50,.2)}body.eternal-theme input,body.eternal-theme textarea,body.eternal-theme select{background:linear-gradient(135deg,#1a1410cc,#2e241a99);border:1px solid rgba(205,127,50,.3);color:var(--text-primary);box-shadow:inset 0 2px 4px #0000004d}body.eternal-theme input:focus,body.eternal-theme textarea:focus,body.eternal-theme select:focus{border-color:#cd7f3299;box-shadow:inset 0 2px 4px #0000004d,0 0 5px #cd7f3233;outline:none}body.eternal-theme .btn{background:linear-gradient(135deg,#704214b3,#cd7f3266);border:2px solid rgba(205,127,50,.5);color:var(--color-gray-800);font-weight:700;letter-spacing:.05em;box-shadow:0 2px 5px #0006,0 0 5px #cd7f3226;text-shadow:0 0 3px rgba(205,127,50,.3);transition:transform .26s ease,opacity .26s ease}body.eternal-theme .btn:hover{background:linear-gradient(135deg,#cd7f3280,#b8860b66);border-color:#cd7f32b3;box-shadow:0 4px 10px #00000080,0 0 10px #cd7f324d;transform:translateY(-2px)}body.eternal-theme .floating-panel-content,body.eternal-theme .modal-content{background:linear-gradient(150deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);border:2px solid rgba(205,127,50,.4);box-shadow:0 5px 20px #000000b3,0 0 10px #cd7f3226,inset 0 1px #cd7f3226}body.eternal-theme,body.eternal-theme input,body.eternal-theme textarea,body.eternal-theme select,body.eternal-theme button,body.eternal-theme .btn,body.eternal-theme label,body.eternal-theme .tab-button{font-family:var(--font-fantasy)}body.eternal-theme:before{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,var(--theme-glow-color-low) 0%,transparent 60%),radial-gradient(circle at 80% 20%,var(--theme-glow-color-low) 0%,transparent 40%);z-index:-1;animation:bg-pulse 15s ease-in-out infinite alternate;pointer-events:none}body.eternal-theme h1,body.eternal-theme h2,body.eternal-theme h3,body.eternal-theme h4,body.eternal-theme h5,body.eternal-theme h6{animation:text-pulse-glow 3s infinite}body.eternal-theme .btn:hover,body.eternal-theme .btn:focus{animation:pulse-glow 3s infinite}body.eternal-theme:after{content:"";position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(85vh,550px);height:min(85vh,550px);z-index:0;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cdefs%3E%3CradialGradient id='etherealGlow' cx='50%25' cy='50%25' r='50%25'%3E%3Cstop offset='0%25' stop-color='%23CD7F32' stop-opacity='0.1'/%3E%3Cstop offset='70%25' stop-color='%23CD7F32' stop-opacity='0.05'/%3E%3Cstop offset='100%25' stop-color='%23CD7F32' stop-opacity='0'/%3E%3C/radialGradient%3E%3Cfilter id='glow' x='-50%25' y='-50%25' width='200%25' height='200%25'%3E%3CfeGaussianBlur stdDeviation='1.5' result='blur'/%3E%3CfeMerge%3E%3CfeMergeNode in='blur'/%3E%3CfeMergeNode in='SourceGraphic'/%3E%3C/feMerge%3E%3C/filter%3E%3C/defs%3E%3Ccircle cx='100' cy='100' r='95' fill='none' stroke='%23CD7F32' stroke-width='1' opacity='0.6'/%3E%3Ccircle cx='100' cy='100' r='90' fill='url(%23etherealGlow)'/%3E%3Ccircle cx='100' cy='100' r='88' fill='none' stroke='%23CD7F32' stroke-width='0.5' opacity='0.3'/%3E%3Cg fill='%23CD7F32' font-family='Times New Roman, serif' font-size='11' text-anchor='middle' filter='url(%23glow)'%3E%3Ctext x='100' y='28'%3EXII%3C/text%3E%3Ctext x='141' y='40'%3EI%3C/text%3E%3Ctext x='172' y='72'%3EII%3C/text%3E%3Ctext x='182' y='104'%3EIII%3C/text%3E%3Ctext x='172' y='136'%3EIV%3C/text%3E%3Ctext x='141' y='168'%3EV%3C/text%3E%3Ctext x='100' y='180'%3EVI%3C/text%3E%3Ctext x='59' y='168'%3EVII%3C/text%3E%3Ctext x='28' y='136'%3EVIII%3C/text%3E%3Ctext x='20' y='104'%3EIX%3C/text%3E%3Ctext x='28' y='72'%3EX%3C/text%3E%3Ctext x='59' y='40'%3EXI%3C/text%3E%3C/g%3E%3Cg stroke='%23CD7F32' stroke-width='0.5' opacity='0.4'%3E%3Cline x1='100' y1='15' x2='100' y2='20'/%3E%3Cline x1='100' y1='180' x2='100' y2='185'/%3E%3Cline x1='15' y1='100' x2='20' y2='100'/%3E%3Cline x1='180' y1='100' x2='185' y2='100'/%3E%3Cline x1='142.5' y1='22.5' x2='140' y2='27'/%3E%3Cline x1='177.5' y1='57.5' x2='173' y2='60'/%3E%3Cline x1='177.5' y1='142.5' x2='173' y2='140'/%3E%3Cline x1='142.5' y1='177.5' x2='140' y2='173'/%3E%3Cline x1='57.5' y1='177.5' x2='60' y2='173'/%3E%3Cline x1='22.5' y1='142.5' x2='27' y2='140'/%3E%3Cline x1='22.5' y1='57.5' x2='27' y2='60'/%3E%3Cline x1='57.5' y1='22.5' x2='60' y2='27'/%3E%3C/g%3E%3Cg transform='translate(100,100)'%3E%3Cg filter='url(%23glow)'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0' to='-360' dur='720s' repeatCount='indefinite'/%3E%3Cpath d='M-3,12 L0,-35 L3,12 Z' fill='%23CD7F32' opacity='0.8'/%3E%3C/g%3E%3C/g%3E%3Cg transform='translate(100,100)'%3E%3Cg filter='url(%23glow)'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0' to='-360' dur='60s' repeatCount='indefinite'/%3E%3Cpath d='M-2,15 L0,-55 L2,15 Z' fill='%23CD7F32' opacity='0.7'/%3E%3C/g%3E%3C/g%3E%3Ccircle cx='100' cy='100' r='4' fill='%23CD7F32' opacity='0.6' filter='url(%23glow)'/%3E%3Ccircle cx='100' cy='100' r='2' fill='%23D4A574' opacity='0.8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:contain}body.fantasy-theme{--theme-glow-color: #4A7C59;--theme-glow-color-low: rgba(74, 124, 89, .2);--theme-glow-color-high: rgba(74, 124, 89, .5);--color-primary: #4A7C59;--color-primary-dark: #2D5A3E;--color-primary-light: #6B9B7A;--color-secondary: #8B5A2B;--color-accent: #5D4E37;--color-gray-50: #1A1812;--color-gray-100: #252218;--color-gray-200: #332E22;--color-gray-300: #443D2E;--color-gray-400: #5D5445;--color-gray-500: #7A7260;--color-gray-600: #A69E8A;--color-gray-700: #C9C2B0;--color-gray-800: #E5E0D4;--color-gray-900: #F5F3ED;--bg-primary: #1A1812;--bg-secondary: #221F17;--bg-tertiary: #2A261C;--text-primary: #F5F3ED;--text-secondary: #C9C2B0;--border-primary: #4A7C59;--border-secondary: #443D2E;--shadow-sm: 0 1px 3px 0 rgba(74, 124, 89, .3), 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 3px 10px -2px rgba(74, 124, 89, .4), 0 3px 6px rgba(0, 0, 0, .5);--shadow-lg: 0 6px 20px -4px rgba(74, 124, 89, .5), 0 6px 12px rgba(0, 0, 0, .6);--shadow-xl: 0 12px 32px -8px rgba(74, 124, 89, .6), 0 12px 24px rgba(0, 0, 0, .7);--body-gradient-1: #0F0E0A;--body-gradient-2: #1A1812;--font-primary: var(--font-fantasy);background-image:radial-gradient(ellipse at 50% 0%,rgba(74,124,89,.1) 0%,transparent 60%),linear-gradient(120deg,var(--body-gradient-1) 0%,var(--body-gradient-2) 100%)}body.fantasy-theme .character-sheet{border:none;position:relative;background-color:var(--bg-secondary);box-shadow:0 0 20px #000c,0 0 20px #4a7c5926,inset 0 0 20px #00000080;padding:2rem}body.fantasy-theme .character-sheet:before{content:"";position:absolute;inset:0;border:3px solid rgba(74,124,89,.4);pointer-events:none;border-radius:4px 8px 6px 10px/10px 6px 8px 4px;box-shadow:inset 0 0 0 2px #8b5a2b33,inset 0 0 10px #4a7c590f}body.fantasy-theme .floating-action-btn{border-color:var(--color-primary);box-shadow:0 0 4px #4a7c594d}body.fantasy-theme #sheet-button,body.fantasy-theme #campaign-button,body.fantasy-theme #dice-roller-button,body.fantasy-theme #theme-button,body.fantasy-theme #instructions-toggle-button{background:var(--color-primary);color:var(--text-primary);border:1px solid var(--color-primary-light)}body.fantasy-theme .stats-box,body.fantasy-theme .trait-item{border:2px solid rgba(74,124,89,.35);background:linear-gradient(135deg,#1a1812e6,#4a7c591a);border-radius:6px 10px 8px 12px/12px 8px 10px 6px;box-shadow:0 2px 5px #00000080,inset 0 1px #4a7c5914;transition:transform .26s ease,opacity .26s ease}body.fantasy-theme .trait-item:nth-child(2n){border-radius:10px 6px 12px 8px/8px 12px 6px 10px}body.fantasy-theme .trait-item:nth-child(3n){border-radius:8px 12px 6px 10px/10px 6px 12px 8px}body.fantasy-theme .stats-box:hover,body.fantasy-theme .trait-item:hover{border-color:#4a7c5999;box-shadow:0 4px 10px #0009,0 0 8px #4a7c5926,inset 0 1px #4a7c5926;transform:scale(1.01)}body.fantasy-theme h2,body.fantasy-theme h3{color:var(--color-primary-light);text-shadow:0 0 4px rgba(74,124,89,.4),0 2px 4px rgba(0,0,0,.7);font-weight:700;letter-spacing:.04em}body.fantasy-theme label{color:var(--color-gray-600);text-shadow:0 0 2px rgba(74,124,89,.15)}body.fantasy-theme input,body.fantasy-theme textarea,body.fantasy-theme select{background:linear-gradient(135deg,#1a1812cc,#2a261c99);border:1px solid rgba(74,124,89,.25);border-radius:4px 6px 5px 7px/7px 5px 6px 4px;color:var(--text-primary);box-shadow:inset 0 2px 4px #0006}body.fantasy-theme input:focus,body.fantasy-theme textarea:focus,body.fantasy-theme select:focus{border-color:#4a7c5980;box-shadow:inset 0 2px 4px #0006,0 0 4px #4a7c5933;outline:none}body.fantasy-theme .btn{background:linear-gradient(135deg,#2d5a3eb3,#4a7c5966);border:2px solid rgba(74,124,89,.5);border-radius:5px 9px 6px 10px/10px 6px 9px 5px;color:var(--color-gray-800);font-weight:700;letter-spacing:.04em;box-shadow:0 2px 5px #00000080,0 0 4px #4a7c591a;text-shadow:0 0 2px rgba(74,124,89,.25);transition:transform .26s ease,opacity .26s ease}body.fantasy-theme .btn:hover{background:linear-gradient(135deg,#4a7c5980,#6b9b7a66);border-color:#4a7c59b3;box-shadow:0 4px 10px #0009,0 0 8px #4a7c5940;transform:translateY(-2px)}body.fantasy-theme .floating-panel-content,body.fantasy-theme .modal-content{background-color:var(--bg-secondary);background-image:repeating-linear-gradient(87deg,transparent,transparent 30px,rgba(139,90,43,.015) 30px,rgba(139,90,43,.015) 31px),linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);border:2px solid rgba(74,124,89,.35);border-radius:6px 12px 8px 14px/14px 8px 12px 6px;box-shadow:0 5px 20px #000c,0 0 10px #4a7c591a,inset 0 1px #4a7c591a}body.fantasy-theme,body.fantasy-theme input,body.fantasy-theme textarea,body.fantasy-theme select,body.fantasy-theme button,body.fantasy-theme .btn,body.fantasy-theme label,body.fantasy-theme .tab-button{font-family:var(--font-fantasy)}body.fantasy-theme:before{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,var(--theme-glow-color-low) 0%,transparent 60%),radial-gradient(circle at 80% 20%,var(--theme-glow-color-low) 0%,transparent 40%);z-index:-1;animation:bg-pulse 15s ease-in-out infinite alternate;pointer-events:none}body.fantasy-theme h1,body.fantasy-theme h2,body.fantasy-theme h3,body.fantasy-theme h4,body.fantasy-theme h5,body.fantasy-theme h6{animation:text-pulse-glow 3s infinite}body.fantasy-theme .btn:hover,body.fantasy-theme .btn:focus{animation:pulse-glow 3s infinite}body.frozen-theme{--theme-glow-color: #7dd3fc;--theme-glow-color-low: rgba(125, 211, 252, .2);--theme-glow-color-high: rgba(125, 211, 252, .5);--color-primary: #7dd3fc;--color-primary-dark: #0284c7;--color-primary-light: #bae6fd;--color-secondary: #c7d2fe;--color-accent: #0c4a6e;--color-gray-50: #020617;--color-gray-100: #0c1929;--color-gray-200: #152238;--color-gray-300: #1e3a5f;--color-gray-400: #2d5a87;--color-gray-500: #4b8ab8;--color-gray-600: #7dd3fc;--color-gray-700: #bae6fd;--color-gray-800: #e0f2fe;--color-gray-900: #f0f9ff;--bg-primary: #020617;--bg-secondary: #0c1929;--bg-tertiary: #152238;--text-primary: #e0f2fe;--text-secondary: #7dd3fc;--border-primary: #0c4a6e;--border-secondary: #1e3a5f;--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .9), 0 0 8px rgba(125, 211, 252, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .9), 0 0 15px rgba(125, 211, 252, .15);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .95), 0 0 25px rgba(125, 211, 252, .2);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .95), 0 0 40px rgba(125, 211, 252, .25);--body-gradient-1: #000000;--body-gradient-2: #020617;--font-primary: var(--font-frozen);background-color:#000;background-image:linear-gradient(to bottom,#020617,#000)}body.frozen-theme .character-sheet{border:none;position:relative;background-color:var(--bg-secondary);box-shadow:0 0 60px #000000f2,0 0 30px #7dd3fc26,inset 0 0 80px #000000b3,inset 0 0 4px #7dd3fc4d;background-image:none;letter-spacing:.03em;padding:2rem}body.frozen-theme .character-sheet:before{content:"";position:absolute;inset:0;border:2px solid rgba(125,211,252,.3);pointer-events:none;border-radius:3px 8px 5px 10px/10px 5px 8px 3px;box-shadow:0 0 15px #7dd3fc1a}body.frozen-theme .floating-action-btn{border-color:var(--color-gray-600);box-shadow:0 0 15px #7dd3fc33}body.frozen-theme #sheet-button{background:var(--color-primary-dark);color:var(--text-primary)}body.frozen-theme #sheet-button,body.frozen-theme #campaign-button,body.frozen-theme #dice-roller-button,body.frozen-theme #theme-button,body.frozen-theme #instructions-toggle-button{background:var(--bg-tertiary);color:var(--color-secondary)}body.frozen-theme .stats-box,body.frozen-theme .trait-item{border:1px solid rgba(125,211,252,.2);background:linear-gradient(135deg,#0c1929e6,#152238b3);box-shadow:inset 0 0 15px #00000080,inset 0 1px #7dd3fc1a,0 4px 15px #0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:4px 8px 6px 10px/10px 6px 8px 4px;position:relative;transition:transform .26s ease,opacity .26s ease}body.frozen-theme .stats-box:hover,body.frozen-theme .trait-item:hover{border-color:#7dd3fc66;box-shadow:inset 0 0 15px #00000080,inset 0 1px #7dd3fc33,0 4px 20px #00000080,0 0 25px #7dd3fc26;transform:scale(1.01)}body.frozen-theme .trait-item:nth-child(2n){border-radius:8px 4px 10px 6px/6px 10px 4px 8px}body.frozen-theme .trait-item:nth-child(3n){border-radius:6px 10px 4px 8px/8px 4px 10px 6px}body.frozen-theme h2,body.frozen-theme h3{color:var(--color-gray-700);text-shadow:0 0 10px rgba(125,211,252,.4),0 0 20px rgba(125,211,252,.2),0 2px 4px rgba(0,0,0,.8);font-weight:600;letter-spacing:.08em;text-transform:uppercase}body.frozen-theme label{color:var(--color-gray-500);text-shadow:0 0 8px rgba(125,211,252,.15)}body.frozen-theme input,body.frozen-theme textarea,body.frozen-theme select{background:linear-gradient(135deg,#0006,#0c19294d);border:1px solid rgba(125,211,252,.15);border-radius:3px 6px 4px 7px/7px 4px 6px 3px;color:var(--text-primary);box-shadow:inset 0 2px 4px #0000004d}body.frozen-theme input:focus,body.frozen-theme textarea:focus,body.frozen-theme select:focus{border-color:#7dd3fc66;box-shadow:inset 0 2px 4px #0000004d,0 0 15px #7dd3fc33;background:linear-gradient(135deg,#00000080,#0c4a6e33);outline:none}body.frozen-theme .btn{background:linear-gradient(135deg,#0c4a6e99,#0284c74d);border:1px solid rgba(125,211,252,.3);border-radius:4px 8px 5px 9px/9px 5px 8px 4px;color:var(--color-gray-800);text-transform:uppercase;font-weight:600;letter-spacing:.1em;box-shadow:0 4px 15px #0006,0 0 10px #7dd3fc1a;text-shadow:0 0 8px rgba(125,211,252,.3);transition:transform .26s ease,opacity .26s ease}body.frozen-theme .btn:hover{background:linear-gradient(135deg,#0284c780,#7dd3fc4d);border-color:#7dd3fc80;box-shadow:0 4px 20px #00000080,0 0 25px #7dd3fc40;transform:translateY(-2px)}body.frozen-theme .floating-panel-content,body.frozen-theme .modal-content{background-color:var(--bg-secondary);background-image:linear-gradient(150deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);background-size:100% 100%;border:1px solid rgba(125,211,252,.2);border-radius:5px 10px 7px 12px/12px 7px 10px 5px;box-shadow:0 10px 40px #000c,0 0 30px #7dd3fc1a,inset 0 1px #7dd3fc1a}body.frozen-theme,body.frozen-theme input,body.frozen-theme textarea,body.frozen-theme select,body.frozen-theme button,body.frozen-theme .btn,body.frozen-theme label,body.frozen-theme .tab-button{font-family:var(--font-frozen)}body.frozen-theme:before{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,var(--theme-glow-color-low) 0%,transparent 60%),radial-gradient(circle at 80% 20%,var(--theme-glow-color-low) 0%,transparent 40%);z-index:-1;animation:bg-pulse 15s ease-in-out infinite alternate;pointer-events:none}body.frozen-theme h1,body.frozen-theme h2,body.frozen-theme h3,body.frozen-theme h4,body.frozen-theme h5,body.frozen-theme h6{animation:text-pulse-glow 3s infinite}body.frozen-theme .btn:hover,body.frozen-theme .btn:focus{animation:pulse-glow 3s infinite}body.dystopic-theme{--theme-glow-color: #8B4513;--theme-glow-color-low: rgba(139, 69, 19, .15);--theme-glow-color-high: rgba(139, 69, 19, .4);--color-primary: #8B4513;--color-primary-dark: #5D2E0C;--color-primary-light: #A0522D;--color-secondary: #4A4A4A;--color-accent: #B8860B;--color-gray-50: #0A0908;--color-gray-100: #141210;--color-gray-200: #1E1B18;--color-gray-300: #2D2925;--color-gray-400: #4A4440;--color-gray-500: #6B635C;--color-gray-600: #8C837A;--color-gray-700: #A69E95;--color-gray-800: #C4BCB3;--color-gray-900: #E8E4E0;--bg-primary: #0A0908;--bg-secondary: #121110;--bg-tertiary: #1A1816;--text-primary: #C4B8A8;--text-secondary: #8C837A;--border-primary: #5D4E37;--border-secondary: #2D2925;--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .8), 0 1px 2px rgba(10, 5, 0, .6);--shadow-md: 0 3px 10px -2px rgba(0, 0, 0, .9), 0 2px 4px rgba(10, 5, 0, .7);--shadow-lg: 0 6px 20px -4px rgba(0, 0, 0, .95), 0 4px 8px rgba(10, 5, 0, .8);--shadow-xl: 0 12px 32px -8px rgba(0, 0, 0, 1), 0 6px 12px rgba(10, 5, 0, .9);--body-gradient-1: #050403;--body-gradient-2: #0A0908;--font-primary: var(--font-dystopic);background-color:#030302;background-image:radial-gradient(ellipse at 50% 50%,transparent 10%,rgba(0,0,0,.4) 50%,#000000 95%),radial-gradient(ellipse at 15% 85%,rgba(139,69,19,.08) 0%,transparent 40%),radial-gradient(ellipse at 85% 15%,rgba(100,50,10,.06) 0%,transparent 35%),repeating-linear-gradient(90deg,transparent 0px,transparent 100px,rgba(30,25,20,.3) 100px,rgba(30,25,20,.3) 101px),repeating-linear-gradient(0deg,transparent 0px,transparent 80px,rgba(25,20,15,.25) 80px,rgba(25,20,15,.25) 81px),repeating-linear-gradient(45deg,rgba(20,15,10,.15) 0px,transparent 1px,transparent 3px),repeating-linear-gradient(-45deg,rgba(15,10,5,.1) 0px,transparent 1px,transparent 4px),linear-gradient(180deg,#0f0d0b,#030302)}body.dystopic-theme .character-sheet{border:none;position:relative;background-color:#0e0d0c;background-image:radial-gradient(ellipse at 0% 0%,rgba(139,69,19,.12) 0%,transparent 30%),radial-gradient(ellipse at 100% 100%,rgba(100,50,10,.1) 0%,transparent 25%),repeating-linear-gradient(90deg,transparent 0px,transparent 3px,rgba(50,45,40,.08) 3px,rgba(50,45,40,.08) 4px),linear-gradient(180deg,#121110,#0a0908);box-shadow:0 0 60px #000,inset 0 0 100px #00000080,inset 0 1px #8b45131a;transform:rotate(-.3deg);clip-path:polygon(2% 0%,15% 1%,30% 0%,45% .5%,60% 0%,75% 1%,88% 0%,98% .5%,100% 3%,99% 20%,100% 40%,99.5% 60%,100% 80%,99% 95%,97% 100%,80% 99%,60% 100%,40% 99.5%,20% 100%,5% 99%,0% 97%,.5% 75%,0% 50%,1% 25%,0% 5%);padding:2rem;overflow:hidden}body.dystopic-theme .character-sheet:before{content:"";position:absolute;inset:0;border:3px solid;border-color:#3D3530 #4A4035 #3D3530 #2D2520;border-radius:2px;pointer-events:none;z-index:10;background:transparent;box-shadow:inset 0 0 20px #0009,inset 2px 2px 10px #8b45131a}body.dystopic-theme .character-sheet:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 5% 5%,rgba(139,69,19,.2) 0%,transparent 15%),radial-gradient(ellipse at 95% 95%,rgba(100,60,20,.15) 0%,transparent 20%),radial-gradient(ellipse at 90% 8%,rgba(80,50,20,.1) 0%,transparent 12%),repeating-linear-gradient(135deg,transparent 0px,transparent 20px,rgba(0,0,0,.03) 20px,rgba(0,0,0,.03) 21px);pointer-events:none;z-index:5}body.dystopic-theme .floating-action-btn{border-radius:1px;transform:rotate(.5deg);border:2px solid #4A3D30;background:linear-gradient(135deg,#2d2520,#1a1614);box-shadow:3px 3px #000000e6,inset 0 1px #8b451326}body.dystopic-theme .floating-action-btn:hover{transform:rotate(0) scale(1.05);border-color:#8b4513;box-shadow:4px 4px #000000e6,0 0 10px #8b45134d}body.dystopic-theme #sheet-button,body.dystopic-theme #campaign-button,body.dystopic-theme #dice-roller-button,body.dystopic-theme #theme-button,body.dystopic-theme #instructions-toggle-button{background:linear-gradient(145deg,#3d3530,#2a2420);color:#c4b8a8;border-color:#5d4e37}body.dystopic-theme .stats-box,body.dystopic-theme .trait-item{border:2px solid #3D3530;background:linear-gradient(180deg,#141210,#0e0d0c);border-radius:1px;box-shadow:3px 3px #000000b3,inset 0 0 15px #0006,inset 0 1px #8b451314;position:relative;transition:all .2s ease;transform:rotate(.5deg)}body.dystopic-theme .trait-item:nth-child(2n){transform:rotate(-.8deg);border-color:#4a3d30;box-shadow:3px 3px #000000b3,inset 0 0 15px #0006,inset -1px -1px 5px #8b45131a}body.dystopic-theme .trait-item:nth-child(3n){transform:rotate(1deg);border-color:#3a3025}body.dystopic-theme .trait-item:nth-child(5n){border-color:#5d4030}body.dystopic-theme .stats-box:hover,body.dystopic-theme .trait-item:hover{border-color:#8b4513;transform:scale(1.02) rotate(0);box-shadow:5px 5px #000000e6,0 0 15px #8b451333,inset 0 0 20px #0000004d;background:linear-gradient(180deg,#1a1816,#121110);z-index:10}body.dystopic-theme h2,body.dystopic-theme h3{color:#b8a898;font-family:Special Elite,cursive;text-shadow:2px 2px 0px #000,0 0 10px rgba(139,69,19,.2);font-weight:400;letter-spacing:3px;text-transform:uppercase;transform:rotate(-.5deg);position:relative}body.dystopic-theme label{color:#6b635c;font-family:Special Elite,cursive;letter-spacing:2px;text-transform:uppercase;font-size:.85em}body.dystopic-theme input,body.dystopic-theme textarea,body.dystopic-theme select{background:#0a0908;border:none;border-bottom:2px solid #3D3530;border-radius:0;color:#c4b8a8;font-family:Special Elite,cursive;box-shadow:inset 0 -2px 5px #0000004d;padding:8px 5px}body.dystopic-theme input:focus,body.dystopic-theme textarea:focus,body.dystopic-theme select:focus{border-bottom-color:#8b4513;background:#121110;outline:none;box-shadow:inset 0 -2px 5px #0000004d,0 2px 10px #8b451326}body.dystopic-theme .btn{background:linear-gradient(180deg,#2d2520,#1a1614);border:2px solid #4A3D30;color:#a69e95;font-family:Special Elite,cursive;font-weight:400;letter-spacing:2px;text-transform:uppercase;box-shadow:3px 3px #000c,inset 0 1px #8b45131a;transform:rotate(.3deg);transition:all .2s}body.dystopic-theme .btn:hover{background:linear-gradient(180deg,#8b4513,#5d2e0c);color:#e8e4e0;border-color:sienna;transform:translate(-1px,-1px) rotate(0);box-shadow:4px 4px #000000e6,0 0 15px #8b45134d}body.dystopic-theme .floating-panel-content,body.dystopic-theme .modal-content{background-color:#0e0d0c;background-image:radial-gradient(ellipse at 10% 90%,rgba(139,69,19,.08) 0%,transparent 30%),repeating-linear-gradient(90deg,transparent,transparent 60px,rgba(60,50,40,.04) 60px,rgba(60,50,40,.04) 61px),repeating-linear-gradient(0deg,transparent,transparent 45px,rgba(50,40,30,.03) 45px,rgba(50,40,30,.03) 46px),linear-gradient(135deg,#121110,#0a0908);border:2px solid #3D3530;border-radius:1px;box-shadow:0 15px 50px #000,0 0 30px #000c,inset 0 1px #8b451314,inset 0 0 30px #0006}body.dystopic-theme,body.dystopic-theme input,body.dystopic-theme textarea,body.dystopic-theme select,body.dystopic-theme button,body.dystopic-theme .btn,body.dystopic-theme label,body.dystopic-theme .tab-button{font-family:var(--font-dystopic)}body.dystopic-theme:before{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 50% 120%,rgba(139,69,19,.1) 0%,transparent 50%),radial-gradient(ellipse at 0% 0%,rgba(50,30,10,.15) 0%,transparent 40%),radial-gradient(ellipse at 100% 100%,rgba(40,25,10,.12) 0%,transparent 35%),repeating-linear-gradient(0deg,transparent 0px,transparent 2px,rgba(100,90,80,.02) 2px,rgba(100,90,80,.02) 4px);z-index:-1;animation:dystopic-flicker 8s ease-in-out infinite alternate;pointer-events:none}@keyframes dystopic-flicker{0%,to{opacity:1}50%{opacity:.95}52%{opacity:.98}54%{opacity:.94}}body.dystopic-theme h1,body.dystopic-theme h2,body.dystopic-theme h3,body.dystopic-theme h4,body.dystopic-theme h5,body.dystopic-theme h6{animation:none}body.dystopic-theme .btn:hover,body.dystopic-theme .btn:focus{animation:none}body.neon-theme{--theme-glow-color: #FF006E;--theme-glow-color-low: rgba(255, 0, 110, .2);--theme-glow-color-high: rgba(255, 0, 110, .5);--color-primary: #FF006E;--color-primary-dark: #C70055;--color-primary-light: #FF3D8F;--color-secondary: #00F5FF;--color-accent: #8338EC;--color-gray-50: #0A0514;--color-gray-100: #150A24;--color-gray-200: #1F0F3D;--color-gray-300: #2B1552;--color-gray-400: #442675;--color-gray-500: #6B4B9B;--color-gray-600: #A97BC9;--color-gray-700: #C9A9E0;--color-gray-800: #E0C9F0;--color-gray-900: #F5F0FA;--bg-primary: #0A0514;--bg-secondary: #150A24;--bg-tertiary: #1F0F3D;--text-primary: #F5F0FA;--text-secondary: #A97BC9;--border-primary: #FF006E;--border-secondary: #8338EC;--shadow-sm: 0 1px 3px 0 rgba(255, 0, 110, .4);--shadow-md: 0 3px 10px -2px rgba(255, 0, 110, .5);--shadow-lg: 0 6px 20px -4px rgba(255, 0, 110, .6);--shadow-xl: 0 12px 32px -8px rgba(131, 56, 236, .7);--body-gradient-1: #050208;--body-gradient-2: #0A0514;--font-primary: var(--font-neon);background-color:#050208;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.3) 2px,rgba(0,0,0,.3) 4px),radial-gradient(circle at 20% 30%,rgba(255,0,110,.2) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(131,56,236,.2) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(0,245,255,.1) 0%,transparent 60%),linear-gradient(90deg,transparent 0%,transparent 48%,rgba(0,245,255,.03) 48%,rgba(0,245,255,.03) 48.5%,transparent 48.5%,transparent 100%),linear-gradient(120deg,var(--body-gradient-1) 0%,var(--body-gradient-2) 100%)}body.neon-theme .character-sheet{border:none;position:relative;box-shadow:2px 0 #00f5ff4d,-2px 0 #ff006e4d,0 0 30px #ff006e80,0 0 60px #8338ec4d,0 0 90px #00f5ff33,inset 0 0 60px #ff006e0d;background-image:repeating-linear-gradient(0deg,transparent,transparent 1px,rgba(0,0,0,.15) 1px,rgba(0,0,0,.15) 2px),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(255,0,110,.03) 2px,rgba(255,0,110,.03) 4px),repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(131,56,236,.03) 2px,rgba(131,56,236,.03) 4px);padding:2rem}body.neon-theme .character-sheet:before{content:"";position:absolute;inset:0;border:2px solid var(--color-primary);border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 20px #ff006e33,0 0 10px var(--color-secondary),0 0 20px var(--color-primary)}body.neon-theme .floating-action-btn{border:2px solid var(--color-secondary);box-shadow:0 0 15px #00f5ff4d}body.neon-theme #sheet-button,body.neon-theme #campaign-button,body.neon-theme #dice-roller-button,body.neon-theme #theme-button,body.neon-theme #instructions-toggle-button{background:var(--bg-tertiary);color:var(--color-secondary);border-color:var(--color-primary)}body.neon-theme .character-sheet:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.02;mix-blend-mode:overlay}body.neon-theme .stats-box,body.neon-theme .trait-item{border-color:#ff006e80;background:linear-gradient(135deg,var(--bg-primary) 0%,rgba(131,56,236,.1) 100%);box-shadow:1px 0 #00f5ff33,-1px 0 #ff006e33,inset 0 0 20px #ff006e1a,0 0 10px #ff006e33;position:relative}body.neon-theme .stats-box:before,body.neon-theme .trait-item:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--color-secondary) 20%,var(--color-primary) 50%,var(--color-secondary) 80%,transparent 100%);opacity:.6}body.neon-theme h2,body.neon-theme h3{color:var(--color-secondary);text-shadow:1px 0 0 rgba(255,0,110,.5),-1px 0 0 rgba(0,245,255,.5),0 0 10px rgba(0,245,255,.8),0 0 20px rgba(0,245,255,.5),0 2px 4px rgba(255,0,110,.3);letter-spacing:.08em;text-transform:uppercase}body.neon-theme,body.neon-theme input,body.neon-theme textarea,body.neon-theme select,body.neon-theme button,body.neon-theme .btn,body.neon-theme label,body.neon-theme .tab-button{font-family:var(--font-neon)}body.neon-theme .btn-main,body.neon-theme .btn-accent{position:relative;box-shadow:2px 0 #00f5ff4d,-2px 0 #ff006e4d,0 0 20px #ff006e66,0 4px 16px -4px #ff006e99;text-shadow:1px 0 0 rgba(0,245,255,.3),-1px 0 0 rgba(255,0,110,.3);border:1px solid var(--color-secondary)}body.neon-theme .btn-main:hover,body.neon-theme .btn-accent:hover{box-shadow:3px 0 #00f5ff80,-3px 0 #ff006e80,0 0 30px #ff006e99,0 6px 20px -4px #ff006ecc;text-shadow:2px 0 0 rgba(0,245,255,.5),-2px 0 0 rgba(255,0,110,.5)}body.neon-theme input,body.neon-theme textarea,body.neon-theme select{border:1px solid rgba(131,56,236,.4);background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.1) 2px,rgba(0,0,0,.1) 3px)}body.neon-theme input:focus,body.neon-theme textarea:focus,body.neon-theme select:focus{box-shadow:2px 0 #00f5ff66,-2px 0 #ff006e66,0 0 0 3px #ff006e4d,0 0 20px #00f5ff66;border-color:var(--color-secondary)}body.neon-theme:before{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,var(--theme-glow-color-low) 0%,transparent 60%),radial-gradient(circle at 80% 20%,var(--theme-glow-color-low) 0%,transparent 40%);z-index:-1;animation:bg-pulse 15s ease-in-out infinite alternate;pointer-events:none}body.neon-theme h1,body.neon-theme h2,body.neon-theme h3,body.neon-theme h4,body.neon-theme h5,body.neon-theme h6{animation:text-pulse-glow 3s infinite}body.neon-theme .btn:hover,body.neon-theme .btn:focus{animation:pulse-glow 3s infinite}body.delinquent-theme{--theme-glow-color: #ff4500;--theme-glow-color-low: rgba(255, 69, 0, .2);--theme-glow-color-high: rgba(255, 69, 0, .5);--color-primary: #ca4600;--color-primary-dark: #a33800;--color-primary-light: #e8601c;--color-secondary: #000000;--color-accent: #ff4500;--color-gray-50: #1a1008;--color-gray-100: #261a10;--color-gray-200: #332418;--color-gray-300: #4d3624;--color-gray-400: #664d36;--color-gray-500: #8c6e50;--color-gray-600: #b39b85;--color-gray-700: #d9cbb8;--color-gray-800: #f2ebe3;--color-gray-900: #ffffff;--bg-primary: #120a05;--bg-secondary: #1f120a;--bg-tertiary: #2e1b0f;--text-primary: #f2ebe3;--text-secondary: #b39b85;--border-primary: #ca4600;--border-secondary: #4d3624;--shadow-sm: 2px 2px 0 0 rgba(0, 0, 0, 1);--shadow-md: 4px 4px 0 0 rgba(0, 0, 0, 1);--shadow-lg: 6px 6px 0 0 rgba(0, 0, 0, 1);--shadow-xl: 8px 8px 0 0 rgba(0, 0, 0, 1);--body-gradient-1: #0a0502;--body-gradient-2: #140a05;--font-primary: var(--font-frozen);background-image:none;background-color:#000;background-size:100% 100%}body.delinquent-theme .character-sheet{border:none;background:var(--bg-secondary);position:relative;border-radius:2px;padding:2rem;box-shadow:10px 10px #000;border:4px solid var(--color-primary)}body.delinquent-theme .floating-action-btn{border:3px solid var(--border-primary);border-radius:50% 40% 60% 50%/50% 60% 40% 50%;transform:rotate(-3deg);box-shadow:4px 4px #000}body.delinquent-theme .floating-action-btn:hover{transform:rotate(0) scale(1.1);box-shadow:6px 6px #000}body.delinquent-theme #sheet-button,body.delinquent-theme #campaign-button,body.delinquent-theme #dice-roller-button,body.delinquent-theme #theme-button,body.delinquent-theme #instructions-toggle-button{background:#000;color:var(--color-primary)}body.delinquent-theme .stats-box,body.delinquent-theme .trait-item{border-style:solid;border-color:var(--color-primary);border-width:3px 2px 4px 3px;background:var(--bg-tertiary);box-shadow:8px 8px #000;transform:rotate(-1deg);transition:transform .2s;border-radius:5% 25% 4% 20%/20% 4% 25% 3%}body.delinquent-theme .trait-item:nth-child(2n){transform:rotate(1.5deg);border-width:2px 4px 3px 2px;border-radius:20% 4% 25% 5%/4% 25% 5% 20%}body.delinquent-theme .trait-item:nth-child(3n){transform:rotate(-2deg);border-width:4px 3px 2px 4px;border-radius:10% 30% 15% 5%/30% 5% 10% 20%}body.delinquent-theme .stats-box:hover,body.delinquent-theme .trait-item:hover{transform:rotate(0) scale(1.02);border-width:3px}body.delinquent-theme h2,body.delinquent-theme h3{color:var(--color-primary);text-shadow:2px 2px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;text-transform:uppercase;font-weight:900;font-style:italic;transform:skew(-10deg);letter-spacing:.1em}body.delinquent-theme,body.delinquent-theme input,body.delinquent-theme textarea,body.delinquent-theme select,body.delinquent-theme button,body.delinquent-theme .btn,body.delinquent-theme label,body.delinquent-theme .tab-button{font-family:var(--font-frozen)}body.delinquent-theme input,body.delinquent-theme textarea,body.delinquent-theme select{background-color:#000;border-style:solid;border-color:var(--color-gray-600);border-width:2px 4px 3px 2px;color:var(--text-primary);border-radius:4px 20px 6px 25px/15px 4px 25px 8px;font-weight:700;min-height:3rem}body.delinquent-theme input[type=checkbox]{min-height:1.125rem;min-width:1.125rem;width:1.125rem;height:1.125rem;border:2px solid var(--color-gray-600);border-radius:4px;background-color:#000;cursor:pointer;appearance:auto;accent-color:var(--color-primary)}body.delinquent-theme input:focus,body.delinquent-theme textarea:focus,body.delinquent-theme select:focus{box-shadow:6px 6px 0 var(--color-primary);border-color:var(--color-primary);outline:none;background-color:#1a0f05}body.delinquent-theme .tribulation-item input[type=checkbox],body.delinquent-theme .tribulation-item input[type=checkbox]:focus{box-shadow:none;background-color:transparent;border-width:2px;border-style:solid}body.delinquent-theme .btn{border-radius:4px 25px 6px 20px/20px 6px 25px 4px;border-style:solid;border-color:var(--color-primary);border-width:3px 2px 4px 3px;background:#000;color:var(--color-primary);text-transform:uppercase;font-weight:900;letter-spacing:2px;box-shadow:6px 6px 0 var(--color-primary);transform:rotate(1.5deg)}body.delinquent-theme .btn:hover{transform:rotate(0) translate(-2px,-2px);box-shadow:8px 8px 0 var(--color-primary);background:var(--color-primary);color:#000}body.delinquent-theme .floating-panel-content,body.delinquent-theme .modal-content{border-style:solid;border-color:var(--color-primary);border-width:3px 5px 4px 2px;border-radius:2% 25% 1% 5%/25% 1% 5% 2%;box-shadow:10px 10px #000;background-color:var(--bg-secondary)}body.delinquent-theme:before{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,var(--theme-glow-color-low) 0%,transparent 60%),radial-gradient(circle at 80% 20%,var(--theme-glow-color-low) 0%,transparent 40%);z-index:-1;animation:bg-pulse 15s ease-in-out infinite alternate;pointer-events:none}body.delinquent-theme h1,body.delinquent-theme h2,body.delinquent-theme h3,body.delinquent-theme h4,body.delinquent-theme h5,body.delinquent-theme h6{animation:text-pulse-glow 3s infinite}body.delinquent-theme .btn:hover,body.delinquent-theme .btn:focus{animation:pulse-glow 3s infinite}body.corrupted-theme{--theme-glow-color: #a78bfa;--theme-glow-color-low: rgba(167, 139, 250, .2);--theme-glow-color-high: rgba(167, 139, 250, .5);--color-primary: #a78bfa;--color-primary-dark: #7c3aed;--color-primary-light: #c4b5fd;--color-secondary: #ddd6fe;--color-accent: #4c1d95;--color-gray-50: #030207;--color-gray-100: #0c0918;--color-gray-200: #150f28;--color-gray-300: #1e1638;--color-gray-400: #2d2057;--color-gray-500: #4b3888;--color-gray-600: #a78bfa;--color-gray-700: #c4b5fd;--color-gray-800: #e9e3ff;--color-gray-900: #f5f3ff;--bg-primary: #030207;--bg-secondary: #0c0918;--bg-tertiary: #150f28;--text-primary: #f5f3ff;--text-secondary: #a78bfa;--border-primary: #4c1d95;--border-secondary: #1e1638;--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .9), 0 0 8px rgba(167, 139, 250, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .9), 0 0 15px rgba(167, 139, 250, .15);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .95), 0 0 25px rgba(167, 139, 250, .2);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .95), 0 0 40px rgba(167, 139, 250, .25);--body-gradient-1: #000000;--body-gradient-2: #030207;--font-primary: var(--font-frozen);background-color:#000;background-image:linear-gradient(to bottom,#030207,#000)}body.corrupted-theme .character-sheet{border:none;position:relative;background-color:var(--bg-secondary);box-shadow:0 0 40px #000000e6;background-image:none;background-size:100% 100%;letter-spacing:.03em;padding:2rem}body.corrupted-theme .character-sheet:before{content:"";position:absolute;inset:0;border:2px solid rgba(167,139,250,.3);pointer-events:none;border-radius:3px 8px 5px 10px/10px 5px 8px 3px;box-shadow:inset 0 0 20px #a78bfa1a,0 0 15px #a78bfa1a}body.corrupted-theme .floating-action-btn{border-color:var(--color-primary);box-shadow:0 0 15px #7c3aed66}body.corrupted-theme #sheet-button,body.corrupted-theme #campaign-button,body.corrupted-theme #dice-roller-button,body.corrupted-theme #theme-button,body.corrupted-theme #instructions-toggle-button{background:var(--color-secondary);color:var(--bg-primary);border-color:var(--color-primary)}body.corrupted-theme .stats-box,body.corrupted-theme .trait-item{border:1px solid rgba(167,139,250,.2);background:linear-gradient(135deg,#0c0918e6,#150f28b3);box-shadow:inset 0 0 15px #00000080,inset 0 1px #a78bfa1a,0 4px 15px #0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:4px 8px 6px 10px/10px 6px 8px 4px;position:relative;transition:transform .26s ease,opacity .26s ease}body.corrupted-theme .stats-box:hover,body.corrupted-theme .trait-item:hover{border-color:#a78bfa66;box-shadow:inset 0 0 15px #00000080,inset 0 1px #a78bfa33,0 4px 20px #00000080,0 0 25px #a78bfa26;transform:scale(1.01)}body.corrupted-theme .trait-item:nth-child(2n){border-radius:8px 4px 10px 6px/6px 10px 4px 8px}body.corrupted-theme .trait-item:nth-child(3n){border-radius:6px 10px 4px 8px/8px 4px 10px 6px}body.corrupted-theme input,body.corrupted-theme textarea,body.corrupted-theme select{background:linear-gradient(135deg,#0006,#0c09184d);border:1px solid rgba(167,139,250,.15);border-radius:3px 6px 4px 7px/7px 4px 6px 3px;color:var(--text-primary);box-shadow:inset 0 2px 4px #0000004d}body.corrupted-theme input:focus,body.corrupted-theme textarea:focus,body.corrupted-theme select:focus{border-color:#a78bfa66;box-shadow:inset 0 2px 4px #0000004d,0 0 15px #a78bfa33;outline:none}body.corrupted-theme .btn{background:linear-gradient(135deg,#4c1d9599,#7c3aed4d);border:1px solid rgba(167,139,250,.3);border-radius:4px 8px 5px 9px/9px 5px 8px 4px;color:var(--color-gray-800);text-transform:uppercase;font-weight:600;letter-spacing:.1em;box-shadow:0 4px 15px #0006,0 0 10px #a78bfa1a;text-shadow:0 0 8px rgba(167,139,250,.3);transition:transform .26s ease,opacity .26s ease}body.corrupted-theme .btn:hover{background:linear-gradient(135deg,#7c3aed80,#a78bfa4d);border-color:#a78bfa80;box-shadow:0 4px 20px #00000080,0 0 25px #a78bfa40;transform:translateY(-2px)}body.corrupted-theme .floating-panel-content,body.corrupted-theme .modal-content{background-color:var(--bg-secondary);background-image:linear-gradient(150deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);background-size:100% 100%;border:1px solid rgba(167,139,250,.2);border-radius:5px 10px 7px 12px/12px 7px 10px 5px;box-shadow:0 10px 40px #000c,0 0 30px #a78bfa1a,inset 0 1px #a78bfa1a}body.corrupted-theme:before{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,var(--theme-glow-color-low) 0%,transparent 60%),radial-gradient(circle at 80% 20%,var(--theme-glow-color-low) 0%,transparent 40%);z-index:-1;animation:bg-pulse 15s ease-in-out infinite alternate;pointer-events:none}body.corrupted-theme h1,body.corrupted-theme h2,body.corrupted-theme h3,body.corrupted-theme h4,body.corrupted-theme h5,body.corrupted-theme h6{animation:text-pulse-glow 3s infinite}body.corrupted-theme .btn:hover,body.corrupted-theme .btn:focus{animation:pulse-glow 3s infinite}body.college-ruled-theme{--theme-glow-color: #1a237e;--theme-glow-color-low: rgba(26, 35, 126, .1);--theme-glow-color-high: rgba(26, 35, 126, .3);--color-primary: #1a237e;--color-primary-dark: #000051;--color-primary-light: #534bae;--color-secondary: #b71c1c;--color-accent: #3e2723;--color-gray-50: #faf9f6;--color-gray-100: #f5f4f0;--color-gray-200: #e0e0e0;--color-gray-300: #bdbdbd;--color-gray-400: #9e9e9e;--color-gray-500: #757575;--color-gray-600: #616161;--color-gray-700: #424242;--color-gray-800: #212121;--color-gray-900: #000000;--bg-primary: #e8e4d9;--bg-secondary: #dfdbce;--bg-tertiary: #d6d2c4;--text-primary: #212121;--text-secondary: #424242;--border-primary: #9fa8da;--border-secondary: #ef9a9a;--shadow-sm: 1px 1px 2px rgba(0, 0, 0, .1);--shadow-md: 2px 2px 4px rgba(0, 0, 0, .1);--shadow-lg: 3px 3px 6px rgba(0, 0, 0, .15);--shadow-xl: 4px 4px 8px rgba(0, 0, 0, .2);--body-gradient-1: #e8e4d9;--body-gradient-2: #dfdbce;--font-primary: "Caveat", cursive;background-color:var(--bg-primary)}body.college-ruled-theme .character-sheet{border:none;background:var(--bg-primary);position:relative;box-shadow:2px 3px 10px #0000001a;padding:2rem;transform:rotate(.5deg);background-image:linear-gradient(90deg,transparent 4rem,rgba(211,47,47,.3) 4rem,rgba(211,47,47,.3) 4.1rem,transparent 4.1rem),repeating-linear-gradient(0deg,transparent,transparent 1.4rem,rgba(63,81,181,.1) 1.4rem,rgba(63,81,181,.1) 1.5rem)}body.college-ruled-theme h2,body.college-ruled-theme h3{color:var(--color-primary);font-family:Caveat,cursive;font-weight:700;letter-spacing:1px;transform:rotate(-1deg);text-shadow:.5px .5px 0px rgba(0,0,0,.2)}body.college-ruled-theme,body.college-ruled-theme input,body.college-ruled-theme textarea,body.college-ruled-theme select,body.college-ruled-theme button,body.college-ruled-theme .btn,body.college-ruled-theme label,body.college-ruled-theme .tab-button{font-family:Caveat,cursive;color:var(--text-primary);font-size:1.2rem}body.college-ruled-theme .stats-box,body.college-ruled-theme .trait-item{border:2px solid var(--color-gray-500);background:transparent;border-radius:255px 15px 225px/15px 225px 15px 255px;padding:10px;transform:rotate(-1deg);transition:transform .2s;box-shadow:none}body.college-ruled-theme .trait-item:nth-child(2n){transform:rotate(1deg);border-radius:12px 255px 10px 225px/225px 10px 255px 15px}body.college-ruled-theme .trait-item:nth-child(3n){transform:rotate(-1.5deg);border-radius:255px 15px 225px/15px 225px 15px 255px}body.college-ruled-theme .stats-box:hover,body.college-ruled-theme .trait-item:hover{transform:rotate(0) scale(1.02);border-color:var(--color-primary);border-width:3px}body.college-ruled-theme input,body.college-ruled-theme textarea,body.college-ruled-theme select{background:transparent;border:none;border-bottom:2px solid var(--color-gray-400);border-radius:0;font-size:1.4rem;color:var(--color-primary);font-weight:700;padding-bottom:0}body.college-ruled-theme input[type=number],body.college-ruled-theme #trait-fear,body.college-ruled-theme #trait-shiver-sight,body.college-ruled-theme #infrasphere-current,body.college-ruled-theme #infrasphere-max,body.college-ruled-theme .number-spinner-wrapper input[type=number],body.college-ruled-theme .life-points-input input[type=number]{font-size:1.8rem}body.college-ruled-theme input:focus,body.college-ruled-theme textarea:focus,body.college-ruled-theme select:focus{outline:none;border-bottom:3px solid var(--color-primary);background:#1a237e0d}body.college-ruled-theme .btn{border:3px solid var(--color-primary);background:transparent;color:var(--color-primary);border-radius:255px 15px 225px/15px 225px 15px 255px;font-weight:700;font-size:1.2rem;transform:rotate(2deg);box-shadow:2px 2px #0000001a}body.college-ruled-theme .btn:hover{background:var(--color-primary);color:var(--bg-primary);transform:rotate(0);border-radius:15px 225px 15px 255px/255px 15px 225px}body.college-ruled-theme .floating-panel-content,body.college-ruled-theme .modal-content{border:2px solid var(--color-gray-600);border-radius:5px;background-color:var(--bg-secondary);background-image:repeating-linear-gradient(0deg,transparent,transparent 1.4rem,rgba(63,81,181,.05) 1.4rem,rgba(63,81,181,.05) 1.5rem);box-shadow:5px 5px 15px #0000001a}body.college-ruled-theme .roll-btn,body.college-ruled-theme .view-sheet-btn{color:var(--bg-primary);border:2px solid var(--color-primary)}body.college-ruled-theme .floating-action-btn{background:transparent;border:2px solid var(--color-primary);color:var(--color-primary);box-shadow:2px 2px #0000001a;transform:rotate(2deg)}body.college-ruled-theme .sheet-panel-content,body.college-ruled-theme .sheet-panel-content *{font-size:.85rem}body.college-ruled-theme .floating-action-btn:hover{background:var(--color-primary);color:var(--bg-primary);transform:rotate(0)}body.college-ruled-theme #sheet-button,body.college-ruled-theme #campaign-button,body.college-ruled-theme #dice-roller-button,body.college-ruled-theme #theme-button{background-color:transparent}body.college-ruled-theme #sheet-button:hover,body.college-ruled-theme #campaign-button:hover,body.college-ruled-theme #dice-roller-button:hover,body.college-ruled-theme #theme-button:hover,body.college-ruled-theme #instructions-toggle-button:hover{background-color:var(--color-primary)}body.college-ruled-theme #instructions-toggle-button{background-color:transparent}body.college-ruled-theme .theme-option-btn.college-ruled-theme-preview{background-color:#e8e4d9;color:#1a237e;font-family:Caveat,cursive;border:1px solid #9fa8da;border-radius:255px 15px 225px/15px 225px 15px 255px}body.college-ruled-theme:before{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,var(--theme-glow-color-low) 0%,transparent 60%),radial-gradient(circle at 80% 20%,var(--theme-glow-color-low) 0%,transparent 40%);z-index:-1;animation:bg-pulse 15s ease-in-out infinite alternate;pointer-events:none}body.college-ruled-theme h1,body.college-ruled-theme h2,body.college-ruled-theme h3,body.college-ruled-theme h4,body.college-ruled-theme h5,body.college-ruled-theme h6{animation:text-pulse-glow 3s infinite}body.college-ruled-theme .btn:hover,body.college-ruled-theme .btn:focus{animation:pulse-glow 3s infinite}body.college-ruled-inverted-theme{--color-primary: #e0e0e0;--color-primary-dark: #ffffff;--color-primary-light: #b0b0b0;--color-secondary: #ff5252;--color-accent: #90a4ae;--color-gray-50: #121212;--color-gray-100: #1e1e1e;--color-gray-200: #2c2c2c;--color-gray-300: #424242;--color-gray-400: #616161;--color-gray-500: #757575;--color-gray-600: #9e9e9e;--color-gray-700: #bdbdbd;--color-gray-800: #e0e0e0;--color-gray-900: #ffffff;--bg-primary: #121212;--bg-secondary: #1e1e1e;--bg-tertiary: #2c2c2c;--text-primary: #e0e0e0;--text-secondary: #b0b0b0;--border-primary: #37474f;--border-secondary: #b71c1c;--shadow-sm: 1px 1px 2px rgba(255, 255, 255, .05);--shadow-md: 2px 2px 4px rgba(255, 255, 255, .05);--shadow-lg: 3px 3px 6px rgba(255, 255, 255, .1);--shadow-xl: 4px 4px 8px rgba(255, 255, 255, .1);--body-gradient-1: #121212;--body-gradient-2: #1e1e1e;--font-primary: "Caveat", cursive;background-color:var(--bg-primary)}body.college-ruled-inverted-theme select option{background-color:var(--bg-primary);color:var(--text-primary)}body.college-ruled-inverted-theme .character-sheet{border:none;background:var(--bg-primary);position:relative;box-shadow:0 0 15px #ffffff0d;padding:2rem;transform:rotate(.5deg);background-image:linear-gradient(90deg,transparent 4rem,rgba(255,82,82,.3) 4rem,rgba(255,82,82,.3) 4.1rem,transparent 4.1rem),repeating-linear-gradient(0deg,transparent,transparent 1.4rem,rgba(144,202,249,.1) 1.4rem,rgba(144,202,249,.1) 1.5rem)}body.college-ruled-inverted-theme h2,body.college-ruled-inverted-theme h3{color:var(--color-primary);font-family:Caveat,cursive;font-weight:700;letter-spacing:1px;transform:rotate(-1deg);text-shadow:.5px .5px 0px rgba(0,0,0,.5)}body.college-ruled-inverted-theme,body.college-ruled-inverted-theme input,body.college-ruled-inverted-theme textarea,body.college-ruled-inverted-theme select,body.college-ruled-inverted-theme button,body.college-ruled-inverted-theme .btn,body.college-ruled-inverted-theme label,body.college-ruled-inverted-theme .tab-button{font-family:Caveat,cursive;color:var(--text-primary);font-size:1.2rem}body.college-ruled-inverted-theme .stats-box,body.college-ruled-inverted-theme .trait-item{border:2px solid var(--color-gray-500);background:transparent;border-radius:255px 15px 225px/15px 225px 15px 255px;padding:10px;transform:rotate(-1deg);transition:transform .2s;box-shadow:none}body.college-ruled-inverted-theme .trait-item:nth-child(2n){transform:rotate(1deg);border-radius:12px 255px 10px 225px/225px 10px 255px 15px}body.college-ruled-inverted-theme .trait-item:nth-child(3n){transform:rotate(-1.5deg);border-radius:255px 15px 225px/15px 225px 15px 255px}body.college-ruled-inverted-theme .stats-box:hover,body.college-ruled-inverted-theme .trait-item:hover{transform:rotate(0) scale(1.02);border-color:var(--color-primary);border-width:3px;background:#ffffff0d}body.college-ruled-inverted-theme input,body.college-ruled-inverted-theme textarea,body.college-ruled-inverted-theme select{background:transparent;border:none;border-bottom:2px solid var(--color-gray-500);border-radius:0;font-size:1.4rem;color:var(--color-primary);font-weight:700;padding-bottom:0}body.college-ruled-inverted-theme input[type=number],body.college-ruled-inverted-theme #trait-fear,body.college-ruled-inverted-theme #trait-shiver-sight,body.college-ruled-inverted-theme #infrasphere-current,body.college-ruled-inverted-theme #infrasphere-max,body.college-ruled-inverted-theme .number-spinner-wrapper input[type=number],body.college-ruled-inverted-theme .life-points-input input[type=number]{font-size:1.8rem}body.college-ruled-inverted-theme input:focus,body.college-ruled-inverted-theme textarea:focus,body.college-ruled-inverted-theme select:focus{outline:none;border-bottom:3px solid var(--color-primary);background:#ffffff0d}body.college-ruled-inverted-theme .btn{border:3px solid var(--color-primary);background:transparent;color:var(--color-primary);border-radius:255px 15px 225px/15px 225px 15px 255px;font-weight:700;font-size:1.2rem;transform:rotate(2deg);box-shadow:2px 2px #00000080}body.college-ruled-inverted-theme .sheet-panel-content,body.college-ruled-inverted-theme .sheet-panel-content *{font-size:.85rem}body.college-ruled-inverted-theme .roll-btn,body.college-ruled-inverted-theme .view-sheet-btn{color:var(--bg-primary);border:2px solid var(--color-primary)}body.college-ruled-inverted-theme .btn:hover{background:var(--color-primary);color:var(--bg-primary);transform:rotate(0);border-radius:15px 225px 15px 255px/255px 15px 225px}body.college-ruled-inverted-theme .floating-panel-content,body.college-ruled-inverted-theme .modal-content{border:2px solid var(--color-gray-500);border-radius:5px;background-color:var(--bg-secondary);background-image:repeating-linear-gradient(0deg,transparent,transparent 1.4rem,rgba(144,202,249,.05) 1.4rem,rgba(144,202,249,.05) 1.5rem);box-shadow:5px 5px 15px #00000080}body.college-ruled-inverted-theme .floating-action-btn{background:transparent;border:2px solid var(--color-primary);color:var(--color-primary);box-shadow:2px 2px #ffffff1a;transform:rotate(2deg)}body.college-ruled-inverted-theme .floating-action-btn:hover{background:var(--color-primary);color:var(--bg-primary);transform:rotate(0)}body.college-ruled-inverted-theme #sheet-button,body.college-ruled-inverted-theme #campaign-button,body.college-ruled-inverted-theme #dice-roller-button,body.college-ruled-inverted-theme #theme-button{background-color:transparent}body.college-ruled-inverted-theme #sheet-button:hover,body.college-ruled-inverted-theme #campaign-button:hover,body.college-ruled-inverted-theme #dice-roller-button:hover,body.college-ruled-inverted-theme #theme-button:hover,body.college-ruled-inverted-theme #instructions-toggle-button:hover{background-color:var(--color-primary)}body.college-ruled-inverted-theme #instructions-toggle-button{background-color:transparent}body.college-ruled-inverted-theme .theme-option-btn.college-ruled-inverted-theme-preview{background-color:#121212;color:#e0e0e0;font-family:Caveat,cursive;border:1px solid #757575;border-radius:255px 15px 225px/15px 225px 15px 255px}body.college-ruled-inverted-theme:before{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,var(--theme-glow-color-low) 0%,transparent 60%),radial-gradient(circle at 80% 20%,var(--theme-glow-color-low) 0%,transparent 40%);z-index:-1;animation:bg-pulse 15s ease-in-out infinite alternate;pointer-events:none}body.college-ruled-inverted-theme h1,body.college-ruled-inverted-theme h2,body.college-ruled-inverted-theme h3,body.college-ruled-inverted-theme h4,body.college-ruled-inverted-theme h5,body.college-ruled-inverted-theme h6{animation:text-pulse-glow 3s infinite}body.college-ruled-inverted-theme .btn:hover,body.college-ruled-inverted-theme .btn:focus{animation:pulse-glow 3s infinite}body.princess-theme{--theme-glow-color: #FF69B4;--theme-glow-color-low: rgba(255, 105, 180, .2);--theme-glow-color-high: rgba(255, 105, 180, .5);--color-primary: #FF69B4;--color-primary-dark: #FF1493;--color-primary-light: #FFB6C1;--color-secondary: #FFD700;--color-accent: #87CEEB;--color-gray-50: #0f0a1e;--color-gray-100: #1a0b2e;--color-gray-200: #2d1b4e;--color-gray-300: #432c7a;--color-gray-400: #6a4c9c;--color-gray-500: #9d72c3;--color-gray-600: #d4b3e2;--color-gray-700: #e6e6fa;--color-gray-800: #f8f0fc;--color-gray-900: #ffffff;--bg-primary: #0f0a1e;--bg-secondary: #1a0b2e;--bg-tertiary: #2d1b4e;--text-primary: #f8f0fc;--text-secondary: #d4b3e2;--border-primary: #FF69B4;--border-secondary: #FFD700;--shadow-sm: 0 0 8px rgba(255, 105, 180, .4), 0 0 4px rgba(255, 215, 0, .2);--shadow-md: 0 0 15px rgba(255, 105, 180, .5), 0 0 8px rgba(255, 215, 0, .3);--shadow-lg: 0 0 25px rgba(255, 105, 180, .6), 0 0 12px rgba(255, 215, 0, .4);--shadow-xl: 0 0 40px rgba(255, 105, 180, .7), 0 0 20px rgba(255, 215, 0, .5);--body-gradient-1: #090415;--body-gradient-2: #1a0b2e;--font-primary: "Cormorant Garamond", "Georgia", serif;background-image:linear-gradient(120deg,var(--body-gradient-1) 0%,var(--body-gradient-2) 100%)}body.princess-theme .character-sheet{border:none;position:relative;border-radius:24px;box-shadow:0 0 20px #ff69b44d;background:#1a0b2ef2;padding:2rem}body.princess-theme .character-sheet:before{content:"";position:absolute;inset:0;border:3px solid rgba(255,215,0,.6);border-radius:24px;pointer-events:none;box-shadow:inset 0 0 0 2px #ff69b466,inset 0 0 30px #ff69b41a,0 0 20px #ffd70033}body.princess-theme .floating-action-btn{border:2px solid var(--color-secondary);box-shadow:0 0 15px #ff69b480}body.princess-theme #sheet-button,body.princess-theme #campaign-button,body.princess-theme #dice-roller-button,body.princess-theme #theme-button,body.princess-theme #instructions-toggle-button{background:var(--color-accent);color:var(--bg-primary)}body.princess-theme .character-sheet:after{content:"";position:absolute;top:-5px;right:-5px;width:30px;height:30px;background:radial-gradient(circle,rgba(255,215,0,.9) 0%,rgba(255,215,0,.4) 30%,transparent 70%);border-radius:50%;pointer-events:none;box-shadow:0 0 15px #ffd700cc,0 0 30px #ffd70066}body.princess-theme .stats-box,body.princess-theme .trait-item{border:2px solid rgba(255,105,180,.4);border-radius:20px;background:linear-gradient(145deg,#2d1b4ee6,#1a0b2ed9);box-shadow:0 4px 15px #0006,0 0 15px #ff69b426,inset 0 1px #ffd7001a;transition:transform .26s ease,opacity .26s ease}body.princess-theme .stats-box:hover,body.princess-theme .trait-item:hover{transform:translateY(-4px);border-color:#ffd70099;box-shadow:0 8px 25px #00000080,0 0 30px #ff69b440,0 0 20px #ffd70033,inset 0 1px #ffd70033}body.princess-theme h2,body.princess-theme h3{color:var(--color-primary-light);text-shadow:0 0 15px rgba(255,105,180,.7),0 0 30px rgba(255,105,180,.4),0 2px 4px rgba(0,0,0,.5);font-weight:700;letter-spacing:.08em;text-transform:uppercase}body.princess-theme label{color:var(--color-secondary);font-weight:600;text-shadow:0 0 10px rgba(255,215,0,.5),0 0 20px rgba(255,215,0,.25);letter-spacing:.03em}body.princess-theme input,body.princess-theme textarea,body.princess-theme select{border:2px solid rgba(255,105,180,.3);border-radius:12px;background:linear-gradient(135deg,#0f0a1ee6,#1a0b2eb3);color:var(--text-primary);box-shadow:inset 0 2px 4px #0006}body.princess-theme input:focus,body.princess-theme textarea:focus,body.princess-theme select:focus{border-color:#ffd70099;box-shadow:inset 0 2px 4px #0006,0 0 20px #ffd70066,0 0 10px #ff69b44d;outline:none}body.princess-theme .btn{border-radius:25px;background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 100%);color:#fff;border:2px solid rgba(255,215,0,.5);font-weight:700;letter-spacing:.05em;box-shadow:0 4px 15px #0006,0 0 20px #ff69b466;text-shadow:0 2px 4px rgba(0,0,0,.5);transition:transform .26s ease,opacity .26s ease}body.princess-theme .btn:hover{transform:translateY(-3px) scale(1.02);background:linear-gradient(135deg,var(--color-primary) 0%,rgba(255,215,0,.8) 100%);border-color:#ffd700cc;box-shadow:0 6px 25px #00000080,0 0 35px #ffd70080,0 0 20px #ff69b466}body.princess-theme .floating-panel-content,body.princess-theme .modal-content{background:linear-gradient(150deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);border:2px solid rgba(255,215,0,.4);border-radius:20px;box-shadow:0 10px 20px #00000080,0 0 10px #ff69b433}body.princess-theme,body.princess-theme input,body.princess-theme textarea,body.princess-theme select,body.princess-theme button,body.princess-theme .btn,body.princess-theme label,body.princess-theme .tab-button{font-family:var(--font-primary)}body.princess-theme:before{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,var(--theme-glow-color-low) 0%,transparent 60%),radial-gradient(circle at 80% 20%,var(--theme-glow-color-low) 0%,transparent 40%);z-index:-1;animation:bg-pulse 15s ease-in-out infinite alternate;pointer-events:none}body.princess-theme h1,body.princess-theme h2,body.princess-theme h3,body.princess-theme h4,body.princess-theme h5,body.princess-theme h6{animation:text-pulse-glow 3s infinite}body.princess-theme .btn:hover,body.princess-theme .btn:focus{animation:pulse-glow 3s infinite}body.raygun-gothic-theme{--theme-glow-color: #FF6B00;--theme-glow-color-low: rgba(255, 107, 0, .15);--theme-glow-color-high: rgba(255, 107, 0, .4);--color-primary: #FF6B00;--color-primary-dark: #CC5500;--color-primary-light: #FF8533;--color-secondary: #E0DDD8;--color-accent: #FFAA44;--color-gray-50: #0E0D0C;--color-gray-100: #161514;--color-gray-200: #1E1D1C;--color-gray-300: #2A2928;--color-gray-400: #3D3C3A;--color-gray-500: #5C5A58;--color-gray-600: #7A7876;--color-gray-700: #9C9A97;--color-gray-800: #C4C2BF;--color-gray-900: #E0DDD8;--bg-primary: #0E0D0C;--bg-secondary: #161514;--bg-tertiary: #1E1D1C;--text-primary: #E0DDD8;--text-secondary: #FF6B00;--border-primary: #FF6B00;--border-secondary: #2A2928;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .6);--shadow-md: 0 4px 12px rgba(0, 0, 0, .7);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .8);--shadow-xl: 0 16px 40px rgba(0, 0, 0, .9);--body-gradient-1: #0E0D0C;--body-gradient-2: #161514;--font-primary: "Helvetica Neue", "Arial", sans-serif;background-color:#0a0908;background-image:repeating-linear-gradient(0deg,transparent,transparent 100px,rgba(255,107,0,.04) 100px,rgba(255,107,0,.04) 102px),repeating-linear-gradient(90deg,transparent,transparent 100px,rgba(255,107,0,.04) 100px,rgba(255,107,0,.04) 102px),repeating-linear-gradient(-45deg,transparent,transparent 10px,rgba(255,107,0,.03) 10px,rgba(255,107,0,.03) 20px),linear-gradient(180deg,#0e0d0c,#0a0908)}body.raygun-gothic-theme .character-sheet{border:none;position:relative;background-color:#161514;box-shadow:0 8px #0a0908,0 12px 40px #000c,inset 0 2px #ffffff08;border-radius:8px;padding:2rem;background-image:repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(255,255,255,.005) 2px,rgba(255,255,255,.005) 4px),linear-gradient(180deg,#1e1d1c,#161514,#121110)}body.raygun-gothic-theme .character-sheet:before{content:"";position:absolute;inset:0;border:6px solid #2A2928;border-top-color:#3d3c3a;border-left-color:#3d3c3a;border-radius:8px;pointer-events:none;box-shadow:inset 0 0 0 2px #0e0d0c,inset 0 0 0 4px #ff6b0099}body.raygun-gothic-theme .floating-action-btn{border:3px solid #3D3C3A;border-top-color:#4a4847;border-left-color:#4a4847;border-radius:4px;background:linear-gradient(180deg,#3d3c3a,#2a2928,#1e1d1c);box-shadow:0 6px #0e0d0c,0 8px 16px #000000b3,inset 0 1px #ffffff14;transition:all .06s ease;position:relative}body.raygun-gothic-theme .floating-action-btn:hover{background:linear-gradient(180deg,#4a4847,#3d3c3a,#2a2928);border-color:#ff6b00;box-shadow:0 6px #0e0d0c,0 8px 16px #000c,0 0 15px #ff6b004d,inset 0 1px #ffffff1a}body.raygun-gothic-theme .floating-action-btn:active{transform:translateY(5px);background:linear-gradient(180deg,#1e1d1c,#2a2928,#3d3c3a);box-shadow:0 1px #0e0d0c,0 2px 6px #00000080,inset 0 3px 6px #0006}body.raygun-gothic-theme #sheet-button,body.raygun-gothic-theme #campaign-button,body.raygun-gothic-theme #dice-roller-button,body.raygun-gothic-theme #theme-button,body.raygun-gothic-theme #instructions-toggle-button{background:linear-gradient(180deg,#3d3c3a,#2a2928,#1e1d1c);color:var(--color-primary)}body.raygun-gothic-theme .character-sheet:after{content:"";position:absolute;top:20px;left:20px;right:20px;height:4px;background:repeating-linear-gradient(90deg,#ff6b00 0px 20px,#1e1d1c 20px 40px);border-radius:2px;pointer-events:none}body.raygun-gothic-theme .stats-box,body.raygun-gothic-theme .trait-item{border:4px solid #2A2928;border-bottom-color:#3d3c3a;border-right-color:#3d3c3a;background:linear-gradient(180deg,#0e0d0c,#161514);border-radius:4px;box-shadow:inset 0 4px 12px #0009,inset 0 1px #000c,0 2px #3d3c3a;transition:all .15s ease;position:relative}body.raygun-gothic-theme .stats-box:hover,body.raygun-gothic-theme .trait-item:hover{border-color:#ff6b00;box-shadow:inset 0 4px 12px #00000080,inset 0 1px #0009,0 2px #ff6b00,0 0 20px #ff6b0040}body.raygun-gothic-theme h2,body.raygun-gothic-theme h3{color:#ff6b00;text-shadow:2px 2px 0 rgba(0,0,0,.5);font-weight:700;letter-spacing:.15em;text-transform:uppercase}body.raygun-gothic-theme label{color:#9c9a97;letter-spacing:.1em;text-transform:uppercase;font-size:.8em;font-weight:600}body.raygun-gothic-theme input,body.raygun-gothic-theme textarea,body.raygun-gothic-theme select{background:#0a0908;border:3px solid #2A2928;border-bottom-color:#3d3c3a;border-right-color:#3d3c3a;color:#e0ddd8;border-radius:2px;box-shadow:inset 0 4px 8px #000000b3,inset 0 0 0 1px #00000080}body.raygun-gothic-theme input:focus,body.raygun-gothic-theme textarea:focus,body.raygun-gothic-theme select:focus{border-color:#ff6b00;background:#0e0d0c;box-shadow:inset 0 4px 8px #0009,inset 0 0 0 1px #ff6b004d,0 0 15px #ff6b0033;outline:none}body.raygun-gothic-theme .btn{background:linear-gradient(180deg,#ff8533,#ff6b00 40%,#c50);border:3px solid #FF8533;border-bottom-color:#993d00;border-right-color:#993d00;color:#0e0d0c;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-radius:4px;box-shadow:0 6px #662900,0 8px 16px #0009,inset 0 1px #fff3;text-shadow:none;transition:all .06s ease}body.raygun-gothic-theme .btn:hover{background:linear-gradient(180deg,#ffa066,#ff8533 40%,#ff6b00);box-shadow:0 6px #662900,0 8px 20px #000000b3,0 0 25px #ff6b0066,inset 0 1px #ffffff4d}body.raygun-gothic-theme .btn:active{transform:translateY(5px);background:linear-gradient(180deg,#c50,#ff6b00 60%,#ff8533);box-shadow:0 1px #662900,0 2px 6px #00000080,inset 0 3px 6px #0000004d}body.raygun-gothic-theme .floating-panel-content,body.raygun-gothic-theme .modal-content{background-color:#161514;background-image:repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(255,255,255,.003) 2px,rgba(255,255,255,.003) 4px),linear-gradient(180deg,#1e1d1c,#161514,#0e0d0c);border:6px solid #2A2928;border-top-color:#3d3c3a;border-left-color:#3d3c3a;border-radius:6px;box-shadow:0 8px #0a0908,0 12px 40px #000000e6,inset 0 0 0 2px #0e0d0c,inset 0 0 0 4px #ff6b0080}body.raygun-gothic-theme #armor,body.raygun-light-theme #armor{opacity:1;visibility:visible;display:block;background-color:#fff3;color:var(--text-primary)}body.raygun-gothic-theme,body.raygun-gothic-theme input,body.raygun-gothic-theme textarea,body.raygun-gothic-theme select,body.raygun-gothic-theme button,body.raygun-gothic-theme .btn,body.raygun-gothic-theme label,body.raygun-gothic-theme .tab-button{font-family:Helvetica Neue,Arial,Roboto,sans-serif}body.raygun-gothic-theme:before{display:none}body.raygun-gothic-theme h1,body.raygun-gothic-theme h2,body.raygun-gothic-theme h3,body.raygun-gothic-theme h4,body.raygun-gothic-theme h5,body.raygun-gothic-theme h6{animation:none}body.raygun-gothic-theme .btn:hover,body.raygun-gothic-theme .btn:focus{animation:none}body.raygun-light-theme{--theme-glow-color: #FF6B00;--theme-glow-color-low: rgba(255, 107, 0, .1);--theme-glow-color-high: rgba(255, 107, 0, .3);--color-primary: #FF6B00;--color-primary-dark: #CC5500;--color-primary-light: #FF8533;--color-secondary: #1E1D1C;--color-accent: #FFAA44;--color-gray-50: #F5F4F2;--color-gray-100: #ECEAE8;--color-gray-200: #DEDCDA;--color-gray-300: #CFCDCB;--color-gray-400: #A8A6A4;--color-gray-500: #7A7876;--color-gray-600: #5C5A58;--color-gray-700: #3D3C3A;--color-gray-800: #2A2928;--color-gray-900: #1E1D1C;--bg-primary: #F5F4F2;--bg-secondary: #ECEAE8;--bg-tertiary: #DEDCDA;--text-primary: #1E1D1C;--text-secondary: #CC5500;--border-primary: #FF6B00;--border-secondary: #CFCDCB;--shadow-sm: 0 2px 4px rgba(30, 29, 28, .1);--shadow-md: 0 4px 12px rgba(30, 29, 28, .15);--shadow-lg: 0 8px 24px rgba(30, 29, 28, .2);--shadow-xl: 0 16px 40px rgba(30, 29, 28, .25);--body-gradient-1: #F5F4F2;--body-gradient-2: #ECEAE8;--font-primary: "Helvetica Neue", "Arial", "Roboto", sans-serif;background-color:#f0efed;background-image:repeating-linear-gradient(0deg,transparent,transparent 100px,rgba(0,0,0,.03) 100px,rgba(0,0,0,.03) 102px),repeating-linear-gradient(90deg,transparent,transparent 100px,rgba(0,0,0,.03) 100px,rgba(0,0,0,.03) 102px),repeating-linear-gradient(-45deg,transparent,transparent 10px,rgba(255,107,0,.04) 10px,rgba(255,107,0,.04) 20px),linear-gradient(180deg,#f5f4f2,#eceae8)}body.raygun-light-theme .character-sheet{border:none;position:relative;background-color:#eceae8;box-shadow:0 8px #cfcdcb,0 12px 40px #1e1d1c33,inset 0 2px #ffffff80;border-radius:8px;padding:2rem;background-image:repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(255,255,255,.3) 2px,rgba(255,255,255,.3) 4px),linear-gradient(180deg,#f5f4f2,#eceae8,#dedcda)}body.raygun-light-theme .character-sheet:before{content:"";position:absolute;inset:0;border:6px solid #CFCDCB;border-top-color:#dedcda;border-left-color:#dedcda;border-radius:8px;pointer-events:none;box-shadow:inset 0 0 0 2px #f5f4f2,inset 0 0 0 4px #ff6b00}body.raygun-light-theme .floating-action-btn{border:3px solid #CFCDCB;border-top-color:#dedcda;border-left-color:#dedcda;border-radius:4px;background:linear-gradient(180deg,#f5f4f2,#eceae8,#dedcda);box-shadow:0 6px #a8a6a4,0 8px 16px #1e1d1c26,inset 0 1px #fffc;transition:all .06s ease;position:relative}body.raygun-light-theme .floating-action-btn:hover{background:linear-gradient(180deg,#fff,#f5f4f2,#eceae8);border-color:#ff6b00;box-shadow:0 6px #a8a6a4,0 8px 16px #1e1d1c33,0 0 15px #ff6b0033,inset 0 1px #ffffffe6}body.raygun-light-theme .floating-action-btn:active{transform:translateY(5px);background:linear-gradient(180deg,#dedcda,#eceae8,#f5f4f2);box-shadow:0 1px #a8a6a4,0 2px 6px #1e1d1c1a,inset 0 3px 6px #0000001a}body.raygun-light-theme #sheet-button,body.raygun-light-theme #campaign-button,body.raygun-light-theme #dice-roller-button,body.raygun-light-theme #theme-button,body.raygun-light-theme #instructions-toggle-button{background:linear-gradient(180deg,#3d3c3a,#2a2928,#1e1d1c);color:#e0ddd8;box-shadow:0 6px #0e0d0c,0 8px 16px #1e1d1c40,inset 0 1px #ffffff14}body.raygun-light-theme .character-sheet:after{content:"";position:absolute;top:20px;left:20px;right:20px;height:4px;background:repeating-linear-gradient(90deg,#ff6b00 0px 20px,#eceae8 20px 40px);border-radius:2px;pointer-events:none}body.raygun-light-theme .stats-box,body.raygun-light-theme .trait-item{border:4px solid #CFCDCB;border-bottom-color:#dedcda;border-right-color:#dedcda;background:linear-gradient(180deg,#f5f4f2,#eceae8);border-radius:4px;box-shadow:inset 0 4px 12px #1e1d1c14,inset 0 1px #0000000d,0 2px #dedcda;transition:all .15s ease;position:relative}body.raygun-light-theme .stats-box:hover,body.raygun-light-theme .trait-item:hover{border-color:#ff6b00;box-shadow:inset 0 4px 12px #1e1d1c0f,inset 0 1px #00000008,0 2px #ff6b00,0 0 20px #ff6b0026}body.raygun-light-theme h2,body.raygun-light-theme h3{color:#c50;text-shadow:1px 1px 0 rgba(255,255,255,.8);font-weight:700;letter-spacing:.15em;text-transform:uppercase}body.raygun-light-theme label{color:#5c5a58;letter-spacing:.1em;text-transform:uppercase;font-size:.8em;font-weight:600}body.raygun-light-theme input,body.raygun-light-theme textarea,body.raygun-light-theme select{background:#f5f4f2;border:3px solid #CFCDCB;border-bottom-color:#dedcda;border-right-color:#dedcda;color:#1e1d1c;border-radius:2px;box-shadow:inset 0 4px 8px #1e1d1c14,inset 0 0 0 1px #00000008}body.raygun-light-theme input:focus,body.raygun-light-theme textarea:focus,body.raygun-light-theme select:focus{border-color:#ff6b00;background:#fff;box-shadow:inset 0 4px 8px #1e1d1c0d,inset 0 0 0 1px #ff6b0033,0 0 12px #ff6b0026;outline:none}body.raygun-light-theme .btn{background:linear-gradient(180deg,#ff8533,#ff6b00 40%,#c50);border:3px solid #FF8533;border-bottom-color:#993d00;border-right-color:#993d00;color:#0e0d0c;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-radius:4px;box-shadow:0 6px #662900,0 8px 16px #1e1d1c33,inset 0 1px #fff3;text-shadow:none;transition:all .06s ease}body.raygun-light-theme .btn:hover{background:linear-gradient(180deg,#ffa066,#ff8533 40%,#ff6b00);box-shadow:0 6px #662900,0 8px 20px #1e1d1c40,0 0 20px #ff6b004d,inset 0 1px #ffffff4d}body.raygun-light-theme .btn:active{transform:translateY(5px);background:linear-gradient(180deg,#c50,#ff6b00 60%,#ff8533);box-shadow:0 1px #662900,0 2px 6px #1e1d1c26,inset 0 3px 6px #0003}body.raygun-light-theme .floating-panel-content,body.raygun-light-theme .modal-content{background-color:#eceae8;background-image:repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(255,255,255,.3) 2px,rgba(255,255,255,.3) 4px),linear-gradient(180deg,#f5f4f2,#eceae8,#dedcda);border:6px solid #CFCDCB;border-top-color:#dedcda;border-left-color:#dedcda;border-radius:6px;box-shadow:0 8px #a8a6a4,0 12px 40px #1e1d1c40,inset 0 0 0 2px #f5f4f2,inset 0 0 0 4px #ff6b00}body.raygun-light-theme,body.raygun-light-theme input,body.raygun-light-theme textarea,body.raygun-light-theme select,body.raygun-light-theme button,body.raygun-light-theme .btn,body.raygun-light-theme label,body.raygun-light-theme .tab-button{font-family:Helvetica Neue,Arial,Roboto,sans-serif}body.raygun-light-theme:before{display:none}body.raygun-light-theme h1,body.raygun-light-theme h2,body.raygun-light-theme h3,body.raygun-light-theme h4,body.raygun-light-theme h5,body.raygun-light-theme h6{animation:none}body.raygun-light-theme .btn:hover,body.raygun-light-theme .btn:focus{animation:none}body.espionage-theme{--theme-glow-color: #8B0000;--theme-glow-color-low: rgba(139, 0, 0, .2);--theme-glow-color-high: rgba(139, 0, 0, .5);--color-primary: #8B0000;--color-primary-dark: #5C0000;--color-primary-light: #B22222;--color-secondary: #1A1A1A;--color-accent: #B22222;--color-gray-50: #0A0A0A;--color-gray-100: #141414;--color-gray-200: #1F1F1F;--color-gray-300: #2A2A2A;--color-gray-400: #4A4A4A;--color-gray-500: #6B6B6B;--color-gray-600: #9A9A9A;--color-gray-700: #BABABA;--color-gray-800: #DADADA;--color-gray-900: #F0F0F0;--bg-primary: #0A0A0A;--bg-secondary: #141414;--bg-tertiary: #1F1F1F;--text-primary: #E0E0E0;--text-secondary: #8B8B8B;--border-primary: #8B0000;--border-secondary: #2A2A2A;--shadow-sm: 0 1px 3px 0 rgba(139, 0, 0, .3);--shadow-md: 0 3px 10px -2px rgba(139, 0, 0, .4);--shadow-lg: 0 6px 20px -4px rgba(139, 0, 0, .5);--shadow-xl: 0 12px 32px -8px rgba(139, 0, 0, .6);--body-gradient-1: #050505;--body-gradient-2: #0A0A0A;--font-primary: "Courier New", "Courier", monospace;background-image:radial-gradient(ellipse at 50% 50%,transparent 0%,rgba(0,0,0,.9) 80%),repeating-linear-gradient(0deg,transparent 0px,transparent 40px,rgba(139,0,0,.02) 40px,rgba(139,0,0,.02) 42px),linear-gradient(180deg,var(--body-gradient-1) 0%,var(--body-gradient-2) 100%)}body.espionage-theme .character-sheet{border:none;position:relative;background-color:var(--bg-secondary);box-shadow:0 0 30px #8b000033,inset 0 0 40px #0009;background-image:repeating-linear-gradient(0deg,transparent 0px,transparent 20px,rgba(139,0,0,.01) 20px,rgba(139,0,0,.01) 21px);padding:2rem}body.espionage-theme .character-sheet:before{content:"";position:absolute;inset:0;border:2px solid rgba(139,0,0,.5);pointer-events:none;box-shadow:inset 0 0 20px #8b00001a}body.espionage-theme .floating-action-btn{background:var(--bg-secondary);border-color:var(--color-primary);box-shadow:0 0 10px #8b00004d}body.espionage-theme #sheet-button,body.espionage-theme #campaign-button,body.espionage-theme #dice-roller-button,body.espionage-theme #theme-button,body.espionage-theme #instructions-toggle-button{background:var(--bg-secondary);border-color:var(--color-primary);color:var(--text-primary)}body.espionage-theme .stats-box,body.espionage-theme .trait-item{border:1px solid rgba(139,0,0,.3);background:linear-gradient(135deg,#0a0a0ae6,#141414cc);box-shadow:0 2px 8px #00000080;transition:transform .26s ease,opacity .26s ease}body.espionage-theme .stats-box:hover,body.espionage-theme .trait-item:hover{border-color:#8b000099;box-shadow:0 4px 15px #0009,0 0 10px #8b000026;transform:scale(1.01)}body.espionage-theme h2,body.espionage-theme h3{color:var(--color-primary);text-transform:uppercase;letter-spacing:.15em;font-weight:700;text-shadow:0 0 5px rgba(139,0,0,.3)}body.espionage-theme label{color:var(--color-gray-600);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}body.espionage-theme input,body.espionage-theme textarea,body.espionage-theme select{background:#0a0a0acc;border:1px solid rgba(139,0,0,.25);color:var(--text-primary);box-shadow:inset 0 2px 4px #0006}body.espionage-theme input:focus,body.espionage-theme textarea:focus,body.espionage-theme select:focus{border-color:#8b000099;box-shadow:inset 0 2px 4px #0006,0 0 8px #8b000033;outline:none}body.espionage-theme .btn{background:linear-gradient(135deg,#8b00004d,#5c000066);border:1px solid rgba(139,0,0,.5);color:var(--text-primary);text-transform:uppercase;letter-spacing:.1em;font-weight:600;box-shadow:0 2px 5px #0006;transition:transform .26s ease,opacity .26s ease}body.espionage-theme .btn:hover{background:linear-gradient(135deg,#8b000080,#5c000099);border-color:#8b0000b3;box-shadow:0 4px 10px #00000080,0 0 8px #8b000033;transform:translateY(-2px)}body.espionage-theme .floating-panel-content,body.espionage-theme .modal-content{background:linear-gradient(150deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);border:1px solid rgba(139,0,0,.4);box-shadow:0 5px 20px #000000b3,0 0 10px #8b00001a}body.espionage-theme,body.espionage-theme input,body.espionage-theme textarea,body.espionage-theme select,body.espionage-theme button,body.espionage-theme .btn,body.espionage-theme label,body.espionage-theme .tab-button{font-family:Courier New,Courier,monospace}body.mystic-theme{--theme-glow-color: #9B59B6;--theme-glow-color-low: rgba(155, 89, 182, .2);--theme-glow-color-high: rgba(155, 89, 182, .5);--color-primary: #9B59B6;--color-primary-dark: #7D3C98;--color-primary-light: #BB8FCE;--color-secondary: #D8BFD8;--color-accent: #E8DAEF;--color-gray-50: #0F0A14;--color-gray-100: #1A1221;--color-gray-200: #261A30;--color-gray-300: #352440;--color-gray-400: #4D3660;--color-gray-500: #7A5C8F;--color-gray-600: #A88FBD;--color-gray-700: #C9B8D8;--color-gray-800: #E4DCE9;--color-gray-900: #F5F0F8;--bg-primary: #0F0A14;--bg-secondary: #1A1221;--bg-tertiary: #261A30;--text-primary: #F5F0F8;--text-secondary: #A88FBD;--border-primary: #9B59B6;--border-secondary: #352440;--shadow-sm: 0 1px 3px 0 rgba(155, 89, 182, .3), 0 0 8px rgba(155, 89, 182, .15);--shadow-md: 0 3px 10px -2px rgba(155, 89, 182, .4), 0 0 15px rgba(155, 89, 182, .2);--shadow-lg: 0 6px 20px -4px rgba(155, 89, 182, .5), 0 0 25px rgba(155, 89, 182, .25);--shadow-xl: 0 12px 32px -8px rgba(155, 89, 182, .6), 0 0 40px rgba(155, 89, 182, .3);--body-gradient-1: #080510;--body-gradient-2: #0F0A14;background-image:radial-gradient(ellipse at 50% 50%,rgba(155,89,182,.1) 0%,transparent 50%),radial-gradient(circle at 20% 30%,rgba(232,218,239,.08) 0%,transparent 20%),radial-gradient(circle at 80% 20%,rgba(216,191,216,.06) 0%,transparent 15%),radial-gradient(circle at 60% 70%,rgba(232,218,239,.05) 0%,transparent 18%),radial-gradient(ellipse at 50% 50%,transparent 0%,rgba(8,5,16,.95) 75%),linear-gradient(135deg,var(--body-gradient-1) 0%,#1A0F20 50%,var(--body-gradient-2) 100%)}body.mystic-theme .character-sheet{border:none;position:relative;background-color:var(--bg-secondary);box-shadow:0 0 40px #9b59b633,0 0 80px #d8bfd814,inset 0 0 40px #00000080;background-image:radial-gradient(ellipse at 50% 0%,rgba(155,89,182,.05) 0%,transparent 40%),radial-gradient(circle at 20% 80%,rgba(232,218,239,.03) 0%,transparent 30%);padding:2rem}body.mystic-theme .character-sheet:before{content:"";position:absolute;inset:0;border:2px solid rgba(155,89,182,.4);pointer-events:none;box-shadow:inset 0 0 0 1px #d8bfd833,inset 0 0 25px #9b59b61a}body.mystic-theme .floating-action-btn{background:var(--bg-secondary);border-color:var(--color-primary);box-shadow:0 0 12px #9b59b659}body.mystic-theme #sheet-button,body.mystic-theme #campaign-button,body.mystic-theme #dice-roller-button,body.mystic-theme #theme-button,body.mystic-theme #instructions-toggle-button{background:linear-gradient(135deg,#9b59b640,#7d3c9859);border-color:var(--color-primary);color:var(--text-primary);box-shadow:0 0 10px #9b59b64d}body.mystic-theme .stats-box,body.mystic-theme .trait-item{border:2px solid rgba(155,89,182,.3);background:linear-gradient(135deg,#0f0a14e6,#1a1221cc);box-shadow:0 4px 15px #00000080,inset 0 1px #d8bfd81a,0 0 12px #9b59b614;transition:transform .26s ease,opacity .26s ease}body.mystic-theme .stats-box:hover,body.mystic-theme .trait-item:hover{border-color:#9b59b699;box-shadow:0 6px 20px #0009,0 0 20px #9b59b633,inset 0 1px #d8bfd826;transform:scale(1.01)}body.mystic-theme h2,body.mystic-theme h3{color:var(--color-secondary);text-shadow:0 0 12px rgba(155,89,182,.5),0 2px 4px rgba(0,0,0,.4);letter-spacing:.05em;font-weight:600}body.mystic-theme label{color:var(--color-gray-600);letter-spacing:.03em}body.mystic-theme input,body.mystic-theme textarea,body.mystic-theme select{background:linear-gradient(135deg,#0f0a14cc,#1a122199);border:1px solid rgba(155,89,182,.3);color:var(--text-primary);box-shadow:inset 0 2px 4px #0006}body.mystic-theme input:focus,body.mystic-theme textarea:focus,body.mystic-theme select:focus{border-color:#9b59b699;box-shadow:inset 0 2px 4px #0006,0 0 12px #9b59b640;outline:none}body.mystic-theme .btn{background:linear-gradient(135deg,#9b59b659,#7d3c9873);border:2px solid rgba(155,89,182,.5);color:var(--text-primary);font-weight:600;letter-spacing:.03em;box-shadow:0 2px 8px #0006,0 0 8px #9b59b626;transition:transform .26s ease,opacity .26s ease}body.mystic-theme .btn:hover{background:linear-gradient(135deg,#9b59b680,#bb8fce66);border-color:#9b59b6b3;box-shadow:0 4px 15px #00000080,0 0 15px #9b59b64d;transform:translateY(-2px)}body.mystic-theme .floating-panel-content,body.mystic-theme .modal-content{background:linear-gradient(150deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);border:2px solid rgba(155,89,182,.4);box-shadow:0 5px 25px #000000b3,0 0 15px #9b59b61f}body.mystic-theme:before{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,var(--theme-glow-color-low) 0%,transparent 60%),radial-gradient(circle at 80% 20%,var(--theme-glow-color-low) 0%,transparent 40%);z-index:-1;animation:bg-pulse 15s ease-in-out infinite alternate;pointer-events:none}body.mystic-theme h1,body.mystic-theme h2,body.mystic-theme h3,body.mystic-theme h4,body.mystic-theme h5,body.mystic-theme h6{animation:text-pulse-glow 3s infinite}body.mystic-theme .btn:hover,body.mystic-theme .btn:focus{animation:pulse-glow 3s infinite}body.serpentine-theme{--theme-glow-color: #2E8B57;--theme-glow-color-low: rgba(46, 139, 87, .2);--theme-glow-color-high: rgba(46, 139, 87, .5);--color-primary: #2E8B57;--color-primary-dark: #1E6040;--color-primary-light: #3CB371;--color-secondary: #6B8E23;--color-accent: #9ACD32;--color-gray-50: #080C08;--color-gray-100: #101810;--color-gray-200: #182418;--color-gray-300: #203420;--color-gray-400: #3D5A3D;--color-gray-500: #5E8A5E;--color-gray-600: #8BB88B;--color-gray-700: #B0D4B0;--color-gray-800: #D4E8D4;--color-gray-900: #F0F8F0;--bg-primary: #080C08;--bg-secondary: #101810;--bg-tertiary: #182418;--text-primary: #F0F8F0;--text-secondary: #8BB88B;--border-primary: #2E8B57;--border-secondary: #203420;--shadow-sm: 0 1px 3px 0 rgba(46, 139, 87, .4), 0 0 6px rgba(154, 205, 50, .1);--shadow-md: 0 3px 10px -2px rgba(46, 139, 87, .5), 0 0 12px rgba(154, 205, 50, .15);--shadow-lg: 0 6px 20px -4px rgba(46, 139, 87, .6), 0 0 20px rgba(154, 205, 50, .2);--shadow-xl: 0 12px 32px -8px rgba(46, 139, 87, .7), 0 0 30px rgba(154, 205, 50, .25);--body-gradient-1: #040604;--body-gradient-2: #080C08;background-image:radial-gradient(ellipse at 30% 10%,rgba(154,205,50,.04) 0%,transparent 40%),radial-gradient(ellipse at 70% 20%,rgba(46,139,87,.03) 0%,transparent 35%),radial-gradient(ellipse at 50% 50%,transparent 0%,rgba(4,6,4,.97) 70%),repeating-linear-gradient(135deg,transparent 0px,transparent 40px,rgba(46,139,87,.015) 40px,rgba(46,139,87,.015) 42px),repeating-linear-gradient(45deg,transparent 0px,transparent 60px,rgba(30,96,64,.02) 60px,rgba(30,96,64,.02) 62px),linear-gradient(180deg,#0A120A 0%,var(--body-gradient-1) 30%,#030503 100%)}body.serpentine-theme .character-sheet{border:none;position:relative;background-color:var(--bg-secondary);box-shadow:0 0 50px #2e8b5740,0 0 100px #9acd3214,inset 0 0 60px #0009;background-image:radial-gradient(ellipse 60% 40% at 50% 0%,rgba(46,139,87,.12) 0%,transparent 70%),radial-gradient(ellipse 60% 40% at 0% 50%,rgba(46,139,87,.08) 0%,transparent 70%),radial-gradient(ellipse 60% 40% at 100% 50%,rgba(46,139,87,.08) 0%,transparent 70%),radial-gradient(ellipse 60% 40% at 50% 100%,rgba(154,205,50,.06) 0%,transparent 70%),repeating-radial-gradient(ellipse 25px 20px at center,transparent 0px,transparent 8px,rgba(46,139,87,.03) 9px,rgba(46,139,87,.05) 10px,transparent 11px);background-size:100% 100%,100% 100%,100% 100%,100% 100%,50px 40px;padding:2rem;overflow:hidden}body.serpentine-theme .character-sheet:before{content:"";position:absolute;inset:6px;border:3px solid rgba(46,139,87,.5);border-radius:4px;pointer-events:none;box-shadow:inset 0 0 0 1px #9acd3233,inset 0 0 30px #2e8b571a,0 0 0 1px #1e60404d}body.serpentine-theme .character-sheet:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:5;background:radial-gradient(ellipse at 0% 0%,rgba(46,139,87,.3) 0%,transparent 15%),radial-gradient(ellipse at 5% 8%,rgba(154,205,50,.15) 0%,transparent 8%),radial-gradient(ellipse at 100% 0%,rgba(46,139,87,.3) 0%,transparent 15%),radial-gradient(ellipse at 95% 8%,rgba(154,205,50,.15) 0%,transparent 8%),radial-gradient(ellipse at 0% 100%,rgba(46,139,87,.25) 0%,transparent 12%),radial-gradient(ellipse at 6% 92%,rgba(154,205,50,.12) 0%,transparent 6%),radial-gradient(ellipse at 100% 100%,rgba(46,139,87,.25) 0%,transparent 12%),radial-gradient(ellipse at 94% 92%,rgba(154,205,50,.12) 0%,transparent 6%)}body.serpentine-theme .floating-action-btn{background:var(--bg-secondary);border-color:var(--color-primary);box-shadow:0 0 12px #2e8b5759}body.serpentine-theme #sheet-button,body.serpentine-theme #campaign-button,body.serpentine-theme #dice-roller-button,body.serpentine-theme #theme-button,body.serpentine-theme #instructions-toggle-button{background:linear-gradient(135deg,#2e8b5740,#1e604059);border-color:var(--color-primary);color:var(--text-primary);box-shadow:0 0 10px #2e8b574d}body.serpentine-theme .stats-box,body.serpentine-theme .trait-item{border:2px solid rgba(46,139,87,.4);border-radius:3px;background:repeating-radial-gradient(ellipse 20px 16px at center,transparent 0px,transparent 6px,rgba(46,139,87,.02) 7px,transparent 8px),linear-gradient(135deg,#080c08f2,#101810e6);background-size:40px 32px,100% 100%;box-shadow:0 4px 15px #0009,inset 0 1px #9acd321a,0 0 12px #2e8b571a;transition:transform .26s ease,opacity .26s ease}body.serpentine-theme .stats-box:hover,body.serpentine-theme .trait-item:hover{border-color:#9acd3280;box-shadow:0 6px 25px #000000b3,0 0 20px #2e8b5740,0 0 30px #9acd321a,inset 0 1px #9acd3226;transform:scale(1.01)}body.serpentine-theme h2,body.serpentine-theme h3{color:#9acd32;text-shadow:0 0 15px rgba(154,205,50,.6),0 0 30px rgba(46,139,87,.3),0 2px 4px rgba(0,0,0,.7);letter-spacing:.05em;font-weight:600}body.serpentine-theme label{color:var(--color-gray-600)}body.serpentine-theme input,body.serpentine-theme textarea,body.serpentine-theme select{background:linear-gradient(135deg,#0a100ccc,#121a1599);border:1px solid rgba(46,139,87,.3);color:var(--text-primary);box-shadow:inset 0 2px 4px #0006}body.serpentine-theme input:focus,body.serpentine-theme textarea:focus,body.serpentine-theme select:focus{border-color:#2e8b5799;box-shadow:inset 0 2px 4px #0006,0 0 12px #2e8b5740;outline:none}body.serpentine-theme .btn{background:linear-gradient(180deg,#2e8b5766,#1e604080);border:2px solid rgba(46,139,87,.5);border-radius:3px;color:var(--text-primary);font-weight:600;box-shadow:0 3px 10px #00000080,0 0 10px #2e8b5733,inset 0 1px #9acd321a;transition:transform .26s ease,opacity .26s ease}body.serpentine-theme .btn:hover{background:linear-gradient(180deg,#2e8b578c,#9acd324d);border-color:#9acd3299;box-shadow:0 5px 20px #0009,0 0 20px #2e8b5759,0 0 30px #9acd3226,inset 0 1px #9acd3233;transform:translateY(-2px)}body.serpentine-theme .floating-panel-content,body.serpentine-theme .modal-content{background:repeating-radial-gradient(ellipse 30px 24px at center,transparent 0px,transparent 10px,rgba(46,139,87,.015) 11px,transparent 12px),linear-gradient(180deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%);background-size:60px 48px,100% 100%;border:3px solid rgba(46,139,87,.5);border-radius:4px;box-shadow:0 8px 40px #000c,0 0 20px #2e8b5726,inset 0 0 40px #0000004d}body.serpentine-theme:before{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,var(--theme-glow-color-low) 0%,transparent 60%),radial-gradient(circle at 80% 20%,var(--theme-glow-color-low) 0%,transparent 40%);z-index:-1;animation:bg-pulse 15s ease-in-out infinite alternate;pointer-events:none}body.serpentine-theme h1,body.serpentine-theme h2,body.serpentine-theme h3,body.serpentine-theme h4,body.serpentine-theme h5,body.serpentine-theme h6{animation:text-pulse-glow 3s infinite}body.serpentine-theme .btn:hover,body.serpentine-theme .btn:focus{animation:pulse-glow 3s infinite}body.smoldering-theme{--theme-glow-color: #FF4500;--theme-glow-color-low: rgba(255, 69, 0, .2);--theme-glow-color-high: rgba(255, 69, 0, .5);--color-primary: #8B2500;--color-primary-dark: #5C1800;--color-primary-light: #B33000;--color-secondary: #4A4A4A;--color-accent: #FF4500;--color-gray-50: #0D0D0D;--color-gray-100: #171717;--color-gray-200: #212121;--color-gray-300: #2B2B2B;--color-gray-400: #404040;--color-gray-500: #5C5C5C;--color-gray-600: #808080;--color-gray-700: #A0A0A0;--color-gray-800: #C0C0C0;--color-gray-900: #E0E0E0;--bg-primary: #0D0D0D;--bg-secondary: #171717;--bg-tertiary: #212121;--text-primary: #D0D0D0;--text-secondary: #808080;--border-primary: #8B2500;--border-secondary: #2B2B2B;--shadow-sm: 0 1px 3px 0 rgba(139, 37, 0, .5), 0 0 5px rgba(255, 69, 0, .1);--shadow-md: 0 3px 10px -2px rgba(139, 37, 0, .6), 0 0 10px rgba(255, 69, 0, .15);--shadow-lg: 0 6px 20px -4px rgba(139, 37, 0, .7), 0 0 20px rgba(255, 69, 0, .2);--shadow-xl: 0 12px 32px -8px rgba(139, 37, 0, .8), 0 0 35px rgba(255, 69, 0, .25);--body-gradient-1: #080808;--body-gradient-2: #0D0D0D;background-image:radial-gradient(ellipse at 50% 100%,rgba(255,69,0,.12) 0%,transparent 40%),radial-gradient(ellipse at 30% 90%,rgba(139,37,0,.08) 0%,transparent 25%),radial-gradient(ellipse at 70% 95%,rgba(255,69,0,.06) 0%,transparent 20%),radial-gradient(circle at 20% 20%,rgba(100,100,100,.03) 0%,transparent 15%),radial-gradient(circle at 80% 40%,rgba(80,80,80,.02) 0%,transparent 10%),radial-gradient(ellipse at 50% 50%,transparent 0%,rgba(8,8,8,.97) 70%),linear-gradient(180deg,var(--body-gradient-1) 0%,#121212 50%,var(--body-gradient-2) 100%)}body.smoldering-theme .character-sheet{border:none;position:relative;background-color:var(--bg-secondary);box-shadow:0 0 30px #8b250033,0 0 60px #ff450014,inset 0 0 50px #0009;background-image:radial-gradient(ellipse at 50% 100%,rgba(255,69,0,.05) 0%,transparent 35%),radial-gradient(circle at 30% 70%,rgba(80,80,80,.02) 0%,transparent 20%);padding:2rem}body.smoldering-theme .character-sheet:before{content:"";position:absolute;inset:0;border:2px solid rgba(139,37,0,.4);pointer-events:none;box-shadow:inset 0 0 25px #00000080}body.smoldering-theme .floating-action-btn{background:var(--bg-secondary);border-color:var(--color-primary);box-shadow:0 0 10px #8b250066,0 0 5px #ff450026}body.smoldering-theme #sheet-button,body.smoldering-theme #campaign-button,body.smoldering-theme #dice-roller-button,body.smoldering-theme #theme-button,body.smoldering-theme #instructions-toggle-button{background:linear-gradient(135deg,#8b250040,#5c180059);border-color:var(--color-primary);color:var(--text-primary);box-shadow:0 0 8px #8b25004d}body.smoldering-theme .stats-box,body.smoldering-theme .trait-item{border:1px solid rgba(139,37,0,.3);background:linear-gradient(135deg,#0d0d0df2,#171717d9);box-shadow:0 4px 15px #0009,0 0 8px #8b250014;transition:transform .26s ease,opacity .26s ease}body.smoldering-theme .stats-box:hover,body.smoldering-theme .trait-item:hover{border-color:#8b250080;box-shadow:0 6px 20px #000000b3,0 0 15px #ff45001f;transform:scale(1.01)}body.smoldering-theme h2,body.smoldering-theme h3{color:var(--color-accent);text-shadow:0 0 8px rgba(255,69,0,.4),0 2px 4px rgba(0,0,0,.6);font-weight:600}body.smoldering-theme label{color:var(--color-gray-500)}body.smoldering-theme input,body.smoldering-theme textarea,body.smoldering-theme select{background:#0d0d0de6;border:1px solid rgba(139,37,0,.25);color:var(--text-primary);box-shadow:inset 0 2px 4px #00000080}body.smoldering-theme input:focus,body.smoldering-theme textarea:focus,body.smoldering-theme select:focus{border-color:#8b250080;box-shadow:inset 0 2px 4px #00000080,0 0 8px #ff450026;outline:none}body.smoldering-theme .btn{background:linear-gradient(135deg,#8b25004d,#5c180066);border:1px solid rgba(139,37,0,.5);color:var(--text-primary);font-weight:600;box-shadow:0 2px 8px #00000080;transition:transform .26s ease,opacity .26s ease}body.smoldering-theme .btn:hover{background:linear-gradient(135deg,#8b250073,#ff45004d);border-color:#8b2500b3;box-shadow:0 4px 12px #0009,0 0 12px #ff450033;transform:translateY(-2px)}body.smoldering-theme .floating-panel-content,body.smoldering-theme .modal-content{background:linear-gradient(150deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);border:1px solid rgba(139,37,0,.4);box-shadow:0 5px 25px #000c,0 0 10px #8b25001a}@keyframes ember-flicker{0%,to{opacity:.3;transform:scale(1)}25%{opacity:.5;transform:scale(1.02)}50%{opacity:.35;transform:scale(.98)}75%{opacity:.45;transform:scale(1.01)}}@keyframes ember-rise{0%{transform:translateY(0) translate(0) scale(1);opacity:0}10%{opacity:1}50%{opacity:.8}to{transform:translateY(-100vh) translate(20px) scale(.3);opacity:0}}@keyframes ember-rise-alt{0%{transform:translateY(0) translate(0) scale(1);opacity:0}15%{opacity:.9}60%{opacity:.6}to{transform:translateY(-80vh) translate(-30px) scale(.2);opacity:0}}@keyframes ember-drift{0%,to{transform:translate(0)}25%{transform:translate(10px)}50%{transform:translate(-5px)}75%{transform:translate(15px)}}@keyframes heat-shimmer{0%,to{filter:blur(0px);opacity:.15}50%{filter:blur(1px);opacity:.25}}body.smoldering-theme:before{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 50% 120%,rgba(255,69,0,.35) 0%,rgba(255,100,0,.15) 30%,transparent 60%),radial-gradient(ellipse at 30% 110%,rgba(255,140,0,.2) 0%,transparent 40%),radial-gradient(ellipse at 70% 115%,rgba(255,80,0,.25) 0%,transparent 35%),radial-gradient(circle at center,var(--theme-glow-color-low) 0%,transparent 60%);z-index:-1;animation:ember-flicker 4s ease-in-out infinite;pointer-events:none}body.smoldering-theme:after{content:"";position:fixed;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;background-image:radial-gradient(circle at 10% 100%,#ff4500 0%,#ff6b00 40%,transparent 50%),radial-gradient(circle at 25% 100%,#ff5500 0%,#ff8c00 35%,transparent 45%),radial-gradient(circle at 45% 100%,#ff4500 0%,#ff6347 30%,transparent 40%),radial-gradient(circle at 60% 100%,#ff6600 0%,#ff7f00 40%,transparent 50%),radial-gradient(circle at 80% 100%,#ff4500 0%,#ff5722 35%,transparent 45%),radial-gradient(circle at 90% 100%,#ff5500 0%,#ff6b00 30%,transparent 40%),radial-gradient(circle at 15% 100%,#ffaa00 0%,transparent 30%),radial-gradient(circle at 35% 100%,#ff8800 0%,transparent 25%),radial-gradient(circle at 55% 100%,#ffcc00 0%,transparent 30%),radial-gradient(circle at 70% 100%,#ff9900 0%,transparent 25%),radial-gradient(circle at 85% 100%,#ffbb00 0%,transparent 30%);background-size:6px 6px,5px 5px,7px 7px,4px 4px,6px 6px,5px 5px,3px 3px,2px 2px,3px 3px,2px 2px,3px 3px;background-repeat:no-repeat;background-position:10% 100%,25% 100%,45% 100%,60% 100%,80% 100%,90% 100%,15% 100%,35% 100%,55% 100%,70% 100%,85% 100%;animation:ember-rise 8s ease-out infinite,ember-drift 6s ease-in-out infinite}body.smoldering-theme .character-sheet:after{content:"";position:fixed;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9998;background-image:radial-gradient(circle at 5% 100%,#ff4500 0%,transparent 50%),radial-gradient(circle at 20% 100%,#ff6600 0%,transparent 45%),radial-gradient(circle at 40% 100%,#ff5500 0%,transparent 50%),radial-gradient(circle at 65% 100%,#ff4500 0%,transparent 45%),radial-gradient(circle at 75% 100%,#ff7700 0%,transparent 50%),radial-gradient(circle at 95% 100%,#ff5500 0%,transparent 45%);background-size:4px 4px,5px 5px,3px 3px,6px 6px,4px 4px,5px 5px;background-repeat:no-repeat;background-position:5% 100%,20% 100%,40% 100%,65% 100%,75% 100%,95% 100%;animation:ember-rise-alt 12s ease-out infinite 2s,ember-drift 8s ease-in-out infinite reverse}body.smoldering-theme .character-sheet:before{content:"";position:absolute;inset:0;border:2px solid rgba(139,37,0,.4);pointer-events:none;box-shadow:inset 0 0 25px #00000080,inset 0 -50px 80px -50px #ff450026;animation:heat-shimmer 3s ease-in-out infinite}body.smoldering-theme h1,body.smoldering-theme h2,body.smoldering-theme h3,body.smoldering-theme h4,body.smoldering-theme h5,body.smoldering-theme h6{animation:text-pulse-glow 3s infinite}body.smoldering-theme .btn:hover,body.smoldering-theme .btn:focus{animation:pulse-glow 3s infinite}body.smoldering-theme,body.smoldering-theme input,body.smoldering-theme textarea,body.smoldering-theme select,body.smoldering-theme button,body.smoldering-theme .btn,body.smoldering-theme label,body.smoldering-theme .tab-button{font-family:var(--font-fantasy)}body.terminal-theme{--theme-glow-color: #00FF00;--theme-glow-color-low: rgba(0, 255, 0, .2);--theme-glow-color-high: rgba(0, 255, 0, .5);--color-primary: #00FF00;--color-primary-dark: #00CC00;--color-primary-light: #33FF33;--color-secondary: #00AA00;--color-accent: #66FF66;--color-gray-50: #000000;--color-gray-100: #0A0A0A;--color-gray-200: #141414;--color-gray-300: #1E1E1E;--color-gray-400: #2D2D2D;--color-gray-500: #3D3D3D;--color-gray-600: #00AA00;--color-gray-700: #00CC00;--color-gray-800: #00EE00;--color-gray-900: #00FF00;--bg-primary: #000000;--bg-secondary: #0A0A0A;--bg-tertiary: #141414;--text-primary: #00FF00;--text-secondary: #00AA00;--border-primary: #00FF00;--border-secondary: #1E1E1E;--shadow-sm: 0 0 5px rgba(0, 255, 0, .3);--shadow-md: 0 0 10px rgba(0, 255, 0, .4);--shadow-lg: 0 0 20px rgba(0, 255, 0, .5);--shadow-xl: 0 0 35px rgba(0, 255, 0, .6);--body-gradient-1: #000000;--body-gradient-2: #050505;--font-primary: "Courier New", "Courier", monospace;background-image:repeating-linear-gradient(0deg,transparent 0px,transparent 1px,rgba(0,0,0,.3) 1px,rgba(0,0,0,.3) 2px),radial-gradient(ellipse at 50% 50%,rgba(0,255,0,.03) 0%,transparent 60%),radial-gradient(ellipse at 50% 50%,transparent 0%,rgba(0,0,0,.9) 85%),linear-gradient(180deg,var(--body-gradient-1) 0%,var(--body-gradient-2) 100%)}body.terminal-theme .character-sheet{border:none;position:relative;background-color:var(--bg-secondary);box-shadow:0 0 25px #00ff0026,inset 0 0 40px #000000b3;background-image:repeating-linear-gradient(0deg,transparent 0px,transparent 2px,rgba(0,0,0,.15) 2px,rgba(0,0,0,.15) 4px);padding:2rem}body.terminal-theme .character-sheet:before{content:"";position:absolute;inset:0;border:1px solid rgba(0,255,0,.5);pointer-events:none;box-shadow:inset 0 0 15px #00ff0014,0 0 10px #00ff001a}body.terminal-theme .floating-action-btn{background:var(--bg-secondary);border-color:var(--color-primary);box-shadow:0 0 10px #0f06}body.terminal-theme #sheet-button,body.terminal-theme #campaign-button,body.terminal-theme #dice-roller-button,body.terminal-theme #theme-button,body.terminal-theme #instructions-toggle-button{background:#00ff001a;border-color:var(--color-primary);color:var(--text-primary);box-shadow:0 0 8px #00ff004d}body.terminal-theme .stats-box,body.terminal-theme .trait-item{border:1px solid rgba(0,255,0,.3);background:#000c;box-shadow:0 0 8px #00ff001a;transition:transform .26s ease,opacity .26s ease}body.terminal-theme .stats-box:hover,body.terminal-theme .trait-item:hover{border-color:#0f09;box-shadow:0 0 15px #0f03;transform:scale(1.01)}body.terminal-theme h2,body.terminal-theme h3{color:var(--color-accent);text-shadow:0 0 8px rgba(0,255,0,.6);text-transform:uppercase;letter-spacing:.1em;font-weight:700}body.terminal-theme label{color:var(--color-secondary);text-transform:uppercase;letter-spacing:.05em}body.terminal-theme input,body.terminal-theme textarea,body.terminal-theme select{background:#000000e6;border:1px solid rgba(0,255,0,.3);color:var(--text-primary);box-shadow:inset 0 0 5px #00ff000d}body.terminal-theme input:focus,body.terminal-theme textarea:focus,body.terminal-theme select:focus{border-color:#00ff00b3;box-shadow:inset 0 0 5px #00ff001a,0 0 10px #00ff0040;outline:none}body.terminal-theme select option{background-color:#000;color:#0f0}body.terminal-theme select:focus option:checked{background-color:#0f0;color:#000}body.terminal-theme .btn{background:#00ff0026;border:1px solid rgba(0,255,0,.5);color:var(--text-primary);text-transform:uppercase;letter-spacing:.1em;font-weight:700;box-shadow:0 0 8px #00ff0026;transition:transform .26s ease,opacity .26s ease}body.terminal-theme .btn:hover{background:#00ff0040;border-color:#0f0c;box-shadow:0 0 15px #00ff004d;transform:translateY(-2px)}body.terminal-theme .floating-panel-content,body.terminal-theme .modal-content{background:#000000f2;border:1px solid rgba(0,255,0,.4);box-shadow:0 0 20px #00ff0026}body.terminal-theme,body.terminal-theme input,body.terminal-theme textarea,body.terminal-theme select,body.terminal-theme button,body.terminal-theme .btn,body.terminal-theme label,body.terminal-theme .tab-button{font-family:Courier New,Courier,monospace}body.terminal-theme:before{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,var(--theme-glow-color-low) 0%,transparent 60%),radial-gradient(circle at 80% 20%,var(--theme-glow-color-low) 0%,transparent 40%);z-index:-1;animation:bg-pulse 15s ease-in-out infinite alternate;pointer-events:none}body.terminal-theme h1,body.terminal-theme h2,body.terminal-theme h3,body.terminal-theme h4,body.terminal-theme h5,body.terminal-theme h6{animation:text-pulse-glow 3s infinite}body.terminal-theme .btn:hover,body.terminal-theme .btn:focus{animation:pulse-glow 3s infinite}body.terminal-theme .btn-main,body.terminal-theme .spinner-btn.plus{background-color:#0f03;border:1px solid rgba(0,255,0,.4);color:var(--text-primary)}body.terminal-theme .btn-main:hover,body.terminal-theme .spinner-btn.plus:hover{background-color:#00ff004d;border-color:#0f09}body.terminal-theme .gm-badge,body.terminal-theme .player-badge,body.terminal-theme .view-sheet-btn{background:#00ff0026;border:1px solid rgba(0,255,0,.4);color:var(--text-primary)}body.terminal-theme .view-sheet-btn:hover{background:#00ff0040;border-color:#0f09}body.terminal-theme .spinner-btn.minus{background-color:#00000080;border:1px solid rgba(0,255,0,.3);color:var(--text-primary)}body.terminal-theme .spinner-btn.minus:hover{background-color:#00ff001a;border-color:#00ff0080}body.terminal-theme .number-spinner-wrapper input[type=number]{border:1px solid rgba(0,255,0,.3);background:#00000080}body.terminal-theme .roll-btn{background:#0f03;border:1px solid rgba(0,255,0,.4);color:var(--text-primary)}body.terminal-theme .roll-btn:hover{background:#00ff004d;border-color:#0f09;box-shadow:0 0 15px #0f03}body.terminal-theme .campaign-list-item.current-campaign{background:#00ff000d;border-color:#0f06}body.withered-theme{--theme-glow-color: #CD853F;--theme-glow-color-low: rgba(205, 133, 63, .2);--theme-glow-color-high: rgba(205, 133, 63, .5);--color-primary: #CD853F;--color-primary-dark: #8B4513;--color-primary-light: #DEB887;--color-secondary: #DAA520;--color-accent: #B8860B;--color-gray-50: #1A150F;--color-gray-100: #2A2218;--color-gray-200: #3D3022;--color-gray-300: #52402E;--color-gray-400: #7A6048;--color-gray-500: #A08060;--color-gray-600: #C4A882;--color-gray-700: #DCC4A0;--color-gray-800: #EEE0C8;--color-gray-900: #FAF5EC;--bg-primary: #1A150F;--bg-secondary: #2A2218;--bg-tertiary: #3D3022;--text-primary: #FAF5EC;--text-secondary: #C4A882;--border-primary: #CD853F;--border-secondary: #52402E;--shadow-sm: 0 1px 3px 0 rgba(205, 133, 63, .3), 0 0 6px rgba(218, 165, 32, .1);--shadow-md: 0 3px 10px -2px rgba(205, 133, 63, .4), 0 0 12px rgba(218, 165, 32, .15);--shadow-lg: 0 6px 20px -4px rgba(205, 133, 63, .5), 0 0 20px rgba(218, 165, 32, .2);--shadow-xl: 0 12px 32px -8px rgba(205, 133, 63, .6), 0 0 30px rgba(218, 165, 32, .25);--body-gradient-1: #0D0A06;--body-gradient-2: #1A150F;background-image:radial-gradient(ellipse at 50% 100%,rgba(205,133,63,.15) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,transparent 0%,rgba(13,10,6,.95) 80%),repeating-linear-gradient(0deg,transparent 0px,transparent 3px,rgba(139,69,19,.03) 3px,rgba(139,69,19,.03) 4px),repeating-linear-gradient(90deg,transparent 0px,transparent 60px,rgba(139,69,19,.02) 60px,rgba(139,69,19,.02) 62px),linear-gradient(180deg,#1F1810 0%,var(--body-gradient-1) 40%,var(--body-gradient-2) 100%)}body.withered-theme:before{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,var(--theme-glow-color-low) 0%,transparent 60%),radial-gradient(circle at 80% 20%,var(--theme-glow-color-low) 0%,transparent 40%);z-index:-1;animation:bg-pulse 15s ease-in-out infinite alternate;pointer-events:none}body.withered-theme h1,body.withered-theme h2,body.withered-theme h3,body.withered-theme h4,body.withered-theme h5,body.withered-theme h6{animation:text-pulse-glow 3s infinite}body.withered-theme .btn:hover,body.withered-theme .btn:focus{animation:pulse-glow 3s infinite}body.withered-theme .character-sheet{border:none;position:relative;background-color:var(--bg-secondary);box-shadow:0 0 40px #cd853f40,0 0 80px #8b451326,inset 0 0 60px #0009;background-image:radial-gradient(ellipse at 30% 20%,rgba(139,69,19,.08) 0%,transparent 30%),radial-gradient(ellipse at 70% 80%,rgba(139,69,19,.06) 0%,transparent 25%),radial-gradient(ellipse at 50% 50%,transparent 60%,rgba(0,0,0,.3) 100%),repeating-linear-gradient(90deg,transparent 0px,transparent 100px,rgba(139,69,19,.04) 100px,rgba(139,69,19,.04) 102px),radial-gradient(ellipse at 50% 0%,rgba(218,165,32,.2) 0%,transparent 50%);padding:2rem;clip-path:polygon(1% 0%,12% .5%,25% 0%,40% .3%,55% 0%,70% .5%,85% 0%,99% .3%,100% 2%,99.5% 25%,100% 50%,99.5% 75%,100% 98%,98% 100%,82% 99.5%,65% 100%,48% 99.5%,30% 100%,15% 99.5%,2% 100%,0% 97%,.5% 70%,0% 45%,.5% 20%,0% 3%)}body.withered-theme .character-sheet:before{content:"";position:absolute;inset:8px;border:3px solid rgba(139,69,19,.6);pointer-events:none;box-shadow:inset 0 0 0 2px #cd853f4d,inset 0 0 30px #0006,0 0 0 1px #daa52033}body.withered-theme .character-sheet:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:5;background:radial-gradient(circle at 20px 20px,#8B4513 4px,rgba(139,69,19,.6) 5px,transparent 7px),radial-gradient(circle at 20px 20px,rgba(218,165,32,.4) 2px,transparent 3px),radial-gradient(circle at calc(100% - 20px) 20px,#8B4513 4px,rgba(139,69,19,.6) 5px,transparent 7px),radial-gradient(circle at calc(100% - 20px) 20px,rgba(218,165,32,.4) 2px,transparent 3px),radial-gradient(circle at 20px calc(100% - 20px),#8B4513 4px,rgba(139,69,19,.6) 5px,transparent 7px),radial-gradient(circle at 20px calc(100% - 20px),rgba(218,165,32,.4) 2px,transparent 3px),radial-gradient(circle at calc(100% - 20px) calc(100% - 20px),#8B4513 4px,rgba(139,69,19,.6) 5px,transparent 7px),radial-gradient(circle at calc(100% - 20px) calc(100% - 20px),rgba(218,165,32,.4) 2px,transparent 3px)}body.withered-theme .floating-action-btn{background:linear-gradient(180deg,#3d3022,#2a2218);border:2px solid #8B4513;border-radius:2px;box-shadow:2px 2px #000c,inset 0 1px #daa52033,0 0 10px #cd853f33}body.withered-theme .floating-action-btn:hover{border-color:peru;box-shadow:3px 3px #000c,inset 0 1px #daa5204d,0 0 15px #cd853f66;transform:translate(-1px,-1px)}body.withered-theme #sheet-button,body.withered-theme #campaign-button,body.withered-theme #dice-roller-button,body.withered-theme #theme-button,body.withered-theme #instructions-toggle-button{background:linear-gradient(180deg,#8b451366,#2a2218e6);border:2px solid #8B4513;color:var(--text-primary);box-shadow:2px 2px #000c,0 0 8px #cd853f33}body.withered-theme .stats-box,body.withered-theme .trait-item{border:2px solid rgba(139,69,19,.5);border-radius:2px;background:repeating-linear-gradient(0deg,transparent 0px,transparent 2px,rgba(139,69,19,.03) 2px,rgba(139,69,19,.03) 3px),linear-gradient(135deg,#2a2218f2,#1a150fe6);box-shadow:3px 3px #000000b3,inset 0 1px #daa5201a,inset 0 -1px #0000004d;transition:transform .26s ease,opacity .26s ease}body.withered-theme .stats-box:hover,body.withered-theme .trait-item:hover{border-color:#cd853fb3;box-shadow:4px 4px #000000b3,0 0 15px #cd853f40,inset 0 1px #daa52026;transform:translate(-1px,-1px)}body.withered-theme h2,body.withered-theme h3{font-family:var(--font-western);color:var(--color-secondary);text-shadow:0 0 10px rgba(218,165,32,.4),2px 2px 0px rgba(139,69,19,.6),0 3px 6px rgba(0,0,0,.6);letter-spacing:.08em;font-weight:400}body.withered-theme label{color:var(--color-gray-600);letter-spacing:.03em}body.withered-theme input,body.withered-theme textarea,body.withered-theme select{background:linear-gradient(135deg,#1a150fcc,#2a221899);border:1px solid rgba(205,133,63,.3);color:var(--text-primary);box-shadow:inset 0 2px 4px #0006}body.withered-theme input:focus,body.withered-theme textarea:focus,body.withered-theme select:focus{border-color:#cd853f99;box-shadow:inset 0 2px 4px #0006,0 0 12px #cd853f40;outline:none}body.withered-theme .btn{background:linear-gradient(180deg,#8b451380,#2a2218e6);border:2px solid #8B4513;border-radius:2px;color:var(--text-primary);font-family:var(--font-western);font-weight:400;letter-spacing:.05em;box-shadow:3px 3px #000c,inset 0 1px #daa52026;transition:all .2s ease}body.withered-theme .btn:hover{background:linear-gradient(180deg,#cd853f99,#8b4513cc);border-color:peru;box-shadow:4px 4px #000c,inset 0 1px #daa52040,0 0 12px #cd853f4d;transform:translate(-1px,-1px)}body.withered-theme .floating-panel-content,body.withered-theme .modal-content{background:repeating-linear-gradient(0deg,transparent 0px,transparent 2px,rgba(139,69,19,.02) 2px,rgba(139,69,19,.02) 3px),linear-gradient(180deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%);border:3px solid #8B4513;border-radius:2px;box-shadow:5px 5px #000000b3,inset 0 0 30px #0000004d,0 0 20px #cd853f26}body.withered-theme,body.withered-theme input,body.withered-theme textarea,body.withered-theme select,body.withered-theme button,body.withered-theme .btn,body.withered-theme label,body.withered-theme .tab-button{font-family:var(--font-western)}body.persephone-theme{--theme-glow-color: #8B0000;--theme-glow-color-low: rgba(139, 0, 0, .15);--theme-glow-color-high: rgba(139, 0, 0, .4);--color-primary: #8B4513;--color-primary-dark: #5D2E0C;--color-primary-light: #A0522D;--color-secondary: #2E5A1C;--color-accent: #8B0000;--color-gray-50: #0F1A0D;--color-gray-100: #1A2816;--color-gray-200: #253620;--color-gray-300: #34482C;--color-gray-400: #4A6240;--color-gray-500: #6B8560;--color-gray-600: #8FA882;--color-gray-700: #B3C8A8;--color-gray-800: #D4E2CC;--color-gray-900: #EBF2E7;--bg-primary: #0F1A0D;--bg-secondary: #1A2816;--bg-tertiary: #253620;--text-primary: #EBF2E7;--text-secondary: #A0522D;--border-primary: #8B4513;--border-secondary: #34482C;--shadow-sm: 0 1px 3px 0 rgba(139, 0, 0, .2), 0 0 6px rgba(46, 90, 28, .1);--shadow-md: 0 3px 10px -2px rgba(139, 0, 0, .3), 0 0 12px rgba(46, 90, 28, .15);--shadow-lg: 0 6px 20px -4px rgba(139, 0, 0, .4), 0 0 20px rgba(46, 90, 28, .2);--shadow-xl: 0 12px 32px -8px rgba(139, 0, 0, .5), 0 0 30px rgba(46, 90, 28, .25);--body-gradient-1: #0A120A;--body-gradient-2: #0F1A0D;--font-primary: var(--font-fantasy);background-color:#0a120a;background-image:radial-gradient(circle at 50% 50%,transparent 0%,transparent 8%,rgba(139,0,0,.03) 8%,rgba(139,0,0,.03) 10%,transparent 10%),radial-gradient(circle at 50% 50%,transparent 0%,transparent 18%,rgba(139,0,0,.025) 18%,rgba(139,0,0,.025) 20%,transparent 20%),radial-gradient(circle at 50% 50%,transparent 0%,transparent 28%,rgba(139,0,0,.02) 28%,rgba(139,0,0,.02) 30%,transparent 30%),repeating-linear-gradient(-30deg,transparent,transparent 80px,rgba(139,69,19,.015) 80px,rgba(139,69,19,.015) 82px),repeating-linear-gradient(30deg,transparent,transparent 80px,rgba(139,69,19,.015) 80px,rgba(139,69,19,.015) 82px),radial-gradient(ellipse at 20% 30%,rgba(46,90,28,.08) 0%,transparent 40%),radial-gradient(ellipse at 80% 60%,rgba(46,90,28,.06) 0%,transparent 35%),radial-gradient(ellipse at 50% 80%,rgba(46,90,28,.05) 0%,transparent 30%),radial-gradient(ellipse at 50% 50%,transparent 0%,rgba(10,18,10,.97) 85%),linear-gradient(180deg,#0f1a0d,#0a120a)}body.persephone-theme:before{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,var(--theme-glow-color-low) 0%,transparent 50%),radial-gradient(circle at 70% 30%,rgba(139,69,19,.08) 0%,transparent 35%);z-index:-1;animation:bg-pulse 12s ease-in-out infinite alternate;pointer-events:none}body.persephone-theme h1,body.persephone-theme h2,body.persephone-theme h3,body.persephone-theme h4,body.persephone-theme h5,body.persephone-theme h6{animation:text-pulse-glow 4s infinite}body.persephone-theme .btn:hover,body.persephone-theme .btn:focus{animation:pulse-glow 3s infinite}body.persephone-theme .character-sheet{border:none;position:relative;background-color:var(--bg-secondary);box-shadow:0 0 40px #8b000033,0 0 80px #2e5a1c26,inset 0 0 60px #0009;background-image:radial-gradient(ellipse at 30% 20%,rgba(139,69,19,.1) 0%,transparent 30%),radial-gradient(ellipse at 70% 80%,rgba(139,69,19,.08) 0%,transparent 25%),repeating-linear-gradient(0deg,transparent 0px,transparent 4px,rgba(139,69,19,.03) 4px,rgba(139,69,19,.03) 5px),radial-gradient(ellipse at 50% 50%,transparent 60%,rgba(0,0,0,.4) 100%),radial-gradient(ellipse at 50% 0%,rgba(46,90,28,.15) 0%,transparent 50%);padding:2rem;border-radius:8px}body.persephone-theme .character-sheet:before{content:"";position:absolute;inset:10px;border:2px dashed rgba(139,69,19,.5);border-radius:6px;pointer-events:none;box-shadow:inset 0 0 0 4px #1a2816cc,inset 0 0 30px #0006}body.persephone-theme .character-sheet:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:5;background:linear-gradient(135deg,rgba(139,0,0,.3) 0%,rgba(139,0,0,.3) 20px,transparent 20px),linear-gradient(-135deg,rgba(46,90,28,.3) 0%,rgba(46,90,28,.3) 20px,transparent 20px),linear-gradient(45deg,rgba(46,90,28,.3) 0%,rgba(46,90,28,.3) 20px,transparent 20px),linear-gradient(-45deg,rgba(139,0,0,.3) 0%,rgba(139,0,0,.3) 20px,transparent 20px);border-radius:8px}body.persephone-theme .floating-action-btn{background:linear-gradient(180deg,#34482c,#253620,#1a2816);border:2px solid #8B4513;border-radius:4px;box-shadow:2px 2px #000000b3,inset 0 1px #8b45134d,0 0 8px #2e5a1c33}body.persephone-theme .floating-action-btn:hover{border-color:#8b0000;box-shadow:3px 3px #000000b3,inset 0 1px #8b451366,0 0 15px #8b00004d;transform:translate(-1px,-1px)}body.persephone-theme #sheet-button,body.persephone-theme #campaign-button,body.persephone-theme #dice-roller-button,body.persephone-theme #theme-button,body.persephone-theme #instructions-toggle-button{background:linear-gradient(180deg,#8b45134d,#1a2816e6);border:2px solid #8B4513;color:var(--text-primary);box-shadow:2px 2px #000000b3,0 0 8px #8b000026}body.persephone-theme .stats-box,body.persephone-theme .trait-item{border:2px solid rgba(139,69,19,.5);border-radius:4px;background:radial-gradient(circle at 50% 50%,rgba(139,0,0,.05) 0%,transparent 30%),linear-gradient(135deg,#253620f2,#1a2816e6);box-shadow:2px 2px #0009,inset 0 1px #8b451326,inset 0 -1px #0000004d;transition:transform .26s ease,opacity .26s ease}body.persephone-theme .stats-box:hover,body.persephone-theme .trait-item:hover{border-color:#8b0000;box-shadow:3px 3px #0009,inset 0 1px #8b451333,0 0 12px #8b000033}body.persephone-theme h2,body.persephone-theme h3{color:var(--color-secondary);text-shadow:0 0 8px rgba(46,90,28,.5),0 2px 4px rgba(0,0,0,.5);letter-spacing:.06em;font-weight:500}body.persephone-theme label{color:var(--color-gray-700);letter-spacing:.04em}body.persephone-theme input,body.persephone-theme textarea,body.persephone-theme select{background:#0f1a0de6;border:1px solid rgba(139,69,19,.4);color:var(--text-primary);border-radius:3px}body.persephone-theme input:focus,body.persephone-theme textarea:focus,body.persephone-theme select:focus{border-color:var(--color-accent);box-shadow:0 0 8px #8b00004d;outline:none}body.persephone-theme .btn{background:linear-gradient(180deg,#34482c,#253620,#1a2816);border:2px solid #8B4513;border-radius:4px;color:var(--text-primary);box-shadow:2px 2px #0009,inset 0 1px #8b451333;transition:all .2s ease}body.persephone-theme .btn:hover{background:linear-gradient(180deg,#4a6240,#34482c,#253620);border-color:#8b0000;box-shadow:3px 3px #0009,inset 0 1px #8b45134d,0 0 12px #8b000040}body.persephone-theme .floating-panel-content,body.persephone-theme .modal-content{background:repeating-linear-gradient(0deg,transparent 0px,transparent 3px,rgba(139,69,19,.02) 3px,rgba(139,69,19,.02) 4px),linear-gradient(180deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%);border:3px solid #8B4513;border-radius:6px;box-shadow:4px 4px #0009,inset 0 0 30px #0000004d,0 0 20px #8b00001a}body.corrupted-theme h2,body.corrupted-theme h3{color:var(--color-secondary);text-shadow:0 0 8px rgba(123,104,168,.6),0 2px 4px rgba(0,0,0,.4);letter-spacing:.08em;font-weight:400}body.corrupted-theme label{color:var(--color-gray-600);letter-spacing:.05em}body.corrupted-theme,body.corrupted-theme input,body.corrupted-theme textarea,body.corrupted-theme select,body.corrupted-theme button,body.corrupted-theme .btn,body.corrupted-theme label,body.corrupted-theme .tab-button{font-family:var(--font-frozen)}*{box-sizing:border-box}body{background:linear-gradient(120deg,var(--body-gradient-1) 0%,var(--body-gradient-2) 100%);font-family:var(--font-primary);font-size:1.125rem;font-weight:400;line-height:1.5;padding:2rem 1rem 1.5rem;color:var(--text-primary);transition:background .3s ease,color .3s ease,font-family .3s ease;min-height:100vh;position:relative}.auth-status{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.75rem;color:var(--text-secondary);white-space:nowrap;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border-primary)}.auth-status span{background-color:var(--bg-secondary);padding:.25rem .625rem;border-radius:var(--radius-normal);box-shadow:var(--shadow-sm);border:1px solid var(--border-primary)}.auth-status button{background:color-mix(in srgb,var(--status-error) 10%,transparent);color:var(--status-error);border:1px solid var(--status-error);padding:.25rem .5rem;border-radius:var(--radius-normal);cursor:pointer;font-weight:500;transition:background .2s,color .2s;font-size:.75rem}.auth-status button:hover{background:var(--status-error);color:#fff}.app-footer{text-align:center;margin-top:1.5rem;padding-bottom:1.5rem;color:var(--color-gray-400);display:flex;flex-direction:column;align-items:center;gap:.75rem}.app-footer-version{font-size:.875rem;font-weight:600;letter-spacing:.05em;color:var(--color-gray-300)}.app-footer-social{display:flex;align-items:center;gap:1rem}.app-footer-social .social-link{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--bg-secondary);color:var(--color-gray-400);transition:all .2s ease;border:1px solid var(--border-primary)}.app-footer-social .social-link:hover{color:var(--color-primary);border-color:var(--color-primary);transform:translateY(-2px)}.app-footer-social .social-link svg{width:18px;height:18px}.app-footer-legal{display:flex;align-items:center;gap:.5rem;font-size:.75rem}.app-footer-legal a{color:var(--color-gray-400);text-decoration:none;transition:color .2s ease}.app-footer-legal a:hover{color:var(--color-primary);text-decoration:underline}.app-footer-legal .legal-separator{color:var(--color-gray-500)}.app-footer-credits{font-size:.7rem;color:var(--color-gray-500);max-width:90%;line-height:1.4}.app-footer-credits a{color:var(--color-gray-400);text-decoration:none;transition:color .2s ease}.app-footer-credits a:hover{color:var(--color-primary);text-decoration:underline}.version-info{text-align:center;margin-top:1.5rem;padding-bottom:1rem;font-size:.75rem;color:var(--color-gray-400);font-weight:500;letter-spacing:.05em}.character-sheet{margin:0 auto;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:18px;padding:2.25rem 2.75rem;box-shadow:var(--shadow-xl);position:relative;transition:transform .26s ease,opacity .26s ease,box-shadow .26s ease;animation:fadeInUp .48s cubic-bezier(.22,1,.36,1);max-width:1400px}@media(min-width:969px){.character-sheet{margin-right:4rem;margin-left:auto}}.sheet-controls{position:absolute;top:-.75rem;left:-.75rem;z-index:10;display:flex;flex-direction:row;gap:.5rem;padding:.5rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-wide);box-shadow:var(--shadow-lg)}.sheet-controls select{background:var(--bg-primary);color:var(--text-primary);padding:.5rem .75rem;border:1px solid var(--border-primary);border-radius:var(--radius-normal);cursor:pointer;font-size:.6875rem;font-weight:600;transition:border-color .2s ease,background .2s ease;min-width:5rem;text-transform:uppercase;letter-spacing:.03em}.sheet-controls select:hover{border-color:var(--color-primary);background:var(--bg-tertiary)}.sheet-controls select:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.sheet-controls button{background:var(--bg-primary);color:var(--text-secondary);padding:.5rem .625rem;border:1px solid var(--border-primary);border-radius:var(--radius-normal);cursor:pointer;font-size:.875rem;transition:border-color .2s ease,background .2s ease;display:flex;align-items:center;justify-content:center}.sheet-controls button:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--bg-tertiary)}.sheet-controls button:active{transform:scale(.98)}.toggle-icon,.action-button-icon,.button-icon{display:flex;align-items:center;justify-content:center}.toggle-icon{width:100%;height:100%;font-size:1rem;line-height:1}.action-button-icon,.button-icon{width:.875rem;height:.875rem;line-height:1}.toggle-icon svg,.action-button-icon svg,.button-icon svg{stroke:currentColor;fill:none}.toggle-icon svg circle[fill],.action-button-icon svg circle[fill],.button-icon svg circle[fill]{fill:currentColor}#name{font-size:1.875rem;font-weight:600;text-align:center;border:none;background:var(--bg-secondary);transition:border-color .22s ease,background .22s ease;color:var(--text-primary);outline:none;padding:.75rem 1rem;border-radius:var(--radius-loose);border:1px solid transparent}#name:hover{background:var(--bg-tertiary)}#name:focus{background:var(--bg-primary);border-color:var(--color-primary);box-shadow:var(--focus-ring)}.detail-group input[type=text]{background:var(--bg-secondary);border:1px solid transparent;text-align:center}.path-die-group input,.level-spinner-group .level-wrapper input[type=number],.level-spinner-group .number-spinner-wrapper input[type=number]{font-size:1rem}.detail-group input[type=text]:hover{background:var(--bg-tertiary)}.detail-group input[type=text]:focus{background:var(--bg-primary);border-color:var(--color-primary)}.endicott-toggle-header .tribulation-item{padding-bottom:.375rem}label{display:block;font-weight:500;font-size:.875rem;margin-bottom:.375rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;transition:color .2s ease}input[type=text],input[type=number],input[type=email],input[type=password],textarea,select{width:100%;padding:.75rem 1rem;border:1px solid var(--border-primary);border-radius:6px;font-size:.95rem;transition:all .2s cubic-bezier(.25,.1,.25,1);background:#ffffff08;color:var(--text-primary);outline:none}input[type=text]:focus,input[type=number]:focus,input[type=email]:focus,input[type=password]:focus,textarea:focus,select:focus{border-color:var(--color-primary);background:#ffffff0f;box-shadow:var(--focus-ring);transform:translateY(-1px)}.dark-mode input[type=text]:focus,.dark-mode input[type=number]:focus,.dark-mode input[type=email]:focus,.dark-mode input[type=password]:focus,.dark-mode textarea:focus,.dark-mode select:focus{box-shadow:var(--focus-ring)}input::placeholder,textarea::placeholder{color:var(--color-gray-400);font-style:italic}textarea{resize:vertical;min-height:80px;font-family:inherit;line-height:1.6;white-space:pre-wrap}#talents-textarea,#items-textarea,#locker-storage-textarea,#dorm-storage-textarea,#notes-textarea,.power-description-textarea{font-family:inherit;line-height:1.6;letter-spacing:.01em;white-space:pre-wrap;word-wrap:break-word;font-size:1rem;padding:1rem;background:var(--bg-primary);border:1px solid transparent;border-radius:var(--radius-loose)}#talents-textarea:hover,#items-textarea:hover,#locker-storage-textarea:hover,#dorm-storage-textarea:hover,#notes-textarea:hover,.power-description-textarea:hover{background:var(--bg-tertiary)}#talents-textarea:focus,#items-textarea:focus,#locker-storage-textarea:focus,#dorm-storage-textarea:focus,#notes-textarea:focus,.power-description-textarea:focus{background:var(--bg-primary);border-color:var(--color-primary);box-shadow:var(--focus-ring),inset 3px 0 0 0 var(--color-primary)}.layout-main-grid{display:grid;grid-template-columns:1fr;grid-template-areas:"stats" "traits" "tabs";gap:1.5rem;margin-bottom:2rem}.layout-main-grid>.stats-box{grid-area:stats;margin-bottom:.75rem}.traits-section{grid-area:traits;margin-top:0}.tab-container{grid-area:tabs}.combat-stats-grid{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.combat-stats-grid .stats-box{flex:1 1 140px}.stats-box{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:16px;padding:1.25rem 1.5rem;transition:border-color .2s ease,background .2s ease;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:.5rem}.stats-box:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-md);background:var(--bg-tertiary)}.stats-box h3{margin:0 0 .5rem;font-weight:700;color:var(--text-primary);font-size:.875rem;text-transform:uppercase;letter-spacing:.08em;background:none;-webkit-text-fill-color:var(--text-primary);background-clip:border-box;-webkit-background-clip:border-box;animation:none}.life-points-input{display:flex;align-items:center;justify-content:center;gap:.75rem}.life-points-input input,.life-points-input .number-spinner-wrapper input[type=number]{font-size:1rem}.input-group{display:flex;flex-direction:column;align-items:center;flex:1 1 auto}.input-group label{font-size:.8125rem;margin-bottom:.25rem}.input-group input{text-align:center;font-size:1.25rem;font-weight:600;width:100%;max-width:80px}.divider{font-size:1.5rem;font-weight:600;color:var(--color-gray-400)}.traits-section{margin-bottom:0;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-wide);padding:1.25rem 1.5rem 1rem;display:flex;flex-direction:column;align-items:stretch;width:100%;box-sizing:border-box;min-height:0;overflow-y:auto}.traits-section h3{margin:0 0 .75rem;font-weight:700;color:var(--text-primary);font-size:.875rem;text-transform:uppercase;letter-spacing:.08em;text-align:center;background:none;-webkit-text-fill-color:var(--text-primary);background-clip:border-box;-webkit-background-clip:border-box;animation:none;width:100%}.help-icon{display:inline-flex;align-items:center;justify-content:center;width:1.2em;height:1.2em;font-size:.9em;font-weight:700;text-decoration:none;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:50%;opacity:.6;transition:opacity .2s ease,transform .2s ease;vertical-align:middle;margin-left:.5em;cursor:pointer;-webkit-text-fill-color:var(--text-secondary)}.help-icon:hover{opacity:1;transform:scale(1.1)}.help-icon:focus{opacity:1;outline:2px solid var(--color-accent);outline-offset:2px}.traits-section .traits-grid{display:grid;grid-template-columns:1fr;gap:.6rem .75rem;width:100%;max-width:100%;min-width:0;margin-left:0;margin-right:0;box-sizing:border-box;justify-content:center;justify-items:stretch}.traits-section>.traits-grid{gap:.45rem .65rem;padding-bottom:.25rem}.traits-section>.traits-grid .trait-item{padding:.5rem .875rem;min-height:0;cursor:pointer}.traits-section>.traits-grid .trait-item input,.traits-section>.traits-grid .trait-item .spinner-btn{cursor:default}#endicott-traits .trait-item{cursor:pointer}#endicott-traits .trait-item input,#endicott-traits .trait-item .spinner-btn{cursor:default}#endicott-traits.endicott-traits-visible{display:grid;grid-template-columns:1fr;gap:.75rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-wide);padding:1.25rem 1.5rem}#endicott-fear-shiver-box{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1rem;margin-bottom:1rem}#endicott-fear-shiver-box:hover{border-color:var(--border-primary);box-shadow:none;background:var(--bg-secondary);transform:none}#endicott-fear-shiver-box .input-group{flex-direction:column;justify-content:center;align-items:center;gap:.25rem}#endicott-fear-shiver-box .input-group label{margin-bottom:0;text-align:center;font-size:.75rem}#endicott-fear-shiver-box .archetype-dropdown-group label{font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-primary)}#endicott-fear-shiver-box .input-group input{width:40px;padding:.25rem;font-size:1.125rem;height:auto}#endicott-fear-shiver-box .endicott-roll-box{cursor:pointer;border-radius:var(--radius-normal);border:1px solid var(--border-primary);background:var(--bg-secondary);transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;position:relative;padding:.35rem .5rem;box-shadow:0 0 0 1px #0000000a}#endicott-fear-shiver-box .endicott-roll-box:after{content:"⚄";position:absolute;top:.2rem;right:.3rem;font-size:1rem;opacity:.6;line-height:1;pointer-events:none}#endicott-fear-shiver-box .endicott-roll-box:hover{background:var(--bg-tertiary);border-color:var(--color-primary);box-shadow:0 0 0 1px #0000000f}.traits-section .traits-grid .trait-item,#endicott-traits .trait-item,.weapon-item,.power-item{position:relative}.traits-section .traits-grid .trait-item:after,#endicott-traits .trait-item:after{content:"⚄";position:absolute;top:.3rem;right:.4rem;font-size:1rem;opacity:.6;line-height:1;pointer-events:none}.weapon-item:after,.power-item:after{content:"⚄";position:absolute;bottom:.3rem;right:.5rem;font-size:1.5rem;opacity:.65;line-height:1;pointer-events:none}.trait-item{display:flex;align-items:center;justify-content:space-between;background:var(--bg-primary);border:1px solid transparent;border-radius:10px;padding:.75rem 1.125rem;min-height:48px;transition:border-color .22s ease,background .22s ease}.trait-item:hover{background:var(--bg-tertiary);border-color:var(--border-primary)}.trait-item label{margin:0;font-weight:500;text-transform:none;letter-spacing:normal;flex:1;text-align:left;font-size:.9375rem;color:var(--text-primary)}.trait-item input{width:60px;text-align:center;font-weight:600;font-size:1rem;margin:0;padding:.4rem .5rem;background:var(--bg-secondary);border:1px solid transparent;border-radius:var(--radius-normal)}.trait-item input:hover{background:var(--bg-tertiary)}.trait-item input:focus{background:var(--bg-primary);border-color:var(--color-primary)}.trait-item .number-spinner-wrapper input[type=number]{font-size:1rem}.life-points-input .number-spinner-wrapper input[type=number],.actions-per-turn-box .number-spinner-wrapper input[type=number],#endicott-fear-shiver-box .input-group input,.trait-item .number-spinner-wrapper input[type=number],.level-spinner-group .number-spinner-wrapper input[type=number],.level-spinner-group .level-wrapper input[type=number],#infrasphere-container .input-group input,#infrasphere-container .number-spinner-wrapper input[type=number]{width:3rem;min-width:3rem;max-width:3rem;height:38px;box-sizing:border-box;text-align:center;padding:.35rem .25rem}#infrasphere-container .input-group input,#infrasphere-container .number-spinner-wrapper input[type=number]{font-size:1.125rem}.life-points-input .number-spinner-wrapper,.actions-per-turn-box .number-spinner-wrapper,#endicott-fear-shiver-box .number-spinner-wrapper,.trait-item .number-spinner-wrapper,#infrasphere-container .number-spinner-wrapper{height:38px}.life-points-input .number-spinner-wrapper .spinner-btn,.actions-per-turn-box .number-spinner-wrapper .spinner-btn,#endicott-fear-shiver-box .number-spinner-wrapper .spinner-btn,.trait-item .number-spinner-wrapper .spinner-btn,#infrasphere-container .number-spinner-wrapper .spinner-btn{height:38px;width:32px;box-sizing:border-box}.tab-container{margin-top:0}.tab-buttons{display:flex;justify-content:center;margin-bottom:0;gap:.375rem;flex-wrap:wrap;background:var(--bg-secondary);padding:.5rem;border-radius:var(--radius-wide);border:1px solid var(--border-primary)}.tab-button{background:transparent;color:var(--text-secondary);border:none;padding:.75rem 1.5rem;cursor:pointer;font-size:.875rem;font-weight:600;border-radius:9999px;transition:border-color .2s ease,background .24s ease;display:flex;align-items:center;justify-content:center;flex:1;min-width:90px;text-transform:uppercase;letter-spacing:.05em}.tab-button.active{background:var(--bg-primary);color:var(--color-primary);box-shadow:var(--shadow-md)}.tab-button:hover:not(.active){color:var(--text-primary);background:var(--bg-tertiary)}.tab-content{display:none;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-wide);padding:1.5rem;margin-top:.75rem}.tab-content.active{display:block;animation:fadeIn .3s ease-in;contain:layout paint}.tab-content h3{margin:0 0 1rem;font-weight:700;color:var(--text-primary);font-size:.875rem;text-align:center;text-transform:uppercase;letter-spacing:.08em}.money-box{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-loose);margin-bottom:1.25rem}.money-box label{font-weight:600;font-size:.875rem;color:var(--text-primary);white-space:nowrap}.money-input-group{display:flex;align-items:center;gap:.25rem;flex:1;max-width:150px}.money-currency-symbol{font-weight:600;font-size:1rem;color:var(--status-success)}#current-money-input{width:100%;padding:.5rem .75rem;font-size:1rem;font-weight:600;border:1px solid var(--border-primary);border-radius:var(--radius-normal);background:var(--bg-primary);color:var(--text-primary);text-align:right}#current-money-input:focus{outline:none;border-color:var(--status-success);box-shadow:0 0 0 2px color-mix(in srgb,var(--status-success) 20%,transparent)}.money-actions{display:flex;gap:.5rem}#money-box-container{display:none}#money-box-container.visible{display:block}.items-section{margin-bottom:1.25rem}.items-section:last-child{margin-bottom:0}.items-section label{text-transform:none;letter-spacing:normal}table{width:100%;border-collapse:separate;border-spacing:0;margin-bottom:1rem;border-radius:var(--radius-loose);overflow:hidden;background:var(--bg-primary);border:1px solid var(--border-primary)}th,td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-primary);transition:border-color .22s ease,background .22s ease}th{background:var(--bg-tertiary);color:var(--text-secondary);font-weight:600;font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em}td{background:var(--bg-primary);font-size:1rem}tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg-secondary)}#powers-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.power-item{display:flex;align-items:center;gap:.75rem;background:var(--bg-primary);border:1px solid transparent;border-radius:var(--radius-loose);padding:1rem;transition:border-color .22s ease,background .22s ease;cursor:pointer}.power-item:hover{background:var(--bg-tertiary);border-color:var(--border-primary)}.drag-handle{cursor:grab;color:var(--color-gray-400);font-size:1.25rem;padding:.25rem;align-self:flex-start;opacity:.5;transition:opacity .2s ease}.power-item:hover .drag-handle{opacity:1}.drag-handle:active{cursor:grabbing}.power-item-content{flex-grow:1;display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-areas:"name range mod" "desc desc desc";gap:.75rem;align-items:start}.power-field{display:flex;flex-direction:column}.power-modifier-field{grid-area:mod;min-width:0;display:flex;flex-direction:column;width:100%;align-self:start}.power-modifier-field .number-spinner-wrapper{display:flex;align-items:center;min-height:2.25rem;width:100%;flex-wrap:nowrap}.power-modifier-field .sheet-modifier-spinner{display:flex;flex:1;min-width:0;align-items:center}.power-modifier-field .sheet-modifier-spinner input[type=number]{width:100%;min-width:0;flex:1;height:2.25rem;min-height:2.25rem;padding:.35rem .5rem;box-sizing:border-box}.power-modifier-field .sheet-modifier-spinner .spinner-btn{width:2.25rem;height:2.25rem;min-width:2.25rem;min-height:2.25rem;flex-shrink:0;padding:0;display:inline-flex;align-items:center;justify-content:center}.power-field-full{grid-area:desc;display:flex;flex-direction:column}.power-item .power-field label,.power-item .power-field-full label{text-transform:none;letter-spacing:normal;font-size:.8125rem;font-weight:500;margin-bottom:.25rem}.power-item input[type=text],.power-item textarea{margin:0;font-size:1rem}.power-item textarea{min-height:60px}.delete-power-btn{background:var(--status-error);color:var(--color-white);border:none;border-radius:50%;width:1.75rem;height:1.75rem;cursor:pointer;font-size:1rem;font-weight:700;transition:border-color .22s ease,background .22s ease;display:flex;align-items:center;justify-content:center;opacity:.8;flex-shrink:0;align-self:flex-start}.delete-power-btn:hover{opacity:1;transform:scale(1.1);box-shadow:var(--shadow-md)}.power-item.dragging{opacity:.5;transform:rotate(1deg);box-shadow:var(--shadow-lg);z-index:1000}.power-item.drag-over{border-top:2px solid var(--color-primary)}.sheet-modifier-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.sheet-modifier-label{display:inline-flex;align-items:center;gap:.25rem;margin:0;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary)}.sheet-modifier-label .help-icon{margin-left:.15rem}.sheet-modifier-spinner .spinner-btn{width:1.75rem;height:1.75rem}.sheet-modifier-spinner input[type=number]{width:3rem;text-align:center;font-size:1rem;padding:.25rem .35rem}#weapons-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.weapon-item{display:flex;align-items:center;gap:.75rem;background:var(--bg-primary);border:1px solid transparent;border-radius:var(--radius-loose);padding:1rem;transition:border-color .22s ease,background .22s ease;cursor:pointer}.weapon-item:hover{background:var(--bg-tertiary);border-color:var(--border-primary)}.weapon-item .drag-handle{cursor:grab;color:var(--color-gray-400);font-size:1.25rem;padding:.25rem;align-self:flex-start;opacity:.5;transition:opacity .2s ease}.weapon-item:hover .drag-handle{opacity:1}.weapon-item-content{flex-grow:1;display:grid;grid-template-columns:1fr minmax(7rem,.9fr) minmax(6rem,1.35fr) minmax(6rem,1.35fr);grid-template-areas:"name type range mod";gap:.75rem;align-items:center}.weapon-modifier-field{grid-area:mod;min-width:0;display:flex;flex-direction:column;width:100%}.weapon-modifier-field .number-spinner-wrapper{display:flex;align-items:center;min-height:2.25rem;width:100%;flex-wrap:nowrap}.weapon-modifier-field .sheet-modifier-spinner{display:flex;flex:1;min-width:0;align-items:center}.weapon-modifier-field .sheet-modifier-spinner input[type=number]{width:100%;min-width:0;flex:1;height:2.25rem;min-height:2.25rem;padding:.35rem .5rem;box-sizing:border-box}.weapon-modifier-field .sheet-modifier-spinner .spinner-btn{width:2.25rem;height:2.25rem;min-width:2.25rem;min-height:2.25rem;flex-shrink:0;padding:0;display:inline-flex;align-items:center;justify-content:center}.weapon-field{display:flex;flex-direction:column}.weapon-item .weapon-field label,.weapon-item .weapon-type-field label{text-transform:none;letter-spacing:normal;font-size:.8125rem;font-weight:500;margin-bottom:.25rem}.weapon-item input[type=text]{margin:0;font-size:1rem}.weapon-type-field .custom-select-wrapper{min-width:0;width:100%}.weapon-type-field .select-selected{min-height:2.25rem;padding:.35rem .5rem;font-size:1rem}.weapon-field.weapon-range-field{min-width:0}.delete-weapon-btn{background:var(--status-error);color:var(--color-white);border:none;border-radius:50%;width:1.75rem;height:1.75rem;cursor:pointer;font-size:1rem;font-weight:700;transition:border-color .22s ease,background .22s ease;display:flex;align-items:center;justify-content:center;opacity:.8;flex-shrink:0;align-self:flex-start}.delete-weapon-btn:hover{opacity:1;transform:scale(1.1);box-shadow:var(--shadow-md)}.weapon-item.dragging{opacity:.5;transform:rotate(1deg);box-shadow:var(--shadow-lg);z-index:1000}.weapon-item.drag-over{border-top:2px solid var(--color-primary)}.add-button{background:var(--bg-primary);color:var(--status-success);padding:.625rem 1.25rem;border:1px solid var(--status-success);border-radius:var(--radius-loose);cursor:pointer;font-weight:600;transition:border-color .22s ease,background .22s ease,transform .22s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;margin:0 auto;text-transform:uppercase;letter-spacing:.05em;font-size:.875rem}.add-button:hover{background:var(--status-success);color:var(--color-white);box-shadow:var(--shadow-md);transform:scale(1.02)}.floating-action-buttons{position:fixed;top:50%;transform:translateY(-50%);right:1.5rem;z-index:1000;display:flex;flex-direction:column-reverse;align-items:flex-end;gap:1rem}.dock-section{display:flex;flex-direction:column;align-items:stretch;gap:.375rem;width:100%}.dock-section-label{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);white-space:nowrap;padding-left:.25rem}.dock-select{width:100%;min-width:160px;padding:.625rem .75rem;border:1px solid var(--border-primary);border-radius:var(--radius-normal);background:var(--bg-primary);color:var(--text-primary);font-size:.9375rem;font-weight:500}.dock-select:hover{border-color:var(--color-primary);background:var(--bg-tertiary)}.dock-select:focus{outline:none;border-color:var(--color-primary)}.dock-divider{width:100%;height:1px;background:var(--border-primary);margin:.125rem 0}.dock-actions{display:flex;align-items:stretch;gap:.375rem;width:100%}.dock-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.625rem .5rem;border:none;border-radius:var(--radius-normal);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:border-color .22s ease,background .22s ease;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;text-decoration:none;flex:1;min-width:0}.dock-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.dock-btn svg{flex-shrink:0}.dock-btn span{white-space:nowrap}.dock-btn:disabled{opacity:.4;cursor:not-allowed}.dock-btn:disabled:hover{background:transparent;color:var(--text-secondary)}.dock-btn-accent:not(:disabled):hover{background:color-mix(in srgb,var(--color-primary) 15%,transparent);color:var(--color-accent)}.dock-btn-success:hover{background:color-mix(in srgb,var(--status-success) 15%,transparent);color:var(--status-success)}.dock-btn-info:hover{background:color-mix(in srgb,var(--status-info) 15%,transparent);color:var(--status-info)}.dock-btn-warning:hover{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.dock-btn-danger:hover{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}@media(max-width:768px){.dock-content{padding:.625rem;gap:.375rem}.dock-select{min-width:140px;padding:.375rem .5rem;font-size:.6875rem}.dock-btn{padding:.625rem .5rem;font-size:.5rem}.dock-btn svg{width:22px;height:22px}}.mobile-panel-close{display:none!important}.dice-tray-panel,.campaign-panel,.theme-panel,.sheet-panel{position:fixed;z-index:1001;display:flex;flex-direction:column;align-items:flex-end;top:50%;transform:translateY(-50%);right:5rem;bottom:auto}.floating-panel-content{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:14px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transition:all .4s cubic-bezier(.2,0,.2,1);transform-origin:bottom right;overflow:hidden;padding:1.5rem}.floating-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-primary)}.floating-panel-header h3{margin:0;font-size:1.25rem;font-weight:700;color:var(--text-primary)}.dice-tray-panel-content{width:620px;max-width:calc(100vw - 6rem);max-height:calc(100vh - 8rem);overflow-y:auto}.campaign-panel-content{width:960px;max-width:calc(100vw - 6rem);max-height:calc(100vh - 6rem);overflow-y:auto}.theme-panel-content{width:340px;max-width:calc(100vw - 6rem);max-height:calc(100vh - 8rem);overflow-y:auto}@media(min-width:769px){.theme-panel-content{width:620px}.theme-panel-layout{display:flex;flex-direction:row;gap:1.5rem;align-items:flex-start}.theme-panel-layout .theme-options-grid{flex:1;min-width:0}.theme-panel-layout .dice-color-section{flex:0 0 auto;width:170px;margin-top:0;padding-top:0;border-top:none;border-left:1px solid var(--border-primary);padding-left:1rem;padding-right:.5rem;max-height:calc(100vh - 10rem);overflow-y:auto}}.sheet-panel-content{width:420px;max-width:calc(100vw - 6rem);max-height:calc(100vh - 8rem);overflow-y:auto}.sheet-panel-content .dock-btn span{white-space:normal;text-align:center;line-height:1.2}.sheet-panel-content .dock-section-label,.sheet-panel-content .dock-btn,.sheet-panel-content .dock-btn span,.sheet-panel-content .custom-select-wrapper .select-selected{color:var(--text-primary)}.sheet-panel-content .dock-btn:disabled{color:var(--text-secondary);opacity:.4}.sheet-panel-content .dock-btn:disabled:hover{color:var(--text-secondary)}.sheet-panel.save-location-browser #save-button,.sheet-panel.save-location-browser #save-button span,.sheet-panel.save-location-browser .custom-select-wrapper .select-selected,.sheet-panel.save-location-cloud #save-cloud-button,.sheet-panel.save-location-cloud #save-cloud-button span,.sheet-panel.save-location-cloud .custom-select-wrapper .select-selected{color:var(--status-success)!important}.panel-account-section{padding:.75rem;background:var(--bg-secondary);border-radius:var(--radius-normal);margin-bottom:.5rem}.panel-account-info{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.panel-account-label{font-size:.8125rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.panel-account-email{font-size:1rem;font-weight:500;color:var(--text-primary);word-break:break-all}.panel-account-actions{display:flex;gap:.5rem}.panel-account-actions .dock-btn{flex:1}.dice-tray-panel.collapsed .floating-panel-content,.campaign-panel.collapsed .floating-panel-content,.theme-panel.collapsed .floating-panel-content,.sheet-panel.collapsed .floating-panel-content{max-height:0;max-width:0;padding:0;opacity:0;pointer-events:none;transform:scale(.95);border-width:0;width:0}@media(max-width:968px){.sheet-panel{right:1rem;left:1rem;bottom:auto;top:5rem;align-items:stretch;transform:none}.campaign-panel{right:auto;left:1rem;right:1rem;bottom:auto;top:5rem;width:auto;align-items:stretch;transform:none}.dice-tray-panel{right:1rem;left:1rem;bottom:auto;top:2rem;align-items:stretch;transform:none}.theme-panel{right:1rem;left:1rem;bottom:auto;top:50%;align-items:stretch;transform:translateY(-50%)}.dice-tray-panel-content,.campaign-panel-content,.theme-panel-content,.sheet-panel-content{width:100%!important;max-width:100%!important;max-height:calc(100vh - 10rem)}.campaign-dashboard,.dice-tray-dashboard{grid-template-columns:1fr}.mobile-panel-close{display:flex!important;position:relative!important;top:auto!important;right:auto!important;margin-left:auto}.dice-tray-dashboard .dashboard-card h3{display:none}.dice-tray-dashboard .dashboard-card{padding:.75rem;margin-bottom:.5rem}.dice-tray-dashboard .control-group{margin-bottom:.375rem}.floating-panel-header h3{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50%}.combat-status-indicator{padding:.25rem .5rem;font-size:.75rem}.dice-tray-dashboard label{margin-bottom:.125rem;font-size:.8rem}.dice-tray-dashboard input[type=text],.dice-tray-dashboard input[type=number],.dice-tray-dashboard select{padding:.5rem}.dice-tray-dashboard .dice-tray-controls{gap:.5rem}}.theme-options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;padding-right:6px;overflow:visible}.theme-option-btn{display:flex;flex-direction:column;align-items:stretch;padding:0;border:1px solid var(--border-primary);border-radius:var(--radius-normal);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font-weight:500;font-size:.9375rem;transition:border-color .22s ease,background .22s ease;text-align:center;position:relative;overflow:hidden;min-width:0;max-width:100%}.theme-option-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:var(--color-primary)}.theme-option-btn.active{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--color-primary);box-shadow:var(--shadow-md);outline:2px solid var(--color-primary-light, rgba(255, 255, 255, .5));outline-offset:2px;font-weight:700}.theme-option-btn.active .theme-name:after{content:" ✓";font-weight:700}.theme-preview-box{display:flex;align-items:center;justify-content:center;min-height:5rem;padding:.5rem .75rem;border-radius:var(--radius-tight) var(--radius-tight) 0 0;background:var(--preview-bg, var(--bg-secondary))}.theme-swatches{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.35rem}.theme-swatch{width:1.25rem;height:1.25rem;flex-shrink:0;clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)}.theme-swatch-1{background-color:var(--swatch-1, var(--color-gray-400))}.theme-swatch-2{background-color:var(--swatch-2, var(--color-gray-500))}.theme-swatch-3{background-color:var(--swatch-3, var(--color-gray-600))}.theme-swatch-4{background-color:var(--swatch-4, var(--color-gray-600))}.theme-swatch-text{display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;font-family:var(--preview-font, inherit);background-color:var(--preview-text, var(--text-primary))!important;color:var(--preview-text-contrast, #fff)}.theme-name{display:block;padding:.5rem .75rem .625rem;font-size:.9rem;font-family:var(--preview-font, inherit)}.dice-color-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-primary)}.dice-color-heading{font-size:1.25rem;font-weight:700;margin:0 0 .75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-primary);color:var(--text-primary)}.dice-color-preview-container{width:96px;height:96px;margin:0 auto 1rem;border-radius:var(--radius-tight);background:transparent;overflow:visible;display:flex;align-items:center;justify-content:center}.dice-color-options-grid{display:flex;flex-direction:column;gap:.5rem}.dice-color-option-btn{display:flex;flex-direction:row;align-items:center;gap:.5rem;padding:.5rem;border:1px solid var(--border-primary);border-radius:var(--radius-tight);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font-size:.8125rem;transition:border-color .2s ease,background .2s ease;text-align:left}.dice-color-option-btn:hover{border-color:var(--color-primary)}.dice-color-option-btn.active{border-color:var(--color-primary);outline:2px solid var(--color-primary-light, rgba(255, 255, 255, .5));outline-offset:2px}.dice-color-swatch{width:1.5rem;height:1.5rem;border-radius:.25rem;flex-shrink:0}.dice-color-swatch-theme{background:linear-gradient(180deg,var(--color-primary) 0%,var(--color-primary-dark) 100%)}.dice-color-name{font-weight:500}.theme-option-btn.light-theme-preview{--preview-font: "Source Sans 3", -apple-system, BlinkMacSystemFont, sans-serif;--swatch-1: #4A5F7F;--swatch-2: #6B7FA0;--swatch-3: #5B7A8C;--swatch-4: #5A6B7D;--preview-bg: linear-gradient(90deg, #F8F7F6 0%, #E2DFDB 100%);--preview-text: #1A1816;--preview-text-contrast: #fff}.theme-option-btn.dark-theme-preview{--preview-font: "Source Sans 3", -apple-system, sans-serif;--swatch-1: #0F1214;--swatch-2: #1E252B;--swatch-3: #7CB8D4;--swatch-4: #9DCFE4;--preview-bg: linear-gradient(120deg, #12171A 0%, #1E252B 100%);--preview-text: #E8ECF0;--preview-text-contrast: #12171A}.theme-option-btn.abyssal-theme-preview{--preview-font: "Cormorant Garamond", serif;--swatch-1: #000000;--swatch-2: #020E15;--swatch-3: #00FFFF;--swatch-4: #E0FFFF;--preview-bg: linear-gradient(135deg, #000 0%, #051821 100%);--preview-text: #E0FFFF;--preview-text-contrast: #020E15}.theme-option-btn.bloody-theme-preview{--preview-font: var(--font-bloody);--swatch-1: #1A0A0F;--swatch-2: #8B1538;--swatch-3: #C9A961;--swatch-4: #B8234A;--preview-bg: linear-gradient(135deg, #1A0A0F 0%, #3D1F26 100%);--preview-text: #E0C9CD;--preview-text-contrast: #1A0A0F}.theme-option-btn.blueprint-theme-preview{--preview-font: "Courier New", monospace;--swatch-1: #1e3a8a;--swatch-2: #172554;--swatch-3: #FFFFFF;--swatch-4: #93C5FD;--preview-bg: linear-gradient(135deg, #1e3a8a 0%, #172554 100%);--preview-text: #FFFFFF;--preview-text-contrast: #1e3a8a}.theme-option-btn.college-ruled-theme-preview{--preview-font: "Caveat", cursive;--swatch-1: #FEFCE8;--swatch-2: #E7E5E4;--swatch-3: #78716C;--swatch-4: #A78BFA;--preview-bg: linear-gradient(135deg, #FEFCE8 0%, #E7E5E4 100%);--preview-text: #44403C;--preview-text-contrast: #fff}.theme-option-btn.college-ruled-inverted-theme-preview{--preview-font: "Caveat", cursive;--swatch-1: #1c1917;--swatch-2: #292524;--swatch-3: #A78BFA;--swatch-4: #C4B5FD;--preview-bg: linear-gradient(135deg, #1c1917 0%, #292524 100%);--preview-text: #E7E5E4;--preview-text-contrast: #1c1917}.theme-option-btn.corrupted-theme-preview{--preview-font: var(--font-frozen);--swatch-1: #2D1B4E;--swatch-2: #7B68A8;--swatch-3: #9B59B6;--swatch-4: #DDA0DD;--preview-bg: linear-gradient(135deg, #1a0a2e 0%, #3D2B5C 100%);--preview-text: #E8D5E8;--preview-text-contrast: #2D1B4E}.theme-option-btn.delinquent-theme-preview{--preview-font: var(--font-frozen);--swatch-1: #1a1a1a;--swatch-2: #FF6B1A;--swatch-3: #FF8533;--swatch-4: #FFB366;--preview-bg: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);--preview-text: #F5F5F5;--preview-text-contrast: #1a1a1a}.theme-option-btn.dystopic-theme-preview{--preview-font: var(--font-dystopic);--swatch-1: #0A0908;--swatch-2: #1A1614;--swatch-3: #8B4513;--swatch-4: #C4B8A8;--preview-bg: linear-gradient(135deg, #0A0908 0%, #1A1614 100%);--preview-text: #C4B8A8;--preview-text-contrast: #0A0908}.theme-option-btn.espionage-theme-preview{--preview-font: "Courier New", "Courier", monospace;--swatch-1: #0a0a0a;--swatch-2: #8B0000;--swatch-3: #1a1a1a;--swatch-4: #B22222;--preview-bg: linear-gradient(135deg, #0a0a0a 0%, #1a0a0a 100%);--preview-text: #E8D5D5;--preview-text-contrast: #0a0a0a}.theme-option-btn.eternal-theme-preview{--preview-font: var(--font-fantasy);--swatch-1: #1a1410;--swatch-2: #CD7F32;--swatch-3: #DEB887;--swatch-4: #F4E4BC;--preview-bg: linear-gradient(135deg, #1a1410 0%, #2d2520 100%);--preview-text: #F4E4BC;--preview-text-contrast: #1a1410}.theme-option-btn.fantasy-theme-preview{--preview-font: var(--font-fantasy);--swatch-1: #0d1f12;--swatch-2: #4A7C59;--swatch-3: #6B8E6B;--swatch-4: #9CB89C;--preview-bg: linear-gradient(135deg, #0d1f12 0%, #1a2e1e 100%);--preview-text: #D4E5D4;--preview-text-contrast: #0d1f12}.theme-option-btn.frozen-theme-preview{--preview-font: var(--font-frozen);--swatch-1: #0c1920;--swatch-2: #7dd3fc;--swatch-3: #bae6fd;--swatch-4: #e0f2fe;--preview-bg: linear-gradient(135deg, #0c1920 0%, #0e7490 50%, #7dd3fc 100%);--preview-text: #e0f2fe;--preview-text-contrast: #0c1920}.theme-option-btn.mystic-theme-preview{--preview-font: "Cormorant Garamond", Georgia, serif;--swatch-1: #1a0a2e;--swatch-2: #9B59B6;--swatch-3: #BB8FCE;--swatch-4: #E8DAEF;--preview-bg: linear-gradient(135deg, #1a0a2e 0%, #3D2B5C 100%);--preview-text: #E8DAEF;--preview-text-contrast: #1a0a2e}.theme-option-btn.neon-theme-preview{--preview-font: var(--font-neon);--swatch-1: #0d0d0d;--swatch-2: #FF006E;--swatch-3: #8338EC;--swatch-4: #FFBE0B;--preview-bg: linear-gradient(135deg, #0d0d0d 0%, #1a1a2e 100%);--preview-text: #fff;--preview-text-contrast: #0d0d0d}.theme-option-btn.persephone-theme-preview{--preview-font: var(--font-fantasy);--swatch-1: #0d1f0a;--swatch-2: #2E5A1C;--swatch-3: #8B0000;--swatch-4: #C4A574;--preview-bg: linear-gradient(135deg, #0d1f0a 0%, #2E5A1C 50%, rgba(139,0,0,.2) 100%);--preview-text: #E8E0D5;--preview-text-contrast: #0d1f0a}.theme-option-btn.princess-theme-preview{--preview-font: "Cormorant Garamond", "Georgia", serif;--swatch-1: #1a0a14;--swatch-2: #F472B6;--swatch-3: #FBCFE8;--swatch-4: #FDF2F8;--preview-bg: linear-gradient(135deg, #1a0a14 0%, #4a1a35 100%);--preview-text: #FDF2F8;--preview-text-contrast: #1a0a14}.theme-option-btn.raygun-gothic-theme-preview{--preview-font: "Helvetica Neue", "Arial", "Roboto", sans-serif;--swatch-1: #0a0a0a;--swatch-2: #FF6B00;--swatch-3: #FF8533;--swatch-4: #FFB366;--preview-bg: linear-gradient(135deg, #0a0a0a 0%, #1a1510 100%);--preview-text: #FFE4CC;--preview-text-contrast: #0a0a0a}.theme-option-btn.raygun-light-theme-preview{--preview-font: "Helvetica Neue", "Arial", "Roboto", sans-serif;--swatch-1: #1a1510;--swatch-2: #FF8533;--swatch-3: #FFB366;--swatch-4: #FFE4CC;--preview-bg: linear-gradient(135deg, #1a1510 0%, #2d2520 100%);--preview-text: #1a1510;--preview-text-contrast: #fff}.theme-option-btn.serpentine-theme-preview{--preview-font: "Source Sans 3", -apple-system, BlinkMacSystemFont, sans-serif;--swatch-1: #0d1a0d;--swatch-2: #2E8B57;--swatch-3: #9ACD32;--swatch-4: #98FB98;--preview-bg: linear-gradient(135deg, #0d1a0d 0%, rgba(46, 139, 87, .3) 100%);--preview-text: #D4F0D4;--preview-text-contrast: #0d1a0d}.theme-option-btn.smoldering-theme-preview{--preview-font: "Source Sans 3", -apple-system, BlinkMacSystemFont, sans-serif;--swatch-1: #1a0a05;--swatch-2: #8B2500;--swatch-3: #CD4A2C;--swatch-4: #E8A090;--preview-bg: linear-gradient(135deg, #1a0a05 0%, #2d1510 100%);--preview-text: #F5E0DB;--preview-text-contrast: #1a0a05}.theme-option-btn.terminal-theme-preview{--preview-font: "Courier New", "Courier", monospace;--swatch-1: #0a0a0a;--swatch-2: #00FF00;--swatch-3: #33FF33;--swatch-4: #66FF66;--preview-bg: #0a0a0a;--preview-text: #00FF00;--preview-text-contrast: #0a0a0a}.theme-option-btn.withered-theme-preview{--preview-font: var(--font-western);--swatch-1: #1a120a;--swatch-2: #8B4513;--swatch-3: #A0522D;--swatch-4: #DEB887;--preview-bg: linear-gradient(135deg, #1a120a 0%, rgba(139, 69, 19, .2) 100%);--preview-text: #E8DCC8;--preview-text-contrast: #1a120a}.theme-option-btn.inferno-theme-preview{--preview-font: var(--font-frozen);--swatch-1: #1a0a05;--swatch-2: #FF6B35;--swatch-3: #FF8C5A;--swatch-4: #FFB088;--preview-bg: linear-gradient(135deg, #1a0a05 0%, #2d1510 100%);--preview-text: #FFE4D9;--preview-text-contrast: #1a0a05}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 1.75rem;font-size:1rem;font-weight:600;border-radius:9999px;cursor:pointer;transition:all .18s cubic-bezier(.25,.1,.25,1);border:none;text-transform:none;letter-spacing:.01em;gap:.5rem;position:relative;overflow:hidden;box-shadow:0 1px 2px #00000014}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:active{transform:translateY(0)}.btn-main{background:var(--color-primary)}.btn-main:hover{background:var(--color-primary-dark)}.btn-alt{background:var(--color-gray-600)}.btn-alt:hover{background:var(--color-gray-700)}.btn-success{background:var(--status-success)}.btn-success:hover{background:var(--status-success-hover)}.btn-warning{background:var(--status-warning)}.btn-warning:hover{background:var(--status-warning-hover)}.btn-danger{background:var(--status-error)}.btn-danger:hover{background:var(--status-error-hover)}.btn-info{background:var(--status-info)}.btn-info:hover{background:var(--status-info-hover)}.btn-accent{background:var(--color-accent)}.btn-accent:hover{background:var(--color-primary-dark)}.upload-label{cursor:pointer}.sheet-selector{min-width:180px;padding:.625rem .875rem;border:1px solid var(--border-primary);border-radius:var(--radius-loose);background:var(--bg-primary);color:var(--text-primary);font-weight:500;font-size:.875rem}.button-icon{font-size:.875rem}.action-button-icon{font-size:1.375rem;display:inline-flex;align-items:center;justify-content:center}.action-button-icon svg{width:22px;height:22px}.floating-action-btn{width:3rem;height:3rem;color:var(--color-white);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-lg);transition:border-color .22s ease,background .22s ease;border:1px solid rgba(255,255,255,.1);overflow:hidden}.floating-action-btn:hover{transform:scale(1.08);box-shadow:var(--shadow-xl)}.floating-action-btn:active{transform:scale(.95)}.floating-action-btn .action-button-icon svg{width:18px;height:18px}#instructions-toggle-button.floating-action-btn{background:var(--status-info)}#instructions-toggle-button.floating-action-btn:hover{background:var(--status-info-hover)}#dice-roller-button{background:var(--status-info)}#dice-roller-button:hover{background:var(--status-info-hover)}#campaign-button{background:var(--color-secondary)}#campaign-button:hover{background:var(--color-secondary-hover)}#theme-button{background:var(--color-gray-700)}#theme-button:hover{background:var(--color-gray-600)}#sheet-button{background:var(--status-success)}#sheet-button:hover{background:var(--status-success-hover)}body.dark-mode #campaign-button{background:#5a7085}body.dark-mode #campaign-button:hover{background:#4a6178}body.dark-mode #theme-button{background:#4a5562}body.dark-mode #theme-button:hover{background:#3d4752}.modal{display:none;position:fixed;z-index:1001;left:0;top:0;width:100%;height:100%;overflow:auto;background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeIn .3s ease;align-items:center;justify-content:center;padding:1rem;box-sizing:border-box;pointer-events:auto}.modal-content{background:var(--bg-primary);margin:auto;padding:2.5rem;border:1px solid var(--border-primary);width:90%;max-width:500px;max-height:88vh;overflow-y:auto;border-radius:14px;position:relative;box-shadow:0 25px 50px -12px #00000040;animation:slideIn .4s cubic-bezier(.2,0,0,1);contain:layout paint}.instructions-modal-content{max-width:900px}.modal-content,.instructions-modal-content,.campaign-panel-content,.theme-panel-content,.theme-panel-content .theme-options-grid,.campaign-panel-content .campaign-dashboard,.instructions-modal-content .help-accordion{scrollbar-width:thin;scrollbar-color:var(--border-primary) var(--bg-tertiary)}.modal-content::-webkit-scrollbar,.instructions-modal-content::-webkit-scrollbar,.campaign-panel-content::-webkit-scrollbar,.theme-panel-content::-webkit-scrollbar,.theme-panel-content .theme-options-grid::-webkit-scrollbar,.campaign-panel-content .campaign-dashboard::-webkit-scrollbar,.instructions-modal-content .help-accordion::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track,.instructions-modal-content::-webkit-scrollbar-track,.campaign-panel-content::-webkit-scrollbar-track,.theme-panel-content::-webkit-scrollbar-track,.theme-panel-content .theme-options-grid::-webkit-scrollbar-track,.campaign-panel-content .campaign-dashboard::-webkit-scrollbar-track,.instructions-modal-content .help-accordion::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:4px}.modal-content::-webkit-scrollbar-thumb,.instructions-modal-content::-webkit-scrollbar-thumb,.campaign-panel-content::-webkit-scrollbar-thumb,.theme-panel-content::-webkit-scrollbar-thumb,.theme-panel-content .theme-options-grid::-webkit-scrollbar-thumb,.campaign-panel-content .campaign-dashboard::-webkit-scrollbar-thumb,.instructions-modal-content .help-accordion::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover,.instructions-modal-content::-webkit-scrollbar-thumb:hover,.campaign-panel-content::-webkit-scrollbar-thumb:hover,.theme-panel-content::-webkit-scrollbar-thumb:hover,.theme-panel-content .theme-options-grid::-webkit-scrollbar-thumb:hover,.campaign-panel-content .campaign-dashboard::-webkit-scrollbar-thumb:hover,.instructions-modal-content .help-accordion::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}#number-input-modal{z-index:2000}.close-button{color:var(--text-secondary);position:absolute;top:1.25rem;right:1.25rem;font-size:1.5rem;font-weight:700;cursor:pointer;transition:color .2s ease;width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;border-radius:50%;z-index:10}.close-button:hover{color:var(--text-primary);background:var(--bg-secondary)}.modal-content h2{text-align:center;margin:0 0 1.5rem;font-weight:700;color:var(--text-primary);font-size:1.5rem}.dice-tray-modal-content{max-width:900px;width:95vw}.dice-tray-dashboard{display:grid;grid-template-columns:1.4fr 1fr;gap:1.5rem;margin-top:1rem}.dice-tray-roll-btn{margin-top:.5rem}@media(max-width:768px){.dice-tray-dashboard{grid-template-columns:1fr;gap:1rem}.dice-tray-left{order:0}.dice-tray-right{order:1}.dice-tray-column{gap:.75rem}.dice-results-card{min-height:60px;flex:0 0 auto}#dice-results,.dice-results-empty{min-height:40px}.dice-results-empty{padding:.5rem}.dice-results-empty svg{margin-bottom:.25rem;width:24px;height:24px}}.dice-tray-column{display:flex;flex-direction:column;gap:1rem;min-width:0}.dice-tray-controls{display:flex;flex-direction:column;gap:1rem}.dice-tray-or{margin:0;font-size:.875rem;font-weight:600;color:var(--text-secondary, #666);text-align:center;text-transform:uppercase;letter-spacing:.05em}.dice-tray-controls .control-group label{font-size:.9375rem}.dice-tray-controls input[type=text],.dice-tray-controls input[type=number],.dice-tray-controls select,.dice-tray-controls .select-selected{font-size:1rem}.dice-tray-controls .number-spinner-wrapper{height:42px}.dice-tray-controls .number-spinner-wrapper input[type=number]{height:38px;font-size:1rem;padding:.5rem}.dice-tray-controls .spinner-btn{width:38px;height:38px;font-size:1.25rem}.control-group{display:flex;flex-direction:column;gap:.5rem}.control-group label{font-weight:600;font-size:.8125rem;color:var(--text-primary);text-align:left;text-transform:none;letter-spacing:normal;margin:0}.control-row{display:grid;grid-template-columns:1fr auto;gap:1rem}.control-group-small{max-width:140px}.dice-options{display:flex;flex-direction:column;gap:.75rem}.checkbox-option{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-normal);cursor:pointer;transition:all .2s ease;text-transform:none;letter-spacing:normal;font-weight:400}.checkbox-option:hover{border-color:var(--color-primary);background:var(--bg-secondary)}.checkbox-option input[type=checkbox]{width:1.125rem;height:1.125rem;cursor:pointer;accent-color:var(--color-primary)}.checkbox-label{font-size:.875rem;color:var(--text-primary)}.roll-btn{background:var(--color-accent);color:var(--color-white);padding:1rem 1.5rem;border:none;border-radius:var(--radius-loose);cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%}.roll-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);background:var(--color-primary-dark)}.roll-btn .button-icon{display:flex;align-items:center;justify-content:center}.roll-trigger--intense,.roll-btn.roll-trigger--intense,.trait-item.roll-trigger--intense{animation:roll-trigger-shake .12s ease-in-out infinite}@keyframes roll-trigger-shake{0%,to{transform:translate(0) translateY(0)}25%{transform:translate(-2px) translateY(-1px)}50%{transform:translate(2px) translateY(1px)}75%{transform:translate(-1px) translateY(2px)}}.dice-results-card{flex:1;min-height:300px}#dice-results{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;min-height:200px}.dice-results-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:var(--text-secondary);height:100%;min-height:200px}.dice-results-empty svg{opacity:.4;margin-bottom:1rem}.dice-results-empty .status-text{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.dice-results-empty .status-subtext{font-size:.8125rem;color:var(--text-secondary);margin:0}#dice-results h3{margin:0 0 .875rem;color:var(--text-primary)}#dice-results p{margin:.5rem 0;color:var(--text-secondary)}.dice-3d-overlay{position:fixed;inset:0;z-index:10000;background:#00000059;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center}.dice-3d-overlay.dice-3d-overlay--hidden{display:none!important;pointer-events:none!important}.dice-3d-overlay .dice-3d-container{flex:1;width:100%;min-height:0;position:relative}.dice-3d-overlay .dice-2d-container{flex:1;width:100%;min-height:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem;position:relative;pointer-events:none}.dice-3d-overlay .dice-2d-container .dice-result{pointer-events:none}.dice-3d-overlay .dice-3d-container canvas{display:block;width:100%!important;height:100%!important}body.college-ruled-theme .dice-3d-overlay .dice-3d-container canvas,body.college-ruled-inverted-theme .dice-3d-overlay .dice-3d-container canvas{filter:none!important;mix-blend-mode:normal!important;background:transparent!important}.dice-results-popup{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);min-width:12rem;max-width:90vw;padding:1rem 1.25rem;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:var(--radius-loose);box-shadow:0 8px 32px #00000059;pointer-events:none;z-index:2;text-align:center}.dice-3d-overlay.dice-3d-overlay--results-above .dice-results-popup{top:32%;transform:translate(-50%,-50%)}.dice-results-popup-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:.5rem}.dice-results-popup-values{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;word-break:break-all}.dice-results-popup-values .dice-result-success{color:var(--status-success)}.dice-results-popup-successes{font-size:1rem;font-weight:600;color:var(--status-success)}.dice-results-popup-successes.zero{color:var(--status-error)}.dice-results-popup-meta{font-size:.75rem;color:var(--text-secondary);margin-top:.75rem;line-height:1.4;opacity:.95}.dice-3d-overlay .dice-3d-dismiss-hint{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);margin:0;padding:.5rem 1rem;background:#0009;color:var(--text-primary, #fff);font-size:.875rem;border-radius:4px;pointer-events:none}.dice-result{display:inline-flex;align-items:center;justify-content:center;padding:.625rem .875rem;margin:.25rem;border-radius:var(--radius-loose);font-weight:700;font-size:1.125rem;min-width:2.75rem;min-height:2.75rem;text-align:center;transition:all .3s ease;animation:rollIn .5s ease}.dice-result.d2{border-radius:50%;width:3rem;height:3rem;min-width:3rem;padding:0}.dice-result.d4{width:0;height:0;min-width:0;padding:0;border-left:1.75rem solid transparent;border-right:1.75rem solid transparent;border-bottom:3rem solid;border-radius:0;position:relative;background:transparent!important;display:inline-flex;align-items:flex-end;justify-content:center}.dice-result.d4:after{content:attr(data-value);position:absolute;top:2.25rem;left:50%;transform:translate(-50%,-50%);font-weight:700;font-size:1.125rem;color:var(--color-white)}.dice-result.d4.success{border-bottom-color:var(--status-success)}.dice-result.d4.failure{border-bottom-color:var(--color-gray-400)}.dice-result.d6{border-radius:.25rem;width:3rem;height:3rem;min-width:3rem;padding:0}.dice-result.d8{width:3rem;height:3rem;min-width:3rem;padding:0;border-radius:0;transform:rotate(45deg);position:relative}.dice-result.d8:after{content:attr(data-value);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-45deg);font-weight:700;font-size:1.125rem}.dice-result.d10{width:2.5rem;height:3.5rem;min-width:2.5rem;padding:0;border-radius:0;clip-path:polygon(50% 0%,100% 40%,50% 100%,0% 40%)}.dice-result.d12{width:3rem;height:3rem;min-width:3rem;padding:0;border-radius:0;clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%)}.dice-result.d20{width:3rem;height:3rem;min-width:3rem;padding:0;border-radius:0;clip-path:polygon(50% 0%,80% 10%,100% 35%,100% 65%,80% 90%,50% 100%,20% 90%,0% 65%,0% 35%,20% 10%)}.success{background:var(--status-success);color:var(--color-white);box-shadow:var(--shadow-md)}.failure{background:var(--color-gray-400);color:var(--color-white);box-shadow:var(--shadow-sm)}.modal-field{margin-bottom:1rem}.modal-field label{display:block;margin-bottom:.5rem}.modal-input{width:100%;padding:.5rem .75rem;border:1px solid var(--border-primary);border-radius:var(--radius-normal);background:var(--bg-primary);color:var(--text-primary)}.modal-actions{display:flex;gap:.5rem}.modal-actions .btn{flex:1}.money-modal-content{max-width:320px}.money-modal-content.money-modal-content--wide{max-width:380px}.money-modal-section{margin-bottom:1rem}.money-modal-label{display:block;margin-bottom:.5rem}.money-modal-type-row{display:flex;gap:.5rem;margin-bottom:1rem}.money-modal-type-btn{flex:1}.money-modal-balance{margin-bottom:1rem;color:var(--text-secondary)}.money-modal-balance strong{color:var(--status-success)}.money-input-group.money-input-group--full{max-width:100%}.money-amount-input{flex:1}.help-intro{margin-bottom:1.5rem;padding:1rem;background:var(--bg-tertiary);border-radius:var(--radius-loose);border:1px solid var(--border-primary)}.help-intro p{margin:0;color:var(--text-secondary);line-height:1.6;font-size:1rem}.help-accordion{display:flex;flex-direction:column;gap:.5rem}.accordion-item{border:1px solid var(--border-primary);border-radius:var(--radius-loose);overflow:hidden;background:var(--bg-secondary)}.accordion-header{width:100%;display:flex;align-items:center;gap:.75rem;padding:1rem;background:transparent;border:none;cursor:pointer;text-align:left;color:var(--text-primary);transition:background .24s ease}.accordion-header:hover{background:var(--bg-tertiary)}.accordion-icon{display:flex;align-items:center;justify-content:center;color:var(--color-primary);flex-shrink:0}.accordion-title{flex:1;font-weight:600;font-size:1.0625rem}.accordion-arrow{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:transform .26s ease}.accordion-item.active .accordion-arrow{transform:rotate(180deg)}.accordion-content{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease;padding:0 1rem;background:var(--bg-tertiary);border-top:1px solid transparent}.accordion-item.active .accordion-content{max-height:1000px;padding:1rem;border-top-color:var(--border-primary)}.accordion-content p{margin:0 0 .75rem;color:var(--text-secondary);line-height:1.6;font-size:1rem}.accordion-content p:last-child{margin-bottom:0}.accordion-content ul,.accordion-content ol{margin:0 0 .75rem;padding-left:1.25rem}.accordion-content li{margin-bottom:.5rem;line-height:1.5;color:var(--text-secondary);font-size:1rem}.accordion-content ul ul{margin-top:.5rem;margin-bottom:0}.help-tip,.help-warning{margin-top:.75rem;padding:.75rem 1rem;border-radius:var(--radius-normal);font-size:.9375rem}.help-tip{background:color-mix(in srgb,var(--status-success) 10%,transparent);border:1px solid var(--status-success);color:var(--status-success)}.help-warning{background:color-mix(in srgb,var(--status-warning) 10%,transparent);border:1px solid var(--status-warning);color:var(--status-warning)}.help-footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-primary);text-align:center}.help-footer p{margin:0;color:var(--text-secondary);font-size:.9375rem}.help-footer a{color:var(--color-primary);text-decoration:none}.help-footer a:hover{text-decoration:underline}.character-portrait-container{display:flex;justify-content:center;grid-column:1 / -1;margin-bottom:.5rem}.character-portrait-container.hidden,.add-portrait-container.hidden{display:none}.character-portrait-wrapper{position:relative;width:180px;height:180px;border-radius:var(--radius-wide);overflow:hidden;box-shadow:var(--shadow-lg);border:3px solid var(--color-primary);background:var(--bg-tertiary);animation:portraitReveal .5s var(--ease-out-back)}#character-portrait{width:100%;height:100%;object-fit:cover;transition:transform .26s ease}.character-portrait-wrapper:hover #character-portrait{transform:scale(1.05)}.character-portrait-overlay{position:absolute;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;gap:.5rem;opacity:0;transition:opacity .2s ease}.character-portrait-wrapper:hover .character-portrait-overlay{opacity:1}.portrait-action-btn{width:36px;height:36px;border-radius:50%;border:none;background:var(--color-primary);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.portrait-action-btn:hover{transform:scale(1.1);background:var(--color-primary-dark)}.portrait-remove-btn{background:var(--status-error)}.portrait-remove-btn:hover{background:var(--status-error-hover)}.add-portrait-container{display:flex;justify-content:center;grid-column:1 / -1;margin-bottom:.5rem;animation:fadeInUp .38s cubic-bezier(.25,.1,.25,1)}.add-portrait-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.5rem;width:180px;height:180px;background:var(--bg-secondary);border:2px dashed var(--border-color);border-radius:var(--radius-wide);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.add-portrait-btn:hover{background:var(--bg-tertiary);border-color:var(--color-primary);color:var(--color-primary)}.add-portrait-btn span{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.portrait-crop-modal-content{max-width:600px;width:90%}.crop-instructions{color:var(--text-secondary);margin-bottom:1rem;font-size:.875rem}.crop-container{position:relative;margin-bottom:1.5rem}#crop-preview-container{position:relative;max-width:100%;max-height:400px;overflow:hidden;border-radius:var(--radius-loose);background:var(--bg-tertiary);display:flex;justify-content:center;align-items:center}#crop-image-wrapper{position:relative;display:inline-block;line-height:0}#crop-preview-image{max-width:100%;max-height:400px;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}#crop-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}#crop-box{position:absolute;border:2px solid var(--color-primary);box-shadow:0 0 0 9999px #00000080;cursor:move;pointer-events:auto;aspect-ratio:1 / 1;min-width:64px;min-height:64px}.crop-handle{position:absolute;width:16px;height:16px;background:var(--color-primary);border:2px solid white;border-radius:50%;pointer-events:auto}.crop-handle.top-left{top:-8px;left:-8px;cursor:nw-resize}.crop-handle.top-right{top:-8px;right:-8px;cursor:ne-resize}.crop-handle.bottom-left{bottom:-8px;left:-8px;cursor:sw-resize}.crop-handle.bottom-right{bottom:-8px;right:-8px;cursor:se-resize}.crop-actions{display:flex;gap:1rem;justify-content:flex-end}@keyframes portraitReveal{0%{opacity:0;transform:scale(.8) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes rollIn{0%{opacity:0;transform:scale(.3) rotate(180deg)}to{opacity:1;transform:scale(1) rotate(0)}}body.bloody-theme .roll-btn{background:linear-gradient(120deg,var(--color-primary) 0%,var(--color-accent) 100%)}body.bloody-theme .roll-btn:hover{background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 100%);box-shadow:0 0 15px #8b153899}body.fantasy-theme .roll-btn{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%)}body.fantasy-theme .roll-btn:hover{background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 100%);box-shadow:0 0 15px #8b691499}body.frozen-theme .roll-btn{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%)}body.frozen-theme .roll-btn:hover{background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 100%);box-shadow:0 0 15px #5b8fa399,0 0 25px #b8d4e04d}body.espionage-theme .roll-btn{background:linear-gradient(135deg,#8b0000,#5c0000);border:1px solid #8B0000;box-shadow:0 4px 10px #00000080}body.espionage-theme .roll-btn:hover{background:linear-gradient(135deg,#a50000,#700000);border-color:#b22222;box-shadow:0 0 15px #8b000066}body.dystopic-theme .roll-btn{background:var(--color-primary)}body.dystopic-theme .roll-btn:hover{background:var(--color-primary-dark);box-shadow:0 0 10px #000c}body.neon-theme .roll-btn{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 50%,var(--color-secondary) 100%)}body.neon-theme .roll-btn:hover{background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-accent) 50%,var(--color-secondary) 100%);box-shadow:0 0 20px #ff006ecc,0 0 40px #8338ec80}@media(min-width:768px){body{padding:2.5rem 1.5rem 2rem}}@media(min-width:901px){.layout-main-grid{grid-template-columns:320px 1fr;grid-template-rows:auto 1fr;grid-template-areas:"stats tabs" "traits tabs";align-items:start;column-gap:1.5rem;row-gap:.8rem}.traits-section .traits-grid,.traits-grid{grid-template-columns:repeat(2,1fr)}#endicott-traits{grid-template-columns:1fr}.fear-shiver-row{display:flex;gap:1rem}.fear-shiver-row .trait-item{flex:1}}@media(min-width:1280px){.layout-main-grid{grid-template-columns:360px 1fr}}@media(max-width:900px){body{padding:1rem .5rem}.character-sheet{padding:1rem;margin:0 auto;width:100%;max-width:100%}.layout-main-grid{grid-template-columns:1fr;grid-template-areas:"stats" "traits" "tabs"}.header-container{padding-top:2.75rem}.header-content-wrapper{flex-direction:column;align-items:stretch}.header-right-group{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.header-right-group .detail-group{width:auto}.path-level-group{min-width:unset;width:100%;flex-basis:100%}.path-die-dev-code-row{display:flex;flex-direction:row;align-items:flex-end;gap:.75rem;flex:1;min-width:0}.path-die-dev-code-row .path-die-group,.path-die-dev-code-row .dev-code-group{flex:1;min-width:0}.path-die-group{min-width:105px}.path-die-group input{min-width:unset!important;max-width:none!important;width:100%!important}.path-die-group label{white-space:nowrap}.dev-code-group{min-width:200px}.dev-code-group label{white-space:nowrap}.endicott-toggle-header{flex:0 0 auto}.sheet-controls{top:.5rem;left:.5rem;gap:.25rem}.sheet-controls button{width:1.75rem;height:1.75rem}#name{font-size:1.5rem;padding-left:0;padding-right:0}.tab-buttons{flex-direction:column;gap:.375rem;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none;padding-bottom:0}.tab-button{min-width:unset;justify-content:center;border-radius:var(--radius-loose)}.tab-button.active{border-bottom-left-radius:0;border-bottom-right-radius:0;margin-bottom:.25rem;position:relative;z-index:1}.tab-content{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.button-group{flex-direction:column;align-items:stretch}.button-group>*{width:100%}.btn{justify-content:center}.responsive-table,.responsive-table thead,.responsive-table tbody,.responsive-table th,.responsive-table td,.responsive-table tr{display:block}.responsive-table thead tr{position:absolute;top:-9999px;left:-9999px}.responsive-table tr{border:1px solid var(--border-primary);margin-bottom:.875rem;padding:.875rem;border-radius:var(--radius-loose);background:var(--bg-primary)}.responsive-table td{border:none;position:relative;padding:.5rem 0;text-align:left}.responsive-table td[data-label]:before{content:attr(data-label);font-weight:600;color:var(--text-secondary);display:block;margin-bottom:.375rem;font-size:.75rem}.responsive-table input[type=text]{width:100%}.power-item{flex-direction:column;align-items:stretch}.power-item-content{grid-template-columns:1fr;grid-template-areas:"name" "range" "mod" "desc";gap:.75rem}.drag-handle{display:none}.delete-power-btn{align-self:flex-end;margin-top:.5rem}.weapon-item-content{grid-template-columns:1fr;grid-template-areas:"name" "type" "range" "mod"}.delete-weapon-btn{align-self:flex-end;margin-top:.5rem}.weapon-item:after,.power-item:after{top:.3rem;bottom:auto}}@media(max-width:480px){.character-sheet,.tab-content{padding:.875rem}.trait-item{padding:1.25rem 1rem;min-height:64px}.trait-item label{font-size:1rem}.trait-item input{width:60px;height:44px;font-size:1rem}.trait-item .spinner-btn{width:36px;height:36px}}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(prefers-contrast:high){:root{--border-primary: #000000;--border-secondary: #000000;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .3)}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.tribulations-section-inner{margin-top:1rem;margin-bottom:1rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-wide);padding:1rem 1.25rem}.tribulations-section-inner h3{text-align:center;margin-top:.25rem;margin-bottom:.5rem;font-weight:700;color:var(--text-primary);font-size:1rem;text-transform:uppercase;letter-spacing:.08em}.tribulations-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.tribulation-item{display:flex;align-items:center;gap:.5rem;background:var(--bg-primary);padding:.5rem .75rem;border-radius:var(--radius-loose);border:1px solid transparent;transition:all .2s ease;position:relative;cursor:pointer}.tribulation-item:hover{background:var(--bg-tertiary);border-color:var(--border-primary)}.tribulation-item:has(input:checked){background:#4a5f7f1f;background:color-mix(in srgb,var(--color-primary) 12%,transparent);border-color:var(--color-primary)}.tribulation-item label{font-weight:500;font-size:.9375rem;color:var(--text-primary);margin-bottom:0;cursor:pointer;text-transform:none;letter-spacing:normal;transition:color .2s ease;-webkit-user-select:none;user-select:none}.tribulation-item label:before{content:"";position:absolute;inset:0;z-index:1}.tribulation-item input[type=checkbox]{appearance:none;-webkit-appearance:none;margin:0;width:1.125rem;height:1.125rem;border:2px solid var(--color-gray-400);border-radius:var(--radius-tight);cursor:pointer;position:relative;z-index:2;transition:all .2s ease;flex-shrink:0;background:var(--bg-primary)}.tribulation-item input[type=checkbox]:hover{border-color:var(--color-primary)}.tribulation-item input[type=checkbox]:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.tribulation-item input[type=checkbox]:checked:before{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:.6875rem;font-weight:700}.tribulation-item.custom{border:1px dashed var(--border-primary);background:var(--bg-secondary)}.tribulation-item.custom:hover{border-color:var(--color-accent);background:var(--bg-tertiary)}.tribulation-item.custom input[type=checkbox]{border-style:dashed}.add-tribulation-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px dashed var(--border-primary);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;padding:0;margin-left:.25rem}.add-tribulation-btn:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:rotate(90deg)}.add-tribulation-btn svg{width:18px;height:18px;stroke-width:2.5}.delete-tribulation-btn{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;padding:0;margin-left:auto;opacity:.6;transition:all .2s ease}.delete-tribulation-btn:hover{background:var(--bg-tertiary);color:var(--error-color, #ff4d4f);opacity:1}.delete-tribulation-btn svg{width:12px;height:12px;stroke-width:3}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.modal-header h2{margin:0;font-size:1.5rem}.modal-body{margin-bottom:1.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.close-modal-btn{background:none;border:none;font-size:1.5rem;font-weight:700;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.close-modal-btn:hover{color:var(--text-primary)}body .modal-content.custom-prompt-content{padding:.75rem 1rem!important;max-width:380px!important;margin:15vh auto!important;min-height:auto!important;height:auto!important}.custom-prompt-content .modal-header{margin-bottom:.25rem;display:flex;align-items:center}.custom-prompt-content .modal-header h2{font-size:1.125rem;line-height:1.2}.custom-prompt-content .modal-body{margin-bottom:.5rem}.custom-prompt-content .modal-footer{margin-top:.5rem;padding-top:0}.custom-prompt-input-wrapper{width:100%}.custom-prompt-input-wrapper input{width:100%;text-align:left;max-width:none;font-size:1rem;padding:.6rem .8rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--border-radius, 8px)}.custom-prompt-input-wrapper input:focus{border-color:var(--color-primary);outline:none}#infrasphere-container{padding:.4rem .5rem;gap:.1rem;background:none;border:none;box-shadow:none}#infrasphere-container h3{text-align:center;margin-top:.25rem;margin-bottom:.5rem;font-weight:700;color:var(--text-primary);font-size:1rem;text-transform:uppercase;letter-spacing:.08em}.auth-box{max-width:480px;max-height:90vh;overflow-y:auto}.auth-box h2{margin-bottom:.75rem;font-size:1.5rem}.auth-instructions{text-align:center;color:var(--text-secondary);font-size:.9375rem;margin-bottom:1rem;line-height:1.6}.auth-security-notice{background:color-mix(in srgb,var(--status-warning) 10%,transparent);border:1px solid var(--status-warning);border-radius:var(--radius-loose);padding:1rem;margin-bottom:1.25rem}.auth-security-notice strong{display:block;color:var(--status-warning);margin-bottom:.5rem;font-size:.9375rem}.auth-security-notice p{color:var(--text-secondary);font-size:.8125rem;line-height:1.6;margin:0}.auth-security-notice a{color:var(--status-warning);text-decoration:none;font-weight:500}.auth-security-notice a:hover{text-decoration:underline}.auth-form{display:flex;flex-direction:column;gap:.875rem}.auth-form input{font-size:.9375rem}.auth-buttons{display:flex;gap:.875rem;margin-top:.875rem}.auth-buttons button{flex:1;justify-content:center}.auth-footer-note{text-align:center;color:var(--text-secondary);font-size:.8125rem;margin-top:1.25rem;margin-bottom:0;line-height:1.5}.auth-error-message{color:var(--status-error);background:color-mix(in srgb,var(--status-error) 10%,transparent);border:1px solid var(--status-error);border-radius:var(--radius-loose);padding:.875rem;margin-bottom:1.25rem;display:none;text-align:center;font-size:.875rem;word-wrap:break-word}#forgot-password-link{display:block;text-align:center;margin:.75rem auto 0}.btn-link{background:none;border:none;color:var(--color-accent);cursor:pointer;font-size:.875rem;text-decoration:underline;padding:.5rem}.btn-link:hover{color:var(--text-primary)}.account-settings-panel-content{width:420px;max-width:calc(100vw - 2rem);max-height:calc(100vh - 4rem);overflow-y:auto;margin:5% auto;animation:slideIn .4s cubic-bezier(.2,0,0,1)}.account-settings-dashboard{display:flex;flex-direction:column;gap:1rem}.account-info-card{background:linear-gradient(150deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);border:2px solid var(--color-primary);border-radius:var(--radius-wide);padding:1.25rem;box-shadow:var(--shadow-md)}.account-card-header{display:flex;align-items:center;gap:1rem}.account-card-icon{width:48px;height:48px;background:var(--color-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.account-card-details{display:flex;flex-direction:column;gap:.25rem;min-width:0}.account-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.account-email{font-size:1rem;font-weight:600;color:var(--text-primary);word-break:break-all}.account-action-card{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-loose);padding:1rem}.account-action-header{display:flex;align-items:center;gap:.625rem;margin-bottom:.875rem;padding-bottom:.625rem;border-bottom:1px solid var(--border-secondary);color:var(--text-primary)}.account-action-header svg{color:var(--color-primary);flex-shrink:0}.account-action-header h4{margin:0;font-size:.9375rem;font-weight:600}.account-action-header.danger svg,.account-action-header.danger h4{color:var(--status-error)}.account-form{display:flex;flex-direction:column;gap:.625rem}.account-form input{font-size:.875rem;padding:.625rem .875rem}.account-danger-card{background:color-mix(in srgb,var(--status-error) 5%,transparent);border-color:color-mix(in srgb,var(--status-error) 30%,transparent)}.account-danger-desc{font-size:.8125rem;color:var(--text-secondary);margin:0 0 .875rem;line-height:1.5}.btn-danger{background:var(--status-error);color:#fff;border:none;padding:.75rem 1rem;border-radius:var(--radius-loose);cursor:pointer;font-weight:600;transition:all .2s ease}.btn-danger:hover{background:var(--status-error-hover);transform:translateY(-1px)}.btn-danger:disabled{opacity:.5;cursor:not-allowed;transform:none}@media(max-width:480px){.account-settings-panel-content{width:100%;max-width:none;border-radius:16px}.account-card-icon{width:40px;height:40px}.account-card-icon svg{width:20px;height:20px}}.forgot-password-modal-content{max-width:400px}.forgot-password-desc{color:var(--text-secondary);font-size:.9375rem;margin-bottom:1.25rem;line-height:1.6}#account-settings-btn{background:none;border:none;color:var(--color-accent);cursor:pointer;font-size:.8125rem;padding:.25rem .5rem;margin-left:.5rem;text-decoration:underline}#account-settings-btn:hover{color:var(--text-primary)}#save-cloud-button{background:var(--bg-primary);color:var(--text-secondary);border:none}#save-cloud-button:not(:disabled):hover{background:color-mix(in srgb,var(--color-primary) 15%,transparent);color:var(--color-accent)}#save-cloud-button:disabled{background:var(--bg-primary);color:var(--text-secondary);border:none;cursor:not-allowed;opacity:.4}#save-cloud-button:disabled:hover{transform:none;box-shadow:none;background:transparent}.hidden-section{display:none!important}#endicott-traits.endicott-traits-visible{display:flex;flex-direction:column;gap:1rem;animation:fadeIn .5s ease}#class-schedule-container.schedule-visible,#endicott-storage-container.storage-visible{display:block;animation:fadeIn .5s ease}#class-schedule-container{margin-top:1.5rem}.percentage-display{font-size:.9375rem;font-weight:600;color:var(--text-secondary);margin-top:.625rem;text-align:center}.schedule-table td:first-child{font-weight:500;color:var(--text-secondary);white-space:nowrap}.schedule-table input{font-size:.875rem}.campaign-modal-content{max-width:960px;width:95vw}.campaign-dashboard{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:1rem}.campaign-dashboard.has-roll-log{grid-template-columns:280px 1fr}@media(max-width:1200px){.campaign-dashboard.has-roll-log{grid-template-columns:240px 1fr}}@media(max-width:968px){.campaign-dashboard{grid-template-columns:1fr;height:auto;min-height:auto}.campaign-dashboard.has-roll-log{grid-template-columns:1fr}.campaign-dashboard-roll-log{order:1}.campaign-dashboard-roll-log #roll-log-display{max-height:300px}}.campaign-sheet-view{display:flex;flex-direction:column;min-width:0;flex:1;overflow:hidden}.campaign-sheet-view-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-primary);flex-shrink:0}.campaign-sheet-view-title{margin:0;font-size:1.25rem;font-weight:700;color:var(--text-primary)}.campaign-sheet-view-content{flex:1;overflow-y:auto;min-height:0;background:var(--bg-secondary);border-radius:var(--radius-loose);padding:1rem}.campaign-sheet-view-content .readonly-sheet-wrapper--scaled{transform:scale(.9);transform-origin:top left;width:112%;margin-bottom:-10%}.campaign-tab-section{display:flex;flex-direction:column;min-width:0}.campaign-tabs{margin-top:0}.campaign-tabs .tab-content{margin-top:.75rem}.campaign-management-grid{display:grid;grid-template-columns:1fr 340px;gap:1.5rem}.campaign-management-left,.campaign-management-right{display:flex;flex-direction:column;gap:1rem}@media(max-width:968px){.campaign-management-grid{grid-template-columns:1fr}.campaign-management-right{order:-1}}.combat-flow-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.combat-flow-grid.gm-view{grid-template-columns:1.5fr 280px}@media(max-width:968px){.combat-flow-grid.gm-view{grid-template-columns:1fr}}#roll-log-tab.active{display:flex;flex-direction:column}#roll-log-tab .roll-log-card{display:flex;flex-direction:column;flex:1;min-height:0;border:none;box-shadow:none;background:transparent;padding:0}#roll-log-tab .card-header{flex-shrink:0;margin-bottom:1rem}#roll-log-tab .roll-log-display-container{flex:1;overflow-y:auto;min-height:500px;height:70vh;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-normal);padding:.5rem}.join-create-container{display:flex;flex-direction:column;gap:1rem}.join-create-container .dashboard-card{margin:0}.character-sheet,.app-header-logo,.version-info,.app-footer,.floating-action-btn-container,#instructions-toggle-button,#theme-button,#sheet-button,#dice-roller-button{display:none!important}body.app-authenticated .character-sheet{display:flex!important;flex-direction:column}body.app-authenticated .app-header-logo,body.app-authenticated .version-info{display:block!important}body.app-authenticated .app-footer,body.app-authenticated #instructions-toggle-button,body.app-authenticated #theme-button,body.app-authenticated #sheet-button,body.app-authenticated #dice-roller-button{display:flex!important}.auth-logo{text-align:center;font-size:3rem;margin-bottom:1rem;margin-top:0;line-height:1}.tour-popup{background:linear-gradient(90deg,var(--bg-dark) 0%,#1a1a20 100%);border:1px solid var(--border-color);text-align:center;max-width:400px;padding:1.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center}.tour-title{font-family:Cormorant Garamond,serif;color:var(--color-primary);margin-bottom:.5rem;font-size:1.8rem;text-shadow:0 0 10px rgba(220,38,38,.3)}.tour-description{font-size:1rem;margin-bottom:1.5rem;color:var(--text-color);line-height:1.4}.tour-actions{display:flex;justify-content:center;gap:1rem;width:100%}.tour-actions .btn{min-width:100px}.readonly-sheet-wrapper.readonly-sheet-wrapper--scaled{position:relative;width:118%;transform:scale(.85);transform-origin:top left;margin-bottom:-15%}.readonly-sheet-wrapper .readonly-input--center{text-align:center}.readonly-sheet-wrapper .readonly-input--capitalize{text-transform:capitalize}.readonly-sheet-wrapper .readonly-header-logo{margin-bottom:0}.readonly-sheet-wrapper .readonly-header-content{margin-top:.5rem}.readonly-sheet-wrapper .readonly-header-details{width:100%}.readonly-sheet-wrapper .readonly-logo-text{font-size:2.5rem}.readonly-sheet-wrapper .readonly-endicott-section{margin-top:1rem;width:100%}.readonly-sheet-wrapper .readonly-endicott-input-group{width:100%}.readonly-sheet-wrapper .readonly-endicott-input-group+.readonly-endicott-input-group{margin-top:.5rem}.readonly-sheet-wrapper .readonly-input--archetype{width:100%!important;max-width:none!important;text-align:center}.readonly-sheet-wrapper .readonly-input--narrow{width:60px;text-align:center}.readonly-sheet-wrapper .readonly-power-item{border:1px solid var(--border-primary);padding:10px;margin-bottom:10px;border-radius:8px;display:flex;flex-direction:column}.readonly-sheet-wrapper .readonly-power-header{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;margin-bottom:5px;width:100%}.readonly-sheet-wrapper .readonly-power-name{flex:1;text-align:left;margin-right:15px;font-weight:700;white-space:normal;overflow-wrap:break-word}.readonly-sheet-wrapper .readonly-power-range{font-weight:700;white-space:nowrap;flex-shrink:0}.readonly-sheet-wrapper .readonly-power-description{white-space:pre-wrap;margin-top:5px;width:100%}.readonly-sheet-wrapper .readonly-textarea{width:100%}.readonly-sheet-wrapper .readonly-textarea--tall{height:300px}.readonly-sheet-wrapper .readonly-textarea--medium{height:200px;margin-bottom:1rem}.readonly-sheet-wrapper .readonly-textarea--short{height:100px}.readonly-sheet-wrapper .readonly-textarea--short:not(:last-child){margin-bottom:1rem}.readonly-sheet-wrapper .readonly-money-box{margin-bottom:1rem}.readonly-sheet-wrapper .readonly-section-title{margin-top:1rem}.readonly-sheet-wrapper .readonly-empty-cell{text-align:center}.empty-state-msg{text-align:center;color:var(--text-secondary);padding:1rem}.money-amount{font-weight:600}.money-reason{color:var(--text-secondary)}.money-new-balance{color:var(--status-success);font-weight:600}.roll-visibility-badge{background:var(--status-warning);color:#000;padding:2px 6px;border-radius:4px;font-size:.7em;margin-left:6px}.roll-entry{border-bottom:1px solid var(--border-primary);padding:.5rem}.roll-header{display:flex;justify-content:space-between;font-size:.8em;margin-bottom:.25rem}.roll-player{font-weight:700;color:var(--color-primary)}.roll-timestamp{color:var(--text-secondary);font-size:.7em}.roll-details{font-size:.8em;margin-bottom:.25rem}.roll-results-text{margin-bottom:.25rem}.roll-successes{font-weight:700;font-size:.9em}#character-wizard-modal,#new-sheet-prompt-modal{z-index:1002}#save-conflict-modal{z-index:1003}#save-conflict-modal .modal-content{max-width:340px;padding:1rem 1.25rem}#save-conflict-modal h2{font-size:1.1rem;margin-bottom:.25rem}#save-conflict-modal p{font-size:.85rem;line-height:1.35;margin-bottom:.75rem}#save-conflict-modal .sheet-select-actions{gap:.5rem}#delete-confirmation-modal{z-index:1003}#delete-confirmation-modal .modal-content{max-width:380px;padding:1.5rem}#delete-confirmation-modal h2{font-size:1.25rem;margin-bottom:.5rem;color:var(--status-error)}#delete-confirmation-modal p{font-size:.9rem;line-height:1.4;margin-bottom:1rem;color:var(--text-secondary)}.delete-options{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.delete-option{display:flex;align-items:center;cursor:pointer;padding:.75rem 1rem;border-radius:12px;background:var(--bg-secondary);border:2px solid transparent;transition:all .2s ease}.delete-option:hover{background:var(--bg-tertiary);border-color:var(--border-primary)}.delete-option:has(input:checked){background:color-mix(in srgb,var(--status-error) 10%,transparent);border-color:var(--status-error)}.delete-option input[type=radio]{display:none}.delete-option-content{display:flex;align-items:center;gap:.75rem;width:100%}.delete-option-icon{font-size:1.25rem}.delete-option-label{font-size:.95rem;font-weight:500;color:var(--text-primary)}.delete-confirmation-actions{display:flex;gap:.75rem;justify-content:flex-end}.delete-confirmation-actions .btn{padding:.6rem 1.25rem;font-size:.875rem}.sheet-picker{background:var(--bg-primary);border:1px solid var(--border-primary);text-align:center;max-width:320px;width:auto;padding:1.25rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;margin:auto;max-height:85vh;overflow-y:auto}.sheet-picker .btn-main{background:var(--color-primary);color:#000}.sheet-picker .btn-alt{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color, var(--border-primary))}.sheet-picker .wizard-title{font-size:1.1rem;margin-bottom:0}.wizard-title{font-family:var(--font-display, "Cormorant Garamond", serif);color:var(--color-primary);margin:0;font-size:1.6rem}.wizard-description{font-size:1rem;margin:0;color:var(--text-secondary);line-height:1.5}.new-sheet-options-stacked{display:flex;flex-direction:column;gap:.35rem;width:100%}.new-sheet-option-btn-stacked{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.5rem .85rem;text-align:left;width:100%}.new-sheet-option-btn-stacked .option-title{font-weight:700;font-size:.9rem;color:inherit}.new-sheet-option-btn-stacked .option-desc{font-size:.7rem;opacity:.85;font-weight:400;color:inherit}.btn-muted{background:transparent;border:none;color:var(--text-secondary);padding:.5rem 1rem;cursor:pointer;transition:color .2s ease}.btn-muted:hover{color:var(--text-primary)}.btn-muted.btn-small{font-size:.75rem;padding:.25rem .6rem}.character-wizard-modal-content{background:var(--bg-primary);border:1px solid var(--border-primary);max-width:620px;width:95%;padding:1.5rem 2rem 2rem;display:flex;flex-direction:column;gap:1.5rem;max-height:78vh;overflow:hidden}.wizard-progress{display:flex;justify-content:center;gap:.75rem;padding:.5rem 0}.wizard-dot{width:32px;height:32px;border-radius:50%;background:var(--bg-tertiary);border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--text-secondary);transition:transform .26s ease,opacity .26s ease;cursor:pointer}.wizard-dot:hover{border-color:var(--color-primary)}.wizard-dot.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;transform:scale(1.1)}.wizard-dot.completed{background:var(--status-success, #22c55e);border-color:var(--status-success, #22c55e);color:#fff}.wizard-dot.completed span{display:none}.wizard-dot.completed:after{content:"✓";font-size:.875rem}.wizard-step-container{flex:1;overflow-y:auto;padding:.5rem;min-height:0}.wizard-step{display:none;animation:wizardFadeIn .3s ease}.wizard-step.active{display:block}@keyframes wizardFadeIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.wizard-step-header{text-align:center;margin-bottom:1.5rem}.wizard-step-title{font-family:var(--font-display, "Cormorant Garamond", serif);color:var(--color-primary);font-size:1.4rem;margin:0 0 .5rem}.wizard-step-message{color:var(--text-secondary);font-size:.95rem;margin:0;font-style:italic}.wizard-actions{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid var(--border-color)}.wizard-nav-buttons{display:flex;gap:.75rem}.wizard-input-group{margin-bottom:1.25rem}.wizard-input-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.wizard-input{width:100%;padding:.875rem 1rem;font-size:1.1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-normal);color:var(--text-primary);transition:border-color .2s ease}.wizard-input:focus{outline:none;border-color:var(--color-primary)}.wizard-input::placeholder{color:var(--text-secondary)}.wizard-devcode-group{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.wizard-devcode-group label{font-size:.85rem;color:var(--text-secondary)}.wizard-input-small{padding:.625rem .875rem;font-size:.9rem}.path-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:1rem}@media(max-width:500px){.path-grid{grid-template-columns:1fr}}.path-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--radius-loose);padding:1rem;cursor:pointer;transition:all .2s ease;text-align:left}.path-card:hover{border-color:var(--color-primary);transform:translateY(-2px)}.path-card.selected{border-color:var(--color-primary);background:var(--bg-tertiary);box-shadow:0 0 15px color-mix(in srgb,var(--color-primary) 30%,transparent)}.path-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.path-card-name{font-weight:700;font-size:1rem;color:var(--text-primary)}.path-card-die{font-size:.8rem;padding:.2rem .5rem;background:var(--bg-tertiary);border-radius:var(--radius-tight);color:var(--color-primary);font-weight:600}.path-card-description{font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem;line-height:1.4}.path-card-stats{display:flex;gap:.75rem;font-size:.75rem;color:var(--text-secondary)}.path-card-stat{display:flex;align-items:center;gap:.25rem}.path-card-stat strong{color:var(--text-primary)}.path-details-panel{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-loose);padding:1rem;margin-top:1rem;display:none}.path-details-panel.visible{display:block;animation:wizardFadeIn .3s ease}.path-details-panel h4{margin:0 0 .75rem;color:var(--color-primary);font-size:1rem}.path-talent-preview{font-size:.9rem;color:var(--text-secondary);line-height:1.5}.path-talent-preview strong{color:var(--text-primary)}.trait-allocation-section{margin-top:1rem}.wizard-step-hint{text-align:center;color:var(--text-secondary);margin-bottom:1rem}.trait-choice-group{display:flex;gap:1rem;margin-top:.75rem}.trait-choice-btn{flex:1;padding:1rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--radius-normal);cursor:pointer;transition:all .2s ease;text-align:center}.trait-choice-btn:hover{border-color:var(--color-primary)}.trait-choice-btn.selected{border-color:var(--color-primary);background:var(--bg-tertiary)}.trait-choice-btn span{display:block;font-weight:600;color:var(--text-primary);text-transform:capitalize}.trait-choice-btn small{font-size:.75rem;color:var(--text-secondary)}.pathless-allocation{margin-top:1rem}.pathless-dice-remaining{text-align:center;font-size:1rem;color:var(--text-primary);margin-bottom:1rem;padding:.75rem;background:var(--bg-tertiary);border-radius:var(--radius-normal)}.pathless-dice-remaining strong{color:var(--color-primary);font-size:1.25rem}.pathless-trait-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}@media(max-width:500px){.pathless-trait-grid{grid-template-columns:repeat(2,1fr)}}.pathless-trait-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-normal)}.pathless-trait-item label{font-size:.75rem;text-transform:capitalize;color:var(--text-secondary)}.pathless-trait-item .trait-stepper{display:flex;align-items:center;gap:.5rem}.pathless-trait-item button{width:28px;height:28px;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.pathless-trait-item button:hover:not(:disabled){background:var(--color-primary);border-color:var(--color-primary);color:#fff}.pathless-trait-item button:disabled{opacity:.4;cursor:not-allowed}.pathless-trait-item .trait-value{font-weight:700;font-size:1rem;min-width:20px;text-align:center;color:var(--color-primary)}.equipment-section{margin-top:1rem}.equipment-row{display:flex;gap:.75rem;margin-bottom:.75rem;align-items:center}.equipment-row .equipment-name{flex:2}.equipment-row .equipment-range{flex:1}.equipment-row input,.equipment-row select{width:100%;padding:.625rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-normal);color:var(--text-primary);font-size:.9rem}.equipment-row input:focus,.equipment-row select:focus{outline:none;border-color:var(--color-primary)}.equipment-row .remove-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.equipment-row .remove-btn:hover{background:var(--status-error, #ef4444);border-color:var(--status-error, #ef4444);color:#fff}.power-entry-row{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-normal);padding:.75rem;margin-bottom:.75rem}.power-entry-row .power-header{display:flex;gap:.75rem;margin-bottom:.5rem}.power-entry-row .power-header input,.power-entry-row .power-header select{padding:.5rem .625rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-tight);color:var(--text-primary);font-size:.85rem}.power-entry-row .power-name{flex:2}.power-entry-row .power-range{flex:1}.power-entry-row textarea{width:100%;padding:.5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-tight);color:var(--text-primary);font-size:.85rem;resize:vertical;min-height:50px}.power-entry-row .remove-btn{position:absolute;top:.5rem;right:.5rem}.presets-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.presets-section h4{font-size:.9rem;color:var(--text-secondary);margin:0 0 .75rem;display:flex;align-items:center;gap:.5rem}.presets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem}.preset-item{padding:.5rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-tight);cursor:pointer;transition:all .2s ease;text-align:left}.preset-item:hover{border-color:var(--color-primary);background:var(--bg-secondary)}.preset-item .preset-name{font-size:.85rem;color:var(--text-primary);font-weight:500}.preset-item .preset-range{font-size:.7rem;color:var(--text-secondary)}.preset-item.power-preset{display:flex;flex-direction:column;gap:.25rem}.preset-item .preset-description{font-size:.7rem;color:var(--text-secondary);line-height:1.3;opacity:.8}.preset-item.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.no-presets-msg{text-align:center;color:var(--text-secondary);font-size:.85rem;font-style:italic;padding:1rem}.weapons-counter,.powers-counter{text-align:center;font-size:.9rem;color:var(--text-secondary);margin-bottom:.75rem;padding:.5rem;background:var(--bg-tertiary);border-radius:var(--radius-normal)}.weapons-counter strong,.powers-counter strong{color:var(--color-primary)}.slots-remaining{margin-left:.5rem;font-size:.8rem;opacity:.8}.powers-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.path-card-details{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-color)}.path-card-bonus,.path-card-talent{font-size:.75rem;margin-bottom:.5rem}.path-card-label{color:var(--text-secondary);display:block;margin-bottom:.15rem}.path-card-bonus span:not(.path-card-label){color:var(--text-primary);font-weight:500}.path-card-talent .talent-name{color:var(--color-primary);font-weight:600;display:block}.path-card-talent .talent-description{color:var(--text-secondary);font-size:.7rem;line-height:1.4;margin:.25rem 0 0;opacity:.9}.armor-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:1rem}@media(max-width:450px){.armor-options{grid-template-columns:1fr}}.armor-option{padding:1rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--radius-loose);cursor:pointer;transition:all .2s ease;text-align:center}.armor-option:hover{border-color:var(--color-primary)}.armor-option.selected{border-color:var(--color-primary);background:var(--bg-tertiary)}.armor-option-name{font-weight:700;font-size:1rem;color:var(--text-primary);margin-bottom:.5rem}.armor-option-stats{display:flex;justify-content:center;gap:1rem;font-size:.8rem}.armor-stat-pro{color:var(--status-success, #22c55e)}.armor-stat-con{color:var(--status-error, #ef4444)}.powers-toggle{display:flex;gap:.75rem;margin-bottom:1rem}.powers-toggle-btn{flex:1;padding:.875rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--radius-normal);cursor:pointer;transition:all .2s ease;text-align:center;font-weight:500;color:var(--text-primary)}.powers-toggle-btn:hover{border-color:var(--color-primary)}.powers-toggle-btn.selected{border-color:var(--color-primary);background:var(--bg-tertiary)}.level-section{display:flex;flex-direction:column;gap:1.25rem}.level-input-group{display:flex;align-items:center;gap:1rem;justify-content:center}.level-input-group label{font-weight:500;color:var(--text-primary)}.level-input-group input{width:80px;padding:.75rem;text-align:center;font-size:1.25rem;font-weight:700;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-normal);color:var(--text-primary)}.level-bonuses-preview{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-normal);padding:1rem;font-size:.875rem}.level-bonuses-preview h4{margin:0 0 .5rem;color:var(--text-primary);font-size:.9rem}.level-bonuses-preview ul{margin:0;padding-left:1.25rem;color:var(--text-secondary)}.level-bonuses-preview li{margin-bottom:.25rem}.roll-method-section{margin-top:1rem}.roll-method-toggle{display:flex;gap:.75rem;margin-bottom:1rem}.roll-method-btn{flex:1;padding:.75rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--radius-normal);cursor:pointer;transition:all .2s ease;text-align:center;font-weight:500;color:var(--text-primary)}.roll-method-btn:hover{border-color:var(--color-primary)}.roll-method-btn.selected{border-color:var(--color-primary);background:var(--bg-tertiary)}.digital-roll-area{text-align:center;padding:1rem;background:var(--bg-secondary);border-radius:var(--radius-loose)}.roll-dice-btn{padding:.875rem 2rem;font-size:1rem;font-weight:600;background:var(--color-primary);border:none;border-radius:var(--radius-normal);color:#fff;cursor:pointer;transition:all .2s ease}.roll-dice-btn:hover{transform:scale(1.05);box-shadow:0 0 20px color-mix(in srgb,var(--color-primary) 50%,transparent)}.roll-results{margin-top:1rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.roll-result-die{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:2px solid var(--color-primary);border-radius:var(--radius-normal);font-weight:700;font-size:1.1rem;color:var(--color-primary);animation:rollIn .3s ease}@keyframes rollIn{0%{transform:rotate(-180deg) scale(0);opacity:0}to{transform:rotate(0) scale(1);opacity:1}}.roll-total{margin-top:.75rem;font-size:1.1rem;color:var(--text-primary)}.roll-total strong{color:var(--color-primary);font-size:1.25rem}.manual-roll-area{padding:1rem;background:var(--bg-secondary);border-radius:var(--radius-loose)}.manual-roll-area label{display:block;margin-bottom:.5rem;color:var(--text-primary)}.manual-roll-area input{width:100%;padding:.75rem;text-align:center;font-size:1.25rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-normal);color:var(--text-primary)}.manual-roll-instructions{margin-top:.75rem;font-size:.85rem;color:var(--text-secondary);font-style:italic}.lp-calculation{margin-top:1rem;padding:1rem;background:var(--bg-tertiary);border:1px solid var(--color-primary);border-radius:var(--radius-loose);text-align:center}.lp-calculation h4{margin:0 0 .5rem;color:var(--text-primary)}.lp-total{font-size:2rem;font-weight:700;color:var(--color-primary)}.lp-breakdown{font-size:.85rem;color:var(--text-secondary);margin-top:.25rem}.save-options-section{text-align:center}.save-options-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem 0}@media(max-width:450px){.save-options-grid{grid-template-columns:1fr}}.save-option-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem 1rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--radius-loose);cursor:pointer;transition:all .2s ease}.save-option-btn:hover{border-color:var(--color-primary);transform:translateY(-2px)}.save-option-btn svg{width:32px;height:32px;color:var(--color-primary)}.save-option-btn span{font-weight:600;font-size:1rem;color:var(--text-primary)}.save-option-btn small{font-size:.875rem;color:var(--text-secondary)}.completion-message{padding:1.5rem;background:var(--bg-tertiary);border:1px solid var(--color-primary);border-radius:var(--radius-loose);margin-top:1rem}.completion-message h3{margin:0 0 .5rem;color:var(--color-primary);font-family:var(--font-display, "Cormorant Garamond", serif)}.completion-message p{margin:0;color:var(--text-secondary);line-height:1.5}.skip-save-btn{margin-top:1rem;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;font-size:.85rem;text-decoration:underline}.skip-save-btn:hover{color:var(--text-primary)}.endicott-welcome-step .wizard-step-header{margin-bottom:1.5rem}.endicott-welcome-content{text-align:center;padding:1rem}.endicott-crest{width:80px;height:80px;margin:0 auto 1.5rem;background:linear-gradient(120deg,var(--bg-tertiary),var(--bg-secondary));border:2px solid var(--color-primary);border-radius:50%;display:flex;align-items:center;justify-content:center}.crest-icon{font-size:2.5rem;color:var(--color-primary)}.endicott-flavor-text{color:var(--text-secondary);line-height:1.7;font-style:italic;margin:1rem 0;text-align:left}.endicott-note{background:var(--bg-tertiary);border:1px solid var(--status-info);border-radius:var(--radius-normal);padding:1rem;margin-top:1.5rem;text-align:left;font-size:.875rem;color:var(--text-secondary)}.endicott-note strong{color:var(--status-info)}.archetypes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:1rem}@media(max-width:600px){.archetypes-grid{grid-template-columns:1fr}}.archetype-card{padding:1rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--radius-loose);cursor:pointer;transition:all .2s ease}.archetype-card:hover{border-color:var(--color-primary);transform:translateY(-2px)}.archetype-card.selected{border-color:var(--color-primary);background:var(--bg-tertiary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb, 139, 69, 19),.2)}.archetype-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.archetype-card-name{font-weight:700;font-size:1rem;color:var(--text-primary)}.archetype-card-money{font-size:.8rem;color:var(--status-success);font-weight:600}.archetype-card-description{font-size:.8rem;color:var(--text-secondary);line-height:1.4;margin-bottom:.75rem}.archetype-card-details{font-size:.75rem;border-top:1px solid var(--border-color);padding-top:.75rem}.archetype-card-bonuses,.archetype-card-complication{margin-bottom:.5rem}.archetype-card-label{color:var(--text-tertiary);font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:.25rem}.archetype-card-bonuses span:not(.archetype-card-label){color:var(--status-success);font-weight:600}.complication-text{color:var(--text-secondary);font-size:.75rem;line-height:1.4}.endicott-powers-info{margin-top:1rem}.powers-note{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-loose);padding:1.25rem;margin-bottom:1.5rem}.powers-note h4{margin:0 0 .75rem;color:var(--text-primary);font-size:1rem}.powers-note p{color:var(--text-secondary);line-height:1.5;margin:.5rem 0;font-size:.875rem}.powers-note ul{margin:.75rem 0;padding-left:1.5rem}.powers-note li{color:var(--text-secondary);margin-bottom:.375rem;font-size:.875rem}.powers-note .warning-text{color:var(--status-warning);font-weight:600;font-size:.8rem}.gifts-reference{margin-top:1rem}.gifts-reference h4{margin:0 0 .75rem;color:var(--text-primary);font-size:.9rem}.gifts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;max-height:250px;overflow-y:auto}@media(max-width:600px){.gifts-grid{grid-template-columns:1fr}}.gift-preview-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-normal);padding:.625rem;font-size:.75rem}.gift-header{display:flex;gap:.5rem;align-items:center;margin-bottom:.375rem;flex-wrap:wrap}.gift-name{font-weight:600;color:var(--text-primary)}.gift-type{background:var(--bg-tertiary);padding:.125rem .375rem;border-radius:var(--radius-tight);font-size:.65rem;color:var(--text-tertiary);text-transform:uppercase}.gift-range{color:var(--text-secondary);font-size:.65rem}.gift-description{color:var(--text-secondary);line-height:1.4;margin:0}.gifts-counter{background:var(--bg-tertiary);padding:.75rem 1rem;border-radius:var(--radius-normal);margin-bottom:1rem;font-size:.9rem}.gifts-counter .slots-remaining{color:var(--text-secondary);font-size:.8rem;margin-left:.5rem}.gifts-selected-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.gift-selected-row{display:flex;justify-content:space-between;align-items:center;background:var(--bg-tertiary);border:1px solid var(--color-primary);border-radius:var(--radius-normal);padding:.625rem .875rem}.gift-selected-info{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.gift-selected-name{font-weight:600;color:var(--text-primary)}.gift-selected-type{background:var(--bg-secondary);padding:.125rem .375rem;border-radius:var(--radius-tight);font-size:.65rem;color:var(--text-tertiary);text-transform:uppercase}.gift-selected-range{color:var(--text-secondary);font-size:.75rem}.gift-selected-row .remove-btn{background:transparent;border:none;color:var(--status-error);font-size:1.25rem;cursor:pointer;padding:.25rem;line-height:1}.gift-selected-row .remove-btn:hover{color:var(--text-primary)}.gifts-selectable{max-height:300px}.gift-selectable-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-normal);padding:.625rem;font-size:.75rem;cursor:pointer;transition:all .2s ease}.gift-selectable-item:hover:not(.disabled):not(.selected){border-color:var(--color-primary);transform:translateY(-1px)}.gift-selectable-item.selected{border-color:var(--color-primary);background:var(--bg-tertiary);opacity:.6;cursor:default}.gift-selectable-item.disabled{opacity:.4;cursor:not-allowed}.archetype-dropdown-group{display:flex;flex-direction:column;gap:.375rem;width:100%}.archetype-dropdown-group select{width:100%}.archetype-dropdown-group.custom-mode #custom-archetype-name{display:block;margin-top:.375rem}#custom-archetype-name.hidden{display:none}.add-equipment-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;background:var(--bg-tertiary);border:2px dashed var(--border-color);border-radius:var(--radius-normal);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:.9rem}.add-equipment-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.dashboard-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-loose);padding:1.25rem}.dashboard-card h3{margin:0 0 1rem;font-size:1rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.dashboard-card h3 svg{color:var(--color-primary)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-header h3{margin:0}.campaign-info-card{background:linear-gradient(150deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);border:2px solid var(--color-primary);border-radius:var(--radius-wide);padding:1.5rem;box-shadow:var(--shadow-md)}.campaign-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-primary);margin-bottom:1rem}.campaign-card-header h3{margin:0 0 .5rem;color:var(--text-primary);font-size:1.25rem;font-weight:600}.campaign-role-badge{padding:.375rem .75rem;border-radius:var(--radius-normal);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.gm-badge{background:var(--color-accent);color:#fff}.player-badge{background:var(--color-primary);color:#fff}.campaign-code-section{margin-bottom:0}.campaign-code-section label{display:block;font-size:.7rem;color:var(--text-secondary);margin-bottom:.375rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.code-display-group{display:flex;align-items:center;gap:.5rem}.code-display-group .btn-icon{background:var(--bg-tertiary);color:var(--text-primary)}.campaign-code-display{flex:1;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-normal);padding:.5rem .75rem;font-family:monospace;font-size:.95rem;font-weight:600;letter-spacing:.15em;color:var(--color-primary);text-align:center}.btn-icon{padding:.5rem;min-width:auto;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-normal);cursor:pointer;transition:all .2s ease}.btn-icon:hover{background:var(--bg-tertiary);border-color:var(--color-primary)}.btn-small{padding:.5rem;min-width:auto;display:flex;align-items:center;justify-content:center}.btn-small svg{width:14px;height:14px}.btn-full{width:100%;justify-content:center;gap:.5rem}.campaign-actions{display:flex;gap:.75rem;flex-direction:column;margin-top:1rem}.campaign-actions button{display:flex;align-items:center;gap:.5rem}.campaign-status-empty{background:var(--bg-secondary);border:2px dashed var(--border-primary);border-radius:var(--radius-loose);padding:2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}.campaign-status-empty svg{color:var(--text-tertiary);opacity:.5;margin-bottom:.5rem}.campaign-status.active{background:color-mix(in srgb,var(--status-success) 10%,transparent);border-color:var(--status-success)}.status-text{margin:0;font-weight:600;font-size:1.125rem;color:var(--text-primary)}.status-subtext{margin:0;font-size:.875rem;color:var(--text-secondary)}.campaign-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-primary)}.campaign-section:last-child{border-bottom:none}.campaign-section h3{margin:0 0 .75rem;font-size:1rem;color:var(--text-primary)}.campaign-info{margin:0 0 .75rem;font-size:.875rem;color:var(--text-secondary)}.campaign-join-form{display:flex;gap:.75rem;flex-direction:column}.campaign-join-form input{text-transform:uppercase}#campaign-code-display{margin-top:1rem;padding:1rem;background:var(--bg-secondary);border-radius:var(--radius-loose);text-align:center}#campaign-code-display p{margin:0 0 .75rem}#campaign-code-text{font-size:1.5rem;color:var(--color-primary);font-family:monospace;letter-spacing:.2em}#campaign-members-list{display:flex;flex-direction:column;gap:.5rem}.campaign-member{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-normal)}.member-info{display:flex;flex-direction:column}.member-name{font-weight:600;color:var(--text-primary)}.member-role{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase}.member-actions{display:flex;gap:.5rem;align-items:center}.view-sheet-btn{padding:.375rem .75rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-normal);cursor:pointer;font-size:.75rem;transition:all .2s ease}.view-sheet-btn:hover{background:var(--color-primary-dark)}.charge-money-btn{padding:.375rem .75rem;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-normal);cursor:pointer;font-size:.75rem;transition:all .2s ease}.charge-money-btn:hover{filter:brightness(1.1)}.charge-type-btn{font-size:.75rem;padding:.5rem}.charge-type-btn.active{background:var(--color-primary);color:#fff}#roll-log-display{max-height:300px;overflow-y:auto;margin-top:1rem}.roll-entry{padding:1.5rem;margin-bottom:1rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-normal);display:flex;flex-direction:column;gap:1rem}.roll-entry.private-roll{background:color-mix(in srgb,var(--color-primary) 10%,transparent);border-color:var(--color-accent)}.roll-header{display:flex;flex-direction:column;align-items:center;gap:.25rem;margin-bottom:.5rem}.roll-player{font-weight:700;color:var(--text-primary);font-size:1.25rem}.roll-timestamp{font-size:.875rem;color:var(--text-secondary)}.roll-details{font-size:1.1rem;color:var(--text-secondary);text-align:center}.roll-result{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.roll-visibility-badge{display:inline-block;padding:.125rem .5rem;background:var(--color-accent);color:#fff;border-radius:var(--radius-tight);font-size:.625rem;text-transform:uppercase;margin-left:.5rem}#money-log-display,.money-log-display-container{max-height:400px;overflow-y:auto;margin-top:1rem}.money-entry{padding:1rem;margin-bottom:.75rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-normal);display:flex;flex-direction:column;gap:.5rem}.money-entry.transaction-spend{border-left:3px solid var(--status-warning)}.money-entry.transaction-charge{border-left:3px solid var(--status-error)}.money-entry.transaction-pay{border-left:3px solid var(--status-success)}.money-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.money-player{font-weight:600;color:var(--text-primary);font-size:1rem}.money-timestamp{font-size:.75rem;color:var(--text-secondary)}.money-details{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.money-type-badge{display:inline-block;padding:.125rem .5rem;border-radius:var(--radius-tight);font-size:.625rem;font-weight:600;text-transform:uppercase}.money-type-badge.spend{background:var(--status-warning);color:#fff}.money-type-badge.charge{background:var(--status-error);color:#fff}.money-type-badge.pay{background:var(--status-success);color:#fff}.money-amount{font-weight:700;font-size:1.1rem}.money-amount.negative{color:var(--status-error)}.money-amount.positive{color:var(--status-success)}.money-balance{font-size:.875rem;color:var(--text-secondary)}.money-reason{font-size:.875rem;color:var(--text-secondary);font-style:italic}.campaign-list-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-normal);margin-bottom:.5rem;transition:all .2s ease}.campaign-list-item:hover{border-color:var(--color-primary)}.campaign-list-item.current-campaign{background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 10%,transparent) 0%,var(--bg-secondary) 100%);border-color:var(--color-accent)}.campaign-list-info{display:flex;flex-direction:column;flex:1}.campaign-list-name{font-weight:600;color:var(--text-primary)}.campaign-list-role{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase}.campaign-list-actions{display:flex;gap:.5rem;align-items:center}.current-badge{padding:.25rem .75rem;background:var(--color-accent);color:#fff;border-radius:var(--radius-tight);font-size:.75rem;text-transform:uppercase;font-weight:600}.notification{position:fixed;top:2rem;right:2rem;padding:1rem 1.5rem;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);z-index:10000;display:flex;align-items:center;gap:1rem;max-width:400px;animation:slideInRight .3s ease;font-weight:500;color:#fff}.notification-ok{background:var(--status-success)}.notification-fail{background:var(--status-error)}.notification-warn{background:var(--status-warning)}.notification-tip{background:var(--status-info)}.notification-close{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .3s ease}.notification-close:hover{background:#fff3}.roll-notification{display:flex;flex-direction:column;gap:.25rem;position:fixed;right:2rem;padding:1rem;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);z-index:10000;min-width:250px;animation:slideInRight .3s ease forwards}.roll-notification.money-notification{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary)}.roll-notification.combat-notification{background:var(--color-accent);color:#fff;box-shadow:var(--shadow-xl);z-index:10001;font-size:.875rem}.roll-notification.roll-notification-dice{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-xl);z-index:10001;font-size:.875rem}.roll-notification.roll-notification-dice.private-roll{background:var(--color-accent)}.roll-notification-header{font-size:.875rem;margin-bottom:.25rem}.roll-notification-body{font-size:.8125rem;opacity:.9}.roll-notification-results{font-family:monospace;font-size:.75rem;opacity:.85;margin-top:.25rem}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@media(max-width:900px){.campaign-join-form{flex-direction:column}.roll-notification{right:1rem;min-width:200px;max-width:calc(100vw - 2rem)}}.readonly-sheet-modal-content{max-width:900px;max-height:80vh;overflow-y:auto}#readonly-sheet-content{background:var(--bg-secondary);border-radius:var(--radius-loose);padding:1.5rem}.readonly-sheet-wrapper input[readonly],.readonly-sheet-wrapper textarea[readonly]{background-color:transparent;border:1px solid var(--border-primary);cursor:default;color:var(--text-primary);opacity:.9}.readonly-sheet-wrapper input[type=checkbox][disabled]{cursor:default}.internal-tab-content{display:none}.internal-tab-content.active{display:block;animation:fadeIn .3s ease-in}#inactive-participants-section{opacity:.8;background-color:var(--color-surface-dim);border:1px dashed var(--border-primary)}#inactive-participants-section h3{color:var(--text-muted)}#inactive-participants-list .turn-order-item{opacity:.7;filter:grayscale(.5);background-color:transparent;border-color:var(--border-subtle)}#inactive-participants-list .turn-order-item:hover{opacity:1;filter:grayscale(0);background-color:var(--color-surface)}#inactive-participants-list .turn-order-position{display:none}#number-input-modal .clean-input{width:100%;padding:12px;border:2px solid var(--border-primary);border-radius:var(--radius-normal);background-color:var(--bg-input);color:var(--text-primary);font-family:var(--font-primary);transition:all .2s ease}#number-input-modal .clean-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light-alpha);outline:none}.btn-icon.edit-init{color:var(--status-info)}.btn-icon.toggle-active{color:var(--text-muted)}.turn-order-item.inactive .btn-icon.toggle-active{color:var(--status-success)}.sheet-select-modal-content{max-width:500px}.sheet-select-list{max-height:300px;overflow-y:auto;margin-bottom:1rem;border:1px solid var(--border-primary);border-radius:var(--radius-normal)}.sheet-select-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border-primary);cursor:pointer;transition:background .15s ease}.sheet-select-item:last-child{border-bottom:none}.sheet-select-item:hover{background:var(--bg-tertiary)}.sheet-select-item.selected{background:var(--color-primary);color:#fff}.sheet-select-item-name{font-weight:500}.sheet-select-item-source{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase}.sheet-select-item.selected .sheet-select-item-source{color:#fffc}.sheet-select-actions{display:flex;gap:.5rem;justify-content:flex-end}.sheet-select-empty{padding:2rem;text-align:center;color:var(--text-secondary)}.actions-per-turn-box{min-width:90px}.actions-per-turn-box input,.actions-per-turn-box .number-spinner-wrapper input[type=number]{text-align:center;font-size:1rem;font-weight:600}.combat-flow-left,.combat-flow-right{display:flex;flex-direction:column;gap:1rem}.combat-status-indicator{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:var(--bg-tertiary);border-radius:var(--radius-normal)}.status-dot{width:8px;height:8px;border-radius:50%;transition:transform .26s ease,opacity .26s ease}.status-dot.active{background:var(--status-success);box-shadow:0 0 8px var(--status-success);animation:pulse-dot 2s infinite}.status-dot.inactive{background:var(--text-secondary)}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.status-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.combat-header-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:linear-gradient(120deg,var(--color-primary) 0%,var(--color-accent) 100%);border-radius:var(--radius-loose);color:#fff}.combat-header-controls .combat-round-counter{display:flex;align-items:center;gap:.5rem;padding:0;background:none;border-radius:0}.combat-header-controls .combat-navigation{display:flex;gap:.5rem}.combat-header-controls .btn-sm{padding:.35rem .75rem;font-size:.8rem}.combat-round-counter{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;background:linear-gradient(120deg,var(--color-primary) 0%,var(--color-accent) 100%);border-radius:var(--radius-loose);color:#fff}.round-label{font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em}.round-number{font-size:2rem;font-weight:700}#turn-order-list{display:flex;flex-direction:column;gap:.5rem;max-height:500px;overflow-y:auto}.turn-order-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-normal);transition:transform .26s ease,opacity .26s ease}.turn-order-item.no-transition{transition:none!important}.turn-order-item.current-turn{background:linear-gradient(90deg,rgba(74,95,127,.15) 0%,var(--bg-secondary) 100%);background:linear-gradient(90deg,color-mix(in srgb,var(--color-primary) 15%,transparent) 0%,var(--bg-secondary) 100%);border-color:var(--color-primary);box-shadow:0 0 12px #4a5f7f33;box-shadow:0 0 12px color-mix(in srgb,var(--color-primary) 20%,transparent)}.turn-order-item.faction-enemy{border-left:3px solid var(--status-error)}.turn-order-item.faction-ally{border-left:3px solid var(--status-success)}.turn-order-item.enemy:not(.faction-ally){border-left:3px solid var(--status-error)}.turn-order-item.player:not(.faction-enemy){border-left:3px solid var(--status-success)}.turn-order-item.gm-character.faction-ally{border-left:3px solid var(--status-success);background:linear-gradient(135deg,color-mix(in srgb,var(--status-success) 8%,transparent) 0%,var(--bg-secondary) 100%)}.turn-order-item.gm-character.faction-enemy{border-left:3px solid var(--status-error);background:linear-gradient(135deg,color-mix(in srgb,var(--status-error) 8%,transparent) 0%,var(--bg-secondary) 100%)}.turn-order-item.quick-add.faction-ally{border-left:3px solid var(--status-success);background:linear-gradient(135deg,color-mix(in srgb,var(--status-success) 5%,transparent) 0%,var(--bg-secondary) 100%)}.turn-order-item.quick-add.faction-enemy{border-left:3px solid var(--status-error);background:linear-gradient(135deg,color-mix(in srgb,var(--status-error) 5%,transparent) 0%,var(--bg-secondary) 100%)}.quick-add-badge{font-size:.65rem;color:var(--text-tertiary);margin-left:4px;font-weight:500}.turn-order-position{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:50%;font-weight:600;font-size:.875rem;color:var(--text-primary);flex-shrink:0}.turn-order-item.current-turn .turn-order-position{background:var(--color-primary);color:#fff}.turn-order-info{flex:1;min-width:0}.turn-order-name{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.turn-order-name .pending-roll{font-size:.75rem;font-weight:400;color:var(--status-warning);margin-left:.5rem}.turn-order-name .gm-badge{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:var(--color-accent, #8b5cf6);color:#fff;padding:.1rem .4rem;border-radius:3px;margin-left:.5rem}.turn-order-stats{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.trib-badges-container{display:flex;flex-wrap:wrap;gap:.25rem;margin-left:.5rem}.trib-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;padding:.125rem .35rem;border-radius:var(--radius-tight);background:#dc262626;color:var(--status-error);border:1px solid rgba(220,38,38,.3);font-weight:600}.trib-count{font-size:.65rem;opacity:.8;margin-left:.1rem}.initiative-badge,.lp-badge,.actions-badge{font-size:.7rem;padding:.125rem .5rem;border-radius:var(--radius-tight);background:var(--bg-tertiary);color:var(--text-secondary)}.lp-badge.hidden-lp{background:var(--bg-tertiary);color:var(--text-tertiary);font-style:italic}.turn-order-actions{display:flex;gap:.25rem;flex-shrink:0}.turn-order-actions .btn-icon{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-tight);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.turn-order-actions .btn-icon:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.turn-order-actions .btn-icon.remove-participant:hover{background:var(--status-error);border-color:var(--status-error)}.turn-order-actions .btn-icon.roll-for-player{background:var(--status-warning, #f59e0b);border-color:var(--status-warning, #f59e0b);color:#fff}.turn-order-actions .btn-icon.roll-for-player:hover{background:#d97706;border-color:#d97706}.turn-order-actions .btn-icon.view-sheet-combat{background:var(--status-info, #3b82f6);border-color:var(--status-info, #3b82f6);color:#fff}.turn-order-actions .btn-icon.view-sheet-combat:hover{background:#2563eb;border-color:#2563eb}.combat-navigation{display:flex;gap:.75rem;justify-content:space-between}.combat-navigation .btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem}.header-container{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;position:relative}.header-content-wrapper{display:flex;flex-direction:row;gap:1.5rem;align-items:flex-start;width:100%}.header-portrait-section{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-width:0}.header-details-section{flex-grow:1;width:100%}.character-portrait-container,.add-portrait-container{margin:0;margin-top:.5rem}.header-details{display:flex;flex-direction:column;gap:1rem;width:100%}.detail-group{display:flex;flex-direction:column;gap:.25rem;width:100%}@media(min-width:901px){.header-right-group{display:flex;flex-direction:row;gap:.75rem;width:100%;align-items:flex-end;justify-content:flex-start}.header-right-group .detail-group{width:auto}.path-dropdown-group{width:267px!important;max-width:none;flex-shrink:0;flex-grow:0!important;min-width:auto!important}.path-dropdown-group select{height:38px;width:100%;box-sizing:border-box;padding:.5rem .75rem}.level-spinner-group{flex-grow:0;min-width:100px}.path-die-dev-code-row{display:flex;flex-direction:row;align-items:flex-end;gap:.75rem;flex-shrink:0}.path-die-group{flex-grow:0;min-width:105px!important;width:105px!important}.path-die-group label{white-space:nowrap}.path-die-group input{height:38px;width:100%!important;min-width:unset!important;max-width:none!important;text-align:center;padding:.5rem .25rem;box-sizing:border-box}.dev-code-group{flex-grow:0;min-width:200px!important;width:200px!important}.dev-code-group label{white-space:nowrap}.dev-code-group .dev-code-input{height:38px;width:100%;text-align:center;padding:.5rem .25rem;box-sizing:border-box;font-size:.85rem}.endicott-toggle-header{display:flex;flex-direction:column;gap:.25rem;flex-shrink:0;width:auto}}.add-enemy-form{display:flex;flex-direction:column;gap:.75rem}.add-enemy-form .form-row{display:flex;gap:.5rem}.add-enemy-form .form-row-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.add-enemy-form .form-row-grid-5{grid-template-columns:repeat(auto-fit,minmax(65px,1fr));align-items:end}.add-enemy-form .form-row-centered{display:flex;justify-content:center}.add-enemy-form .form-row-centered .form-group{width:50%;min-width:120px}.add-enemy-form .form-group{display:flex;flex-direction:column;gap:.25rem;align-items:center}.add-enemy-form .form-group label{font-size:.65rem;color:var(--text-secondary);text-transform:uppercase;text-align:center;white-space:nowrap;width:100%;overflow:hidden;text-overflow:ellipsis}.add-enemy-form .form-group input{padding:.25rem .5rem;font-size:.875rem;width:100%;text-align:center}.add-enemy-form input[type=text]{flex:1}.faction-toggle-row{display:flex;align-items:center;gap:.75rem}.faction-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;font-weight:500}.faction-toggle{display:flex;gap:.5rem;flex:1}.faction-btn{flex:1;padding:.4rem .5rem;font-size:.75rem;font-weight:500;border:1px solid var(--border-primary);background:var(--bg-tertiary);color:var(--text-secondary);border-radius:var(--radius-tight);cursor:pointer;transition:all .15s ease}.faction-btn:hover{background:var(--bg-secondary)}.faction-btn.active[data-faction=enemy]{background:var(--color-error);color:#fff;border-color:var(--color-error)}.faction-btn.active[data-faction=ally]{background:var(--status-success);color:#fff;border-color:var(--status-success)}.add-enemy-form select{width:100%;padding:.5rem;border:1px solid var(--border-primary);border-radius:var(--radius-tight);background:var(--bg-tertiary);color:var(--text-primary);font-size:.8rem}.add-enemy-form select:focus{outline:none;border-color:var(--color-accent, #8b5cf6)}.quick-add-traits-section{margin-top:.25rem}.traits-toggle-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.5rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-tight);color:var(--text-secondary);font-size:.75rem;cursor:pointer;transition:all .15s ease}.traits-toggle-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.traits-toggle-btn svg{transition:transform .2s ease}.traits-toggle-btn.expanded svg{transform:rotate(180deg)}.traits-inputs-container{margin-top:.5rem;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-tight)}.traits-inputs-container .traits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.trait-input-group{display:flex;flex-direction:column;align-items:center;gap:.2rem}.trait-input-group label{font-size:.65rem;color:var(--text-tertiary);text-transform:uppercase;font-weight:600}.trait-input-group input{width:100%;padding:.35rem;text-align:center;font-size:.85rem;border:1px solid var(--border-primary);border-radius:var(--radius-tight);background:var(--bg-secondary);color:var(--text-primary)}.trait-input-group input:focus{outline:none;border-color:var(--color-accent, #8b5cf6)}.traits-hint{margin-top:.5rem;font-size:.65rem;color:var(--text-tertiary);text-align:center;font-style:italic}#faction-select-modal{z-index:1005}.faction-modal-options{display:flex;flex-direction:column;gap:.5rem}.faction-choice-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;font-weight:500;border:none;color:#fff}.faction-choice-btn:hover{opacity:.9}.add-gm-character-form{display:flex;flex-direction:column;gap:.75rem}.add-gm-character-form select{width:100%;padding:.5rem;border:1px solid var(--border-primary);border-radius:var(--radius-tight);background:var(--bg-tertiary);color:var(--text-primary);font-size:.875rem}.add-gm-character-form select:focus{outline:none;border-color:var(--color-accent, #8b5cf6)}.add-gm-character-form select optgroup{font-weight:600;color:var(--text-secondary)}.combat-empty-state{background:var(--bg-secondary);border:2px dashed var(--border-primary);border-radius:var(--radius-loose);padding:2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}.combat-empty-state svg{color:var(--text-tertiary);opacity:.5;margin-bottom:.5rem}#player-initiative-section{padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-loose)}.initiative-info{margin:.75rem 0 0;font-size:.875rem;color:var(--text-secondary);text-align:center}.combat-toggle-section{display:flex;flex-direction:column;gap:.5rem}@media(max-width:968px){.combat-flow-grid,.combat-flow-grid.gm-view{grid-template-columns:1fr}.combat-flow-right{order:-1}.add-enemy-form .form-row-grid{grid-template-columns:1fr 1fr}.add-enemy-form .form-row-grid-5{grid-template-columns:repeat(3,1fr)}}.campaign-modal-content{max-width:900px;width:90vw}@media(max-width:900px){.header-content-wrapper{flex-direction:column;align-items:center}.header-portrait-section{width:100%;align-items:center;margin-bottom:1rem}}.btn-guest{margin-top:1rem;width:100%;color:var(--text-secondary);text-decoration:underline;cursor:pointer;background:none;border:none;text-align:center;display:block}.btn-guest:hover{color:var(--color-primary)}.health-feedback-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;opacity:0;transition:opacity .3s ease}@keyframes pulse-heal{0%{box-shadow:inset 0 0 0 transparent;opacity:0}20%{box-shadow:inset 0 0 50px 25px var(--status-info);opacity:1}50%{box-shadow:inset 0 0 100px 50px var(--status-info);opacity:.8}to{box-shadow:inset 0 0 0 transparent;opacity:0}}@keyframes pulse-hurt{0%{box-shadow:inset 0 0 0 transparent;opacity:0}10%{box-shadow:inset 0 0 100px 50px var(--status-error);opacity:1}50%{box-shadow:inset 0 0 75px 35px var(--status-error);opacity:.7}to{box-shadow:inset 0 0 0 transparent;opacity:0}}.animate-heal{animation:pulse-heal 1.5s ease-out forwards}.animate-hurt{animation:pulse-hurt 1.5s ease-out forwards}@keyframes pulse-save{0%{box-shadow:inset 0 0 0 transparent;opacity:0}20%{box-shadow:inset 0 0 50px 25px var(--status-success);opacity:1}50%{box-shadow:inset 0 0 100px 50px var(--status-success);opacity:.8}to{box-shadow:inset 0 0 0 transparent;opacity:0}}.animate-save{animation:pulse-save 1.5s ease-out forwards}@keyframes pulse-tribulation{0%{box-shadow:inset 0 0 0 transparent;opacity:0}10%{box-shadow:inset 0 0 100px 50px #ff8c00;opacity:1}50%{box-shadow:inset 0 0 75px 35px #ff8c00;opacity:.7}to{box-shadow:inset 0 0 0 transparent;opacity:0}}.animate-tribulation{animation:pulse-tribulation 1.5s ease-out forwards}.grecaptcha-badge{visibility:hidden}.recaptcha-legal{font-size:.7em;color:var(--text-secondary);text-align:center;margin-top:.75rem;opacity:.7}.recaptcha-legal a{color:var(--text-secondary);text-decoration:underline}.recaptcha-legal a:hover{color:var(--color-primary)}#snow-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5;overflow:hidden}.snowflake-wrapper{position:absolute;top:0;pointer-events:none;will-change:transform;animation-name:fall;animation-timing-function:linear;animation-iteration-count:infinite}.snowflake,.dust-particle-gray,.dust-particle-brown{display:block;width:100%;height:100%;opacity:.9;will-change:transform;animation-timing-function:linear;animation-iteration-count:infinite}.snowflake{background:radial-gradient(circle,rgba(255,255,255,1) 0%,rgba(255,255,255,.4) 40%,transparent 100%)}.dust-cloud{border-radius:50%;background:radial-gradient(ellipse at 40% 40%,rgba(205,133,63,.6) 0%,rgba(139,69,19,.4) 30%,rgba(139,69,19,.2) 60%,transparent 100%);filter:blur(2px)}.dust-cloud-large{border-radius:40% 60% 50% 50%;background:radial-gradient(ellipse at 30% 30%,rgba(222,184,135,.5) 0%,rgba(205,133,63,.35) 25%,rgba(139,69,19,.2) 50%,transparent 100%);filter:blur(4px)}.dust-cloud-wisp{border-radius:30% 70% 40% 60%;background:radial-gradient(ellipse at 50% 50%,rgba(205,133,63,.4) 0%,rgba(139,69,19,.2) 40%,transparent 80%);filter:blur(3px)}.dust-wrapper-western{position:absolute;left:-15vw;pointer-events:none;will-change:transform;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes dust-roll{0%{transform:translateZ(0) scaleX(1) scaleY(1)}15%{transform:translate3d(18vw,-2vh,0) scaleX(1.1) scaleY(.9)}30%{transform:translate3d(36vw,1vh,0) scaleX(.95) scaleY(1.05)}45%{transform:translate3d(54vw,-1vh,0) scaleX(1.08) scaleY(.92)}60%{transform:translate3d(72vw,2vh,0) scaleX(.97) scaleY(1.03)}75%{transform:translate3d(90vw,-1vh,0) scaleX(1.05) scaleY(.95)}to{transform:translate3d(130vw,0,0) scaleX(1) scaleY(1)}}@keyframes dust-tumble{0%{transform:translateZ(0) rotate(0) scale(1)}20%{transform:translate3d(26vw,-3vh,0) rotate(15deg) scale(1.15)}40%{transform:translate3d(52vw,1vh,0) rotate(-10deg) scale(.9)}60%{transform:translate3d(78vw,-2vh,0) rotate(20deg) scale(1.1)}80%{transform:translate3d(104vw,2vh,0) rotate(-5deg) scale(.95)}to{transform:translate3d(130vw,0,0) rotate(0) scale(1)}}@keyframes dust-gust{0%{transform:translateZ(0) scaleX(1);opacity:.3}10%{opacity:.6}50%{transform:translate3d(70vw,-4vh,0) scaleX(1.3);opacity:.5}90%{opacity:.4}to{transform:translate3d(130vw,2vh,0) scaleX(.8);opacity:.2}}@keyframes dust-haze{0%{transform:translateZ(0);opacity:.15}50%{transform:translate3d(65vw,3vh,0);opacity:.25}to{transform:translate3d(130vw,-2vh,0);opacity:.1}}@keyframes fall{0%{transform:translate3d(0,-10vh,0)}to{transform:translate3d(0,110vh,0)}}@keyframes wind-normal{0%{transform:translateZ(0)}to{transform:translate3d(50vw,0,0)}}@keyframes wind-flutter{0%{transform:translateZ(0)}25%{transform:translate3d(10vw,-5px,0)}50%{transform:translate3d(25vw,5px,0)}75%{transform:translate3d(40vw,-2px,0)}to{transform:translate3d(50vw,0,0)}}@keyframes wind-fast{0%{transform:translateZ(0)}50%{transform:translate3d(30vw,0,0)}to{transform:translate3d(60vw,0,0)}}body.sheet-hidden{overflow:hidden}body.sheet-hidden .character-sheet{opacity:0;filter:blur(10px);transition:opacity 1.5s ease-out,filter 1.5s ease-out}body:not(.sheet-hidden) .character-sheet{opacity:1;filter:blur(0)}#loading-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000;z-index:9999;display:flex;justify-content:center;align-items:center;transition:opacity 1s ease-out,visibility 1s}#loading-overlay.fade-out{opacity:0;visibility:hidden;pointer-events:none}.loading-logo{font-family:var(--font-heading);font-weight:700;font-size:5rem;color:var(--text-primary);text-shadow:0 0 15px rgba(255,255,255,.3);opacity:0;transform:scale(.9);transform-origin:center center;transition:opacity 1s ease-out,transform .5s cubic-bezier(.175,.885,.32,1.275);position:absolute;z-index:10}.loading-logo.reveal{opacity:1;transform:scale(1)}.loading-logo.moving{transition:all 1.2s cubic-bezier(.45,0,.55,1);text-shadow:none}body.muse-tour-active{overflow:hidden}.muse-tour-overlay{position:fixed;inset:0;z-index:999999;background:#0009;pointer-events:auto}.muse-tour-highlight{position:fixed;box-shadow:0 0 0 4px var(--color-primary);border-radius:8px;pointer-events:none;transition:top .25s ease,left .25s ease,width .25s ease,height .25s ease}.muse-tour-popover{position:fixed;z-index:1000000;min-width:260px;max-width:320px;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:10px;box-shadow:var(--shadow-xl);font-family:var(--font-primary);padding:1rem 1.25rem}.muse-tour-title{font-family:var(--font-heading, var(--font-primary));color:var(--text-primary);font-size:1.2rem;margin:0 0 .5rem}body.dark-mode .muse-tour-title{background:linear-gradient(135deg,white 0%,var(--color-accent) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}body.bloody-theme .muse-tour-title,body.eternal-theme .muse-tour-title,body.dystopic-theme .muse-tour-title{background:none;-webkit-text-fill-color:initial;color:var(--text-primary)}.muse-tour-desc{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin:0 0 1rem}.muse-tour-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.muse-tour-progress{font-size:.8rem;color:var(--text-secondary)}.muse-tour-buttons{display:flex;gap:.5rem}.muse-tour-prev,.muse-tour-next,.muse-tour-done{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:6px;padding:.4rem .8rem;font-family:var(--font-primary);cursor:pointer;transition:background .2s ease,border-color .2s ease}.muse-tour-prev:hover,.muse-tour-next:hover,.muse-tour-done:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.custom-select-wrapper{position:relative;-webkit-user-select:none;user-select:none;width:100%}.z-index-top{z-index:10000!important;position:relative;clip-path:none!important;transform:none!important}.custom-select-wrapper .select-selected{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:var(--radius-tight);padding:.5rem 1rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-family:var(--font-primary);height:42px}.custom-select-wrapper .select-selected:after{content:"";position:absolute;right:1rem;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid var(--text-primary);opacity:.7;transition:transform .2s ease}.custom-select-wrapper .select-selected.select-arrow-active:after{transform:rotate(180deg)}.custom-select-wrapper .select-items{position:absolute;background-color:var(--bg-secondary);top:105%;left:0;right:0;z-index:9999;border:1px solid var(--border-primary);border-radius:var(--radius-tight);max-height:250px;overflow-y:auto;box-shadow:var(--shadow-lg);display:block}.custom-select-wrapper .select-items.select-hide{display:none}.custom-select-wrapper .select-items div{color:var(--text-primary);padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid var(--border-secondary);transition:background-color .15s ease,color .15s ease;font-size:1rem}.custom-select-wrapper .select-items div:last-child{border-bottom:none}.custom-select-wrapper .select-items div:hover,.custom-select-wrapper .same-as-selected{background-color:var(--color-primary);color:#fff}body.dark-mode .custom-select-wrapper .select-items div:hover,body.dark-mode .custom-select-wrapper .same-as-selected{background-color:var(--color-primary);color:var(--bg-primary);font-weight:600}body.bloody-theme .custom-select-wrapper .select-selected{background:linear-gradient(135deg,#1a0a0fcc,#2a141899);border-color:#8b15384d}body.bloody-theme .custom-select-wrapper .select-items{background-color:var(--bg-secondary);border-color:#8b15384d}body.bloody-theme .custom-select-wrapper .select-items div:hover,body.bloody-theme .custom-select-wrapper .same-as-selected{background-color:var(--color-primary);color:var(--text-primary)}body.college-ruled-inverted-theme .custom-select-wrapper .select-items div:hover,body.college-ruled-inverted-theme .custom-select-wrapper .same-as-selected{background-color:var(--color-primary);color:var(--bg-primary)}body.terminal-theme .custom-select-wrapper .select-selected{background-color:#000000e6;border:1px solid rgba(0,255,0,.3);color:var(--text-primary)}body.terminal-theme .custom-select-wrapper .select-items{background-color:#000000f2;border:1px solid rgba(0,255,0,.4)}body.terminal-theme .custom-select-wrapper .select-items div{color:#0f0}body.terminal-theme .custom-select-wrapper .select-items div:hover,body.terminal-theme .custom-select-wrapper .same-as-selected{background-color:#0f0;color:#000}body.raygun-gothic-theme .custom-select-wrapper .select-items,body.raygun-light-theme .custom-select-wrapper .select-items{clip-path:none}body.raygun-gothic-theme .stats-box.z-index-top,body.raygun-light-theme .stats-box.z-index-top{clip-path:none!important;overflow:visible}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;appearance:textfield}.number-spinner-wrapper{display:inline-flex;align-items:center;gap:.15rem;background-color:transparent;border:none;width:auto;min-width:0}.number-spinner-wrapper input[type=number]{text-align:center;border:1px solid var(--border-primary);background:var(--bg-secondary);border-radius:var(--radius-tight);padding:.1rem;height:24px;width:3rem;font-size:.85rem;flex:0 0 auto}.spinner-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-tight);border:none;cursor:pointer;font-size:.9rem;font-weight:700;color:#fff;transition:transform .1s,opacity .2s;flex-shrink:0;line-height:1;padding:0}.spinner-btn:active{transform:scale(.95)}.spinner-btn.minus{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-primary);border-right:none}.spinner-btn.plus{background-color:var(--color-primary);color:#fff;border-left:none}.spinner-btn:hover{opacity:.9}.spinner-btn.minus:hover{background-color:var(--status-error);background-color:var(--border-primary);color:var(--text-primary)}body.bloody-theme .number-spinner-wrapper{background:transparent;border:none}body.bloody-theme .spinner-btn.minus{background-color:#2a1418cc;border-color:#8b15384d;color:var(--text-primary)}body.bloody-theme .number-spinner-wrapper input[type=number]{border:1px solid rgba(139,21,56,.4);background:#0003}.trait-item .number-spinner-wrapper,.stats-box .number-spinner-wrapper{width:auto;justify-content:center}.trait-item{display:flex;flex-direction:column;align-items:center}#update-notification{display:none;position:fixed;bottom:20px;right:20px;background-color:var(--bg-secondary);border:1px solid var(--border-primary);padding:16px;border-radius:var(--radius-normal);box-shadow:var(--shadow-lg);z-index:10000;flex-direction:column;gap:10px;max-width:300px;animation:slide-in .3s ease-out}#update-notification.show{display:flex}.update-message{color:var(--text-primary);font-family:var(--font-body);font-size:.9rem;margin-bottom:8px}.update-actions{display:flex;justify-content:flex-end;gap:10px}#reload-btn{background-color:var(--color-primary);color:#fff;border:none;padding:8px 16px;border-radius:var(--radius-tight);cursor:pointer;font-family:var(--font-body);font-weight:600;transition:background-color .2s}#reload-btn:hover{background-color:var(--color-primary-dark)}#close-update-btn{background-color:transparent;color:var(--text-secondary);border:1px solid var(--border-secondary);padding:8px 16px;border-radius:var(--radius-tight);cursor:pointer;font-family:var(--font-body);transition:all .2s}#close-update-btn:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}@keyframes slide-in{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.turn-order-edit-drawer{max-height:0;opacity:0;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);background:var(--bg-tertiary);margin:0 .5rem;border-radius:0 0 var(--radius-normal) var(--radius-normal);border:1px solid var(--border-primary);border-top:none;transform-origin:top;transform:scaleY(.95)}.turn-order-edit-drawer.open{max-height:80px;opacity:1;margin-bottom:.75rem;transform:scaleY(1);padding:.75rem}.drawer-content{display:flex;align-items:center;justify-content:center;gap:.5rem}.drawer-input{width:80px;padding:.25rem .5rem;border-radius:var(--radius-tight);border:1px solid var(--border-primary);background:var(--bg-primary);color:var(--text-primary);text-align:center;font-weight:600}.drawer-btn{padding:.25rem .5rem;border-radius:var(--radius-tight);border:1px solid var(--border-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:32px;height:32px}.drawer-btn.save{background:var(--status-success);color:#fff;border-color:var(--status-success)}.drawer-btn.cancel{background:var(--bg-secondary);color:var(--text-secondary)}.turn-order-item.editing{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:transparent;box-shadow:none}.dev-code-group .dev-code-input{background:#ffffff08!important;border:1px solid var(--border-primary);color:var(--text-color);transition:border-color .2s ease}.dev-code-group .dev-code-input:focus{border-color:var(--accent-color);outline:none}.dev-code-group .tooltip-container{margin-left:.15em}.tooltip-container{position:relative;display:inline-block;cursor:help}.tooltip-icon{display:inline-flex;justify-content:center;align-items:center;width:18px;height:18px;border-radius:50%;background-color:#fff3;color:var(--text-color);font-size:12px;font-weight:700;transition:background-color .2s}.tooltip-container:hover .tooltip-icon{background-color:var(--accent-color);color:#000}.tooltip-text{visibility:hidden;width:200px;background-color:#333;color:#fff;text-align:center;border-radius:6px;padding:8px;position:absolute;z-index:100;bottom:125%;left:50%;margin-left:-100px;opacity:0;transition:opacity .3s;font-size:.85em;box-shadow:0 4px 6px #0000004d;border:1px solid rgba(255,255,255,.1);pointer-events:none}.tooltip-container:hover .tooltip-text{visibility:visible;opacity:1;pointer-events:auto}.tooltip-text:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#333 transparent transparent transparent}@media screen and (max-width:768px){.modal-content,.auth-box,.instructions-modal-content{left:0!important;right:0!important;bottom:auto!important;margin:10% auto!important;width:95%!important;max-width:95%!important;position:relative!important;transform:none!important;animation-fill-mode:forwards}.instructions-modal-content{width:92%!important;max-width:92%!important;max-height:78vh;overflow-y:auto;padding:1.25rem 1rem;margin:8% auto!important}.instructions-modal-content h2{font-size:1.25rem;margin-bottom:1rem}.instructions-modal-content .help-intro{margin-bottom:1rem;padding:.75rem}.instructions-modal-content{display:flex;flex-direction:column;overflow:hidden}.instructions-modal-content .close-button{position:relative;align-self:flex-end;flex-shrink:0}.instructions-modal-content h2,.instructions-modal-content .help-intro{flex-shrink:0}.instructions-modal-content .help-accordion{overflow-y:auto;flex:1;min-height:0;-webkit-overflow-scrolling:touch}.instructions-modal-content .help-accordion .accordion-item{flex-shrink:0}}body.abyssal-theme{--theme-glow-color: #00FFFF;--theme-glow-color-low: rgba(0, 255, 255, .1);--theme-glow-color-high: rgba(0, 255, 255, .4);--color-primary: #00FFFF;--color-primary-dark: #008B8B;--color-primary-light: #E0FFFF;--color-secondary: #008080;--color-accent: #7DF9FF;--bg-primary: #000000;--bg-secondary: #020E15;--bg-tertiary: #051821;--text-primary: #E0FFFF;--text-secondary: #48D1CC;--border-primary: rgba(0, 255, 255, .3);--border-secondary: rgba(0, 128, 128, .3);--shadow-sm: 0 0 5px rgba(0, 255, 255, .2);--shadow-md: 0 0 10px rgba(0, 255, 255, .3);--shadow-lg: 0 0 20px rgba(0, 255, 255, .4);--font-primary: "Cormorant Garamond", serif;background-image:radial-gradient(circle at 10% 20%,rgba(0,255,255,.05) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(0,128,128,.08) 0%,transparent 50%),linear-gradient(to bottom,#000,#04101a)}body.abyssal-theme .logo-text{font-family:Cormorant Garamond,serif;color:var(--color-primary);text-shadow:0 0 10px rgba(0,255,255,.8),0 0 20px rgba(0,128,128,.6),0 0 40px rgba(0,255,255,.4);letter-spacing:.15em;animation:bg-pulse 8s infinite alternate}body.abyssal-theme .stats-box,body.abyssal-theme .trait-item,body.abyssal-theme .floating-panel-content,body.abyssal-theme .modal-content,body.abyssal-theme .dashboard-card{background:#020e15b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(0,255,255,.2);box-shadow:0 4px 30px #00000080,inset 0 0 20px #00ffff0d;border-radius:12px}body.abyssal-theme .btn{background:linear-gradient(135deg,#008b8b66,#0ff3);border:1px solid var(--color-primary);color:var(--color-primary);text-shadow:0 0 5px rgba(0,255,255,.5);box-shadow:0 0 15px #00ffff1a;border-radius:20px}body.abyssal-theme .btn:hover{background:linear-gradient(135deg,#008b8b99,#00ffff4d);box-shadow:0 0 25px #00ffff4d;transform:translateY(-2px)}body.abyssal-theme input,body.abyssal-theme textarea,body.abyssal-theme select{background:#0009;border:1px solid var(--border-primary);color:var(--color-primary);border-radius:8px}body.abyssal-theme:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(2px 2px at 20% 30%,rgba(255,255,255,.2) 100%,transparent),radial-gradient(2px 2px at 80% 70%,rgba(255,255,255,.2) 100%,transparent);opacity:.6;animation:bg-pulse 15s linear infinite;pointer-events:none;z-index:1}body.blueprint-theme{--theme-glow-color: #FFFFFF;--theme-glow-color-low: rgba(255, 255, 255, .1);--theme-glow-color-high: rgba(255, 255, 255, .3);--color-primary: #FFFFFF;--color-primary-dark: #E2E8F0;--color-primary-light: #F8FAFC;--color-secondary: #93C5FD;--color-accent: #60A5FA;--bg-primary: #1e3a8a;--bg-secondary: #172554;--bg-tertiary: #1e40af;--text-primary: #FFFFFF;--text-secondary: #BFDBFE;--border-primary: rgba(255, 255, 255, .5);--border-secondary: rgba(255, 255, 255, .2);--shadow-sm: none;--shadow-md: 2px 2px 0 rgba(0, 0, 0, .2);--shadow-lg: 4px 4px 0 rgba(0, 0, 0, .2);--font-primary: "Courier New", monospace;background-color:#1e3a8a;background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:20px 20px}body.blueprint-theme .logo-text{font-family:Courier New,monospace;font-weight:700;text-transform:uppercase;border:4px solid white;padding:5px 15px;background:transparent;text-shadow:none;letter-spacing:.1em}body.blueprint-theme .stats-box,body.blueprint-theme .trait-item{border:2px solid white;border-radius:0;background:#1e3a8ae6;box-shadow:3px 3px #0003}body.blueprint-theme .trait-item label,body.blueprint-theme .stats-box h3,body.blueprint-theme h3{text-transform:uppercase;font-family:Courier New,monospace;letter-spacing:1px;border-bottom:1px dashed rgba(255,255,255,.5);padding-bottom:2px}body.blueprint-theme input,body.blueprint-theme textarea,body.blueprint-theme select{background:transparent;border:1px solid rgba(255,255,255,.6);color:#fff;font-family:Courier New,monospace;border-radius:0}body.blueprint-theme .floating-panel-content,body.blueprint-theme .modal-content{border:2px solid white;border-radius:0;background-color:var(--bg-secondary);box-shadow:5px 5px #0000004d}body.blueprint-theme .btn{background:transparent;border:2px solid white;color:#fff;border-radius:0;font-family:Courier New,monospace;text-transform:uppercase;font-weight:700}body.blueprint-theme .btn:hover{background:#fff;color:var(--bg-primary);transform:translate(2px,2px);box-shadow:none}body.blueprint-theme .theme-option-btn{background-color:var(--bg-secondary);color:#fff;border:1px solid white}body.blueprint-theme .theme-option-btn:hover{background-color:#fff;color:var(--bg-primary)}body.blueprint-theme .theme-option-btn.dystopic-theme-preview{background-color:var(--bg-secondary);color:#fff;border:1px solid white;font-family:var(--font-primary)}body.blueprint-theme .theme-option-btn.dystopic-theme-preview:hover{background-color:#fff;color:var(--bg-primary)}body.blueprint-theme .trait-item{border:2px dashed rgba(255,255,255,.4)}body.blueprint-theme .trait-item:hover{border-style:solid}.path-dropdown-group{min-width:120px;flex:1}@media(min-width:901px){.path-dropdown-group{width:173px!important;flex:0 0 173px!important}}.path-dropdown-group select{width:100%}.path-dropdown-group .custom-path-input{margin-top:.25rem;width:100%}.path-dropdown-group .custom-path-input.hidden{display:none}.path-dropdown-group.custom-mode .custom-path-input.hidden{display:block}.level-spinner-group{min-width:90px}.level-spinner-group .number-spinner-wrapper{width:100%;height:38px}.level-spinner-group .spinner-btn{height:38px;width:32px;box-sizing:border-box}.level-spinner-group .level-wrapper input[type=number]{width:3rem;text-align:center;box-sizing:border-box;height:38px;padding:.5rem .25rem;font-size:1rem}.level-change-input-group{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.level-change-input-group label{white-space:nowrap;color:var(--text-secondary)}.level-change-input-group input[type=number]{width:80px;padding:.5rem;text-align:center;border:1px solid var(--border-primary);border-radius:var(--border-radius);background:var(--bg-tertiary);color:var(--text-primary)}.level-up-method-actions{display:flex;flex-direction:column;gap:.5rem}.level-method-btn{display:flex;flex-direction:column;align-items:center;padding:1rem;width:100%}.level-method-btn .method-title{font-weight:600;font-size:1rem}.level-method-btn .method-desc{font-size:.8rem;opacity:.8;margin-top:.25rem}.level-up-wizard-modal-content{max-width:480px;max-height:80vh;padding:1.25rem;overflow-y:auto}.level-up-wizard-header{text-align:center;margin-bottom:1rem}.level-up-wizard-header h2{margin-bottom:.25rem;color:var(--color-primary)}.level-up-wizard-header p{color:var(--text-secondary);font-size:.9rem;margin-bottom:.75rem}.level-up-progress{height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden}.level-up-progress-bar{height:100%;background:var(--color-primary);transition:width .3s ease;width:0%}.level-up-wizard-container{min-height:180px}.level-up-wizard-actions{display:flex;justify-content:space-between;gap:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border-primary)}.level-up-step{text-align:center}.level-up-step-title{font-size:1rem;font-weight:600;margin-bottom:.35rem;color:var(--text-primary)}.level-up-step-message{color:var(--text-secondary);margin-bottom:.75rem;font-size:.9rem}.level-up-trait-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1rem}.level-up-trait-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.level-up-trait-item label{font-size:.85rem;color:var(--text-secondary)}.level-up-trait-stepper{display:flex;align-items:center;gap:.25rem}.level-up-trait-stepper button{width:28px;height:28px;border-radius:4px;border:1px solid var(--border-primary);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center}.level-up-trait-stepper button:hover:not(:disabled){background:var(--color-primary);color:var(--bg-primary);border-color:var(--color-primary)}.level-up-trait-stepper button:disabled{opacity:.4;cursor:not-allowed}.level-up-trait-stepper .trait-value{min-width:24px;text-align:center;font-weight:600}.level-up-roll-section{margin-top:1rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.level-up-roll-section .roll-dice-btn{padding:.75rem 1.5rem;font-size:1rem}.level-up-roll-result{font-size:1.5rem;font-weight:700;color:var(--color-primary)}.level-up-roll-breakdown{font-size:.9rem;color:var(--text-secondary)}.filler-option{margin-top:.75rem;display:flex;gap:.5rem;justify-content:center;align-items:center}.filler-hint{font-size:.8rem;color:var(--text-tertiary);margin-top:.5rem;font-style:italic}.filler-badge{font-size:.75rem;color:var(--color-primary);font-weight:400}.power-filler-actions{margin-top:.35rem;display:flex;gap:.5rem;justify-content:center}.btn-sm{padding:.25rem .5rem;font-size:.75rem}.level-up-presets-section{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border-primary);text-align:left}.level-up-presets-section h4{font-size:.85rem;margin-bottom:.5rem;color:var(--text-secondary)}.level-up-presets-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;max-height:150px;overflow-y:auto}.level-up-preset-item{padding:.4rem .6rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease}.level-up-preset-item:hover{background:var(--color-primary);color:var(--bg-primary);border-color:var(--color-primary)}.level-up-preset-item .preset-name{font-weight:600;font-size:.8rem}.level-up-preset-item .preset-range{font-size:.7rem;opacity:.8}.presets-hint{font-size:.75rem;color:var(--text-tertiary);margin-top:.5rem;font-style:italic;text-align:center}.level-up-powers-step .power-inputs-section{display:flex;flex-direction:column;gap:.75rem}.level-up-powers-step .power-input-group{background:var(--bg-tertiary);padding:.6rem;border-radius:var(--border-radius)}.level-up-powers-step .power-input-group label{display:block;font-weight:600;font-size:.85rem;margin-bottom:.35rem}.level-up-powers-step .power-input-group input,.level-up-powers-step .power-input-group textarea{width:100%;margin-bottom:.35rem;font-size:.85rem;padding:.35rem .5rem}.level-up-powers-step .power-input-group textarea{min-height:40px;resize:vertical}.choice-bonus-options{display:flex;gap:.75rem;justify-content:center}.choice-bonus-btn{padding:1rem 1.5rem;min-width:120px;display:flex;flex-direction:column;align-items:center;gap:.25rem}.choice-bonus-btn .trait-name{font-weight:600;font-size:1rem}.choice-bonus-btn .trait-bonus{font-size:.85rem;opacity:.8}.pathless-modal-content,.no-powers-modal-content{max-width:450px}.pathless-trait-grid,.no-powers-trait-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem}.allocation-trait-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem;background:var(--bg-tertiary);border-radius:var(--border-radius)}.allocation-trait-item label{font-size:.8rem;color:var(--text-secondary)}.allocation-stepper{display:flex;align-items:center;gap:.25rem}.allocation-stepper button{width:26px;height:26px;border-radius:4px;border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center}.allocation-stepper button:hover:not(:disabled){background:var(--color-primary);color:var(--bg-primary);border-color:var(--color-primary)}.allocation-stepper button:disabled{opacity:.4;cursor:not-allowed}.allocation-stepper .alloc-value{min-width:20px;text-align:center;font-weight:600;font-size:.9rem}.dice-remaining-indicator{text-align:center;font-weight:600;color:var(--color-primary);margin-bottom:.5rem}.talent-input-section{margin-top:1rem}.talent-input-section textarea{width:100%;min-height:80px;padding:.75rem;border:1px solid var(--border-primary);border-radius:var(--border-radius);background:var(--bg-tertiary);color:var(--text-primary);resize:vertical}.power-inputs-section{margin-top:1rem;display:flex;flex-direction:column;gap:.75rem}.power-input-group{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:var(--bg-tertiary);border-radius:var(--border-radius)}.power-input-group label{font-size:.8rem;color:var(--text-secondary)}.power-input-group input,.power-input-group textarea{padding:.5rem;border:1px solid var(--border-primary);border-radius:var(--border-radius);background:var(--bg-secondary);color:var(--text-primary)}.level-up-summary{text-align:left}.level-up-summary-section{margin-bottom:1rem}.level-up-summary-section h4{font-size:.9rem;color:var(--text-secondary);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.05em}.level-up-summary-section p,.level-up-summary-section ul{font-size:.95rem;color:var(--text-primary)}.level-up-summary-section ul{list-style:disc;margin-left:1.5rem}.level-up-roll-method-toggle{display:flex;gap:.5rem;justify-content:center;margin-bottom:1rem}.level-up-roll-method-toggle button{flex:1;max-width:150px}.level-up-rolls-list{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:.75rem}.level-up-roll-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-tertiary);border-radius:var(--border-radius)}.level-up-roll-item .roll-label{font-size:.85rem;color:var(--text-secondary)}.level-up-roll-item .roll-value{font-weight:600;color:var(--color-primary);min-width:20px;text-align:center}@media(max-width:768px){.path-dropdown-group{min-width:unset;width:100%;flex-basis:100%}.level-spinner-group{flex:0 0 auto;min-width:80px}.level-up-trait-grid{grid-template-columns:repeat(3,1fr);gap:.5rem}.level-up-wizard-modal-content{padding:1rem}.pathless-trait-grid,.no-powers-trait-grid{grid-template-columns:repeat(3,1fr);gap:.5rem}}@media(max-width:768px){body{-webkit-text-size-adjust:100%;padding-bottom:80px}.version-info{display:none!important}.app-footer{margin-top:1rem;padding-bottom:1rem;gap:.5rem}.app-footer-social{gap:.75rem;justify-content:center;flex-wrap:wrap}.app-footer-social .social-link{width:40px;height:40px}.app-footer-social .social-link svg{width:20px;height:20px}.app-footer-legal{flex-wrap:wrap;justify-content:center;font-size:.7rem}.traits-grid{grid-template-columns:repeat(2,1fr)!important;gap:.5rem}input[type=text],input[type=email],input[type=password],input[type=number],select,textarea{font-size:16px}}@media(max-width:768px){.floating-action-buttons{position:fixed!important;inset:auto 0 0!important;display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-evenly;gap:8px;padding:10px 8px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));background:var(--bg-secondary);border-top:1px solid var(--border-primary);box-shadow:0 -4px 20px #00000026;z-index:1000;width:100%;max-width:none;transform:none!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);overflow:visible;box-sizing:border-box}.floating-action-buttons .floating-action-btn{flex-shrink:0;width:48px!important;height:48px!important;min-width:48px;border-radius:12px!important;-webkit-tap-highlight-color:transparent}.floating-action-btn:hover{transform:none}.floating-action-btn:active{transform:scale(.92);opacity:.9}.floating-action-btn .action-button-icon svg{width:22px;height:22px}}@media(max-width:768px){.dice-tray-panel:not(.collapsed),.campaign-panel:not(.collapsed),.theme-panel:not(.collapsed),.sheet-panel:not(.collapsed){position:fixed;inset:0;width:100%;height:100%;z-index:1002;background:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.theme-panel:not(.collapsed){display:flex;align-items:flex-start;justify-content:center;padding:8% 0 1rem;overflow-y:auto;transform:none}.theme-panel-content{position:relative!important;inset:auto!important;width:92%!important;max-width:92%!important;max-height:78vh;border-radius:28px!important;padding:1.25rem 1rem;padding-bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));margin:0 auto;flex-shrink:0;background:var(--bg-primary);border:1px solid var(--border-primary);overflow-y:auto;-webkit-overflow-scrolling:touch}.sheet-panel:not(.collapsed){display:flex;align-items:flex-start;justify-content:center;padding:8% 0 1rem;overflow-y:auto;transform:none}.sheet-panel-content{position:relative!important;inset:auto!important;width:92%!important;max-width:92%!important;max-height:78vh;border-radius:28px!important;padding:1.25rem 1rem;padding-bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));margin:0 auto;flex-shrink:0;background:var(--bg-primary);border:1px solid var(--border-primary);overflow-y:auto;-webkit-overflow-scrolling:touch}.campaign-panel:not(.collapsed){display:flex;align-items:flex-start;justify-content:center;padding:8% 0 1rem;overflow-y:auto;transform:none}.campaign-panel-content{position:relative!important;inset:auto!important;width:92%!important;max-width:92%!important;max-height:78vh;border-radius:28px!important;padding:1.25rem 1rem;padding-bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));margin:0 auto;flex-shrink:0;background:var(--bg-primary);border:1px solid var(--border-primary);overflow-y:auto;-webkit-overflow-scrolling:touch}.campaign-panel-content .floating-panel-header{gap:.75rem;margin-bottom:1rem}.campaign-panel-content .floating-panel-header .combat-status-indicator{margin-left:.5rem}.dice-tray-panel:not(.collapsed){display:flex;align-items:flex-start;justify-content:center;padding:8% 0 1rem;overflow-y:auto;transform:none}.dice-tray-panel-content{position:relative!important;inset:auto!important;width:92%!important;max-width:92%!important;max-height:78vh;border-radius:28px!important;padding:1.25rem 1rem;padding-bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));margin:0 auto;flex-shrink:0;background:var(--bg-primary);border:1px solid var(--border-primary);-webkit-overflow-scrolling:touch}.theme-panel-content,.campaign-panel-content,.dice-tray-panel-content{display:flex;flex-direction:column;overflow:hidden}.theme-panel-content .floating-panel-header,.campaign-panel-content .floating-panel-header,.dice-tray-panel-content .floating-panel-header{flex-shrink:0;background:var(--bg-primary);border-radius:28px 28px 0 0;margin:-1.25rem -1rem 1rem;padding:1.25rem 1rem .75rem;box-shadow:0 2px 0 var(--bg-primary)}.theme-panel-layout{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;gap:1rem}.theme-panel-content .theme-options-grid{flex:0 0 auto}.theme-panel-content .dice-color-section{flex-shrink:0;margin-top:0}.campaign-panel-content .campaign-dashboard,.dice-tray-panel-content .dice-tray-dashboard{overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;-webkit-overflow-scrolling:touch}.theme-panel-content .theme-options-grid{grid-template-columns:1fr;grid-auto-rows:minmax(12rem,auto);gap:1.25rem;padding:1rem .75rem;align-content:start}.theme-panel-content .theme-option-btn{padding:0;min-height:12rem;line-height:1.3;box-sizing:border-box;flex-shrink:0}.theme-panel-content .theme-preview-box{min-height:7.5rem;padding:1rem 1.25rem;flex-shrink:0}.theme-panel-content .theme-swatches{gap:.625rem}.theme-panel-content .theme-swatch{width:2rem;height:2rem}.theme-panel-content .theme-swatch-text{font-size:.875rem}.theme-panel-content .theme-name{padding:.75rem 1rem .875rem;font-size:1rem;flex-shrink:0;line-height:1.4}.dice-tray-panel.collapsed,.campaign-panel.collapsed,.theme-panel.collapsed,.sheet-panel.collapsed{display:none!important}}@media(max-width:768px){.modal{align-items:flex-end!important;padding:0!important}.modal-content{position:relative!important;inset:auto 0 0!important;transform:none!important;margin:0!important;width:100%!important;max-width:100%!important;max-height:90vh;border-radius:16px 16px 0 0!important;padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));overflow-y:auto;-webkit-overflow-scrolling:touch}}@media(max-width:768px)and (orientation:landscape){.traits-grid{grid-template-columns:repeat(5,1fr)!important}.floating-action-buttons{flex-direction:column!important;width:auto!important;height:100%!important;inset:0 0 0 auto!important;padding:8px!important;padding-right:calc(8px + env(safe-area-inset-right,0px))!important;border-left:1px solid var(--border-primary);border-top:none}.floating-action-btn{width:44px!important;height:44px!important}body{padding-bottom:0;padding-right:60px}}@media(max-width:374px){.floating-action-buttons{gap:8px;padding:8px}.floating-action-btn{width:40px!important;height:40px!important;min-width:40px}.floating-action-btn .action-button-icon svg{width:18px;height:18px}}@media print{.floating-action-buttons{display:none!important}}#lp-edit-modal{z-index:10005!important}#quick-add-sheet-modal{z-index:10006!important}.ilhdeinian-only{display:none!important}body.ilhdeinian-mode .ilhdeinian-only{display:flex!important}.ilhdeinian-currency-section{margin-bottom:20px}.currency-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.currency-slot{display:flex;flex-direction:column}.currency-slot label{font-size:.8rem;color:var(--text-secondary);margin-bottom:2px}.currency-slot input{background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:var(--radius-tight);padding:8px;color:var(--text-primary);width:100%;font-family:inherit}.currency-slot input:focus{border-color:var(--color-accent);outline:none}.currency-panel{position:fixed;top:50%;transform:translateY(-50%);right:80px;width:90%;max-width:500px;height:auto;max-height:90vh;z-index:999;transition:opacity .3s ease,transform .3s ease,visibility .3s}@media(max-width:768px){.currency-panel{right:0;bottom:70px;top:auto;transform:none;width:100%;max-width:100%;border-radius:20px 20px 0 0}.currency-panel.collapsed{transform:translateY(100%);opacity:0;visibility:hidden}}@media(min-width:769px){.currency-panel.collapsed{transform:translate(20px,-50%);opacity:0;visibility:hidden}}.currency-panel-content{display:flex;flex-direction:column;height:100%;max-height:90vh;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-loose);box-shadow:var(--shadow-xl);overflow:hidden}.currency-converter-body{padding:20px;overflow-y:auto}.currency-converter-inputs{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:25px;align-items:start}@media(max-width:600px){.currency-converter-inputs{grid-template-columns:1fr}}.currency-input-group{background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:var(--radius-normal);padding:15px;margin-bottom:0;display:flex;flex-direction:column}.currency-panel-content .amount-input{width:100%;background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:var(--radius-tight);padding:20px!important;height:60px!important;color:var(--text-primary);font-size:1.5rem!important}.currency-label{display:block;font-size:.85rem;color:var(--color-accent);margin-bottom:8px;font-weight:700;text-transform:uppercase}.currency-select{width:100%;background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:var(--radius-tight);padding:8px;color:var(--text-primary);margin-bottom:10px}.amount-input{width:100%;background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:var(--radius-tight);padding:15px;color:var(--text-primary);font-size:1.2rem}.denomination-info{margin-top:10px;font-size:.8rem;color:var(--text-secondary);padding-left:10px;border-left:3px solid var(--color-accent)}.swap-button{grid-column:1 / -1;justify-self:center;display:block;margin:0 auto 20px;background:var(--color-accent);color:var(--bg-primary);border:none;border-radius:50%;width:40px;height:40px;font-size:1.2rem;cursor:pointer;box-shadow:var(--shadow-md);transition:transform .2s}.swap-button:hover{transform:rotate(180deg)}.result-display{background:var(--bg-tertiary);border:2px solid var(--color-accent);border-radius:var(--radius-normal);padding:20px;text-align:center;font-size:1.3rem;color:var(--color-accent);font-weight:700;margin-bottom:20px;min-height:80px;display:flex;align-items:center;justify-content:center}.quick-convert{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}.quick-button{background:var(--bg-tertiary);border:1px solid var(--border-secondary);color:var(--text-primary);padding:8px;border-radius:var(--radius-tight);cursor:pointer}.quick-button:hover{border-color:var(--color-accent);background:var(--bg-primary)}.rates-table{border:1px solid var(--border-secondary);border-radius:var(--radius-normal);overflow:hidden}.rates-header{background:var(--bg-tertiary);padding:10px;text-align:center;font-weight:700;color:var(--color-accent);border-bottom:1px solid var(--border-secondary)}.rates-grid{display:grid;grid-template-columns:repeat(5,1fr);background:var(--border-secondary);gap:1px}.rate-cell{background:var(--bg-primary);padding:8px 4px;text-align:center;font-size:.8rem}.rate-cell.header{background:var(--bg-tertiary);color:var(--text-secondary);font-weight:700}.floating-panel-header h3{text-shadow:none;font-weight:600}.warning-box{background:color-mix(in srgb,var(--status-error) 10%,transparent);border:1px solid var(--status-error);border-left:4px solid var(--status-error);border-radius:var(--radius-normal);padding:15px;margin-top:20px;animation:pulse-glow 2s infinite}.warning-title{color:var(--status-error);font-weight:700;margin-bottom:5px;display:flex;align-items:center;gap:8px}.shared-combat-link{margin-left:6px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-primary, #4285f4);vertical-align:middle}.inactive-badge{font-size:.7em;color:var(--text-muted);margin-left:5px}.tribulation-item label.trib-inactive{opacity:.5}.money-modal-subtitle{margin-bottom:.5rem;color:var(--text-secondary)}.quick-add-trait-label{font-size:.65rem;text-transform:uppercase;color:var(--text-secondary);margin-bottom:2px}.quick-add-trait-value{font-size:1.1rem;font-weight:600}
