/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-outline-style:solid;--tw-border-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-leading:initial;--tw-content:"";--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:var(--font-sans);--font-serif:var(--font-serif);--font-mono:var(--font-mono);--color-emerald-500:oklch(69.6% .17 162.48);--color-white:#fff;--spacing:var(--spacing);--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-normal:var(--tracking-normal);--shadow-2xs:var(--shadow-2xs);--shadow-xs:var(--shadow-xs);--shadow-sm:var(--shadow-sm);--shadow-md:var(--shadow-md);--shadow-lg:var(--shadow-lg);--shadow-xl:var(--shadow-xl);--shadow-2xl:var(--shadow-2xl);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--shadow:var(--shadow);--radius:.75rem;--letter-spacing:var(--letter-spacing);--shadow-offset-y:var(--shadow-offset-y);--shadow-offset-x:var(--shadow-offset-x);--shadow-spread:var(--shadow-spread);--shadow-blur:var(--shadow-blur);--shadow-opacity:var(--shadow-opacity)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}body{background-color:var(--background);color:var(--foreground);letter-spacing:var(--tracking-normal)}code{font-family:var(--font-mono)}}@layer components{.app-shell{flex-direction:column;min-height:100svh;display:flex}.app-header{top:calc(var(--spacing) * 0);z-index:20;height:calc(var(--spacing) * 14);align-items:center;gap:calc(var(--spacing) * 2);border-bottom-style:var(--tw-border-style);background-color:var(--background);border-bottom-width:1px;display:flex;position:sticky;overflow-x:auto}@supports (color:color-mix(in lab, red, red)){.app-header{background-color:color-mix(in oklab, var(--background) 95%, transparent)}}.app-header{padding-inline:calc(var(--spacing) * 4);--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.app-brand{margin-right:calc(var(--spacing) * 2);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:calc(var(--tracking-normal) - .025em);letter-spacing:calc(var(--tracking-normal) - .025em);flex-shrink:0}.app-nav{min-width:calc(var(--spacing) * 0);align-items:center;gap:calc(var(--spacing) * 1);flex:1;display:flex}.nav-link{align-items:center;gap:calc(var(--spacing) * 2);border-radius:calc(var(--radius) - 2px);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted-foreground);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));flex-shrink:0;display:flex}@media (hover:hover){.nav-link:hover{background-color:var(--accent)}}.nav-link.active{background-color:var(--accent);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--foreground)}.nav-link svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.nav-link span{display:none}@media (width>=40rem){.nav-link span{display:inline}}.header-user{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted-foreground);flex-shrink:0;display:none}@media (width>=48rem){.header-user{display:inline}}.app-main{min-width:calc(var(--spacing) * 0);padding:calc(var(--spacing) * 4);flex-direction:column;flex:1;display:flex}.page-header{margin-bottom:calc(var(--spacing) * 6);justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 4);flex-wrap:wrap;display:flex}.page-header h1{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:calc(var(--tracking-normal) - .025em);letter-spacing:calc(var(--tracking-normal) - .025em);overflow-wrap:anywhere}.page-header p{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted-foreground)}.muted{color:var(--muted-foreground)}.small{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.stack{gap:calc(var(--spacing) * 6);display:grid}.actions{align-items:center;gap:calc(var(--spacing) * 2);flex-wrap:wrap;display:flex}.back-link{margin-bottom:calc(var(--spacing) * 4);align-items:center;gap:calc(var(--spacing) * 1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted-foreground);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));display:inline-flex}@media (hover:hover){.back-link:hover{color:var(--foreground)}}.panel-card{min-width:calc(var(--spacing) * 0);border-radius:calc(var(--radius) + 4px);border-style:var(--tw-border-style);background-color:var(--card);padding:calc(var(--spacing) * 6);color:var(--card-foreground);--tw-shadow:var(--shadow-sm);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);border-width:1px}.panel-card h2{--tw-leading:1;--tw-font-weight:var(--font-weight-semibold);line-height:1;font-weight:var(--font-weight-semibold)}.card-heading{margin-bottom:calc(var(--spacing) * 6);justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 2);flex-wrap:wrap;display:flex}.button{height:calc(var(--spacing) * 9);justify-content:center;align-items:center;gap:calc(var(--spacing) * 2);border-radius:calc(var(--radius) - 2px);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);white-space:nowrap;transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-outline-style:none;outline-style:none;flex-shrink:0;display:inline-flex}.button:focus-visible{border-color:var(--ring);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.button:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.button:disabled{pointer-events:none;opacity:.5}.button:has(>svg){padding-inline:calc(var(--spacing) * 3)}.button svg{pointer-events:none;width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4);flex-shrink:0}.button-primary{background-color:var(--primary);color:var(--primary-foreground)}@media (hover:hover){.button-primary:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.button-primary:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}}.button-outline{border-style:var(--tw-border-style);background-color:var(--background);--tw-shadow:var(--shadow-xs);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);border-width:1px}@media (hover:hover){.button-outline:hover{background-color:var(--accent);color:var(--accent-foreground)}}@media (prefers-color-scheme:dark){.button-outline{border-color:var(--input);background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.button-outline{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}@media (hover:hover){.button-outline:hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.button-outline:hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}}}@media (hover:hover){.button-ghost:hover{background-color:var(--accent);color:var(--accent-foreground)}}@media (prefers-color-scheme:dark){@media (hover:hover){.button-ghost:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.button-ghost:hover{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}}}.button-danger{background-color:var(--destructive);color:var(--color-white)}@media (hover:hover){.button-danger:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.button-danger:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}}.button-danger:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.button-danger:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}@media (prefers-color-scheme:dark){.button-danger{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.button-danger{background-color:color-mix(in oklab, var(--destructive) 60%, transparent)}}.button-danger:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.button-danger:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}}.button-sm{height:calc(var(--spacing) * 8);gap:calc(var(--spacing) * 1.5);padding-inline:calc(var(--spacing) * 3)}.button-sm:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.button-lg{height:calc(var(--spacing) * 10);padding-inline:calc(var(--spacing) * 6)}.button-lg:has(>svg){padding-inline:calc(var(--spacing) * 4)}.button-icon{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);padding-inline:calc(var(--spacing) * 0)}.button-icon:has(>svg){padding-inline:calc(var(--spacing) * 0)}.button-block{width:100%}.badge{justify-content:center;align-items:center;gap:calc(var(--spacing) * 1);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);width:fit-content;padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * .5);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);white-space:nowrap;color:var(--foreground);border-radius:3.40282e38px;flex-shrink:0;display:inline-flex;overflow:hidden}.badge>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.status{align-items:center;gap:calc(var(--spacing) * 2);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);white-space:nowrap;color:var(--color-emerald-500);display:inline-flex}.status:before{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2);--tw-content:"";content:var(--tw-content);background-color:currentColor;border-radius:3.40282e38px}.status-offline{color:var(--muted-foreground)}.room-stats{margin-bottom:calc(var(--spacing) * 6);column-gap:calc(var(--spacing) * 6);row-gap:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted-foreground);flex-wrap:wrap;display:flex}.room-stats strong{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--foreground)}.rooms-grid{gap:calc(var(--spacing) * 6);display:grid}@media (width>=40rem){.rooms-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=96rem){.rooms-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.room-top{margin-bottom:calc(var(--spacing) * 4);justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 2);display:flex}.room-badges{align-items:center;gap:calc(var(--spacing) * 2);display:flex}.room-name{margin-bottom:calc(var(--spacing) * 1);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.room-players{margin-top:calc(var(--spacing) * 4);align-items:center;gap:calc(var(--spacing) * 1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted-foreground);display:flex}.room-players svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.room-footer{margin-top:calc(var(--spacing) * 6);justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 2);border-top-style:var(--tw-border-style);padding-top:calc(var(--spacing) * 6);border-top-width:1px;flex-wrap:wrap;display:flex}.fields{margin-top:calc(var(--spacing) * 6);gap:calc(var(--spacing) * 4);display:grid}.field{min-width:calc(var(--spacing) * 0);gap:calc(var(--spacing) * 2);display:grid}.field>span{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:1;--tw-font-weight:var(--font-weight-medium);line-height:1;font-weight:var(--font-weight-medium)}.input{height:calc(var(--spacing) * 9);width:100%;min-width:calc(var(--spacing) * 0);border-radius:calc(var(--radius) - 2px);border-style:var(--tw-border-style);border-width:1px;border-color:var(--input);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 1);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-shadow:var(--shadow-xs);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-outline-style:none;background-color:#0000;outline-style:none}.input ::selection{background-color:var(--primary)}.input::selection{background-color:var(--primary)}.input ::selection{color:var(--primary-foreground)}.input::selection{color:var(--primary-foreground)}.input::placeholder{color:var(--muted-foreground)}.input:focus-visible{border-color:var(--ring);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.input:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.input:disabled{pointer-events:none;cursor:not-allowed;opacity:.5}@media (width>=48rem){.input{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (prefers-color-scheme:dark){.input{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.input{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}}select.input option{background-color:var(--popover);color:var(--popover-foreground)}textarea.input{field-sizing:content;height:auto;min-height:calc(var(--spacing) * 16);resize:vertical;padding-block:calc(var(--spacing) * 2)}.readonly-field{height:calc(var(--spacing) * 9);align-items:center;gap:calc(var(--spacing) * 2);border-radius:calc(var(--radius) - 2px);border-style:var(--tw-border-style);border-width:1px;border-color:var(--input);background-color:var(--input);display:flex}@supports (color:color-mix(in lab, red, red)){.readonly-field{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.readonly-field{padding-inline:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.readonly-field svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.token-link{align-items:center;gap:calc(var(--spacing) * 1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted-foreground);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));justify-self:flex-start;display:inline-flex}@media (hover:hover){.token-link:hover{color:var(--foreground)}}.help{margin-top:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted-foreground)}.modules-grid{column-gap:calc(var(--spacing) * 6);display:grid}@media (width>=40rem){.modules-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.module-row{min-width:calc(var(--spacing) * 0);cursor:pointer;justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 3);border-bottom-style:var(--tw-border-style);padding-block:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);border-bottom-width:1px;display:flex}.module-row>span{min-width:calc(var(--spacing) * 0)}.module-row small{margin-top:calc(var(--spacing) * 1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);color:var(--muted-foreground);display:block}.switch{margin:calc(var(--spacing) * 0);height:1.15rem;width:calc(var(--spacing) * 8);cursor:pointer;appearance:none;border-style:var(--tw-border-style);background-color:var(--input);--tw-shadow:var(--shadow-xs);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-outline-style:none;border-width:1px;border-color:#0000;border-radius:3.40282e38px;outline-style:none;flex-shrink:0;align-items:center;display:inline-flex;position:relative}.switch:checked{background-color:var(--primary)}.switch:focus-visible{border-color:var(--ring);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.switch:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.switch:disabled{cursor:not-allowed;opacity:.5}@media (prefers-color-scheme:dark){.switch{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.switch{background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.switch:checked{background-color:var(--primary)}}.switch:after{pointer-events:none;width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4);background-color:var(--background);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-content:"";content:var(--tw-content);border-radius:3.40282e38px;display:block}@media (prefers-color-scheme:dark){.switch:after{background-color:var(--foreground)}}.switch:checked:after{--tw-translate-x:calc(100% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}@media (prefers-color-scheme:dark){.switch:checked:after{background-color:var(--primary-foreground)}}.summary{margin-top:calc(var(--spacing) * 6);gap:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));display:grid}.summary div{justify-content:space-between;gap:calc(var(--spacing) * 4);display:flex}.summary dt{color:var(--muted-foreground)}.summary dd{margin:calc(var(--spacing) * 0);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.form-action{margin-top:calc(var(--spacing) * 6)}.tabs{margin-bottom:calc(var(--spacing) * 6);height:calc(var(--spacing) * 9);border-radius:var(--radius);background-color:var(--muted);width:fit-content;max-width:100%;color:var(--muted-foreground);align-items:center;padding:3px;display:inline-flex}.tab{cursor:pointer;border-radius:calc(var(--radius) - 2px);border-style:var(--tw-border-style);height:calc(100% - 1px);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);white-space:nowrap;color:var(--foreground);transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));border-width:1px;border-color:#0000;flex:1;justify-content:center;align-items:center;display:inline-flex}@media (prefers-color-scheme:dark){.tab{color:var(--muted-foreground)}}.tab[aria-selected=true]{background-color:var(--background);--tw-shadow:var(--shadow-sm);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (prefers-color-scheme:dark){.tab[aria-selected=true]{border-color:var(--input);background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tab[aria-selected=true]{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.tab[aria-selected=true]{color:var(--foreground)}}.room-info{align-items:center;column-gap:calc(var(--spacing) * 6);row-gap:calc(var(--spacing) * 3);flex-wrap:wrap;display:flex}.room-info dl{margin:calc(var(--spacing) * 0);column-gap:calc(var(--spacing) * 6);row-gap:calc(var(--spacing) * 3);flex-wrap:wrap;flex:1;display:flex}.room-info dl div{align-items:center;gap:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));display:flex}.room-info dt{color:var(--muted-foreground)}.room-info dd{margin:calc(var(--spacing) * 0);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.console-card{padding:calc(var(--spacing) * 0);overflow:hidden}.console-header{justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 2);border-bottom-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);border-bottom-width:1px;flex-wrap:wrap;display:flex}.console-header h2{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.console-output{height:350px;padding:calc(var(--spacing) * 4);font-family:var(--font-mono);--tw-leading:1.9;color:#d5dbea;background-color:#101321;font-size:13px;line-height:1.9;overflow:auto}.console-line{overflow-wrap:anywhere;white-space:pre-wrap}.console-time{color:#8d9ab0}.console-level{color:#77c3ed}.console-level-warn{color:#edc378}.console-level-error{color:#fa929e}.console-chat{color:#b0a4f3}.console-chat-red{color:#fa929e}.console-chat-blue{color:#77c3ed}.console-footer{border-top-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 2);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground);border-top-width:1px}.live-preview{aspect-ratio:1.9;border-radius:var(--radius);border-style:var(--tw-border-style);background-color:var(--background);border-width:1px;width:100%}.live-empty{justify-content:center;align-items:center;gap:calc(var(--spacing) * 3);--tw-border-style:dashed;background-color:var(--muted);border-style:dashed;flex-direction:column;display:flex}@supports (color:color-mix(in lab, red, red)){.live-empty{background-color:color-mix(in oklab, var(--muted) 20%, transparent)}}.live-empty{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted-foreground)}.notice{margin-bottom:calc(var(--spacing) * 6);border-radius:var(--radius);border-style:var(--tw-border-style);background-color:var(--card);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--card-foreground);border-width:1px}.notice-error{color:var(--destructive)}.empty-state{align-items:center;gap:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 10);text-align:center;flex-direction:column;display:flex}.empty-state p{margin-bottom:calc(var(--spacing) * 4);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.loading{justify-content:center;align-items:center;gap:calc(var(--spacing) * 3);min-height:40vh;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted-foreground);display:flex}.login-page{min-height:100svh;padding:calc(var(--spacing) * 4);place-items:center;display:grid}.login-card{width:100%;max-width:var(--container-md);gap:calc(var(--spacing) * 4);text-align:center;flex-direction:column;display:flex}.login-card .app-brand{margin:calc(var(--spacing) * 0);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted-foreground)}.login-card h1{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:calc(var(--tracking-normal) - .025em);letter-spacing:calc(var(--tracking-normal) - .025em)}.login-card p{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.login-card .notice{margin-bottom:calc(var(--spacing) * 0)}.login-card .form-action{margin-top:calc(var(--spacing) * 0)}}@layer utilities{.mt-2{margin-top:calc(var(--spacing) * 2)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.animate-spin{animation:var(--animate-spin)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}}:root{--font-sans:"Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;--font-serif:"Lora", ui-serif, serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--background:oklch(23.03% .0562 273.81);--foreground:oklch(98.42% .0034 247.858);--card:oklch(30.06% .0623 273.317);--card-foreground:oklch(98.42% .0034 247.858);--popover:oklch(23.03% .0562 273.81);--popover-foreground:oklch(98.42% .0034 247.858);--primary:oklch(68.66% .206 36.4134);--primary-foreground:oklch(100% 0 0);--secondary:oklch(30.06% .0623 273.317);--secondary-foreground:oklch(98.42% .0034 247.858);--muted:oklch(37.17% .0392 257.287);--muted-foreground:oklch(71.07% .0351 256.788);--accent:oklch(37.17% .0392 257.287);--accent-foreground:oklch(98.42% .0034 247.858);--destructive:oklch(63.68% .2078 25.3313);--destructive-foreground:oklch(98.42% .0034 247.858);--border:oklch(37.17% .0392 257.287);--input:oklch(37.17% .0392 257.287);--ring:oklch(68.66% .206 36.4134);--chart-1:oklch(68.66% .206 36.4134);--chart-2:oklch(69.59% .1491 162.48);--chart-3:oklch(76.86% .1647 70.0804);--chart-4:oklch(60.56% .2189 292.717);--chart-5:oklch(63.68% .2078 25.3313);--sidebar:oklch(23.03% .0562 273.81);--sidebar-foreground:oklch(98.42% .0034 247.858);--sidebar-primary:oklch(68.66% .206 36.4134);--sidebar-primary-foreground:oklch(100% 0 0);--sidebar-accent:oklch(37.17% .0392 257.287);--sidebar-accent-foreground:oklch(98.42% .0034 247.858);--sidebar-border:oklch(37.17% .0392 257.287);--sidebar-ring:oklch(68.66% .206 36.4134);--radius:.75rem;--shadow-x:0px;--shadow-y:4px;--shadow-blur:10px;--shadow-spread:0px;--shadow-opacity:.1;--shadow-color:#000;--shadow-2xs:0px 4px 10px 0px #0000000d;--shadow-xs:0px 4px 10px 0px #0000000d;--shadow-sm:0px 4px 10px 0px #0000001a, 0px 1px 2px -1px #0000001a;--shadow:0px 4px 10px 0px #0000001a, 0px 1px 2px -1px #0000001a;--shadow-md:0px 4px 10px 0px #0000001a, 0px 2px 4px -1px #0000001a;--shadow-lg:0px 4px 10px 0px #0000001a, 0px 4px 6px -1px #0000001a;--shadow-xl:0px 4px 10px 0px #0000001a, 0px 8px 10px -1px #0000001a;--shadow-2xl:0px 4px 10px 0px #00000040;--tracking-normal:0px;--letter-spacing:-.025em;--spacing:.27rem}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-leading{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(360deg)}}
