@font-face{font-family:Cinzel;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/cinzel/v26/8vIJ7ww63mVu7gt7-GT7LEc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/cinzel/v26/8vIJ7ww63mVu7gt79mT7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/cinzel/v26/8vIJ7ww63mVu7gt7-GT7LEc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/cinzel/v26/8vIJ7ww63mVu7gt79mT7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/cinzel/v26/8vIJ7ww63mVu7gt7-GT7LEc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/cinzel/v26/8vIJ7ww63mVu7gt79mT7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/cinzel/v26/8vIJ7ww63mVu7gt7-GT7LEc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/cinzel/v26/8vIJ7ww63mVu7gt79mT7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Crimson Text;font-style:italic;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/crimsontext/v19/wlpogwHKFkZgtmSR3NB0oRJfajheK_Zt3Q.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Crimson Text;font-style:italic;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/crimsontext/v19/wlpogwHKFkZgtmSR3NB0oRJfajhfK_Zt3Q.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Crimson Text;font-style:italic;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/crimsontext/v19/wlpogwHKFkZgtmSR3NB0oRJfajhRK_Y.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Crimson Text;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/crimsontext/v19/wlp2gwHKFkZgtmSR3NB0oRJfYAhTM_I.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Crimson Text;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/crimsontext/v19/wlp2gwHKFkZgtmSR3NB0oRJfYQhTM_I.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Crimson Text;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/crimsontext/v19/wlp2gwHKFkZgtmSR3NB0oRJfbwhT.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Crimson Text;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/crimsontext/v19/wlppgwHKFkZgtmSR3NB0oRJXsCxGA9NQ5LE.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Crimson Text;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/crimsontext/v19/wlppgwHKFkZgtmSR3NB0oRJXsCxGAtNQ5LE.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Crimson Text;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/crimsontext/v19/wlppgwHKFkZgtmSR3NB0oRJXsCxGDNNQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes bloodDrop{0%{transform:translateY(-20px);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(100vh);opacity:0}}@keyframes cardGlow{0%{opacity:.2}to{opacity:.4;filter:blur(8px)}}@keyframes symbolPulse{0%,to{text-shadow:0 0 20px var(--light-green-accent);transform:scale(1)}50%{text-shadow:0 0 30px var(--light-green-accent),0 0 40px var(--light-green-accent);transform:scale(1.05)}}.loading-spinner{width:40px;height:40px;border:3px solid var(--ash-gray);border-top:3px solid var(--light-green-accent);border-radius:50%;animation:spin 1s linear infinite}.small-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid var(--bone-white);border-radius:50%;animation:spin 1s linear infinite}.sire-badge,.status-badge,.location-badge,.clan-badge,.role-badge,.type-badge{display:inline-flex;align-items:center;height:28px;padding:0 .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;white-space:nowrap;letter-spacing:.025em}.type-badge{border-radius:.25rem}.type-badge--human{background:#e3f2fd;color:#1976d2}.type-badge--vampire{background:#fce4ec;color:#c2185b}.type-badge--ghoul{background:#f3e5f5;color:#7b1fa2}.type-badge--inquisition{background:#fff3e0;color:#f57c00}.role-badge{border-radius:1rem;background-color:var(--blood-red);color:var(--bone-white)}.role-badge--gm{background:var(--light-green-accent);color:#000}.role-badge--player{background:#4a9eff;color:#fff}.clan-badge{border-radius:1rem;background-color:var(--accent-green);color:var(--bone-white)}.location-badge{border-radius:1rem;background-color:var(--ash-gray);color:var(--text-primary)}.status-badge{border-radius:1rem}.status-badge--dead{background-color:#4a4a4a;color:#ff6b6b}.status-badge--alive{background-color:#228b224d;color:#90ee90}.sire-badge{border-radius:.25rem;background:var(--bg-button);color:var(--bone-white);border:1px solid var(--bone-white)}.knowledge-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:var(--border-radius-full, 1rem);font-size:.75rem;font-weight:500;white-space:nowrap}.knowledge-badge.characters-badge{background:#8b00001a;color:var(--blood-red);border:1px solid var(--accent-green)}.knowledge-badge.locations-badge{background:var(--blood-red);color:var(--light-green-accent);border:1px solid var(--light-green-accent)}.knowledge-flag{display:inline-block;padding:.125rem .375rem;background:var(--accent-green);color:var(--bone-white);font-size:.7rem;font-weight:500;border-radius:.25rem;text-transform:uppercase;letter-spacing:.025em}:root{--primary-dark: #1F7A5A;--secondary-dark: #09271e;--accent-green: #175645;--blood-red: #660000;--light-green-accent: #a7cfc4;--parchment: #f4e4bc;--ash-gray: #4a4a4a;--bone-white: #f8f6f0;--shadow-black: #0a0a0a;--dark-grey: #0B0B0C;--text-primary: #f8f6f0;--text-secondary: #d4d4d4;--text-muted: #999999;--text-error: #ff6b6b;--bg-primary: linear-gradient(135deg, var(--primary-dark) 0%, var(--secondary-dark) 100%);--bg-card: linear-gradient(145deg, var(--dark-grey) 0%, #1A1C1E 100%);--bg-button: #0d382c;--bg-fields: #1e2c28;--shadow-light: 0 2px 8px rgba(0, 0, 0, .3);--shadow-medium: 0 4px 16px rgba(0, 0, 0, .4);--shadow-heavy: 0 8px 32px rgba(0, 0, 0, .6);--shadow-inset: inset 0 2px 4px rgba(0, 0, 0, .3)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Crimson Text,serif;background:var(--bg-primary);background-image:url(/bg.jpg);background-repeat:repeat;background-blend-mode:multiply;color:var(--text-primary);min-height:100vh;line-height:1.6;overflow-x:hidden}.app-content{min-height:100vh}.app-content.with-header{padding-top:70px;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:Cinzel,serif;color:var(--bone-white);margin-bottom:.5em;text-shadow:2px 2px 4px rgba(0,0,0,.7)}h1{font-size:2.5rem;font-weight:700;letter-spacing:.1em}h2{font-size:2rem;font-weight:600}h3{font-size:1.5rem;font-weight:500}p{margin-bottom:1rem;color:var(--text-secondary)}a{color:var(--light-green-accent);text-decoration:none;transition:color .3s ease}a:hover{color:var(--bone-white);text-shadow:0 0 8px var(--light-green-accent)}.btn{display:inline-block;padding:12px 24px;background:var(--bg-button);color:var(--bone-white);border:2px solid var(--accent-green);border-radius:4px;font-family:Cinzel,serif;font-weight:500;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-medium)}.btn:hover{background:var(--accent-green);border-color:var(--accent-green);box-shadow:var(--shadow-heavy);transform:translateY(-2px)}.btn:active{transform:translateY(0);box-shadow:var(--shadow-light)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;font-family:Cinzel,serif;font-weight:500;color:var(--light-green-accent);text-transform:uppercase;letter-spacing:.05em;font-size:.9rem}.form-input{width:100%;padding:12px 16px;background:var(--bg-fields);border:2px solid var(--ash-gray);border-radius:4px;color:var(--text-primary);font-family:Crimson Text,serif;font-size:1rem;transition:all .3s ease;box-shadow:var(--shadow-inset)}.form-input:focus{outline:none;border-color:var(--light-green-accent);box-shadow:0 0 0 2px var(--primary-dark),var(--shadow-inset)}.form-input::placeholder{color:var(--text-muted);font-style:italic}.card{background:var(--bg-card);border:1px solid var(--secondary-dark);border-radius:8px;box-shadow:var(--shadow-heavy);overflow:hidden;position:relative}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--light-green-accent) 50%,transparent 100%)}.card-header{padding:1.5rem;border-bottom:1px solid var(--secondary-dark);text-align:center}.card-body{padding:2rem}.text-center{text-align:center}.text-right{text-align:right!important}.text-error{color:var(--text-error);font-size:.9rem;margin-top:.5rem}.loading{opacity:.7;pointer-events:none}@media (max-width: 768px){h1{font-size:2rem}h2{font-size:1.5rem}.card-body{padding:1.5rem}.app-content.with-header{padding-top:60px}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--border-color, #404040)}::-webkit-scrollbar-thumb{background:var(--accent-green);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--blood-red)}
