/* Erregame — foglio di stile unico. Sostituisce Tailwind: le utility qui
   sotto sono le sole in uso nei template, generate coi valori originali.  */

:root {
  --color-base: #FFFFFF;
  --color-soft: #F7F7F7;
  --color-muted: #EDEDED;
  --color-dark: #1B1C1C;
  --color-surface: #E2E3E3;
  --color-surface-elev: #D2D3D3;

  --color-ink: #1B1C1C;
  --color-ink-strong: #000000;
  --color-ink-muted: #565959;
  --color-ink-subtle: #959999;
  --color-ink-invert: #FFFFFF;

  --color-line: #CDCECE;
  --color-line-strong: #A3A5A5;
  --color-divider: #E5E5E5;

  --color-logo-blue: #2780BF;
  --color-logo-gray: #7B7F7F;

  --color-accent: #2780BF;
  --color-accent-hover: #20699D;
  --color-accent-soft: #E1EDF6;
  --color-accent-strong: #19527A;
  --color-accent-fg: #FFFFFF;

  --color-warning: #E0A823;
  --color-warning-soft: #FBF3E0;
  --color-warning-strong: #8F6C16;

  --color-danger: #C0392B;
  --color-danger-soft: #F6E3E1;
  --color-danger-strong: #7B241C;

  --color-success: #2D9966;
  --color-success-soft: #E2F1EA;
  --color-success-strong: #1D6241;
}

