@font-face{font-family:Cinzel;font-style:normal;font-weight:400;font-display:swap;src:url(../media/f13700f23fbdc6fd-s.0q1bf9cc3c0ui.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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(../media/cc014fcb166cf364-s.p.0rbrcy8kuidpb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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(../media/f13700f23fbdc6fd-s.0q1bf9cc3c0ui.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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(../media/cc014fcb166cf364-s.p.0rbrcy8kuidpb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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:900;font-display:swap;src:url(../media/f13700f23fbdc6fd-s.0q1bf9cc3c0ui.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:900;font-display:swap;src:url(../media/cc014fcb166cf364-s.p.0rbrcy8kuidpb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel Fallback;src:local(Times New Roman);ascent-override:71.31%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:136.86%}.cinzel_f7d9730d-module__qH9fXW__className{font-family:Cinzel,Cinzel Fallback;font-style:normal}.cinzel_f7d9730d-module__qH9fXW__variable{--font-cinzel:"Cinzel", "Cinzel Fallback"}
@font-face{font-family:Crimson Pro;font-style:italic;font-weight:300;font-display:swap;src:url(../media/d4cfff78d70c32f1-s.0.f_03yjeizj3.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Crimson Pro;font-style:italic;font-weight:300;font-display:swap;src:url(../media/edd49e6a728081e1-s.0nec83w9a499y.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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 Pro;font-style:italic;font-weight:300;font-display:swap;src:url(../media/a41eab1df8ed80c4-s.p.05m5kcrbsr6xs.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Crimson Pro;font-style:italic;font-weight:400;font-display:swap;src:url(../media/d4cfff78d70c32f1-s.0.f_03yjeizj3.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Crimson Pro;font-style:italic;font-weight:400;font-display:swap;src:url(../media/edd49e6a728081e1-s.0nec83w9a499y.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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 Pro;font-style:italic;font-weight:400;font-display:swap;src:url(../media/a41eab1df8ed80c4-s.p.05m5kcrbsr6xs.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Crimson Pro;font-style:italic;font-weight:600;font-display:swap;src:url(../media/d4cfff78d70c32f1-s.0.f_03yjeizj3.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Crimson Pro;font-style:italic;font-weight:600;font-display:swap;src:url(../media/edd49e6a728081e1-s.0nec83w9a499y.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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 Pro;font-style:italic;font-weight:600;font-display:swap;src:url(../media/a41eab1df8ed80c4-s.p.05m5kcrbsr6xs.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Crimson Pro;font-style:normal;font-weight:300;font-display:swap;src:url(../media/bbe2082c2ebf69de-s.0tj914n-9wmjl.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Crimson Pro;font-style:normal;font-weight:300;font-display:swap;src:url(../media/9ae69ccf0a67f3e4-s.07rqilbxje11w.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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 Pro;font-style:normal;font-weight:300;font-display:swap;src:url(../media/115e7a2565b70400-s.p.0ldth1faq2ch-.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Crimson Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/bbe2082c2ebf69de-s.0tj914n-9wmjl.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Crimson Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9ae69ccf0a67f3e4-s.07rqilbxje11w.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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 Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/115e7a2565b70400-s.p.0ldth1faq2ch-.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Crimson Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/bbe2082c2ebf69de-s.0tj914n-9wmjl.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Crimson Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9ae69ccf0a67f3e4-s.07rqilbxje11w.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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 Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/115e7a2565b70400-s.p.0ldth1faq2ch-.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Crimson Pro Fallback;src:local(Times New Roman);ascent-override:90.96%;descent-override:21.8%;line-gap-override:0.0%;size-adjust:98.56%}.crimson_pro_497f3574-module__YaUOsG__className{font-family:Crimson Pro,Crimson Pro Fallback}.crimson_pro_497f3574-module__YaUOsG__variable{--font-crimson:"Crimson Pro", "Crimson Pro Fallback"}
@font-face{font-family:IM Fell English;font-style:italic;font-weight:400;font-display:swap;src:url(../media/0b7c5b993c1057ea-s.p.0m8c~y~fgqyrc.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IM Fell English;font-style:normal;font-weight:400;font-display:swap;src:url(../media/3cabd365f8c28a7b-s.p.0eqbee-1rhu-x.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IM Fell English Fallback;src:local(Times New Roman);ascent-override:88.71%;descent-override:35.6%;line-gap-override:0.0%;size-adjust:102.04%}.im_fell_english_ec3f2702-module__yXY1KW__className{font-family:IM Fell English,IM Fell English Fallback;font-weight:400}.im_fell_english_ec3f2702-module__yXY1KW__variable{--font-fell:"IM Fell English", "IM Fell English Fallback"}
:root{--parchment:#f4e8d1;--parchment-dark:#e8d5b4;--parchment-deep:#d4bc94;--ink:#2a1f14;--ink-light:#5a4a38;--ink-faint:#8a7a68;--accent:#8b2e16;--accent-light:#c44a28;--gold:#b8860b;--gold-light:#daa520;--hp-green:#4a7c3f;--hp-red:#8b2e16;--condition-bg:#f0dcc0;--slot-bg:#fff6;--slot-border:#c4a97a;--radius:4px;--shadow-sm:0 1px 3px #2a1f141f;--shadow-md:0 3px 8px #2a1f1426}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{font-family:var(--font-crimson), "Crimson Pro", serif;color:var(--ink);background:#2a1f14;flex-direction:column;align-items:center;min-height:100dvh;display:flex}.sheet{background:var(--parchment);background-image:radial-gradient(at 20%,#c8aa784d 0%,#0000 50%),radial-gradient(at 80% 20%,#dcbe8c33 0%,#0000 40%),url("data:image/svg+xml,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100' height='100' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");width:100%;max-width:480px;min-height:100dvh;padding:16px 16px 100px;position:relative}.sheet:before{content:"";background:linear-gradient(90deg, var(--accent), var(--gold), var(--accent));height:4px;position:absolute;top:0;left:0;right:0}.header{text-align:center;border-bottom:2px solid var(--parchment-deep);margin-bottom:20px;padding-bottom:12px;position:relative}.header:after{content:"⚔";background:var(--parchment);color:var(--ink-faint);padding:0 12px;font-size:18px;position:absolute;bottom:-14px;left:50%;transform:translate(-50%)}.header h1{font-family:var(--font-cinzel), "Cinzel", serif;letter-spacing:4px;text-transform:uppercase;color:var(--accent);text-shadow:0 1px #0000001a;font-size:22px;font-weight:900}.header .subtitle{font-family:var(--font-fell), "IM Fell English", serif;color:var(--ink-faint);margin-top:2px;font-size:13px;font-style:italic}.section{margin-bottom:16px}.section-title{font-family:var(--font-cinzel), "Cinzel", serif;letter-spacing:3px;text-transform:uppercase;color:var(--accent);align-items:center;gap:8px;margin-bottom:8px;font-size:11px;font-weight:700;display:flex}.section-title:after{content:"";background:linear-gradient(90deg, var(--parchment-deep), transparent);flex:1;height:1px}input[type=text],input[type=number],textarea{font-family:var(--font-fell), "IM Fell English", serif;color:var(--ink);background:var(--slot-bg);border:1px solid var(--slot-border);border-radius:var(--radius);width:100%;padding:8px 10px;font-size:16px;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 2px #b8860b26}input[type=number]{text-align:center;font-family:var(--font-cinzel), "Cinzel", serif;-moz-appearance:textfield;width:100%;font-size:20px;font-weight:700}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}label{font-family:var(--font-cinzel), "Cinzel", serif;letter-spacing:2px;text-transform:uppercase;color:var(--ink-light);margin-bottom:4px;font-size:10px;font-weight:700;display:block}.identity-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.field{flex-direction:column;display:flex}.portrait-area{align-items:stretch;gap:10px;display:flex}.portrait-box{border:2px dashed var(--slot-border);border-radius:var(--radius);background:var(--slot-bg);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:90px;min-height:90px;transition:border-color .2s;display:flex;position:relative;overflow:hidden}.portrait-box:hover{border-color:var(--gold)}.portrait-box .placeholder{opacity:.3;-webkit-user-select:none;user-select:none;font-size:32px}.attributes-row{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px;display:grid}.attr-card{background:var(--slot-bg);border:1px solid var(--slot-border);border-radius:var(--radius);text-align:center;padding:8px 6px 6px;position:relative}.attr-card .attr-name{font-family:var(--font-cinzel), "Cinzel", serif;letter-spacing:2px;color:var(--accent);margin-bottom:6px;font-size:12px;font-weight:900}.attr-values{grid-template-columns:1fr 1fr;gap:4px;display:grid}.attr-values label{letter-spacing:1px;text-align:center;margin-bottom:2px;font-size:8px}.attr-values input[type=number]{height:42px;padding:4px 2px;font-size:22px}.attr-values .max-val input{color:var(--ink-faint);font-size:18px}.attr-values .cur-val input{color:var(--ink);border-color:var(--gold);background:#fff9}.hp-section{background:var(--slot-bg);border:1px solid var(--slot-border);border-radius:var(--radius);padding:10px}.hp-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.hp-header .attr-name{font-family:var(--font-cinzel), "Cinzel", serif;letter-spacing:2px;color:var(--hp-green);font-size:14px;font-weight:900}.hp-inputs{align-items:center;gap:6px;display:flex}.hp-inputs input[type=number]{width:52px;height:40px;padding:4px;font-size:22px}.hp-inputs .separator{font-family:var(--font-cinzel), "Cinzel", serif;color:var(--ink-faint);font-size:18px}.hp-bar-track{background:var(--parchment-dark);border-radius:4px;width:100%;height:8px;margin-top:6px;overflow:hidden}.hp-bar-fill{background:linear-gradient(90deg, var(--hp-green), #6aab5e);border-radius:4px;height:100%;transition:width .4s,background .4s}.hp-bar-fill.danger{background:linear-gradient(90deg, var(--hp-red), #c44a28)}.inventory-grid{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px;display:grid}.inv-slot{background:var(--slot-bg);border:1px solid var(--slot-border);border-radius:var(--radius);flex-direction:column;min-height:70px;padding:6px;transition:box-shadow .2s;display:flex;position:relative}.inv-slot:focus-within{box-shadow:var(--shadow-sm);border-color:var(--gold)}.inv-slot-label{font-family:var(--font-cinzel), "Cinzel", serif;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-faint);margin-bottom:4px;font-size:8px;font-weight:700}.inv-slot input[type=text]{background:0 0;border:none;flex:1;padding:2px 0;font-size:14px}.inv-slot input:focus{box-shadow:none}.inv-slot .usage-dots{gap:4px;margin-top:auto;padding-top:4px;display:flex}.usage-dot{border:2px solid var(--slot-border);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;width:16px;height:16px;transition:all .15s}.usage-dot.filled{background:var(--ink-light);border-color:var(--ink-light)}.usage-dot:active{transform:scale(.85)}.carried-labels{flex-wrap:wrap;gap:12px;margin-bottom:10px;display:flex}.carried-label{font-family:var(--font-crimson), "Crimson Pro", serif;color:var(--ink-faint);font-size:11px;font-style:italic}.carried-label strong{color:var(--ink-light);font-style:normal}.pips-row{background:var(--slot-bg);border:1px solid var(--slot-border);border-radius:var(--radius);align-items:center;gap:8px;padding:8px 12px;display:flex}.pips-row label{flex-shrink:0;margin-bottom:0}.pips-row input[type=number]{flex:1;max-width:100px;height:36px;padding:4px;font-size:18px}.pips-row .pip-note{font-family:var(--font-crimson), "Crimson Pro", serif;color:var(--ink-faint);font-size:12px;font-style:italic}.progress-grid{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.progress-card{background:var(--slot-bg);border:1px solid var(--slot-border);border-radius:var(--radius);text-align:center;padding:8px}.progress-card label{margin-bottom:4px}.progress-card input[type=number]{height:40px;padding:4px;font-size:20px}.progress-note{font-family:var(--font-crimson), "Crimson Pro", serif;color:var(--ink-faint);margin-top:4px;font-size:10px;font-style:italic}.conditions-list{flex-direction:column;gap:6px;display:flex}.condition-slot{background:var(--condition-bg);border:1px dashed var(--slot-border);border-radius:var(--radius);align-items:center;gap:8px;min-height:44px;padding:8px 10px;display:flex}.condition-slot .remove-btn{border:1px solid var(--slot-border);background:var(--parchment);width:24px;height:24px;color:var(--accent);font-family:var(--font-cinzel), "Cinzel", serif;cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;line-height:1;transition:all .15s;display:flex}.condition-slot .remove-btn:hover{background:var(--accent);color:var(--parchment)}.condition-slot input[type=text]{background:0 0;border:none;flex:1;padding:4px 0;font-size:14px}.condition-slot input:focus{box-shadow:none}.add-btn{border:2px dashed var(--slot-border);border-radius:var(--radius);width:100%;font-family:var(--font-cinzel), "Cinzel", serif;letter-spacing:2px;text-transform:uppercase;color:var(--ink-faint);cursor:pointer;background:0 0;padding:10px;font-size:11px;font-weight:700;transition:all .2s}.add-btn:hover,.add-btn:active{border-color:var(--gold);color:var(--gold);background:#b8860b0d}textarea{font-family:var(--font-fell), "IM Fell English", serif;resize:vertical;min-height:80px;font-size:15px;line-height:1.6}.banked-list{flex-direction:column;gap:4px;display:flex}.banked-item{align-items:center;gap:8px;display:flex}.banked-item input[type=text]{flex:1;padding:6px 8px;font-size:14px}.banked-item .remove-btn{border:1px solid var(--slot-border);background:var(--parchment);width:24px;height:24px;color:var(--accent);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.banked-item .remove-btn:hover{background:var(--accent);color:var(--parchment)}.footer-actions{background:linear-gradient(to top, var(--parchment) 70%, transparent);z-index:10;justify-content:center;gap:10px;padding:16px;display:flex;position:fixed;bottom:0;left:0;right:0}.footer-actions button{font-family:var(--font-cinzel), "Cinzel", serif;letter-spacing:1.5px;text-transform:uppercase;border-radius:var(--radius);cursor:pointer;border:2px solid var(--ink-light);background:var(--ink);color:var(--parchment);padding:10px 20px;font-size:11px;font-weight:700;transition:all .2s}.footer-actions button:hover{background:var(--accent);border-color:var(--accent)}.footer-actions button.secondary{color:var(--ink-light);border-color:var(--slot-border);background:0 0}.footer-actions button.secondary:hover{border-color:var(--accent);color:var(--accent)}.toast{background:var(--ink);color:var(--parchment);font-family:var(--font-cinzel), "Cinzel", serif;letter-spacing:1px;opacity:0;pointer-events:none;z-index:100;white-space:nowrap;border-radius:20px;padding:10px 24px;font-size:12px;transition:all .3s;position:fixed;bottom:80px;left:50%;transform:translate(-50%)translateY(20px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.ornament{text-align:center;color:var(--ink-faint);opacity:.4;letter-spacing:6px;-webkit-user-select:none;user-select:none;margin:8px 0;font-size:14px}.portrait-details{flex-direction:column;flex:1;gap:6px;display:flex}.dice-fab{background:var(--ink);border:2px solid var(--gold);cursor:pointer;z-index:20;width:48px;height:48px;box-shadow:var(--shadow-md);border-radius:50%;justify-content:center;align-items:center;font-size:22px;transition:all .2s;display:flex;position:fixed;bottom:80px;right:16px}.dice-fab:hover,.dice-fab.open{background:var(--accent);transform:scale(1.05)}.dice-fab-panel{z-index:20;animation:.2s dice-slide-up;position:fixed;bottom:140px;right:16px}@keyframes dice-slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dice-panel{background:var(--parchment);border:2px solid var(--slot-border);min-width:240px;box-shadow:var(--shadow-md);border-radius:8px;padding:12px}.dice-type-row{gap:4px;margin-bottom:8px;display:flex}.dice-btn{font-family:var(--font-cinzel), "Cinzel", serif;background:var(--slot-bg);border:2px solid var(--slot-border);border-radius:var(--radius);cursor:pointer;color:var(--ink);flex:1;padding:6px 2px;font-size:11px;font-weight:700;transition:all .15s}.dice-btn.selected{border-color:var(--gold);color:var(--gold);background:#b8860b1a}.dice-count-row{justify-content:center;align-items:center;gap:12px;margin-bottom:8px;display:flex}.dice-count-btn{border:1px solid var(--slot-border);background:var(--slot-bg);width:28px;height:28px;font-family:var(--font-cinzel), "Cinzel", serif;cursor:pointer;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.dice-count-btn:disabled{opacity:.3;cursor:default}.dice-count-value{font-family:var(--font-cinzel), "Cinzel", serif;text-align:center;min-width:20px;font-size:18px;font-weight:700}.dice-roll-btn{background:var(--ink);width:100%;color:var(--parchment);border:2px solid var(--ink-light);border-radius:var(--radius);font-family:var(--font-cinzel), "Cinzel", serif;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;padding:8px;font-size:12px;font-weight:700;transition:all .2s}.dice-roll-btn:hover{background:var(--accent);border-color:var(--accent)}.dice-roll-btn:disabled{opacity:.5;cursor:default}.dice-result{text-align:center;margin-top:10px}.dice-result-total{font-family:var(--font-cinzel), "Cinzel", serif;color:var(--accent);font-size:32px;font-weight:900}.dice-result-total.landed{animation:.3s dice-pop}@keyframes dice-pop{0%{transform:scale(.5)}70%{transform:scale(1.1)}to{transform:scale(1)}}.dice-result-breakdown{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;margin-top:4px;display:flex}.dice-result-die{background:var(--slot-bg);border:1px solid var(--slot-border);width:24px;height:24px;font-family:var(--font-cinzel), "Cinzel", serif;border-radius:3px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.dice-result-die.landed{animation:.3s dice-pop}.dice-result-eq{font-family:var(--font-cinzel), "Cinzel", serif;color:var(--ink-faint);margin-left:4px;font-size:13px}.wizard-overlay{z-index:50;background:var(--parchment);background-image:radial-gradient(at 20%,#c8aa784d 0%,#0000 50%),radial-gradient(at 80% 20%,#dcbe8c33 0%,#0000 40%);flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.wizard-header{background:var(--parchment);border-bottom:2px solid var(--parchment-deep);z-index:51;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.wizard-close{border:1px solid var(--slot-border);background:var(--parchment);width:32px;height:32px;color:var(--accent);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.wizard-title{font-family:var(--font-cinzel), "Cinzel", serif;letter-spacing:2px;text-transform:uppercase;color:var(--accent);flex:1;font-size:14px;font-weight:700}.wizard-steps{gap:6px;display:flex}.wizard-step-dot{border:2px solid var(--slot-border);background:0 0;border-radius:50%;width:10px;height:10px;transition:all .2s}.wizard-step-dot.active{border-color:var(--gold);background:var(--gold)}.wizard-step-dot.done{border-color:var(--accent);background:var(--accent)}.wizard-body{flex:1;width:100%;max-width:480px;margin:0 auto;padding:16px 16px 80px}.wizard-step-title{font-family:var(--font-cinzel), "Cinzel", serif;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin-bottom:4px;font-size:16px;font-weight:700}.wizard-step-desc{font-family:var(--font-crimson), "Crimson Pro", serif;color:var(--ink-faint);margin-bottom:16px;font-size:14px;font-style:italic}.wizard-attr-cards{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.wizard-card{background:var(--slot-bg);border:2px solid var(--slot-border);border-radius:var(--radius);text-align:center;padding:12px 8px}.wizard-attr-card.swappable{cursor:pointer;transition:all .15s}.wizard-attr-card.swap-selected{border-color:var(--gold);background:#b8860b1a}.wizard-attr-name{font-family:var(--font-cinzel), "Cinzel", serif;letter-spacing:2px;color:var(--accent);margin-bottom:8px;font-size:14px;font-weight:900}.wizard-dice-display{justify-content:center;gap:4px;margin-bottom:6px;display:flex}.wizard-die{width:28px;height:28px;font-family:var(--font-cinzel), "Cinzel", serif;border:1px solid var(--slot-border);border-radius:4px;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:inline-flex}.wizard-die.kept{border-color:var(--gold);color:var(--ink);background:#b8860b26}.wizard-die.dropped{color:var(--ink-faint);background:0 0;text-decoration:line-through}.wizard-attr-value{font-family:var(--font-cinzel), "Cinzel", serif;color:var(--ink);font-size:28px;font-weight:900;animation:.3s dice-pop}.wizard-roll-btn,.wizard-reroll-btn{border-radius:var(--radius);font-family:var(--font-cinzel), "Cinzel", serif;letter-spacing:1px;text-transform:uppercase;cursor:pointer;margin-top:6px;padding:8px 12px;font-size:10px;font-weight:700;transition:all .2s}.wizard-roll-btn{background:var(--ink);color:var(--parchment);border:2px solid var(--ink-light)}.wizard-roll-btn:hover{background:var(--accent);border-color:var(--accent)}.wizard-reroll-btn{color:var(--ink-faint);border:1px dashed var(--slot-border);background:0 0;font-size:9px}.wizard-reroll-btn:hover{border-color:var(--gold);color:var(--gold)}.wizard-swap-area{text-align:center;margin-top:12px}.wizard-swap-btn{border:2px dashed var(--slot-border);border-radius:var(--radius);font-family:var(--font-cinzel), "Cinzel", serif;letter-spacing:1px;text-transform:uppercase;color:var(--ink-faint);cursor:pointer;background:0 0;padding:8px 16px;font-size:10px;font-weight:700}.wizard-swap-btn:hover{border-color:var(--gold);color:var(--gold)}.wizard-swap-hint{font-family:var(--font-crimson), "Crimson Pro", serif;color:var(--gold);font-size:13px;font-style:italic}.wizard-hp-pips-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.wizard-roll-card{padding:16px 12px}.wizard-background-result{background:var(--slot-bg);border:2px solid var(--gold);border-radius:var(--radius);text-align:center;margin-top:16px;padding:12px}.wizard-bg-name{font-family:var(--font-cinzel), "Cinzel", serif;color:var(--accent);margin-bottom:8px;font-size:16px;font-weight:700}.wizard-bg-items{flex-direction:column;gap:4px;display:flex}.wizard-bg-item{font-family:var(--font-fell), "IM Fell English", serif;color:var(--ink-light);font-size:14px}.wizard-equip-label{font-family:var(--font-cinzel), "Cinzel", serif;letter-spacing:2px;text-transform:uppercase;color:var(--ink-light);margin-bottom:8px;font-size:10px;font-weight:700}.wizard-equip-list{flex-wrap:wrap;gap:6px;display:flex}.wizard-equip-list span{background:var(--slot-bg);border:1px solid var(--slot-border);border-radius:var(--radius);font-family:var(--font-fell), "IM Fell English", serif;padding:4px 10px;font-size:13px}.wizard-weapon-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.wizard-weapon-card{cursor:pointer;padding:10px 6px;transition:all .15s}.wizard-weapon-card.selected{border-color:var(--gold);background:#b8860b1a}.wizard-weapon-name{font-family:var(--font-cinzel), "Cinzel", serif;color:var(--ink);margin-bottom:4px;font-size:11px;font-weight:700}.wizard-weapon-damage{font-family:var(--font-fell), "IM Fell English", serif;color:var(--accent);font-size:14px;font-weight:700}.wizard-weapon-slots{font-family:var(--font-crimson), "Crimson Pro", serif;color:var(--ink-faint);margin-top:2px;font-size:10px;font-style:italic}.wizard-bonus-pick{cursor:pointer;font-family:var(--font-fell), "IM Fell English", serif;padding:8px;font-size:13px}.wizard-bonus-pick.selected{border-color:var(--gold);background:#b8860b1a}.wizard-bonus-note{font-family:var(--font-crimson), "Crimson Pro", serif;color:var(--ink-faint);margin-top:6px;font-size:11px;font-style:italic}.wizard-detail-row{border-bottom:1px solid var(--parchment-deep);margin-bottom:16px;padding-bottom:16px}.wizard-detail-label{font-family:var(--font-cinzel), "Cinzel", serif;letter-spacing:2px;text-transform:uppercase;color:var(--ink-light);margin-bottom:6px;font-size:10px;font-weight:700}.wizard-detail-content{flex-direction:column;gap:6px;display:flex}.wizard-detail-result{flex-direction:column;gap:2px;display:flex}.wizard-detail-result>span:first-child{font-family:var(--font-fell), "IM Fell English", serif;color:var(--ink);font-size:16px}.wizard-detail-sub{font-family:var(--font-crimson), "Crimson Pro", serif;color:var(--ink-faint);font-size:12px;font-style:italic}.wizard-detail-actions{align-items:center;gap:8px;display:flex}.wizard-roll-btn-sm{border-radius:var(--radius);font-family:var(--font-cinzel), "Cinzel", serif;letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:var(--ink);color:var(--parchment);border:1px solid var(--ink-light);white-space:nowrap;flex-shrink:0;padding:5px 10px;font-size:9px;font-weight:700}.wizard-roll-btn-sm:hover{background:var(--accent)}.wizard-detail-input{font-family:var(--font-fell), "IM Fell English", serif;color:var(--ink);background:var(--slot-bg);border:1px solid var(--slot-border);border-radius:var(--radius);flex:1;min-width:0;padding:6px 8px;font-size:14px}.wizard-name-input{font-family:var(--font-fell), "IM Fell English", serif;color:var(--ink);background:var(--slot-bg);border:2px solid var(--slot-border);border-radius:var(--radius);width:100%;padding:10px 12px;font-size:18px}.wizard-name-input:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 2px #b8860b26}.wizard-nav{background:linear-gradient(to top, var(--parchment) 70%, transparent);justify-content:center;gap:10px;width:100%;max-width:480px;margin:0 auto;padding:16px;display:flex;position:sticky;bottom:0}.wizard-nav-btn{font-family:var(--font-cinzel), "Cinzel", serif;letter-spacing:1.5px;text-transform:uppercase;border-radius:var(--radius);cursor:pointer;border:2px solid var(--ink-light);background:var(--ink);color:var(--parchment);padding:10px 24px;font-size:11px;font-weight:700;transition:all .2s}.wizard-nav-btn:hover{background:var(--accent);border-color:var(--accent)}.wizard-nav-btn:disabled{opacity:.3;cursor:default}.wizard-nav-btn.secondary{color:var(--ink-light);border-color:var(--slot-border);background:0 0}.wizard-nav-btn.secondary:hover{border-color:var(--accent);color:var(--accent)}.wizard-cta{border:2px dashed var(--gold);border-radius:var(--radius);text-align:center;cursor:pointer;background:linear-gradient(135deg,#b8860b1a,#8b2e1614);margin-bottom:16px;padding:12px 16px;transition:all .2s}.wizard-cta:hover{border-color:var(--accent);background:linear-gradient(135deg,#b8860b26,#8b2e161f)}.wizard-cta-text{font-family:var(--font-fell), "IM Fell English", serif;color:var(--ink-light);font-size:14px}.wizard-cta-action{font-family:var(--font-cinzel), "Cinzel", serif;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin-top:4px;font-size:10px;font-weight:700;display:block}
