@import url('https://fonts.googleapis.com/css?family=Cinzel:600,700|Libre+Baskerville:400,400i,700');

.ravenous-sheet,.sheet-rolltemplate-ravenous { --ink:#302c26; --muted:#716957; --gold:#9b8050; --dark-gold:#70582f; --paper:#f4ebd8; --light:#fbf9f3; --accent:#ede1c8; --border:#c9bda4; --blood:#7a2424; --gold-rgb:155,128,80; --blood-rgb:122,36,36; --light-rgb:251,249,243; --accent-rgb:237,225,200; }
.ravenous-sheet { box-sizing:border-box; max-width:980px; min-width:650px; margin:auto; font:13px/1.4 "Libre Baskerville",Georgia,serif; }
.sheet-content { padding:18px; color:var(--ink); background-color:var(--paper); background-image:radial-gradient(circle at 15% 10%,rgba(var(--gold-rgb),.09),transparent 35%),linear-gradient(90deg,rgba(var(--blood-rgb),.025) 1px,transparent 1px); background-size:auto,28px 28px; border:1px solid var(--border); }
.theme-state[value="warm"]~.sheet-content { --ink:#302c26; --muted:#716957; --gold:#9b8050; --dark-gold:#70582f; --paper:#f4ebd8; --light:#fbf9f3; --accent:#ede1c8; --border:#c9bda4; --blood:#7a2424; --gold-rgb:155,128,80; --blood-rgb:122,36,36; --light-rgb:251,249,243; --accent-rgb:237,225,200; }
.sheet-rolltemplate-ravenous .sheet-theme-warm { --ink:#302c26; --muted:#716957; --gold:#9b8050; --dark-gold:#70582f; --paper:#f4ebd8; --light:#fbf9f3; --accent:#ede1c8; --border:#c9bda4; --blood:#7a2424; --gold-rgb:155,128,80; --blood-rgb:122,36,36; --light-rgb:251,249,243; --accent-rgb:237,225,200; }
.theme-state[value="steel"]~.sheet-content { --ink:#292b32; --muted:#626873; --gold:#7187a0; --dark-gold:#465a72; --paper:#eef1f3; --light:#f7f9fa; --accent:#dce3e8; --border:#b8c2cc; --blood:#526d85; --gold-rgb:113,135,160; --blood-rgb:82,109,133; --light-rgb:247,249,250; --accent-rgb:220,227,232; }
.sheet-rolltemplate-ravenous .sheet-theme-steel { --ink:#292b32; --muted:#626873; --gold:#7187a0; --dark-gold:#465a72; --paper:#eef1f3; --light:#f7f9fa; --accent:#dce3e8; --border:#b8c2cc; --blood:#526d85; --gold-rgb:113,135,160; --blood-rgb:82,109,133; --light-rgb:247,249,250; --accent-rgb:220,227,232; }
.theme-state[value="fangdrael"]~.sheet-content { --ink:#29302a; --muted:#687064; --gold:#7f8f62; --dark-gold:#53603d; --paper:#f1f2e8; --light:#fafbf5; --accent:#e3e5d4; --border:#bdc3ae; --blood:#536b45; --gold-rgb:127,143,98; --blood-rgb:83,107,69; --light-rgb:250,251,245; --accent-rgb:227,229,212; }
.sheet-rolltemplate-ravenous .sheet-theme-fangdrael { --ink:#29302a; --muted:#687064; --gold:#7f8f62; --dark-gold:#53603d; --paper:#f1f2e8; --light:#fafbf5; --accent:#e3e5d4; --border:#bdc3ae; --blood:#536b45; --gold-rgb:127,143,98; --blood-rgb:83,107,69; --light-rgb:250,251,245; --accent-rgb:227,229,212; }
.theme-state[value="bw"]~.sheet-content { --ink:#202020; --muted:#666666; --gold:#777777; --dark-gold:#484848; --paper:#eeeeee; --light:#fafafa; --accent:#e2e2e2; --border:#b5b5b5; --blood:#444444; --gold-rgb:119,119,119; --blood-rgb:68,68,68; --light-rgb:250,250,250; --accent-rgb:226,226,226; }
.sheet-rolltemplate-ravenous .sheet-theme-bw { --ink:#202020; --muted:#666666; --gold:#777777; --dark-gold:#484848; --paper:#eeeeee; --light:#fafafa; --accent:#e2e2e2; --border:#b5b5b5; --blood:#444444; --gold-rgb:119,119,119; --blood-rgb:68,68,68; --light-rgb:250,250,250; --accent-rgb:226,226,226; }
.theme-state[value="high-contrast"]~.sheet-content { --ink:#111111; --muted:#333333; --gold:#005a9c; --dark-gold:#003b66; --paper:#ffffff; --light:#ffffff; --accent:#fff4cc; --border:#555555; --blood:#a40000; --gold-rgb:0,90,156; --blood-rgb:164,0,0; --light-rgb:255,255,255; --accent-rgb:255,244,204; }
.sheet-rolltemplate-ravenous .sheet-theme-high-contrast { --ink:#111111; --muted:#333333; --gold:#005a9c; --dark-gold:#003b66; --paper:#ffffff; --light:#ffffff; --accent:#fff4cc; --border:#555555; --blood:#a40000; --gold-rgb:0,90,156; --blood-rgb:164,0,0; --light-rgb:255,255,255; --accent-rgb:255,244,204; }
.theme-state[value="yon-sen"]~.sheet-content { --ink:#292724; --muted:#625d54; --gold:#a88a54; --dark-gold:#78633d; --paper:#f3ebdd; --light:#faf6ec; --accent:#eee4d1; --border:#c8bda8; --blood:#8c3029; --gold-rgb:168,138,84; --blood-rgb:140,48,41; --light-rgb:250,246,236; --accent-rgb:238,228,209; }
.sheet-rolltemplate-ravenous .sheet-theme-yon-sen { --ink:#292724; --muted:#625d54; --gold:#a88a54; --dark-gold:#78633d; --paper:#f3ebdd; --light:#faf6ec; --accent:#eee4d1; --border:#c8bda8; --blood:#8c3029; --gold-rgb:168,138,84; --blood-rgb:140,48,41; --light-rgb:250,246,236; --accent-rgb:238,228,209; }
.theme-state[value="steingrund"]~.sheet-content { --ink:#25262b; --muted:#686a73; --gold:#8e96a8; --dark-gold:#5c6372; --paper:#eef0f2; --light:#f8f9fa; --accent:#e1e5e9; --border:#b5bbc3; --blood:#6f2535; --gold-rgb:142,150,168; --blood-rgb:111,37,53; --light-rgb:248,249,250; --accent-rgb:225,229,233; }
.sheet-rolltemplate-ravenous .sheet-theme-steingrund { --ink:#25262b; --muted:#686a73; --gold:#8e96a8; --dark-gold:#5c6372; --paper:#eef0f2; --light:#f8f9fa; --accent:#e1e5e9; --border:#b5bbc3; --blood:#6f2535; --gold-rgb:142,150,168; --blood-rgb:111,37,53; --light-rgb:248,249,250; --accent-rgb:225,229,233; }
.theme-state[value="treorst"]~.sheet-content { --ink:#272238; --muted:#6d647a; --gold:#c39a3d; --dark-gold:#87651f; --paper:#f4ebd7; --light:#fff9e9; --accent:#eeddb8; --border:#c7a967; --blood:#7c2348; --gold-rgb:195,154,61; --blood-rgb:124,35,72; --light-rgb:255,249,233; --accent-rgb:238,221,184; }
.sheet-rolltemplate-ravenous .sheet-theme-treorst { --ink:#272238; --muted:#6d647a; --gold:#c39a3d; --dark-gold:#87651f; --paper:#f4ebd7; --light:#fff9e9; --accent:#eeddb8; --border:#c7a967; --blood:#7c2348; --gold-rgb:195,154,61; --blood-rgb:124,35,72; --light-rgb:255,249,233; --accent-rgb:238,221,184; }
.theme-state[value="anankar"]~.sheet-content { --ink:#3a3025; --muted:#796c59; --gold:#b28a45; --dark-gold:#80612f; --paper:#f2e5c7; --light:#fbf4df; --accent:#ead6ad; --border:#cbb98f; --blood:#8b4930; --gold-rgb:178,138,69; --blood-rgb:139,73,48; --light-rgb:251,244,223; --accent-rgb:234,214,173; }
.sheet-rolltemplate-ravenous .sheet-theme-anankar { --ink:#3a3025; --muted:#796c59; --gold:#b28a45; --dark-gold:#80612f; --paper:#f2e5c7; --light:#fbf4df; --accent:#ead6ad; --border:#cbb98f; --blood:#8b4930; --gold-rgb:178,138,69; --blood-rgb:139,73,48; --light-rgb:251,244,223; --accent-rgb:234,214,173; }
.theme-state[value="drekinsteps"]~.sheet-content { --ink:#33251f; --muted:#765b4e; --gold:#c08a3e; --dark-gold:#875722; --paper:#f1ddc5; --light:#faebd9; --accent:#e7c9a8; --border:#c69d76; --blood:#a83224; --gold-rgb:192,138,62; --blood-rgb:168,50,36; --light-rgb:250,235,217; --accent-rgb:231,201,168; }
.sheet-rolltemplate-ravenous .sheet-theme-drekinsteps { --ink:#33251f; --muted:#765b4e; --gold:#c08a3e; --dark-gold:#875722; --paper:#f1ddc5; --light:#faebd9; --accent:#e7c9a8; --border:#c69d76; --blood:#a83224; --gold-rgb:192,138,62; --blood-rgb:168,50,36; --light-rgb:250,235,217; --accent-rgb:231,201,168; }
.theme-state[value="draan"]~.sheet-content { --ink:#25223d; --muted:#665e82; --gold:#5f9189; --dark-gold:#3f6965; --paper:#e2dfe8; --light:#f2edf3; --accent:#d4c1d7; --border:#9991a8; --blood:#713f70; --gold-rgb:95,145,137; --blood-rgb:113,63,112; --light-rgb:242,237,243; --accent-rgb:212,193,215; }
.sheet-rolltemplate-ravenous .sheet-theme-draan { --ink:#25223d; --muted:#665e82; --gold:#5f9189; --dark-gold:#3f6965; --paper:#e2dfe8; --light:#f2edf3; --accent:#d4c1d7; --border:#9991a8; --blood:#713f70; --gold-rgb:95,145,137; --blood-rgb:113,63,112; --light-rgb:242,237,243; --accent-rgb:212,193,215; }
.ravenous-sheet * { box-sizing:border-box; }
.ravenous-sheet input,.ravenous-sheet select,.ravenous-sheet textarea { width:100%; border:0; border-bottom:1px solid var(--border); border-radius:0; background:rgba(var(--light-rgb),.72); color:var(--ink); font:inherit; padding:4px 6px; box-shadow:none; }
.ravenous-sheet input:focus,.ravenous-sheet select:focus,.ravenous-sheet textarea:focus { outline:2px solid rgba(var(--gold-rgb),.35); border-color:var(--dark-gold); }
.ravenous-sheet input[type=number] { text-align:center; appearance:textfield; -moz-appearance:textfield; }
.ravenous-sheet input[type=number]::-webkit-inner-spin-button,.ravenous-sheet input[type=number]::-webkit-outer-spin-button { margin:0; appearance:none; -webkit-appearance:none; }
.ravenous-sheet input[type=checkbox] { width:auto; }
.ravenous-sheet button { font-family:"Cinzel",Georgia,serif; }
.hero { display:grid; grid-template-columns:70px 1fr 190px; gap:16px; align-items:center; padding:12px 14px; border:1px solid var(--gold); border-left:5px solid var(--blood); background:rgba(var(--light-rgb),.7); }
.sigil { display:grid; place-items:center; width:62px; height:62px; color:var(--paper); background:var(--blood); font:700 34px "Cinzel",serif; transform:rotate(45deg); box-shadow:inset 0 0 0 4px var(--blood),inset 0 0 0 5px var(--gold); }
.sigil::first-letter { transform:rotate(-45deg); }
.identity>label { color:var(--blood); font:700 12px "Cinzel",serif; letter-spacing:.06em; }
.identity>label input { font-size:22px; }
.identity-grid { display:grid; grid-template-columns:2fr 2fr 1.5fr 1fr; gap:8px; margin-top:6px; }
.identity-grid label,.ravenous-sheet label { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.05em; }
.motto { color:var(--dark-gold); text-align:center; }
.character-io-menu { position:relative; text-align:left; }
.character-io-menu summary { padding:6px 8px; color:var(--light); border:1px solid var(--dark-gold); border-radius:2px; background:var(--blood); font:700 9px "Cinzel",Georgia,serif; text-align:center; text-transform:uppercase; cursor:pointer; list-style:none; }
.character-io-menu summary::-webkit-details-marker { display:none; }
.character-io-menu summary::after { content:" ▾"; }
.character-io-menu[open] summary::after { content:" ▴"; }
.character-io-menu[open] .character-io-actions { margin-top:4px; }
.character-io-actions { display:grid; grid-template-columns:58px repeat(2,minmax(0,1fr)); gap:4px; align-items:center; }
.character-io-actions>span { color:var(--muted); font:700 8px "Cinzel",Georgia,serif; text-align:left; text-transform:uppercase; letter-spacing:.04em; }
.ravenous-sheet .character-io-actions button[type=roll] { width:100%; min-width:0; margin:0; padding:4px 3px; color:var(--light); border:1px solid var(--dark-gold); border-radius:2px; background:var(--blood); font:700 8px "Cinzel",Georgia,serif; white-space:nowrap; box-shadow:none; }
.ravenous-sheet .character-io-actions button[type=roll]::before { content:""; margin:0; }
.secret-rolls { display:flex; justify-content:flex-end; align-items:center; gap:6px; margin-top:7px; padding-top:6px; color:var(--blood)!important; border-top:1px solid var(--border); font-style:normal; }
.secret-rolls input { margin:0; }
.tabs { display:flex; margin:14px 0; border-bottom:2px solid var(--gold); }
.tabs button { flex:1; padding:8px 5px; border:0; color:var(--muted); background:transparent; font-size:11px; }
.tabs button:hover { color:var(--blood); background:var(--accent); }
.page { display:none; }
.tab-state[value="core"]~.page-core,.tab-state[value="skills"]~.page-skills,.tab-state[value="combat"]~.page-combat,.tab-state[value="health"]~.page-health,.tab-state[value="consumables"]~.page-consumables,.tab-state[value="effects"]~.page-effects,.tab-state[value="classes"]~.page-classes,.tab-state[value="powers"]~.page-powers { display:block; }
.section-title { display:flex; align-items:center; gap:8px; margin:12px 0 8px; color:var(--blood); border-bottom:1px solid var(--gold); }
.section-title span { color:var(--gold); }
.section-title h2,.section-title h3 { margin:0; color:inherit; font:700 18px/1.8 "Cinzel",Georgia,serif; }
.section-title.small h3 { font-size:15px; }
.stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; }
.stat { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; padding-top:5px; border:1px solid var(--border); background:rgba(var(--light-rgb),.62); }
.stat strong { grid-column:1/-1; padding:0 7px 3px; color:var(--blood); font:700 11px "Cinzel",Georgia,serif; text-transform:uppercase; letter-spacing:.04em; }
.stat span { padding:0 4px 3px; color:var(--muted); font-size:8px; text-align:center; text-transform:uppercase; letter-spacing:.05em; }
.stat input { height:32px; margin:0; padding:4px; font-size:18px; line-height:24px; }
.stat input:nth-of-type(2) { background:var(--accent); }
.ravenous-sheet .stat input.stat-total { width:100%; margin:0; color:var(--blood); font:italic bold 18px/24px Georgia,serif; text-align:center; }
.legend { text-align:right; color:var(--muted); font-size:10px; }
.dashboard { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:14px; }
.resource { display:grid; grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr) minmax(0,.8fr); grid-template-rows:54px; gap:4px; align-items:end; min-width:0; padding:4px 8px; background:var(--accent); border-left:3px solid var(--gold); }
.resource label { display:grid; grid-template-rows:14px 28px; row-gap:3px; align-self:end; min-width:0; margin:0 !important; }
.resource input,.resource output { display:block; height:28px; min-height:28px; margin:0; padding:3px 4px; font-size:17px; line-height:22px; text-align:center; }
.resource>.resource-separator { display:grid; place-items:center; height:28px; margin:0; color:var(--dark-gold); font:700 9px/28px "Cinzel",Georgia,serif; text-transform:uppercase; }
.resource-blood label:last-child { grid-column:3/-1; }
.derived-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:1px; margin:12px 0; background:var(--border); border:1px solid var(--border); }
.derived-grid label { padding:7px; background:var(--light); text-align:center; }
.derived-grid label>input[readonly] { display:block; color:var(--blood); background:transparent; font:700 18px "Cinzel",serif; }
.derived-grid label>small { display:inline-block; color:var(--muted); font-size:8px; }
.derived-grid label>input[type=number]:not([readonly]) { display:inline-block; width:42px; }
.notes { display:block; }
.location-head,.location-row { display:grid; grid-template-columns:minmax(130px,1.5fr) repeat(5,minmax(70px,1fr)); gap:6px; align-items:center; }
.location-head { padding:5px 9px; color:var(--muted); font-size:9px; text-align:center; text-transform:uppercase; }
.location-grid { border:1px solid var(--border); }
.location-row { padding:7px 9px; background:rgba(var(--light-rgb),.72); }
.location-head span:first-child { text-align:left; }
.location-row input { width:100% !important; min-width:0; margin:0; justify-self:stretch; text-align:center; }
.location-row:nth-child(even) { background:rgba(var(--accent-rgb),.52); }
.location-row strong { color:var(--blood); font-family:"Cinzel",Georgia,serif; }
.location-row input[readonly] { color:var(--blood); background:var(--accent); font-weight:bold; }
.custom-location { margin:5px 0; border:1px solid var(--border); }
.resistance-title { margin:10px 0 4px; color:var(--dark-gold); font:700 12px "Cinzel",Georgia,serif; }
.resistance-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0 7px; }
.resistance-grid label { display:grid; grid-template-columns:1fr 48px; align-items:center; margin:0 !important; padding:2px 7px; background:var(--light); border-left:3px solid var(--gold); line-height:1.2; }
.resistance-grid input { height:24px; padding:2px 4px; }
.skill-toolbar,.class-picker,.skill-picker { display:flex; justify-content:space-between; align-items:end; gap:15px; padding:8px; background:var(--accent); }
.skill-toolbar label { width:220px; }
.skill-picker { margin-top:8px; background:var(--light); border:1px solid var(--border); }
.skill-picker label { flex:1; }
.skill-picker button { padding:7px 12px; color:white; border:0; background:var(--blood); }
.skill-message { min-width:160px; color:var(--dark-gold); font-style:italic; }
.skill-effect-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; padding:0 8px 9px; }
.skill-effect-grid label { display:grid; grid-template-rows:14px minmax(28px,auto); min-width:0; margin:0!important; }
.skill-effect-grid .wide { grid-column:span 3; }
.skill-effect-grid textarea { min-height:48px; resize:vertical; }
.shared-effect-card { margin:8px 0; padding:9px; border:1px solid var(--border); border-left:4px solid var(--gold); background:rgba(var(--light-rgb),.74); }
.shared-effect-heading { display:grid; grid-template-columns:28px minmax(160px,1fr) 58px; gap:7px; align-items:center; }
.shared-effect-heading>label { display:flex; align-items:center; gap:5px; margin:0!important; }
.shared-effect-heading>input { color:var(--blood); font-weight:bold; }
.shared-effect-links { display:grid; grid-template-columns:150px minmax(190px,1fr) minmax(190px,1fr); gap:7px; margin:8px 0; }
.shared-effect-links label,.power-effect-links label { display:grid; grid-template-rows:14px 28px; min-width:0; margin:6px 0 0!important; }
.shared-effect-links input,.shared-effect-links select,.power-effect-links input { height:28px; margin:0; }
.shared-effect-card .skill-effect-grid { grid-template-columns:repeat(2,minmax(0,1fr)); padding:0; }
.shared-effect-card .skill-effect-grid .wide { grid-column:auto; }
.shared-effect-card .skill-effect-grid .effect-description { grid-column:1/-1; }
.ravenous-sheet .shared-effect-card textarea { height:44px!important; min-height:44px!important; margin:0; resize:vertical; }
.shared-effect-card .shared-effect-links { grid-template-columns:minmax(150px,300px); }
.skill-head,.skill-row { display:grid; grid-template-columns:28px minmax(150px,1fr) 140px 55px 55px 55px; gap:5px; align-items:center; padding:4px 6px; }
.skill-row select,.skill-row input,.custom-skill-row select,.custom-skill-row input { height:28px; margin:0; vertical-align:middle; }
.skill-row output,.custom-skill-row output { display:grid; place-items:center; min-height:28px; }
.skill-head { color:var(--muted); font-size:9px; text-transform:uppercase; }
.skill-subtabs { margin:9px 0 6px; }
.skill-subtab-bar { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(105px,1fr); gap:3px; overflow-x:auto; border-bottom:1px solid var(--gold); }
.skill-subtab-state { position:absolute; width:1px !important; height:1px; opacity:0; pointer-events:none; }
.ravenous-sheet .skill-subtab { display:grid; place-items:center; width:100% !important; min-width:105px; height:28px; margin:0 !important; padding:4px 6px; color:var(--blood); background:var(--accent); font:700 9px/16px "Cinzel",Georgia,serif !important; text-align:center; cursor:pointer; white-space:nowrap; }
.skill-category-panel { display:none; }
.skill-category-panel .skill-row:nth-child(even) { background:rgba(var(--accent-rgb),.52); }
.skill-subtab-state[value="martial"]:checked~.skill-subtab-bar label[for="skill-tab-martial"]{ color:var(--light); background:var(--blood); }
.skill-subtab-state[value="martial"]:checked~.skill-category-panels .skill-category-panel-martial{ display:block; }
.skill-subtab-state[value="generalistes"]:checked~.skill-subtab-bar label[for="skill-tab-generalistes"]{ color:var(--light); background:var(--blood); }
.skill-subtab-state[value="generalistes"]:checked~.skill-category-panels .skill-category-panel-generalistes{ display:block; }
.skill-subtab-state[value="athletisme"]:checked~.skill-subtab-bar label[for="skill-tab-athletisme"]{ color:var(--light); background:var(--blood); }
.skill-subtab-state[value="athletisme"]:checked~.skill-category-panels .skill-category-panel-athletisme{ display:block; }
.skill-subtab-state[value="ingenierie"]:checked~.skill-subtab-bar label[for="skill-tab-ingenierie"]{ color:var(--light); background:var(--blood); }
.skill-subtab-state[value="ingenierie"]:checked~.skill-category-panels .skill-category-panel-ingenierie{ display:block; }
.skill-subtab-state[value="artisanat"]:checked~.skill-subtab-bar label[for="skill-tab-artisanat"]{ color:var(--light); background:var(--blood); }
.skill-subtab-state[value="artisanat"]:checked~.skill-category-panels .skill-category-panel-artisanat{ display:block; }
.skill-subtab-state[value="connaissances"]:checked~.skill-subtab-bar label[for="skill-tab-connaissances"]{ color:var(--light); background:var(--blood); }
.skill-subtab-state[value="connaissances"]:checked~.skill-category-panels .skill-category-panel-connaissances{ display:block; }
.skill-subtab-state[value="langues"]:checked~.skill-subtab-bar label[for="skill-tab-langues"]{ color:var(--light); background:var(--blood); }
.skill-subtab-state[value="langues"]:checked~.skill-category-panels .skill-category-panel-langues{ display:block; }
.skill-roll,.attack-roll,.use-effect,.activate-technique,.combat-card button[type=roll] { display:grid; place-items:center; width:24px; min-width:24px; height:24px; margin:0; padding:0; border:1px solid var(--dark-gold); border-radius:50%; background:var(--blood); color:var(--light); font-size:0; line-height:1; box-shadow:none; appearance:none; }
.ravenous-sheet .skill-roll::before,.ravenous-sheet .attack-roll::before,.ravenous-sheet button.use-effect::before,.ravenous-sheet button.activate-technique::before,.ravenous-sheet .combat-card button[type=roll]::before { content:"◆" !important; color:var(--light); font:9px/1 Georgia,serif !important; margin:0; }
.skill-roll:hover,.skill-roll:focus,.attack-roll:hover,.attack-roll:focus,.use-effect:hover,.use-effect:focus,.activate-technique:hover,.activate-technique:focus { border-color:var(--blood); background:var(--dark-gold); outline:2px solid rgba(var(--gold-rgb),.3); }
.skill-name { font-weight:bold; }
.skill-depth-1 .skill-name { padding-left:20px; }
.skill-depth-2 .skill-name { padding-left:40px; }
.skill-depth-3 .skill-name { padding-left:60px; }
.skill-row output,.custom-skill-row output { text-align:center; color:var(--blood); font-weight:bold; }
.custom-skill-row { display:grid; grid-template-columns:28px minmax(150px,1fr) 140px 55px 55px 55px; gap:5px; align-items:center; margin:5px 0; }
.combat-card,.consumable-card,.technique-card { display:flex; flex-wrap:wrap; gap:7px; align-items:end; margin:8px 0; padding:9px; border:1px solid var(--border); border-left:4px solid var(--blood); background:rgba(var(--light-rgb),.74); }
.combat-card>.grow,.consumable-card>.grow { flex:1 1 190px; }
.combat-card label { display:grid; grid-template-rows:13px 28px; width:75px; min-width:0; align-items:end; }
.combat-card label>input { height:28px; min-height:28px; margin:0; }
.combat-card>label.grow { width:auto; min-width:190px; }
.combat-card .attack-followup { display:none; }
.combat-card textarea,.consumable-card textarea { flex-basis:100%; }
.attack-card { display:grid; grid-template-columns:28px minmax(150px,1fr) repeat(6,minmax(45px,55px)); gap:7px; }
.attack-card>.attack-roll { align-self:end; }
.attack-card>label,.attack-card>label.grow { width:auto; min-width:0; margin:0 !important; }
.attack-card>textarea,.attack-card>.attack-advanced { grid-column:1/-1; }
.ravenous-sheet textarea.attack-notes { height:44px!important; min-height:44px!important; margin:0; resize:vertical; }
.attack-advanced { width:100%; margin-top:2px; }
.attack-advanced summary { color:var(--dark-gold); cursor:pointer; font:700 9px "Cinzel",Georgia,serif; }
.attack-advanced-grid { display:grid; grid-template-columns:78px minmax(145px,1fr) repeat(3,68px); gap:7px; align-items:end; margin-top:8px; padding:6px 8px; background:var(--accent); border-left:3px solid var(--gold); }
.attack-advanced-grid>label { width:auto; min-width:0; margin:0!important; }
.attack-advanced-grid .attack-roll-toggle { display:flex; flex-direction:row; align-items:center; gap:6px; height:28px; white-space:nowrap; }
.attack-advanced-grid .attack-roll-toggle input { width:auto; height:auto; min-height:0; margin:0; }
.protection-card .active { display:flex; flex-direction:column; justify-content:end; width:62px; }
.protection-card .active input { height:28px; min-height:0; margin:0 auto; }
.damage-resistance-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0 6px; }
.damage-resistance-grid label { display:flex; align-items:center; gap:6px; margin:0 !important; padding:2px 7px; background:var(--light); border-left:3px solid var(--gold); line-height:1.2; }
.damage-summary { display:flex; gap:8px; align-items:center; margin-top:8px; padding:8px; background:var(--accent); }
.damage-summary span { flex:1; color:var(--muted); font-size:10px; text-transform:uppercase; }
.damage-summary output { margin-left:6px; color:var(--blood); font:bold 16px "Cinzel",Georgia,serif; }
.damage-summary button { padding:6px 10px; color:white; border:0; background:var(--blood); }
.callout { padding:9px 12px; color:var(--muted); background:var(--accent); border-left:3px solid var(--gold); font-style:italic; }
.consumable-card { display:block; }
.consumable-kind { display:grid; grid-template-columns:28px minmax(0,1fr) auto; gap:7px; align-items:center; }
.consumable-kind select { height:32px; min-height:32px; margin:0; }
.consumable-details { display:grid; grid-template-columns:minmax(0,1fr) 60px 105px; gap:7px; align-items:end; margin:7px 0; }
.consumable-details>input { height:28px; min-height:28px; margin:0; }
.consumable-details label { display:grid; grid-template-rows:14px 28px; min-width:0; margin:0 !important; padding:0; align-items:end; }
.consumable-details label input { height:28px; min-height:28px; margin:0; }
.consumable-card textarea { display:block; width:100%; }
.active { display:flex; align-items:center; gap:5px; padding:5px; }
.use-effect { flex:0 0 24px; }
.modifier-card { display:grid; grid-template-columns:28px 58px minmax(180px,1fr) minmax(120px,180px); gap:7px; align-items:center; margin:8px 0; padding:9px; border:1px solid var(--border); border-left:4px solid var(--gold); background:rgba(var(--light-rgb),.74); }
.modifier-card>.grow { min-width:0; }
.modifier-card>label { display:flex; align-items:center; gap:5px; margin:0 !important; }
.modifier-card>input { height:28px; margin:0; }
.modifier-card>textarea { grid-column:1/-1; width:100%; height:54px; min-height:54px; margin:0; resize:vertical; }
.turn-controls { display:flex; align-items:center; gap:7px; padding:8px; background:var(--accent); }
.turn-controls button,.consumable-kind button[type=action] { padding:6px 9px; color:var(--light); border:0; background:var(--blood); }
.turn-controls span { color:var(--muted); font-style:italic; }
.effect-subtab-state { position:absolute; width:1px!important; height:1px; opacity:0; pointer-events:none; }
.effect-subtab-bar { display:grid; grid-template-columns:repeat(2,1fr); gap:3px; margin-bottom:8px; border-bottom:1px solid var(--gold); }
.effect-subtab-bar label { display:grid; place-items:center; height:30px; margin:0!important; color:var(--blood); background:var(--accent); font:700 9px "Cinzel",Georgia,serif; cursor:pointer; }
.effect-subtab-panel { display:none; }
.effect-subtab-state[value="tracker"]:checked~.effect-subtab-bar label[for="effect-tab-tracker"],.effect-subtab-state[value="library"]:checked~.effect-subtab-bar label[for="effect-tab-library"] { color:var(--light); background:var(--blood); }
.effect-subtab-state[value="tracker"]:checked~.effect-subtab-panel-tracker,.effect-subtab-state[value="library"]:checked~.effect-subtab-panel-library { display:block; }
.effect-action-message { display:block; min-height:18px; margin-top:6px; color:var(--dark-gold); font-style:italic; }
.effect-timing { grid-column:1/-1; width:100%; margin-top:5px; }
.effect-timing summary { color:var(--dark-gold); cursor:pointer; font:700 10px "Cinzel",Georgia,serif; }
.effect-timing-grid { display:grid; grid-template-columns:2fr 70px 1fr 2fr 2fr; gap:7px; margin-top:7px; }
.effect-timing-grid label { display:block; min-width:0; }
.effect-timing-grid label:nth-last-child(-n+2) { grid-column:span 2; }
.effect-timing-grid textarea { min-height:52px; }
.class-picker label { display:grid; grid-template-rows:14px 32px; min-width:240px; flex:1; align-items:end; margin:0 !important; padding:0; }
.class-picker select { display:block; height:32px; min-height:32px; margin:0; }
.class-picker button { align-self:end; height:32px; min-height:32px; margin:0; padding:0 12px; color:white; border:0; background:var(--blood); line-height:32px; white-space:nowrap; }
.technique-message { display:flex; align-items:center; align-self:end; min-width:150px; height:32px; margin:0; color:var(--dark-gold); font-style:italic; }
.technique-card { display:block; }
.power-effect-links { width:100%; margin:5px 0; }
.power-effect-links summary { color:var(--dark-gold); cursor:pointer; font:700 10px "Cinzel",Georgia,serif; }
.tech-title,.tech-meta { display:flex; gap:7px; align-items:end; }
.activate-technique { flex:0 0 24px; }
.tech-title>input { flex:1; color:var(--blood); font-weight:bold; }
.tech-title button[type=action],.power-heading button[type=action] { flex:0 0 auto; padding:6px 9px; color:var(--light); border:0; background:var(--blood); }
.tech-title label { width:75px; }
.tech-meta { margin:5px 0; }
.tech-meta label { display:grid; grid-template-rows:14px 28px; flex:0 0 55px; min-width:0; margin:0 !important; padding:0; align-items:end; }
.tech-meta label.grow { flex:1 1 160px; }
.tech-meta input { height:28px; min-height:28px; margin:0; }
.power-message { color:var(--dark-gold); font-style:italic; }
.power-card { margin:8px 0; padding:9px; border:1px solid var(--border); border-left:4px solid var(--blood); background:rgba(var(--light-rgb),.74); }
.power-heading { display:flex; gap:7px; align-items:center; }
.power-heading>input { flex:1; color:var(--blood); font-weight:bold; }
.power-meta { display:flex; gap:7px; margin:7px 0; }
.power-meta label { flex:1; }
.power-meta label:nth-child(2) { flex:0 0 75px; }
.power-card textarea { width:100%; }
.repcontrol { margin:6px 0 14px; }
.repcontrol_add,.repcontrol_edit { color:var(--dark-gold); border:1px solid var(--gold); background:var(--light); }

.sheet-rolltemplate-ravenous .sheet-template { overflow:hidden; color:var(--ink); border:1px solid var(--gold); border-left:5px solid var(--blood); background:var(--paper); font:12px/1.4 Georgia,serif; }
.sheet-rolltemplate-ravenous .sheet-template-title { padding:7px 9px; color:var(--light); background:var(--blood); font:bold 15px Georgia,serif; }
.sheet-rolltemplate-ravenous .sheet-template-subtitle { padding:3px 9px; color:var(--muted); background:var(--accent); font-style:italic; }
.sheet-rolltemplate-ravenous .sheet-template-result { padding:10px; text-align:center; font-size:20px; }
.sheet-rolltemplate-ravenous .sheet-template-skill-result { padding:9px; color:var(--blood); text-align:center; font:bold 16px Georgia,serif; }
.sheet-rolltemplate-ravenous .sheet-template-row,.sheet-rolltemplate-ravenous .sheet-template-notes { padding:5px 9px; border-top:1px solid var(--border); }
.sheet-rolltemplate-ravenous .sheet-template-actions { display:flex; gap:6px; padding:7px 9px; border-top:1px solid var(--border); }
.sheet-rolltemplate-ravenous .sheet-template-actions a { flex:1; padding:5px 7px; color:var(--light); border:1px solid var(--dark-gold); border-radius:2px; background:var(--blood); font:bold 11px Georgia,serif; text-align:center; text-decoration:none; }
.sheet-rolltemplate-ravenous .sheet-template-calculation { padding:4px 9px 7px; color:var(--muted); border-top:1px solid var(--border); font-size:10px; font-style:italic; }
.sheet-rolltemplate-ravenous .sheet-template-row b { color:var(--blood); }
.sheet-rolltemplate-ravenous .sheet-template-notes { color:var(--muted); font-style:italic; }

@media (max-width:760px) { .ravenous-sheet { min-width:0; padding:9px; }.hero { grid-template-columns:60px 1fr; }.motto { grid-column:1/-1; }.stat-grid { grid-template-columns:repeat(2,1fr); }.dashboard { grid-template-columns:repeat(2,1fr); }.derived-grid { grid-template-columns:repeat(3,1fr); }.tabs { flex-wrap:wrap; }.tabs button { flex-basis:33%; }.skill-head { display:none; }.skill-row,.custom-skill-row { grid-template-columns:28px 1fr 70px 45px 45px 45px; }.skill-row select,.custom-skill-row select { max-width:70px; }.location-head,.location-row { grid-template-columns:minmax(105px,1.5fr) repeat(5,minmax(54px,1fr)); gap:3px; }.resistance-grid,.damage-resistance-grid { grid-template-columns:repeat(2,1fr); }.attack-advanced-grid { grid-template-columns:70px 1fr repeat(3,58px); } }
@media (max-width:760px) { .shared-effect-links,.skill-effect-grid,.shared-effect-card .skill-effect-grid { grid-template-columns:1fr; }.skill-effect-grid .wide,.shared-effect-card .skill-effect-grid .effect-description { grid-column:auto; } }