/* ---------------------------------------------------------------------------
   Reset. Le stesse normalizzazioni che applicava il preflight di Tailwind: senza,
   togliendo la libreria ricomparirebbero i margini di default del browser su
   titoli, liste e paragrafi, e ogni pagina si sposterebbe.
   --------------------------------------------------------------------------- */
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--color-line)}
html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
body{margin:0;line-height:inherit}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}
p,figure,blockquote,dl,dd{margin:0}
ol,ul,menu{list-style:none;margin:0;padding:0}
a{color:inherit;text-decoration:inherit}
b,strong{font-weight:bolder}
code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1em}
small{font-size:80%}
table{text-indent:0;border-color:inherit;border-collapse:collapse}
button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}
button,select{text-transform:none}
button,[type=button],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none;cursor:pointer}
:-moz-focusring{outline:auto}
summary{display:list-item}
img,svg,video,canvas{display:block;vertical-align:middle;max-width:100%;height:auto}
[hidden]{display:none}
input::placeholder,textarea::placeholder{opacity:1;color:var(--color-ink-subtle)}
/* Il default di Tailwind per gli input, che l'app dà per scontato. */
input[type=text],input[type=password],input[type=email],input[type=number],input[type=date],input[type=file],select,textarea{background-color:#fff}
input[type=checkbox],input[type=radio]{width:1rem;height:1rem;accent-color:var(--color-accent)}


/* Generato da genera_css.py — utility in uso, coi valori di Tailwind. */
@keyframes erre-spin{to{transform:rotate(360deg)}}
.-mb-px{margin-bottom:-1px}
.-mt-2{margin-top:-0.5rem}
.-mt-4{margin-top:-1rem}
.-translate-x-full{transform:translateX(-100%)}
.absolute{position:absolute}
.animate-spin{animation:erre-spin 1s linear infinite}
.bg-accent{background-color:var(--color-accent)}
.bg-accent-soft{background-color:var(--color-accent-soft)}
.bg-black\/50{background-color:rgb(0 0 0 / 50%)}
.bg-blue-100{background-color:#dbeafe}
.bg-danger-soft{background-color:var(--color-danger-soft)}
.bg-dark{background-color:var(--color-dark)}
.bg-muted{background-color:var(--color-muted)}
.bg-soft{background-color:var(--color-soft)}
.bg-success{background-color:var(--color-success)}
.bg-success-soft{background-color:var(--color-success-soft)}
.bg-success-strong{background-color:var(--color-success-strong)}
.bg-surface{background-color:var(--color-surface)}
.bg-warning-soft{background-color:var(--color-warning-soft)}
.bg-warning-strong{background-color:var(--color-warning-strong)}
.bg-white{background-color:#fff}
.block{display:block}
.border{border-width:1px;border-style:solid}
.border-accent{border-color:var(--color-accent)}
.border-accent-strong{border-color:var(--color-accent-strong)}
.border-b{border-bottom-width:1px;border-bottom-style:solid}
.border-b-2{border-bottom-width:2px;border-bottom-style:solid}
.border-danger{border-color:var(--color-danger)}
.border-danger-strong{border-color:var(--color-danger-strong)}
.border-divider{border-color:var(--color-divider)}
.border-line{border-color:var(--color-line)}
.border-line-strong{border-color:var(--color-line-strong)}
.border-success{border-color:var(--color-success)}
.border-success-strong{border-color:var(--color-success-strong)}
.border-t{border-top-width:1px;border-top-style:solid}
.border-transparent{border-color:transparent}
.border-warning{border-color:var(--color-warning)}
.col-span-3{grid-column:span 3/span 3}
.cursor-default{cursor:default}
.cursor-pointer{cursor:pointer}
.duration-200{transition-duration:200ms}
.fixed{position:fixed}
.flex{display:flex}
.flex-1{flex:1 1 0%}
.flex-col{flex-direction:column}
.flex-nowrap{flex-wrap:nowrap}
.flex-shrink-0{flex-shrink:0}
.flex-wrap{flex-wrap:wrap}
.focus\:border-accent:focus{border-color:var(--color-accent)}
.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}
.font-bold{font-weight:700}
.font-medium{font-weight:500}
.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.font-normal{font-weight:400}
.font-semibold{font-weight:600}
.gap-0{gap:0rem}
.gap-1{gap:0.25rem}
.gap-1\.5{gap:0.375rem}
.gap-2{gap:0.5rem}
.gap-3{gap:0.75rem}
.gap-4{gap:1rem}
.gap-6{gap:1.5rem}
.gap-x-3{column-gap:0.75rem}
.gap-x-6{column-gap:1.5rem}
.gap-y-1{row-gap:0.25rem}
.grid{display:grid}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.h-10{height:2.5rem}
.h-4{height:1rem}
.h-5{height:1.25rem}
.h-6{height:1.5rem}
.h-7{height:1.75rem}
.h-8{height:2rem}
.h-full{height:100%}
.h-screen{height:100vh}
.hidden{display:none}
.hover\:bg-accent-hover:hover{background-color:var(--color-accent-hover)}
.hover\:bg-ink:hover{background-color:var(--color-ink)}
.hover\:bg-muted:hover{background-color:var(--color-muted)}
.hover\:bg-soft:hover{background-color:var(--color-soft)}
.hover\:bg-success-strong:hover{background-color:var(--color-success-strong)}
.hover\:bg-surface-elev:hover{background-color:var(--color-surface-elev)}
.hover\:bg-warning:hover{background-color:var(--color-warning)}
.hover\:border-accent:hover{border-color:var(--color-accent)}
.hover\:text-accent:hover{color:var(--color-accent)}
.hover\:text-accent-hover:hover{color:var(--color-accent-hover)}
.hover\:text-accent-strong:hover{color:var(--color-accent-strong)}
.hover\:text-danger-strong:hover{color:var(--color-danger-strong)}
.hover\:text-ink-strong:hover{color:var(--color-ink-strong)}
.hover\:underline:hover{text-decoration:underline}
.inline{display:inline}
.inline-block{display:inline-block}
.inline-flex{display:inline-flex}
.inset-0{top:0;right:0;bottom:0;left:0}
.inset-y-0{top:0;bottom:0}
.items-center{align-items:center}
.items-end{align-items:flex-end}
.items-start{align-items:flex-start}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.justify-end{justify-content:flex-end}
.left-0{left:0}
.list-disc{list-style-type:disc}
.list-inside{list-style-position:inside}
.list-none{list-style:none}
.max-h-40{max-height:10rem}
.max-h-96{max-height:24rem}
.max-h-\[28rem\]{max-height:28rem}
.max-w-2xl{max-width:42rem}
.max-w-3xl{max-width:48rem}
.max-w-4xl{max-width:56rem}
.max-w-5xl{max-width:64rem}
.max-w-7xl{max-width:80rem}
.max-w-full{max-width:100%}
.max-w-md{max-width:28rem}
.max-w-sm{max-width:24rem}
.max-w-xl{max-width:36rem}
.max-w-xs{max-width:20rem}
.mb-1{margin-bottom:0.25rem}
.mb-1\.5{margin-bottom:0.375rem}
.mb-2{margin-bottom:0.5rem}
.mb-3{margin-bottom:0.75rem}
.mb-4{margin-bottom:1rem}
.mb-5{margin-bottom:1.25rem}
.mb-6{margin-bottom:1.5rem}
.min-h-screen{min-height:100vh}
.min-w-0{min-width:0rem}
.min-w-64{min-width:16rem}
.min-w-\[24rem\]{min-width:24rem}
.ml-1{margin-left:0.25rem}
.ml-2{margin-left:0.5rem}
.ml-2\.5{margin-left:0.625rem}
.ml-3{margin-left:0.75rem}
.ml-auto{margin-left:auto}
.mr-2{margin-right:0.5rem}
.mr-3{margin-right:0.75rem}
.mt-0\.5{margin-top:0.125rem}
.mt-1{margin-top:0.25rem}
.mt-10{margin-top:2.5rem}
.mt-2{margin-top:0.5rem}
.mt-3{margin-top:0.75rem}
.mt-4{margin-top:1rem}
.mt-6{margin-top:1.5rem}
.mt-8{margin-top:2rem}
.mt-auto{margin-top:auto}
.opacity-40{opacity:0.4}
.opacity-50{opacity:0.5}
.overflow-auto{overflow:auto}
.overflow-hidden{overflow:hidden}
.overflow-x-auto{overflow-x:auto}
.overflow-y-auto{overflow-y:auto}
.p-2{padding:0.5rem}
.p-2\.5{padding:0.625rem}
.p-3{padding:0.75rem}
.p-4{padding:1rem}
.p-5{padding:1.25rem}
.p-6{padding:1.5rem}
.p-8{padding:2rem}
.pb-2{padding-bottom:0.5rem}
.pointer-events-auto{pointer-events:auto}
.pointer-events-none{pointer-events:none}
.pt-2{padding-top:0.5rem}
.pt-4{padding-top:1rem}
.px-1{padding-left:0.25rem;padding-right:0.25rem}
.px-1\.5{padding-left:0.375rem;padding-right:0.375rem}
.px-2{padding-left:0.5rem;padding-right:0.5rem}
.px-3{padding-left:0.75rem;padding-right:0.75rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-5{padding-left:1.25rem;padding-right:1.25rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.py-0\.5{padding-top:0.125rem;padding-bottom:0.125rem}
.py-1{padding-top:0.25rem;padding-bottom:0.25rem}
.py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem}
.py-3{padding-top:0.75rem;padding-bottom:0.75rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.relative{position:relative}
.rounded{border-radius:0.25rem}
.rounded-full{border-radius:9999px}
.rounded-lg{border-radius:0.5rem}
.rounded-xl{border-radius:0.75rem}
.scrollbar-hide{scrollbar-width:none}
.shadow-lg{box-shadow:0 10px 15px -3px rgb(0 0 0/.1),0 4px 6px -4px rgb(0 0 0/.1)}
.shadow-sm{box-shadow:0 1px 2px 0 rgb(0 0 0/.05)}
.shrink-0{flex-shrink:0}
.space-y-1 > * + *{margin-top:0.25rem}
.space-y-2 > * + *{margin-top:0.5rem}
.space-y-4 > * + *{margin-top:1rem}
.space-y-5 > * + *{margin-top:1.25rem}
.sticky{position:sticky}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-accent{color:var(--color-accent)}
.text-accent-fg{color:var(--color-accent-fg)}
.text-accent-strong{color:var(--color-accent-strong)}
.text-base{font-size:1rem;line-height:1.5rem}
.text-blue-700{color:var(--color-blue-700)}
.text-center{text-align:center}
.text-danger{color:var(--color-danger)}
.text-danger-strong{color:var(--color-danger-strong)}
.text-inherit{color:var(--color-inherit)}
.text-ink{color:var(--color-ink)}
.text-ink-invert{color:var(--color-ink-invert)}
.text-ink-muted{color:var(--color-ink-muted)}
.text-ink-strong{color:var(--color-ink-strong)}
.text-ink-subtle{color:var(--color-ink-subtle)}
.text-left{text-align:left}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-right{text-align:right}
.text-sm{font-size:0.875rem;line-height:1.25rem}
.text-success{color:var(--color-success)}
.text-success-strong{color:var(--color-success-strong)}
.text-warning-strong{color:var(--color-warning-strong)}
.text-white{color:#fff}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-xs{font-size:0.75rem;line-height:1rem}
.top-0{top:0}
.top-1\/2{top:50%}
.tracking-wider{letter-spacing:0.05em}
.tracking-widest{letter-spacing:0.1em}
.transform{transform:translate(0,0)}
.transition-colors{transition-property:color,background-color,border-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}
.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.underline{text-decoration:underline}
.uppercase{text-transform:uppercase}
.w-24{width:6rem}
.w-32{width:8rem}
.w-4{width:1rem}
.w-5{width:1.25rem}
.w-6{width:1.5rem}
.w-64{width:16rem}
.w-7{width:1.75rem}
.w-72{width:18rem}
.w-80{width:20rem}
.w-auto{width:auto}
.w-full{width:100%}
.whitespace-nowrap{white-space:nowrap}
.whitespace-pre-wrap{white-space:pre-wrap}
.z-30{z-index:30}
.z-40{z-index:40}
.z-50{z-index:50}
@media (min-width:640px){
.sm\:col-span-2{grid-column:span 2/span 2}
.sm\:col-span-3{grid-column:span 3/span 3}
.sm\:flex-1{flex:1 1 0%}
.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.sm\:min-w-64{min-width:16rem}
.sm\:p-5{padding:1.25rem}
}
@media (min-width:768px){
.md\:col-span-1{grid-column:span 1/span 1}
.md\:col-span-2{grid-column:span 2/span 2}
.md\:col-span-3{grid-column:span 3/span 3}
.md\:col-span-4{grid-column:span 4/span 4}
.md\:col-span-6{grid-column:span 6/span 6}
.md\:flex{display:flex}
.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}
.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.md\:hidden{display:none}
.md\:min-h-screen{min-height:100vh}
.md\:p-8{padding:2rem}
.md\:relative{position:relative}
.md\:sticky{position:sticky}
.md\:top-0{top:0}
.md\:translate-x-0{transform:translateX(0)}
.md\:w-auto{width:auto}
.md\:whitespace-nowrap{white-space:nowrap}
}
@media (min-width:1024px){
.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
}

/* --- stili propri dell'app (sidebar, scrollbar) --- */
#sidebar.sidebar-collapsed {
        width: 64px;
      }
      #sidebar.sidebar-collapsed .section-label {
        display: none;
      }
      #sidebar.sidebar-collapsed .nav-link span {
        display: none;
      }
      #sidebar.sidebar-collapsed .nav-link {
        justify-content: center;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
      }
      #sidebar.sidebar-collapsed img[alt="regame"] {
        display: none;
      }
      .nav-divider {
        height: 1px;
        margin: 0.4rem 0.5rem;
        border: 0;
        background-color: #3A3B3B;
      }
      .nav-link {
        transition: background-color 0.15s ease-in-out;
      }
      .nav-link:hover {
        background-color: #2B2C2C;
      }
      .nav-link.active {
        background-color: #4B4C4C;
      }
      .nav-link.active:hover {
        background-color: #5B5C5C;
      }
.scrollbar-hide {
      -ms-overflow-style: none;
      scrollbar-width: none;
    }
    .scrollbar-hide::-webkit-scrollbar {
      display: none;
    }
    a, button {
      cursor: default;
    }
