@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cinzel-latin-ext-600-normal-BEFdM_VE.woff2) format("woff2"),url(/assets/cinzel-latin-ext-600-normal-BY9Mq9iK.woff) format("woff");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-display:swap;font-weight:600;src:url(/assets/cinzel-latin-600-normal-Dd5YO2UX.woff2) format("woff2"),url(/assets/cinzel-latin-600-normal-CH_LB4su.woff) format("woff");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-display:swap;font-weight:700;src:url(/assets/cinzel-latin-ext-700-normal-C24KFjuG.woff2) format("woff2"),url(/assets/cinzel-latin-ext-700-normal-CORa-yIv.woff) format("woff");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-display:swap;font-weight:700;src:url(/assets/cinzel-latin-700-normal-Dkw14w9r.woff2) format("woff2"),url(/assets/cinzel-latin-700-normal-C-gK7hA8.woff) format("woff");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:Alegreya Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-cyrillic-ext-400-normal-CBouUAPx.woff2) format("woff2"),url(/assets/alegreya-sans-cyrillic-ext-400-normal-ClLgPhqT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-cyrillic-400-normal-CFUoBDld.woff2) format("woff2"),url(/assets/alegreya-sans-cyrillic-400-normal-C2XSGevv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-greek-ext-400-normal-CaUEPd_u.woff2) format("woff2"),url(/assets/alegreya-sans-greek-ext-400-normal-D6j-TQLM.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-greek-400-normal-B87Md6o9.woff2) format("woff2"),url(/assets/alegreya-sans-greek-400-normal-8U5NAP_q.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-vietnamese-400-normal-D7fwYHgb.woff2) format("woff2"),url(/assets/alegreya-sans-vietnamese-400-normal-BFvpiE3j.woff) format("woff");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:Alegreya Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-latin-ext-400-normal-D7N6b6bd.woff2) format("woff2"),url(/assets/alegreya-sans-latin-ext-400-normal-DpBVrRWA.woff) format("woff");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:Alegreya Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-latin-400-normal-DtLlO8BS.woff2) format("woff2"),url(/assets/alegreya-sans-latin-400-normal-DmA8jeke.woff) format("woff");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:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sans-cyrillic-ext-500-normal-BjdEjhHc.woff2) format("woff2"),url(/assets/alegreya-sans-cyrillic-ext-500-normal-CBZLRaMr.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sans-cyrillic-500-normal-kQHBM3cE.woff2) format("woff2"),url(/assets/alegreya-sans-cyrillic-500-normal-gEBUHwKD.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sans-greek-ext-500-normal-8OvC5Vmr.woff2) format("woff2"),url(/assets/alegreya-sans-greek-ext-500-normal-Cp0bGOKK.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sans-greek-500-normal-CjlmbScm.woff2) format("woff2"),url(/assets/alegreya-sans-greek-500-normal-BwxJMQU_.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sans-vietnamese-500-normal-CFLbXWhL.woff2) format("woff2"),url(/assets/alegreya-sans-vietnamese-500-normal-B1LHNMw0.woff) format("woff");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:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sans-latin-ext-500-normal-TH5u60nj.woff2) format("woff2"),url(/assets/alegreya-sans-latin-ext-500-normal-CxFoZ42m.woff) format("woff");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:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sans-latin-500-normal-DS713u5J.woff2) format("woff2"),url(/assets/alegreya-sans-latin-500-normal-vXxrTKJT.woff) format("woff");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:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sans-cyrillic-ext-700-normal-Cpzx2u2L.woff2) format("woff2"),url(/assets/alegreya-sans-cyrillic-ext-700-normal-YOec_wOb.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sans-cyrillic-700-normal-BMO00Gdb.woff2) format("woff2"),url(/assets/alegreya-sans-cyrillic-700-normal-qSextXl4.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sans-greek-ext-700-normal-ChNZoGr1.woff2) format("woff2"),url(/assets/alegreya-sans-greek-ext-700-normal-BVJ8GoGc.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sans-greek-700-normal-CTof9pYC.woff2) format("woff2"),url(/assets/alegreya-sans-greek-700-normal-BZuMtSJ5.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sans-vietnamese-700-normal-CHYTK2w7.woff2) format("woff2"),url(/assets/alegreya-sans-vietnamese-700-normal-D0056cUE.woff) format("woff");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:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sans-latin-ext-700-normal-HuHd3-Mg.woff2) format("woff2"),url(/assets/alegreya-sans-latin-ext-700-normal-CkNjzB9Y.woff) format("woff");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:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sans-latin-700-normal-DEbcy2sF.woff2) format("woff2"),url(/assets/alegreya-sans-latin-700-normal-BnzUNlma.woff) format("woff");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:Alegreya Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-cyrillic-ext-400-italic-T00rgbz1.woff2) format("woff2"),url(/assets/alegreya-sans-cyrillic-ext-400-italic-BpLolsQ8.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-cyrillic-400-italic-BfxaBkav.woff2) format("woff2"),url(/assets/alegreya-sans-cyrillic-400-italic-Bc6UFQqS.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-greek-ext-400-italic-CqU0VZms.woff2) format("woff2"),url(/assets/alegreya-sans-greek-ext-400-italic-Dsqv3611.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-greek-400-italic-Y4Zag0Am.woff2) format("woff2"),url(/assets/alegreya-sans-greek-400-italic-omD4Z7vk.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-vietnamese-400-italic-DWlx-poF.woff2) format("woff2"),url(/assets/alegreya-sans-vietnamese-400-italic-CmFF8Y5k.woff) format("woff");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:Alegreya Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-latin-ext-400-italic-DX574ivH.woff2) format("woff2"),url(/assets/alegreya-sans-latin-ext-400-italic-DeNTv1Y-.woff) format("woff");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:Alegreya Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-latin-400-italic-rmlAbObI.woff2) format("woff2"),url(/assets/alegreya-sans-latin-400-italic-CgbdrOqg.woff) format("woff");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}:root{--ink: #1d2433;--ink-raised: #273049;--ink-deep: #121826;--vellum: #ece3cc;--vellum-dim: #b5ad97;--gilt: #d6a84e;--gilt-soft: rgba(214, 168, 78, .42);--gilt-faint: rgba(214, 168, 78, .16);--verdigris: #4f9a8a;--verdigris-deep: #3a7a6c;--ruby: #c0506a;--azure: #6a9ad8;--rar-comune: #b9b3a0;--rar-rara: #5b8fd6;--rar-epica: #b07ccc;--rar-leggendaria: #e3a93b;--font-display: "Cinzel", "Trajan Pro", Georgia, serif;--font-body: "Alegreya Sans", "Segoe UI", system-ui, sans-serif;--step--1: .875rem;--step-0: 1rem;--step-1: 1.25rem;--step-2: 1.5625rem;--step-3: 1.953rem;--step-4: 2.441rem;--frame: 0 0 0 1px var(--gilt-soft), inset 0 0 0 3px var(--ink-deep), inset 0 0 0 4px var(--gilt-faint);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--ink-deep);color:var(--vellum);font-family:var(--font-body);font-size:var(--step-0);line-height:1.45;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--gilt)}:focus-visible{outline:2px solid var(--gilt);outline-offset:2px}.muted{color:var(--vellum-dim)}.small{font-size:var(--step--1)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.25rem;padding:.35rem .9rem;background:var(--ink-raised);color:var(--vellum);border:1px solid var(--gilt-soft);border-radius:3px;cursor:pointer;text-decoration:none;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--gilt);background:#2e3855}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--verdigris-deep);border-color:var(--verdigris);color:#f4fbf8}.btn-primary:hover:not(:disabled){background:var(--verdigris);border-color:#8fd3c3}.btn-danger{border-color:#c0506a99;color:#f2c2cd}.btn-danger:hover:not(:disabled){border-color:var(--ruby);background:#c0506a26}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--gilt-faint);border-color:transparent}.btn-small{min-height:1.9rem;padding:.2rem .6rem;font-size:var(--step--1)}input[type=text],input[type=email],input[type=number],input[type=url],select,textarea{width:100%;padding:.45rem .6rem;background:var(--ink-deep);border:1px solid rgba(181,173,151,.35);border-radius:3px}input:focus,select:focus,textarea:focus{border-color:var(--gilt);outline:none}textarea{resize:vertical;min-height:4.5rem}input[type=range]{accent-color:var(--gilt);width:100%}input[type=checkbox]{accent-color:var(--verdigris);width:1.05rem;height:1.05rem}.field{display:grid;gap:.3rem;margin-bottom:.9rem}.field>label,.field>.label{color:var(--vellum-dim);font-size:var(--step--1)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.hint{color:var(--vellum-dim);font-size:var(--step--1);margin:.2rem 0 0}.check{display:flex;gap:.5rem;align-items:center;margin-bottom:.45rem;cursor:pointer}.check:has(input:disabled){cursor:default;color:var(--vellum-dim)}.sound-row{display:flex;gap:.35rem}.sound-row select{flex:1}.error-text{color:#f2a9b9}.chips{display:flex;flex-wrap:wrap;gap:.35rem}.chip{padding:.25rem .65rem;border-radius:2px;cursor:pointer;background:var(--ink-deep);border:1px solid rgba(181,173,151,.3);color:var(--vellum-dim)}.chip:hover{color:var(--vellum);border-color:var(--gilt-soft)}.chip[aria-pressed=true]{color:var(--ink-deep);background:var(--gilt);border-color:var(--gilt)}.swatches{display:flex;flex-wrap:wrap;gap:.35rem}.swatch{width:1.75rem;height:1.75rem;border-radius:50%;cursor:pointer;padding:0;border:2px solid rgba(18,24,38,.9);box-shadow:0 0 0 1px #b5ad9759}.swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--gilt)}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--gilt-faint);margin-bottom:.9rem}.tab{padding:.45rem .8rem;background:none;border:none;border-bottom:2px solid transparent;color:var(--vellum-dim);cursor:pointer;margin-bottom:-1px}.tab:hover{color:var(--vellum)}.tab[aria-selected=true]{color:var(--vellum);border-bottom-color:var(--gilt)}.panel{background:#171d2bf2;border-radius:3px;box-shadow:var(--frame),0 18px 40px #00000073}.panel-header{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.1rem .6rem}.panel-title{font-family:var(--font-display);font-weight:600;font-size:var(--step-2);line-height:1.15;margin:0;letter-spacing:.01em}.panel-sub{margin:.15rem 0 0;color:var(--vellum-dim)}.panel-body{padding:.4rem 1.1rem 1.1rem;overflow-y:auto}.panel-close{margin-left:auto}.rule{height:1px;background:linear-gradient(90deg,transparent,var(--gilt-soft),transparent);border:0;margin:.9rem 0}.page-center{min-height:100%;display:grid;place-items:center;padding:2rem 1rem;background:radial-gradient(ellipse at 50% 35%,rgba(79,154,138,.12),transparent 60%),radial-gradient(ellipse at 50% 120%,rgba(214,168,78,.1),transparent 55%),var(--ink-deep)}.illuminated{display:flex;align-items:center;gap:.9rem}.illuminated-initial{flex:none;display:grid;place-items:center;width:3.4em;height:3.4em;font-family:var(--font-display);font-weight:700;font-size:inherit;color:var(--ink-deep);background:radial-gradient(circle at 30% 25%,rgba(255,244,214,.55),transparent 45%),linear-gradient(135deg,#e9c46f,#b9863a);box-shadow:inset 0 0 0 2px var(--ink-deep),inset 0 0 0 4px #ffeec48c,0 0 0 1px var(--gilt);border-radius:2px}.illuminated-initial span{font-size:2.1em;line-height:1;transform:translateY(.04em)}.illuminated-text{font-family:var(--font-display);font-weight:600;line-height:1.05}.login-card{width:min(30rem,100%);padding:2rem 2rem 1.6rem;text-align:left}.login-card .illuminated{font-size:var(--step-3);margin-bottom:1.2rem}.login-card p{max-width:60ch}.notice{padding:.65rem .8rem;border-left:3px solid var(--gilt);background:var(--gilt-faint);border-radius:0 3px 3px 0;margin:1rem 0}.notice.is-error{border-left-color:var(--ruby);background:#c0506a1f}.creator{width:min(68rem,100%);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,26rem);gap:1.25rem}.creator-stage{min-height:32rem;position:relative;overflow:hidden}.creator-stage canvas{border-radius:3px}.creator-stage .stage-caption{position:absolute;left:1.1rem;bottom:.9rem;right:1.1rem}.creator-form{display:flex;flex-direction:column;max-height:calc(100vh - 4rem)}.creator-form .panel-body{flex:1}.creator-actions{display:flex;gap:.5rem;padding:.8rem 1.1rem 1.1rem;border-top:1px solid var(--gilt-faint)}.creator-actions .btn-primary{flex:1}@media(max-width:860px){.creator{grid-template-columns:1fr}.creator-stage{min-height:20rem}.creator-form{max-height:none}}.game-root{position:fixed;inset:0;overflow:hidden;background:#a9c7de}.game-root canvas{display:block;touch-action:none}.hud{position:absolute;inset:0;pointer-events:none}.hud>*{pointer-events:auto}.hud-plate{position:absolute;top:.9rem;left:.9rem;display:flex;align-items:center;gap:.6rem;padding:.45rem .6rem .45rem .8rem}.hud-plate .who{font-family:var(--font-display);font-weight:600}.hud-plate .where{color:var(--vellum-dim);font-size:var(--step--1)}.conn-dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--vellum-dim);flex:none}.conn-dot.is-online{background:#6fd1b3}.conn-dot.is-offline{background:var(--ruby)}.hud-menu{display:flex;gap:.25rem;margin-left:.3rem}.kbd{display:inline-block;min-width:1.35em;padding:0 .3em;border:1px solid var(--gilt-soft);border-radius:3px;font-size:.78em;text-align:center;color:var(--gilt);line-height:1.35}.minimap{position:absolute;top:.9rem;right:.9rem;width:176px;height:176px;border-radius:50%;overflow:hidden}.minimap canvas{width:100%;height:100%}.region-banner{position:absolute;top:4.6rem;left:50%;transform:translate(-50%);pointer-events:none;text-align:left;padding:.8rem 1.3rem .8rem .9rem;animation:banner-in 4.2s ease both}.region-banner .illuminated{font-size:var(--step-2)}.region-banner .illuminated-text{font-size:var(--step-3)}.region-banner .banner-sub{color:var(--vellum-dim);font-family:var(--font-body);font-size:var(--step-0);margin-top:.2rem;font-weight:400}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-6px)}10%,80%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%)}}.tracker{position:absolute;top:5.2rem;left:.9rem;width:19rem;padding:.7rem .85rem}.tracker h2{font-family:var(--font-display);font-size:var(--step-0);font-weight:600;margin:0 0 .45rem}.tracker-item{display:grid;grid-template-columns:1.6rem 1fr;gap:.5rem;align-items:start;padding:.35rem 0;border:none;background:none;text-align:left;width:100%;cursor:pointer;color:inherit}.tracker-item+.tracker-item{border-top:1px solid var(--gilt-faint)}.tracker-item .arrow{width:1.6rem;height:1.6rem;display:grid;place-items:center;color:var(--gilt)}.tracker-item.is-tracked .q-name{color:var(--gilt)}.tracker-item .q-meta{font-size:var(--step--1);color:var(--vellum-dim)}.chat{position:absolute;left:.9rem;bottom:.9rem;width:min(26rem,calc(100vw - 1.8rem));display:flex;flex-direction:column}.chat-log{max-height:11.5rem;overflow-y:auto;padding:.55rem .75rem;font-size:var(--step--1);display:flex;flex-direction:column;gap:.15rem}.chat-log .who{color:var(--gilt)}.chat-log .ch-regione{color:#9fd6c8}.chat-form{display:flex;gap:.35rem;padding:.45rem;border-top:1px solid var(--gilt-faint)}.chat-form input{flex:1}.chat-form select{width:auto}.chat-mute{display:grid;place-items:center;padding-inline:.45rem}.chat-mute[aria-pressed=true]{color:var(--vellum-dim)}.chat-log .is-mention{background:var(--gilt-faint);box-shadow:inset 2px 0 0 var(--gilt);padding:.1rem .35rem;margin-inline:-.35rem;border-radius:2px}.prompt{position:absolute;left:50%;bottom:6.5rem;transform:translate(-50%);padding:.5rem .9rem;display:flex;gap:.5rem;align-items:center;cursor:pointer}.toasts{position:absolute;top:.9rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:.4rem;align-items:center;pointer-events:none}.toast{padding:.5rem .9rem;max-width:34rem;animation:toast-in .25s ease}.toast.is-error{box-shadow:0 0 0 1px #c0506ab3,inset 0 0 0 3px var(--ink-deep),0 12px 30px #0006}@keyframes toast-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.controls-help{position:absolute;right:.9rem;bottom:.9rem;padding:.5rem .75rem;font-size:var(--step--1);color:var(--vellum-dim)}.controls-help div{display:flex;gap:.4rem;align-items:center}.drawer{position:absolute;top:.9rem;right:.9rem;bottom:.9rem;width:min(30rem,calc(100vw - 1.8rem));display:flex;flex-direction:column;animation:drawer-in .18s ease}.drawer .panel-body{flex:1}@keyframes drawer-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:none}}.greeting{font-style:italic;color:var(--vellum);border-left:2px solid var(--gilt-soft);padding:.1rem 0 .1rem .75rem;margin:0 0 1rem}.quest{border-left:3px solid var(--rar-comune);background:#12182699;border-radius:0 3px 3px 0;margin-bottom:.55rem}.quest.rar-rara{border-left-color:var(--rar-rara)}.quest.rar-epica{border-left-color:var(--rar-epica)}.quest.rar-leggendaria{border-left-color:var(--rar-leggendaria)}.quest-head{display:grid;grid-template-columns:1fr auto;gap:.5rem;width:100%;padding:.6rem .75rem;background:none;border:none;text-align:left;cursor:pointer;color:inherit}.quest-name{font-weight:700}.quest-meta{display:flex;flex-wrap:wrap;gap:.3rem .75rem;font-size:var(--step--1);color:var(--vellum-dim);margin-top:.15rem}.quest-body{padding:0 .75rem .75rem}.quest-desc{white-space:pre-wrap;margin:.2rem 0 .6rem;max-width:65ch}.rarity{font-size:var(--step--1);font-weight:700}.rarity.rar-comune{color:var(--rar-comune)}.rarity.rar-rara{color:var(--rar-rara)}.rarity.rar-epica{color:var(--rar-epica)}.rarity.rar-leggendaria{color:var(--rar-leggendaria)}.status-dot{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;margin-right:.3rem;vertical-align:.05em}.due-late{color:#f2a9b9}.objectives{list-style:none;padding:0;margin:0 0 .7rem;display:grid;gap:.2rem}.objectives li{display:grid;grid-template-columns:1.2rem 1fr;gap:.35rem}.objectives li.is-done{color:var(--vellum-dim);text-decoration:line-through;text-decoration-color:#b5ad9780}.objectives .tick{color:var(--verdigris)}.assignees{display:flex;gap:.25rem;align-items:center;margin-bottom:.7rem;font-size:var(--step--1);color:var(--vellum-dim)}.avatar-initials{width:1.6rem;height:1.6rem;border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:700;background:var(--ink-raised);color:var(--vellum);border:1px solid rgba(236,227,204,.25)}.quest-actions{display:flex;flex-wrap:wrap;gap:.4rem}.state-label{font-size:var(--step--1);color:var(--vellum-dim);white-space:nowrap}.state-label.is-active{color:#9fd6c8}.group-title{font-family:var(--font-display);font-size:var(--step-0);font-weight:600;margin:1rem 0 .45rem;color:var(--vellum)}.group-title:first-child{margin-top:0}.empty{padding:1rem;text-align:left;color:var(--vellum-dim);border:1px dashed var(--gilt-faint);border-radius:3px}.thread{margin-bottom:1rem}.thread-head{font-size:var(--step--1);color:var(--vellum-dim);margin-bottom:.35rem}.msg{padding:.45rem .65rem;border-radius:3px;margin-bottom:.3rem;max-width:92%}.msg.from-player{background:var(--ink-raised);margin-left:auto}.msg.from-npc{background:#d6a84e1f;border:1px solid var(--gilt-faint)}.msg .msg-meta{font-size:.75rem;color:var(--vellum-dim);margin-bottom:.1rem}.waiting{font-size:var(--step--1);color:var(--gilt)}.world-map{position:absolute;inset:2rem;display:flex;flex-direction:column}.world-map .panel-body{flex:1;position:relative;padding:0;overflow:hidden}.world-map canvas{width:100%;height:100%;display:block;cursor:pointer}.admin{min-height:100%;display:grid;grid-template-columns:15rem 1fr}.admin-nav{padding:1.2rem .9rem;border-right:1px solid var(--gilt-faint);background:var(--ink);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:.2rem}.admin-nav .illuminated{font-size:var(--step-0);margin-bottom:1.2rem}.admin-nav .illuminated-text{font-size:var(--step-1)}.admin-nav button{text-align:left;padding:.5rem .7rem;border-radius:3px;background:none;border:none;cursor:pointer;color:var(--vellum-dim);display:flex;justify-content:space-between}.admin-nav button:hover{color:var(--vellum);background:var(--gilt-faint)}.admin-nav button[aria-current=page]{color:var(--vellum);background:var(--ink-raised);box-shadow:inset 2px 0 0 var(--gilt)}.admin-nav .spacer{flex:1}.badge{min-width:1.4rem;padding:0 .4rem;border-radius:999px;background:var(--gilt);color:var(--ink-deep);font-size:.75rem;font-weight:700;text-align:center}.admin-main{padding:1.6rem 2rem 3rem;max-width:72rem}.admin-main h1{font-family:var(--font-display);font-weight:600;font-size:var(--step-3);margin:0 0 .3rem}.admin-main h2{font-family:var(--font-display);font-weight:600;font-size:var(--step-1);margin:1.6rem 0 .6rem}.admin-main>p.lede{color:var(--vellum-dim);max-width:70ch;margin:0 0 1.4rem}.card{padding:1rem 1.1rem;margin-bottom:.9rem}.table{width:100%;border-collapse:collapse;font-size:var(--step--1)}.table th{text-align:left;font-weight:600;color:var(--vellum-dim);padding:.45rem .5rem;border-bottom:1px solid var(--gilt-faint)}.table td{padding:.5rem;border-bottom:1px solid rgba(214,168,78,.08);vertical-align:middle}.table-wrap{overflow-x:auto}.row-actions{display:flex;gap:.3rem;justify-content:flex-end}.kv{display:grid;grid-template-columns:max-content 1fr;gap:.3rem 1rem;margin:0}.kv dt{color:var(--vellum-dim)}.kv dd{margin:0}.region-card{padding:0;margin-bottom:.9rem}.region-card>header{display:flex;align-items:center;gap:.8rem;padding:.8rem 1rem;flex-wrap:wrap}.region-card>header .name{font-family:var(--font-display);font-weight:600;font-size:var(--step-1)}.region-card .sub{padding:.6rem 1rem .8rem;border-top:1px solid var(--gilt-faint)}.region-card .sub-head{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-bottom:.4rem}.region-card .sub-head strong{min-width:12rem}.inline-controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.inline-controls select,.inline-controls input{width:auto;min-width:9rem}.pill{font-size:.75rem;padding:.05rem .45rem;border-radius:999px;border:1px solid var(--gilt-soft);color:var(--vellum-dim)}.pill.is-ok{border-color:var(--verdigris);color:#9fd6c8}.pill.is-bad{border-color:var(--ruby);color:#f2a9b9}.npc-editor{display:grid;grid-template-columns:16rem 1fr;gap:1rem}.npc-preview{height:20rem;position:relative}@media(max-width:900px){.admin{grid-template-columns:1fr}.admin-nav{position:static;height:auto;flex-direction:row;flex-wrap:wrap}.admin-nav .spacer{display:none}.admin-main{padding:1.2rem}.npc-editor{grid-template-columns:1fr}}.code{font-family:ui-monospace,Consolas,monospace;font-size:.85em;background:var(--ink-deep);padding:.1rem .35rem;border-radius:3px;word-break:break-all}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.region-banner{animation:none;opacity:1}}
