#main-header{z-index:2;min-height:64px;padding:0 24px;position:sticky;top:0}#main-header .popup{min-width:240px}#main-header-logo{margin-top:3px}#main-sidebar-button-slot{width:34px;height:34px}#main-footer{padding:16px 24px}#main-footer-server-version{width:30.55px;height:19px;margin-left:4px}#main-content{flex-grow:1;gap:3vh 3vw;padding:32px 24px;overflow-x:hidden}#main-toaster{z-index:2;position:fixed;top:76px;left:50%;transform:translate(-50%)}#main-toaster>.toast{width:360px}#main-toaster>.toast-enter-from,#main-toaster>.toast-leave-to{opacity:0;transform:translateY(-100%)}.hourglass-spinner[data-v-e3df8584]{transform-origin:50%;animation:1.2s ease-in-out infinite hourglass-spin-e3df8584}@keyframes hourglass-spin-e3df8584{0%{transform:rotate(180deg)}25%{transform:rotate(180deg)}75%{transform:rotate(0)}to{transform:rotate(0)}}@keyframes modifier-slide-in{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(200px)scale(.5)}}.modifier-hidden{opacity:0}.modifier-sliding{pointer-events:none;z-index:1;animation:.4s ease-in forwards modifier-slide-in;position:relative}.skill-check-result-placeholder{min-height:22px}#design-check-button-card{max-width:600px}#design-check-skeleton-loading-card{width:280px;height:330px}#design-check-skill-check-card{min-width:280px}#design-check-skill-check-card dialog{min-width:33vw;max-width:min(450px,95vw)}.home.row{width:80%;height:calc(100vh - 64px)}.home.row>.col{height:33%}.realm-card{aspect-ratio:3/4;text-align:center;width:25vw;min-width:150px;max-width:225px;height:auto;overflow:hidden}.realm-card>span{text-overflow:ellipsis;-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}#campaign-messages{max-width:min(90%,768px)}#campaign-messages .turn-actions-row{margin-top:8px;padding-right:8px}#campaign-messages>.edit-turn-dialog{width:min(90%,500px)}.play-page img.profile-picture{object-fit:cover;border-radius:50%;flex-shrink:0;width:42px;height:42px}.play-page .chat-input{max-width:min(100%,896px);position:sticky;bottom:10px}.play-page>div{width:100%}.skill-check-card{box-sizing:border-box;border-radius:12px;width:100%;max-width:min(90%,560px);padding:12px 16px}.skill-check-required{background-color:var(--color-surface-1);border:1px solid var(--color-border-muted);border-left:4px solid var(--color-warning)}.skill-check-required small{text-transform:uppercase}.skill-check-result{background-color:var(--color-surface-1);border:1px solid var(--color-border-muted)}.skill-check-result.skill-check-success{border-left:4px solid var(--color-success)}.skill-check-result.skill-check-failure{border-left:4px solid var(--color-error)}.skill-check-card.skill-check-success small{color:var(--color-success)}.skill-check-card.skill-check-failure small{color:var(--color-error-muted)}#campaign-messages>hr{border:none;border-top:1px solid var(--color-border-muted);width:100%;max-width:min(90%,768px);margin:24px 0}.conversation-block{width:100%}.conversation-block:not(:last-child).expanded{border-bottom:1px solid var(--color-border-muted)}.conversation-block>button:first-child{text-transform:uppercase;width:100%}.conversation-block>button:first-child>div{background-color:var(--color-border-muted);flex-grow:1;height:1px}.conversation-block>.col>div{max-width:80%}.conversation-block>.col .message-bubble.user{align-self:end}.conversation-block>.col>.message-bubble.npc{align-self:start}.campaign-start{text-align:center}.conversation-block>.col{margin-top:36px;margin-bottom:36px}@keyframes turn-anim-fade-in{0%{opacity:0}to{opacity:1}}.turn-fade-in{animation:2s ease-in turn-anim-fade-in}.turn-actions-row.turn-fade-in{animation:.3s ease-in 2s both turn-anim-fade-in}.realm-form-page>div{max-width:100%}.realm-form-page>.card{min-width:75%;max-width:90%}.realm-form-page form #realm-form-title{width:300px}.realm-form-page dialog{min-width:30vw;max-width:min(600px,80vw)}#realm-location-content,#realm-location-loading-wrapper{width:100%;max-width:1024px}#realm-location-loading-wrapper.card{min-height:432px}#realm-location-content>header{min-height:42px;margin-bottom:24px}#realm-location-content section.card>div>button{border-bottom:1px solid var(--color-border-muted);width:100%}#realm-location-content section.card>div>button:first-child{border-top:1px solid var(--color-border-muted)}#realm-location-content section.card nav>:is(a,button){border-bottom:1px solid var(--color-border-muted);width:100%}#realm-location-content section.card .button-list :is(button,a)>div:first-child{max-width:75%}#realm-location-content dialog{width:min(520px,90vw)}.npc-list-header{aspect-ratio:5/2;box-sizing:border-box}.npc-list-header>span{text-align:start}.npc-list-content{width:100%;max-width:860px}.npc-list-content>.npc-list-header{width:100%}.npc-list-content>header+div{border-top:1px solid var(--color-border-muted);width:100%;padding-top:36px}.npc-card{aspect-ratio:5/6;width:25vw;min-width:220px;max-width:260px;height:auto;overflow:hidden}.npc-card>header>.profile-picture{background-position:50%;background-size:cover;border-radius:50%;width:48px;height:48px}.npc-card>header>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.npc-card>p{text-overflow:ellipsis;-webkit-line-clamp:5;-webkit-box-orient:vertical;max-height:145px;display:-webkit-box;overflow:hidden}.npc-form-page>div{width:75%;max-width:1024px}#npc-form>div:first-child>div{width:400px;max-width:100%}#npc-form>div:first-child>div>:is(input,textarea,select){width:100%}.npc-form-page dialog{min-width:30vw;max-width:min(600px,80vw)}.realm-play-header{aspect-ratio:5/2;box-sizing:border-box}.realm-play-header>span{text-align:start}.realm-play-content{width:100%;max-width:860px}.realm-play-content>.realm-play-header{width:100%}.realm-play-content>section,.realm-play-content>header+div{border-top:1px solid var(--color-border-muted);width:100%;padding-top:36px}.campaign-card>.col img{object-fit:cover;border-radius:50%;flex-shrink:0;width:24px;height:24px}.campaign-card>footer{width:100%}.campaign-card>footer>div+div{border-left:1px solid var(--color-border-muted);padding-left:24px}.campaign-card>footer>div{min-width:25%}.campaign-card,.character-template-card{aspect-ratio:5/6;width:25vw;min-width:220px;max-width:260px;height:auto;overflow:hidden}.character-template-card>header>.profile-picture{background-position:50%;background-size:cover;border-radius:50%;width:48px;height:48px}.character-template-card>header>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.character-template-card>.character-appearance{text-overflow:ellipsis;-webkit-line-clamp:5;-webkit-box-orient:vertical;max-height:145px;display:-webkit-box;overflow:hidden}.character-template-card>footer{border-top:1px solid var(--color-border-muted);width:100%;padding-top:12px}.character-template-form-page>.card{width:75%}.character-template-form-page>div:not(.card){width:100%}.character-template-form-page>div{max-width:1024px}#skill-sheet-fieldset>dialog{max-width:min(960px,90vw)}#skill-sheet-fieldset>dialog>div>*{width:100%}#skill-sheet-fieldset>header{width:100%;min-height:26px}#skill-sheet-fieldset.compact>header{margin-bottom:16px}.skill-cards-row{width:100%;max-width:606px}#skill-sheet-fieldset:not(.compact) .skill-cards-row>.card{width:186px}#skill-sheet-fieldset.compact .skill-cards-row>.card{width:150px}.skill-cards-row>.card>.row{width:100%}.skill-cards-row>.card :not(.skill-tooltip)>button{width:38px}.skill-cards-row>.card{position:relative}.skill-cards-row>.card .skill-tooltip{position:absolute;top:6px;right:8px}.skill-cards-row>.card .popup{width:200px;padding:12px 16px}.skill-cards-row>.card.selectable{cursor:pointer;animation:.2s ease-out forwards anim-button-glow-enter,2s ease-in-out .2s infinite anim-button-glow-pulse}#character-template-form>div:first-child>div{width:400px;max-width:100%}#character-template-form>div:first-child>div>:is(input,textarea){width:100%}.new-campaign-page>.realm-play-content>button{margin-top:26px}.fadeout-after2s{animation:2s forwards anim-fadeout}@keyframes anim-fadeout{0%,75%{opacity:1}to{opacity:0}}@keyframes anim-button-glow-enter{0%{box-shadow:var(--glow)}to{box-shadow:var(--glow-strong)}}@keyframes anim-button-glow-pulse{0%,to{box-shadow:var(--glow-strong)}50%{box-shadow:var(--glow-muted)}}header.blended-bg-img{padding:0 36px;position:relative}header.blended-bg-img:before{--mask-color:#000000d9;--mask:linear-gradient(to right, transparent 0, var(--mask-color) 48px), linear-gradient(to left, transparent 0, var(--mask-color) 40px), radial-gradient(ellipse 90% 50% at center, var(--mask-color) 25%, transparent 100%);background-image:var(--hero-image);content:"";-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-image:var(--mask);mask-image:var(--mask);-webkit-mask-composite:source-in;-webkit-mask-image:var(--mask);background-position:50%;background-size:cover;margin:auto;position:absolute;inset:0}header.blended-bg-img :is(h2,span){z-index:0}aside{background-color:var(--color-surface-1);height:calc(100vh - 64px);position:fixed;top:64px}aside:not(.overlay){width:220px}aside.overlay{z-index:3;width:100%}aside:not(.overlay)~#main-content{margin-left:220px}.sidebar-h-enter-active,.sidebar-h-leave-active{transition:transform .28s}.sidebar-h-enter-from,.sidebar-h-leave-to{transform:translate(-220px)}.sidebar-v-enter-active,.sidebar-v-leave-active{transition:transform .28s}.sidebar-v-enter-from,.sidebar-v-leave-to{transform:translateY(100%)}.background{background:radial-gradient(ellipse 80% 100% at 85% 40%, var(--color-background) 0%, transparent 22%), radial-gradient(ellipse 70% 200% at 66% bottom, var(--color-background-high) 0%, color-mix(in srgb, var(--color-background-high) 35%, transparent) 35%, transparent 70%), linear-gradient(to bottom left, var(--color-background-high) 0%, color-mix(in srgb, var(--color-background-high) 35%, transparent) 13%, transparent 30%), radial-gradient(ellipse at 85% 90%, var(--color-background-high) 0%, color-mix(in srgb, var(--color-background-high) 35%, transparent) 15%, color-mix(in srgb, var(--color-background-high) 5%, transparent) 30%, transparent 50%), var(--color-background-low)}.dark-theme .smoke-effect{isolation:isolate;position:relative;overflow:hidden}.dark-theme .smoke-effect:before{content:"";z-index:-2;pointer-events:none;background-image:url(/svg-effects/smoke.svg);background-repeat:repeat;background-size:min(100%,1080px);position:absolute}.dark-theme .smoke-effect:not(.animated):before{inset:0}.dark-theme .smoke-effect.animated:before{will-change:transform;height:calc(100% + 4320px);animation:88s linear infinite smoke-drift;top:0;left:-1080px;right:0}.dark-theme .smoke-effect:after{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(to bottom right, var(--color-background) 0%, transparent 33%), linear-gradient(to bottom, transparent 85%, var(--color-background) 100%);position:absolute;inset:0}@keyframes smoke-drift{0%{transform:translate(0,0)}to{transform:translate(1080px,-4320px)}}.surface-1{background:var(--color-surface-1)}.surface-2{background:var(--color-surface-2)}.surface-3{background:var(--color-surface-3)}button,a{font-family:inherit}button:not(.inline),a.primary,a.secondary,a.tertiary{text-align:center;box-sizing:border-box;isolation:isolate;flex-direction:row;justify-content:space-around;align-items:center;font-family:inherit;display:flex;position:relative}:is(button:not(.inline),a.primary,a.secondary,a.tertiary):not(.circular){border-radius:22px;min-height:44px}:is(button:not(.inline),a.primary,a.secondary,a.tertiary).circular{aspect-ratio:1;border-radius:50%}:is(button:not(.inline),a.primary,a.secondary,a.tertiary)>span{min-width:154px}:is(button,a.primary,a.secondary,a.tertiary):not(.inline)>span+svg{width:24px;height:24px;font-size:24px;position:absolute;right:12px}:is(button,a.primary,a.secondary,a.tertiary):not([disabled],.loading){cursor:pointer}:is(button,a.primary,a.secondary,a.tertiary):not([disabled],.loading,.inline){transition:box-shadow .18s ease-out}:is(button,a.primary,a.secondary,a.tertiary):is(:not([disabled],.loading,.inline):hover,.loading){box-shadow:var(--glow)}:is(button:not(.inline),a.primary,a.secondary,a.tertiary)>svg>.icn-accent{transition:fill .18s ease-out}.dark-theme :is(button.tertiary,a.tertiary){transition:color .18s ease-out}.dark-theme :is(button.tertiary,a.tertiary):is(:not([disabled],.loading):hover,.loading){color:var(--color-glow-core);--color-icn-accent:var(--color-glow-core)}:is(button:not(.inline,.tertiary),a.primary,a.secondary,a.tertiary):is(:not([disabled],.loading):hover,.loading){--color-icn-accent:var(--color-glow-core)}:is(button,a.primary,a.secondary,a.tertiary):not([disabled],.inline):before{content:"";border-radius:inherit;filter:blur(8px);opacity:0;pointer-events:none;z-index:-1;transition:opacity .22s ease-out;position:absolute}.light-theme :is(button,a.primary,a.secondary,a.tertiary):not([disabled],.inline):before{background:radial-gradient(ellipse 100% 100% at center, transparent 33%, var(--color-glow-outer) 50%, var(--color-glow) 100%);inset:0}.dark-theme :is(button,a.primary,a.secondary,a.tertiary):not([disabled],.inline):before{background:radial-gradient(ellipse at center, var(--color-glow) 0%, var(--color-glow-outer) 45%, transparent 72%);inset:-12px}:is(button,a.primary,a.secondary,a.tertiary):is(:not([disabled],.loading,.inline):hover,:not([disabled],.inline).loading):before{opacity:1}:is(button,a.primary,a.secondary,a.tertiary):not([disabled],.inline).loading{animation:.2s ease-out forwards anim-button-glow-enter,2s ease-in-out .2s infinite anim-button-glow-pulse}:is(button.primary,a.primary,button:not(.tertiary,.inline,.secondary)):not(:disabled){background:linear-gradient(135deg, var(--color-accent-primary) 66%, var(--color-accent-gradient));border:solid 1px var(--color-accent-primary);color:var(--color-text-on-accent);--color-icn-accent:var(--color-text-on-accent);background-position:100%;background-size:200% 100%;transition:background-position .1s}:is(button.primary,a.primary,button:not(.tertiary,.inline,.secondary)):is(:not([disabled]):hover,.loading){background-position:0}:is(button:not(.tertiary,.inline),a.primary,a.secondary):disabled{background-color:var(--color-disabled);box-shadow:none;color:var(--color-text-on-accent);--color-icn-accent:var(--color-text-on-accent);border:none}button.secondary,a.secondary{background-color:var(--color-accent-secondary);color:var(--color-text-on-accent);--color-icn-accent:var(--color-text-on-accent);border:none}button.tertiary,a.tertiary{color:var(--color-accent-tertiary);background-color:#0000;font-weight:500}:is(button.tertiary,a.tertiary):not(.borderless){border:2px solid var(--color-accent-tertiary)}:is(button.tertiary,a.tertiary).borderless,button.inline{border:none}:is(a,button).tertiary:disabled{border-color:var(--color-border-muted);color:var(--color-border-muted);--color-icn-accent:var(--color-border-muted);background-color:#0000}button.inline{color:inherit;text-align:inherit;background-color:#0000;border:none;padding:0}a{color:inherit;text-decoration:none}a:not(.primary,.secondary,.tertiary)>span:only-child{color:var(--color-accent-primary);text-decoration:underline}.button-list{width:100%}.button-list :is(a:hover,button:hover,.selected){background-color:var(--color-accent-primary);color:var(--color-text-on-accent);--color-icn-accent:var(--color-glow-core)}.button-list>:is(a,button,div){flex-direction:row;justify-content:space-between;align-items:center;display:flex}.button-list>div.selected{cursor:default}.button-list :is(a,button,.selected){padding:12px 0}.button-list :is(a,button,.selected)>:first-child{margin-left:16px}.button-list :is(a,button,.selected)>:last-child{margin-right:16px}.popup>.button-list>:is(a,button):first-child{border-radius:12px 12px 0 0}.popup>.button-list>:is(a,button):last-child{border-radius:0 0 12px 12px}.popup>.button-list>:is(a,button):only-child{border-radius:12px}.card{box-sizing:border-box;border-radius:12px}:not(.card) .card:not(.dashed-border.inline){background-color:var(--color-surface-1)}.card .card:not(.dashed-border.inline,.muted){background-color:var(--color-surface-3)}.card.dashed-border.inline{background-color:#0000}.card:not(.compact,.wide){padding:0 20px 24px}.card.compact{padding:0 10px 10px}.card.wide{padding:0 36px 32px}.card>header{width:100%;padding:0}.card:not(.compact)>:is(header,h1,h2,h3,h4,h5,h6):first-child{margin-top:12px}.card.compact>:is(header,h1,h2,h3,h4,h5,h6){margin-top:8px}.card:not(.compact,.wide)>:not(header,h1,h2,h3,h4,h5,h6):first-child{margin-top:24px;display:block}.card.compact>:not(header,h1,h2,h3,h4,h5,h6):first-child{margin-top:10px;display:block}.card.wide>:not(header,h1,h2,h3,h4,h5,h6):first-child{margin-top:36px;display:block}.light-theme .card:not(.dashed-border){box-shadow:0 8px 24px var(--color-shadow-default)}:is(a,button).card{transition:box-shadow .15s}.light-theme :is(a,button).card:hover,.dark-theme :is(a,button).card:hover{box-shadow:var(--glow)}.card.bg-img :is(h1,h2,h3,h4,h5,h6,p,span,svg){color:var(--color-text-on-accent);--color-icn-accent:var(--color-text-on-accent)}.card.bg-img{background-size:cover;position:relative}.card.bg-img.col.just:before{content:"";z-index:0;background:linear-gradient(#000 0%,#0000 40% 60%,#000 100%);border-radius:12px;position:absolute;inset:0}.card.bg-img:not(.col.just):before{content:"";opacity:.5;z-index:0;background:#000;border-radius:12px;position:absolute;inset:0}.card.bg-img>*{z-index:1}:is(a,button).card.bg-img.col.just:before{opacity:1;transition:opacity .15s}:is(a,button).card.bg-img.col.just:hover:before{opacity:.85}:is(a,button).card.bg-img:not(.col.just):hover:before{opacity:.45}.dark-theme .card:not(.bg-img,.dashed-border){border:1px solid var(--color-border-muted)}:is(a,button).card.dashed-border{border:2px dashed var(--color-accent-tertiary)}:root{--color-accent-primary:#d65414;--color-accent-secondary:#f4733e;--color-accent-tertiary:#e56328;--color-icn-accent:#f4733e}:root.dark-theme{--color-accent-gradient:#6b2b0d;--color-background:#2e160a;--color-background-low:#210e05;--color-background-high:#5c270d;--color-surface-1:#2d1406;--color-surface-2:#4b200b;--color-surface-3:#5e270d;--color-surface-hover:#702f0e;--color-text-muted:#b09a92;--color-text-default:#edd8cc;--color-text-low-contrast:#dbc4b4;--color-text-on-accent:#fff;--color-success:#4ade80;--color-warning:#fbbf24;--color-error:#ee1a1a;--color-error-muted:#ff8a8a;--color-info:#60a5fa;--color-disabled:#48342a;--color-border-muted:#8c6238;--color-border-default:#c6c5c2;--color-glow:#fa8800;--color-glow-core:#ffd27a;--color-glow-outer:#d6541466;--color-glow-failure-core:#ff4d4d;--color-glow-failure:#c20;--color-glow-failure-outer:#b4141466}:root.light-theme{--color-accent-gradient:#efad90;--color-background:#ffebe6;--color-background-low:#ffe0d9;--color-background-high:#fff;--color-surface-1:#fff8f6;--color-surface-2:#fff1ee;--color-surface-3:#ffebe6;--color-surface-hover:#f3bfa9;--color-text-muted:#b09a92;--color-text-default:#4c2311;--color-text-low-contrast:#4c2311;--color-text-on-accent:#fff;--color-success:#16a34a;--color-warning:#d97706;--color-error:#cc1a1a;--color-error-muted:#dd5a5a;--color-info:#2563eb;--color-disabled:#beb2ac;--color-border-muted:#e0bfb0;--color-border-default:#c6c5c2;--color-glow:#fa0;--color-glow-core:#ffdc96;--color-glow-outer:#f482374d;--color-glow-failure-core:#f66;--color-glow-failure:#d20;--color-glow-failure-outer:#c81e1e4d;--color-shadow-default:#52271426;--color-shadow-strong:#52271450}dialog{background-color:var(--color-surface-2);box-sizing:border-box;color:inherit;border:none;border-radius:12px;padding:0 20px 24px}dialog>:is(header,h1,h2,h3,h4,h5,h6):first-child{margin-top:12px}dialog>:not(header,h1,h2,h3,h4,h5,h6):first-child{margin-top:24px}dialog::backdrop{opacity:.6;background:#000}dialog>.col>textarea,dialog>.col>header{width:100%}dialog>div>section>*+*{margin-top:8px}dialog>div>section>ul{margin-left:16px}.dice-tray{aspect-ratio:1;width:100%;max-width:420px;height:auto}.dice-tray>canvas{aspect-ratio:1;width:100%}.dice-tray>canvas:hover{cursor:pointer}form{flex-direction:column;width:100%;display:flex}form>:is(dialog,div,input,select,textarea)+:is(div,label,fieldset),form>:not(div.row)>:is(dialog,div,input,select,textarea)+:is(div,label,fieldset){margin-top:30px}form small+:is(button[type=button],label,fieldset){margin-top:14px}form>button[type=submit]{align-self:center;max-width:160px;margin-top:32px}form>div:last-child{margin-top:32px}form label{flex-direction:row;justify-content:flex-start;align-items:center;gap:4px;margin:0 0 2px 2px;display:flex}form label:has(+:required,+div :required):after{content:"*";color:var(--color-text-muted)}form label:has(+:disabled){color:var(--color-text-muted)}form small{min-height:16px;margin-top:2px}form fieldset{width:100%}:root{--glow:0 0 3px 1px var(--color-glow-core), 0 0 8px 2px var(--color-glow), 0 0 18px 8px var(--color-glow-outer);--glow-muted:0 0 2px 0 var(--color-glow-core), 0 0 6px 2px var(--color-glow), 0 0 14px 6px var(--color-glow-outer);--glow-strong:0 0 4px 1px var(--color-glow-core), 0 0 12px 5px var(--color-glow), 0 0 24px 10px var(--color-glow-outer)}.glow{box-shadow:var(--glow)}.img-crop-area{cursor:grab;background-color:var(--color-surface-1);border-radius:4px;width:100%;position:relative;overflow:hidden}.img-crop-area:active{cursor:grabbing}.img-crop-area>img{transform-origin:0 0;-webkit-user-select:none;user-select:none;max-width:none;max-height:none;position:absolute;top:0;left:0}.img-crop-area-outline{pointer-events:none;z-index:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 9999px #00000080}select,textarea,input:not([type=range]){color:inherit;font-family:inherit}textarea{resize:vertical}input[type=checkbox]{appearance:none;background-color:var(--color-disabled);cursor:pointer;border-radius:12px;width:40px;height:24px;margin:0;transition:background-color .2s;position:relative}input[type=checkbox]:before{background-color:var(--color-text-on-accent);content:"";border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px}input[type=checkbox]:checked{background-color:var(--color-accent-primary);border-color:var(--color-accent-primary)}input[type=checkbox]:checked:before{transform:translate(16px)}input[type=checkbox]:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}input[type=checkbox]+span{align-self:center;margin-left:8px}select{padding:4px 2px}select,textarea,input:not([type=submit],[type=button],[type=checkbox]){box-sizing:border-box;background:0 0;border-radius:6px;min-height:28px}input[type=range]{accent-color:var(--color-accent-primary);width:100%}:not(.chat-input)>:is(fieldset,select,textarea,input:not([type=submit],[type=button],[type=checkbox])):not(:disabled){border:2px ridge var(--color-border-default)}:is(fieldset,select,textarea,input:not([type=submit],[type=button],[type=checkbox])):disabled{border:2px solid var(--color-border-muted);color:var(--color-text-muted)}:is(textarea,input,select):user-invalid:not(:focus){border:solid var(--color-error)}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}:is(input,select)~small.error{width:0;min-width:100%;max-width:100%;display:inline-block}.chat-input{background-color:var(--color-surface-1);border:1px solid var(--color-border-muted);box-sizing:border-box;border-radius:14px;flex-direction:row;align-items:center;gap:18px;padding:18px 16px;display:flex}.light-theme .chat-input{box-shadow:0 2px 16px 0 var(--color-shadow-default)}.chat-input>textarea{resize:none;border:none;outline:none;flex-grow:1;min-width:0;min-height:auto;padding:0}.chat-input>button.mic{font-size:28px}.chat-input>button{aspect-ratio:1}.chat-input>button.send>svg{margin-left:2px}div.password-row{position:relative}div.password-row>button{position:absolute;right:8px}div.password-row>input{width:100%;padding-right:38px}fieldset{box-sizing:border-box;margin-left:0;margin-right:0}fieldset:not(.compact){border:2px ridge var(--color-border-default);border-radius:6px;padding:8px 24px 36px}fieldset.compact{border-top:2px ridge var(--color-border-default);border-bottom:none;border-left:none;border-right:none;padding:0 0 12px}fieldset.compact>legend{margin-left:12px}fieldset.compact>header{margin:8px 0 12px 26px}body{margin:0}main{min-height:calc(100vh - 64px)}.col{flex-direction:column;display:flex}.row{flex-direction:row;display:flex}.row:not(.nowrap){flex-wrap:wrap}:is(.col,.row):not(.compact,.semi-compact,.wide){gap:24px}:is(.col,.row).semi-compact{gap:12px}:is(.col,.row).compact{gap:0}:is(.col,.row).wide{gap:48px}:is(.col,.row):not(.center,.end,.just,.start){justify-content:space-around}:is(.col,.row).center{justify-content:center}:is(.col,.row).end{justify-content:flex-end}:is(.col,.row).just{justify-content:space-between}:is(.col,.row).start{justify-content:flex-start}.col:not(.items-start,.items-center,.items-end,.items-stretch){align-items:start}.row:not(.items-start,.items-center,.items-end,.items-stretch){align-items:center}:is(.col,.row).items-start{align-items:start}:is(.col,.row).items-center{align-items:center}:is(.col,.row).items-end{align-items:end}:is(.col,.row).items-stretch{align-items:stretch}:not(.col,.row).start,.self-start{align-self:start}:not(.col,.row).center,.self-center{align-self:center}:not(.col,.row).end,.self-end{align-self:end}ul{margin:0;padding:0 0 0 16px}.message-bubble.npc,.message-bubble.user{border-bottom:1px solid var(--color-border-muted);border-right:1px solid var(--color-border-muted);border-top:1px solid var(--color-border-muted);box-sizing:border-box;border-radius:12px;padding:12px 16px}.message-bubble.user{background-color:var(--color-surface-1);border-left:4px solid var(--color-accent-primary)}.message-bubble.npc{background-color:var(--color-surface-2);border-left:4px solid var(--color-accent-secondary)}.light-theme .message-bubble:is(.npc,.user){box-shadow:0 4px 16px var(--color-shadow-default)}.message-bubble h4{text-transform:uppercase;margin-bottom:4px}.message-bubble.npc p{font-style:italic}.popup-container{anchor-scope:--popup-anchor}.popup-container>button{anchor-name:--popup-anchor}.popup{border:1px solid var(--color-border-default);background-color:var(--color-surface-2);position-anchor:--popup-anchor;z-index:2;border-radius:12px;position:fixed}.light-theme .popup.y-bottom{box-shadow:0 6px 12px var(--color-shadow-strong)}.light-theme .popup.y-top{box-shadow:0 -6px 12px var(--color-shadow-strong)}.light-theme .popup.y-center{box-shadow:0 0 12px var(--color-shadow-strong)}.popup.y-top.x-left{position-area:top center;right:anchor(right)}.popup.y-top.x-center{position-area:top center}.popup.y-top.x-right{position-area:top center;left:anchor(left)}.popup.y-center.x-left{position-area:center left}.popup.y-center.x-center{position-area:center center}.popup.y-center.x-right{position-area:center right}.popup.y-bottom.x-left{position-area:bottom center;right:anchor(right)}.popup.y-bottom.x-center{position-area:bottom center}.popup.y-bottom.x-right{left:anchor(left);position-area:bottom center}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}:is(div,header,section).loading{background:linear-gradient(120deg, transparent 25%, var(--color-text-muted) 50%, transparent 75%);background-size:400% 100%;animation:2s linear infinite skeleton-shimmer}:is(div,header,section).loading>*{display:none}.toast{background-color:var(--color-surface-3);box-sizing:border-box;cursor:pointer;border-radius:8px;min-height:62px;margin-bottom:8px;padding:12px 20px}.toast:not(.error,.warn){border:1px solid var(--color-border-muted)}.toast.error{border:2px solid var(--color-error)}.toast.warn{border:2px solid var(--color-warning)}.toast-enter-active,.toast-leave-active{transition:all .3s}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono/JetBrainsMono-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono/JetBrainsMono-Italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono/JetBrainsMono-Light.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono/JetBrainsMono-LightItalic.woff2)format("woff2");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono/JetBrainsMono-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono/JetBrainsMono-BoldItalic.woff2)format("woff2");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/space-grotesk/SpaceGrotesk-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/space-grotesk/SpaceGrotesk-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Noto Serif;src:url(/fonts/noto-serif/NotoSerif-Italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Noto Serif;src:url(/fonts/noto-serif/NotoSerif-BoldItalic.woff2)format("woff2");font-weight:700;font-style:italic;font-display:swap}body{color:var(--color-text-default);font-family:JetBrains Mono,monospace}svg{width:auto;height:1em}strong:not(.nohighlight){color:var(--color-accent-secondary)}h1,h2,h3{color:var(--color-text-low-contrast);font-family:Space Grotesk,sans-serif}h1{margin:0;font-size:32px}h1+svg,h1+button>svg,h1+div>button>svg{color:var(--color-text-low-contrast);min-width:34px;min-height:34px;font-size:34px}h2{margin:0;font-size:24px}h2+svg,h2+button>svg{color:var(--color-text-low-contrast);min-width:26px;min-height:26px;font-size:26px}h3{margin:0;font-size:20px}h3+svg,h3+button>svg{color:var(--color-text-low-contrast);min-width:22px;min-height:22px;font-size:22px}h4{margin:0;font-size:16px}h4+svg,h4+button>svg{min-width:18px;min-height:18px;font-size:18px}h5{margin:0;font-size:14px}h5+svg,h5+button>svg{min-width:16px;min-height:16px;font-size:16px}h6{margin:0;font-size:12px}h6+svg,h6+button>svg{min-width:14px;min-height:14px;font-size:14px}p{margin:0;font-size:16px}span{font-size:16px}span+svg,span+button>svg{min-width:24px;min-height:24px;font-size:24px}small{font-size:13px}small+svg,small+button>svg{min-width:18px;min-height:18px;font-size:18px}select,textarea,input:not([type=submit],[type=button]){font-size:16px}select+button>svg,textarea+button>svg,input:not([type=submit],[type=button])+button>svg{min-width:24px;min-height:24px;font-size:24px}:is(p,span,small,strong,h1,h2,h3,h4,h5,h6,svg).error:not(.muted),.error:not(.muted) :is(p,span,small,strong,h1,h2,h3,h4,h5,h6,svg){color:var(--color-error)}:is(p,span,small,strong,h1,h2,h3,h4,h5,h6,svg).error.muted,.error.muted :is(p,span,small,strong,h1,h2,h3,h4,h5,h6,svg){color:var(--color-error-muted)}:is(p,span,small,strong,h1,h2,h3,h4,h5,h6,svg).success,.success :is(p,span,small,strong,h1,h2,h3,h4,h5,h6,svg){color:var(--color-success)}:is(p,span,small,strong,h1,h2,h3,h4,h5,h6,svg).muted:not(.error){color:var(--color-text-muted)}:is(p,span,small,strong,h1,h2,h3,h4,h5,h6,svg).highlight{color:var(--color-accent-secondary)}svg>.icn-accent{fill:var(--color-icn-accent)}.size-s{font-size:18px}svg.size-s{min-width:18px;min-height:18px}.size-m{font-size:24px}svg.size-m{min-width:24px;min-height:24px}.size-l{font-size:34px}svg.size-l{min-width:34px;min-height:34px}.size-xl{font-size:42px}svg.size-xl{min-width:42px;min-height:42px;font-size:42px}.handwritten{font-family:Noto Serif,serif;font-style:italic}.underline{text-decoration:underline}:is(p,span,small,strong,h1,h2,h3,h4,h5,h6,header).center{text-align:center}
