.confirm-scrim{z-index:9;padding:20px calc(16px + env(safe-area-inset-left)) calc(20px + env(safe-area-inset-bottom));padding-top:calc(20px + env(safe-area-inset-top));cursor:default;background:#14101fd1;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.confirm-card{background:var(--stone);border:1px solid var(--stone-edge,#3a2f52);width:min(330px,100%);padding:18px 16px 16px;box-shadow:0 10px #14101f80}.confirm-heading{font-family:var(--font-px);color:var(--torch);margin:0;font-size:11px;font-weight:400;line-height:1.7}.confirm-body{font-family:var(--font-mono);color:var(--parchment);margin:12px 0 0;font-size:12px;line-height:1.65}.confirm-actions{gap:8px;margin-top:18px;display:flex}.confirm-actions button{min-height:48px;font-family:var(--font-px);color:var(--parchment);border:1px solid var(--stone-edge,#3a2f52);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;flex:1 1 0;padding:12px 10px;font-size:9px;line-height:1.6}.confirm-actions .confirm-go{color:var(--void);background:var(--potion);border-color:var(--potion)}.sfx-mute{width:44px;height:44px;color:var(--parchment);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex:none;justify-content:center;align-items:center;margin:-10px -10px -10px 0;padding:0;font-size:17px;line-height:1;display:flex}.sfx-mute[data-muted=true]{opacity:.45}.title-screen{--stone-edge:#3a2f52;--dim:#9c92b8;background:var(--void);color:var(--parchment);touch-action:manipulation;cursor:pointer;justify-content:center;font-family:system-ui,sans-serif;display:flex;position:fixed;inset:0;overflow:hidden}.title-col{flex-direction:column;width:min(390px,100vw);min-height:0;display:flex}.title-top{padding:14px 16px 8px;padding-top:calc(14px + env(safe-area-inset-top));flex:none;justify-content:space-between;align-items:center;gap:10px;display:flex}.title-top .kicker{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);font-size:10px}.title-logo{text-align:center;flex:none;padding:6px 16px 12px}.title-logo h1{font-family:var(--font-px);color:var(--parchment);text-shadow:3px 3px #e85d9b73;margin:0;font-size:clamp(19px,6.3vw,30px);font-weight:400;line-height:1.5}.title-logo .tagline{font-family:var(--font-mono);color:var(--dim);margin:12px 0 0;font-size:11px;line-height:1.5}.title-set{border:1px solid var(--stone-edge);background-color:var(--stone);min-height:180px;image-rendering:pixelated;background-position:50% 45%;background-repeat:no-repeat;background-size:cover;flex:auto;margin:0 16px;position:relative;overflow:hidden}.title-set:after{content:"";pointer-events:none;background:linear-gradient(#14101f80,#14101fe0);position:absolute;inset:0}.title-cast{z-index:1;width:100%;height:100%;image-rendering:pixelated;pointer-events:none;position:absolute;inset:0}.title-enter{z-index:2;text-align:center;font-family:var(--font-px);color:var(--torch);pointer-events:none;font-size:10px;line-height:1.6;animation:1.2s steps(2,start) infinite title-blink;position:absolute;bottom:12px;left:0;right:0}@keyframes title-blink{0%,to{opacity:1}50%{opacity:.15}}.title-menu{flex-direction:column;flex:none;gap:8px;padding:12px 16px 0;display:flex}.title-menu[hidden]{display:none}.title-menu button{min-height:48px;font-family:var(--font-px);color:var(--parchment);background:var(--stone);border:1px solid var(--stone-edge);cursor:pointer;padding:12px 14px;font-size:10px;line-height:1.6}.title-menu button.primary{color:var(--void);background:var(--torch);border-color:var(--torch)}.title-menu button.danger{color:var(--dim);background:0 0}.title-slack{flex:none;min-height:12px}.title-foot{min-height:calc(16px + env(safe-area-inset-bottom));flex:none}@media (prefers-reduced-motion:reduce){.title-enter{animation:none}}.home-button{width:44px;height:44px;color:var(--parchment);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex:none;justify-content:center;align-items:center;margin:-10px 0 -10px -10px;padding:0;font-size:19px;line-height:1;display:flex}.creator{--stone-edge:#3a2f52;--dim:#9c92b8;background:var(--void);color:var(--parchment);touch-action:manipulation;justify-content:center;font-family:system-ui,sans-serif;display:flex;position:fixed;inset:0;overflow:hidden}.creator-col{background-color:var(--void);width:min(390px,100vw);height:100%;min-height:0;image-rendering:pixelated;background-image:radial-gradient(90% 45% at 50% 28%,#2c2340,#16111f 70%);background-position:50%;background-repeat:no-repeat;background-size:cover;flex-direction:column;display:flex;position:relative;overflow:hidden}.creator-doll{z-index:1;width:100%;height:100%;image-rendering:pixelated;pointer-events:none;position:absolute;inset:0}.creator-air{flex:auto;min-height:0}.creator .px{font-family:var(--font-px);font-weight:400;line-height:1.6}.creator .mono{font-family:var(--font-mono)}.creator-top{z-index:3;padding:14px 16px 30px;padding-top:calc(14px + env(safe-area-inset-top));pointer-events:none;background:linear-gradient(#14101ff2 30%,#14101f99 62%,#14101f00);flex:none;justify-content:space-between;align-items:center;gap:10px;display:flex;position:relative}.creator-top .sfx-mute,.creator-top .home-button{pointer-events:auto}.creator-top .title{color:var(--torch);font-size:11px}.creator-top .party{color:var(--dim);letter-spacing:.1em;font-size:10px}.creator-top .party b{color:var(--mana)}.creator-chips{z-index:3;flex:none;justify-content:space-between;align-items:flex-end;padding:0 12px 8px;display:flex;position:relative}.creator-chips .anim{gap:6px;display:flex}.creator-chips button{min-width:44px;min-height:44px;font-family:var(--font-mono);letter-spacing:.08em;color:var(--parchment);cursor:pointer;background:#14101f9e;border:1px solid #a094c452;border-radius:2px;padding:5px 10px;font-size:10px}.creator-chips button[aria-pressed=true]{color:var(--torch);border-color:var(--torch);background:#14101fd9}.creator-chips .flip{font-size:20px;line-height:1}.creator-panel{z-index:3;background:linear-gradient(#1c162ae0,#181324f5 22%);border-top:1px solid #a094c438;flex-direction:column;flex:none;min-width:0;height:38dvh;min-height:318px;display:flex;position:relative;box-shadow:0 -14px 28px #0a07128c}.creator-name{flex:none;align-items:center;gap:10px;padding:10px 16px 2px;display:flex}.creator-name input{background:var(--stone);border:1px solid var(--stone-edge);min-height:44px;color:var(--parchment);font-family:var(--font-mono);-webkit-user-select:text;user-select:text;touch-action:manipulation;outline:none;flex:1;padding:10px 12px;font-size:16px}.creator-name input:focus{border-color:var(--potion)}.creator-name .dice{border:1px solid var(--stone-edge);background:var(--stone);min-width:48px;min-height:44px;color:var(--parchment);cursor:pointer;font-size:18px}.creator-slots{scrollbar-width:none;touch-action:pan-x;flex:none;gap:8px;padding:8px 16px 4px;display:flex;overflow-x:auto}.creator-slots::-webkit-scrollbar{display:none}.creator-slots button{min-height:44px;font-family:var(--font-mono);letter-spacing:.06em;border:1px solid var(--stone-edge);background:var(--stone);color:var(--dim);text-transform:uppercase;cursor:pointer;flex:none;padding:8px 14px;font-size:11px}.creator-slots button[aria-selected=true]{color:var(--void);background:var(--torch);border-color:var(--torch);font-weight:600}.creator-items{--cell:106px;scrollbar-width:none;touch-action:pan-x;gap:10px;padding:8px 16px;display:flex;overflow-x:auto}.creator-items::-webkit-scrollbar{display:none}.creator-items button{flex:0 0 var(--cell);width:var(--cell);height:var(--cell);border:1px solid var(--stone-edge);background:var(--stone);cursor:pointer;justify-content:center;align-items:center;min-height:44px;padding:0;display:flex;position:relative}.creator-items canvas{width:auto;max-width:82%;height:82%;image-rendering:pixelated}.creator-items button[aria-pressed=true]{border-color:var(--potion);box-shadow:0 0 0 1px var(--potion)}.creator-items button.fresh:before,.creator-dye button.fresh:before{content:"new!";z-index:1;background:var(--potion);color:var(--void);font-family:var(--font-px);pointer-events:none;padding:2px 4px;font-size:6px;line-height:1;position:absolute;top:-5px;right:-4px}.creator-dye button.fresh{position:relative;overflow:visible}.creator-items button.none:before{content:"";border:1px dashed var(--dim);width:45%;height:45%}.creator-items.loading button{animation:1.1s ease-in-out infinite creator-shimmer}@keyframes creator-shimmer{0%,to{opacity:.35}50%{opacity:.7}}.creator-dye{scrollbar-width:none;touch-action:pan-x;flex:none;align-items:center;gap:10px;padding:2px 16px 10px;display:flex;overflow-x:auto}.creator-dye::-webkit-scrollbar{display:none}.creator-dye[hidden]{display:none}.creator-dye button{border:1px solid var(--stone-edge);background:var(--stone);cursor:pointer;background-clip:content-box;flex:none;width:44px;height:44px;padding:9px}.creator-dye button[aria-pressed=true]{border-color:var(--torch);box-shadow:0 0 0 1px var(--torch)}.creator-slack{flex:auto;min-height:0}.creator-scroll{flex:none;min-width:0;position:relative}.creator-scroll[hidden]{display:none}.creator-scroll .chev{z-index:1;width:14px;color:var(--dim);text-shadow:0 0 4px #14101fe6;pointer-events:none;align-items:center;font-size:17px;line-height:1;display:none;position:absolute;top:0;bottom:0}.creator-scroll .chev-start{justify-content:flex-start;left:2px}.creator-scroll .chev-end{justify-content:flex-end;right:2px}.creator-scroll.scrolls:not(.at-start) .chev-start,.creator-scroll.scrolls:not(.at-end) .chev-end{display:flex}@supports (animation-timeline:scroll()){@property --fade-start{syntax:"<length>";inherits:false;initial-value:0}@property --fade-end{syntax:"<length>";inherits:false;initial-value:0}.creator-slots,.creator-items,.creator-dye{-webkit-mask-image:linear-gradient(to right, transparent, #000 var(--fade-start)), linear-gradient(to left, transparent, #000 var(--fade-end));mask-image:linear-gradient(to right, transparent, #000 var(--fade-start)), linear-gradient(to left, transparent, #000 var(--fade-end));animation-name:creator-fade-start,creator-fade-end;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(self inline);-webkit-mask-composite:source-in;mask-composite:intersect}@keyframes creator-fade-start{0%{--fade-start:0px}12%,to{--fade-start:34px}}@keyframes creator-fade-end{0%,88%{--fade-end:34px}to{--fade-end:0px}}}.creator-bottom{z-index:3;padding:12px 16px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(#14101fd9,#14101ff7);border-top:1px solid #a094c438;flex:none;gap:10px;display:flex;position:relative}.creator-bottom button{text-align:center;min-height:48px;font-family:var(--font-px);border:1px solid var(--stone-edge);background:var(--stone);color:var(--parchment);cursor:pointer;flex:1;padding:14px 4px;font-size:9px;line-height:1.6}.creator-bottom button.primary{background:var(--potion);border-color:var(--potion);color:var(--void)}.creator-bottom button[aria-disabled=true]{opacity:.45}.creator-scrim{z-index:4;background:#14101fd1;animation:.22s ease-out creator-scrim-in;position:fixed;inset:0}.creator-scrim[hidden]{display:none}.creator-portrait{left:10px;right:10px;top:calc(60px + env(safe-area-inset-top));z-index:5;border:1px solid var(--torch);background:var(--void);flex-direction:column;gap:10px;height:min(62dvh,520px);padding:10px;animation:.22s ease-out creator-portrait-in;display:flex;position:absolute;box-shadow:0 12px 32px #0009}.creator-portrait[hidden]{display:none}.creator-portrait img{object-fit:contain;background:var(--stone);flex:auto;width:100%;min-height:0}.creator-portrait img[hidden],.creator-portrait .mono[hidden]{display:none}.creator-portrait .mono{text-align:center;color:var(--dim);flex:auto;justify-content:center;align-items:center;margin:0;padding:0 20px;font-size:12px;display:flex}.creator-portrait .actions{flex:none;gap:10px;display:flex}.creator-portrait .actions button{font-family:var(--font-px);color:var(--parchment);background:var(--stone);flex:1;font-size:9px}.creator-portrait .actions button:first-child{color:var(--torch);border-color:var(--torch)}@keyframes creator-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes creator-portrait-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.creator-toast{z-index:6;background:var(--stone);border:1px solid var(--torch);color:var(--parchment);font-family:var(--font-mono);pointer-events:none;opacity:0;padding:10px 16px;font-size:12px;transition:opacity .16s ease-out;position:absolute;bottom:92px;left:50%;transform:translate(-50%)}.creator-toast.on{opacity:1}.scene{--stone-edge:#3a2f52;--dim:#9c92b8;background:var(--void);color:var(--parchment);touch-action:manipulation;justify-content:center;font-family:system-ui,sans-serif;display:flex;position:fixed;inset:0;overflow:hidden}.scene-col{flex-direction:column;width:min(390px,100vw);min-height:0;display:flex}.scene .px{font-family:var(--font-px);font-weight:400;line-height:1.6}.scene .mono{font-family:var(--font-mono)}.scene-top{padding:14px 16px 10px;padding-top:calc(14px + env(safe-area-inset-top));flex:none;justify-content:space-between;align-items:center;gap:10px;display:flex}.scene-top .title{color:var(--torch);font-size:11px}.scene-top .where{color:var(--dim);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.scene-stage{border:1px solid var(--stone-edge);background-color:var(--stone);min-height:180px;image-rendering:pixelated;background-position:50% 30%;background-repeat:no-repeat;background-size:cover;flex:auto;margin:0 16px;position:relative;overflow:hidden}.scene-stage:after{content:"";pointer-events:none;background:linear-gradient(#14101f73,#14101fd9);position:absolute;inset:0}.scene-cast{z-index:1;width:100%;height:100%;image-rendering:pixelated;pointer-events:none;position:absolute;inset:0}.scene-bust{z-index:2;border:1px solid var(--stone-edge);background:#14101fb8;justify-content:center;align-items:flex-end;width:96px;height:104px;display:flex;position:absolute;bottom:10px;left:10px;overflow:hidden}.scene-bust[hidden]{display:none}.scene-bust canvas,.scene-bust img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated}.scene-bust img{image-rendering:auto}.scene-presence{z-index:2;flex-direction:column;align-items:flex-end;gap:4px;display:flex;position:absolute;bottom:10px;right:10px}.scene-presence[hidden]{display:none}.scene-presence .who{border:1px solid var(--stone-edge);font-family:var(--font-px);color:var(--parchment);background:#14101fb8;padding:3px 6px;font-size:7px}.scene-presence .note{font-family:var(--font-mono);letter-spacing:.08em;color:var(--dim);font-size:9px}.scene-box{text-align:left;border:1px solid var(--torch);background:var(--stone);width:auto;min-height:150px;color:var(--parchment);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex:none;margin:10px 16px 0;padding:12px 14px 16px;display:block;position:relative}.scene-box .who{font-family:var(--font-px);color:var(--torch);margin-bottom:10px;font-size:9px;line-height:1.6;display:block}.scene-box .say{font-family:var(--font-mono);white-space:pre-wrap;max-height:92px;font-size:14px;line-height:1.55;display:block;overflow-y:auto}.scene-box .next{font-family:var(--font-px);color:var(--torch);font-size:8px;animation:.9s steps(2,start) infinite scene-blink;position:absolute;bottom:6px;right:10px}.scene-box[data-typing=true] .next,.scene-box[data-waiting=true] .next{visibility:hidden}@keyframes scene-blink{0%,to{opacity:1}50%{opacity:.25}}.scene-choices{padding:10px 16px calc(14px + env(safe-area-inset-bottom));flex-direction:column;flex:none;gap:8px;display:flex}.scene-choices[hidden]{display:none}.scene-choices button{text-align:left;min-height:48px;font-family:var(--font-mono);color:var(--parchment);background:var(--stone);border:1px solid var(--stone-edge);cursor:pointer;padding:12px 14px;font-size:13px;line-height:1.4}.scene-choices button[aria-pressed=true]{background:var(--potion);border-color:var(--potion);color:var(--void)}.scene-slack{min-height:calc(14px + env(safe-area-inset-bottom));flex:none}.dungeon{--stone-edge:#3a2f52;--dim:#9c92b8;background:var(--void);color:var(--parchment);touch-action:manipulation;justify-content:center;font-family:system-ui,sans-serif;display:flex;position:fixed;inset:0;overflow:hidden}.dungeon-col{flex-direction:column;width:min(390px,100vw);min-height:0;display:flex;position:relative}.dungeon .px{font-family:var(--font-px);font-weight:400;line-height:1.6}.dungeon .mono{font-family:var(--font-mono)}.dungeon-top{padding:14px 16px 10px;padding-top:calc(14px + env(safe-area-inset-top));flex:none;justify-content:space-between;align-items:center;display:flex}.dungeon-top .title{color:var(--torch);font-size:11px}.dungeon-top .back{min-width:44px;min-height:44px;font-family:var(--font-mono);letter-spacing:.08em;color:var(--dim);border:1px solid var(--stone-edge);cursor:pointer;background:0 0;padding:6px 12px;font-size:10px}.dungeon-rooms{flex:none;gap:6px;padding:0 16px 10px;display:flex}.dungeon-rooms .room{border:1px solid var(--stone-edge);background:var(--stone);min-height:44px;font-family:var(--font-mono);letter-spacing:.06em;color:var(--dim);text-transform:uppercase;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:9px;display:flex}.dungeon-rooms .room .glyph{font-size:15px;line-height:1}.dungeon-rooms .room[data-state=done]{color:var(--mana);border-color:var(--mana);opacity:.7}.dungeon-rooms .room[data-state=current]{color:var(--torch);border-color:var(--torch);box-shadow:0 0 0 1px var(--torch)}.dungeon-stage{border:1px solid var(--stone-edge);background:radial-gradient(ellipse 75% 55% at 50% 15%, #f2b13417, transparent 70%), var(--stone);flex:auto;min-height:0;margin:0 16px;position:relative}.dungeon-stage canvas{width:100%;height:100%;display:block}.dungeon-stage .speed{min-width:48px;min-height:44px;font-family:var(--font-mono);color:var(--torch);border:1px solid var(--stone-edge);cursor:pointer;background:#14101fcc;font-size:11px;position:absolute;top:8px;right:8px}.dungeon-stage .speed[hidden]{display:none}.dungeon-init{scrollbar-width:none;flex:none;gap:4px;padding:0 16px 8px;display:flex;overflow-x:auto}.dungeon-init[hidden]{display:none}.dungeon-init .chip{border:1px solid var(--stone-edge);background:var(--stone);min-width:0;font-family:var(--font-mono);letter-spacing:.04em;text-align:center;color:var(--dim);white-space:nowrap;text-overflow:ellipsis;flex:1 1 0;padding:5px 4px;font-size:9px;overflow:hidden}.dungeon-init .chip[data-side=party]{color:var(--parchment)}.dungeon-init .chip[data-state=done]{opacity:.45}.dungeon-init .chip[data-state=current]{color:var(--torch);border-color:var(--torch);box-shadow:0 0 0 1px var(--torch)}.dungeon-init .chip[data-state=dead]{opacity:.3;text-decoration:line-through}.dungeon-turn{flex-direction:column;gap:8px;display:flex}.dungeon-turn[hidden]{display:none}.dungeon-turn .acts{grid-template-columns:1fr 1fr;gap:8px;display:grid}.dungeon-turn .act{text-align:left;border:1px solid var(--stone-edge);background:var(--stone);min-height:48px;color:var(--parchment);cursor:pointer;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;padding:6px 8px;display:grid}.dungeon-turn .act .glyph{grid-row:1/span 2;font-size:16px;line-height:1}.dungeon-turn .act .label{font-family:var(--font-mono);font-size:11px;line-height:1.2}.dungeon-turn .act .note{font-family:var(--font-mono);letter-spacing:.06em;color:var(--dim);font-size:9px}.dungeon-turn .act[data-state=chosen]{border-color:var(--potion);box-shadow:0 0 0 1px var(--potion)}.dungeon-turn .act[data-kind=dash] .glyph{letter-spacing:-.08em;font-size:15px}.dungeon-turn .act[data-kind=dash][data-state=chosen]{border-color:var(--mana);box-shadow:0 0 0 1px var(--mana)}.dungeon-turn .act:disabled{opacity:.4;cursor:default}.dungeon-turn .act[data-limit]{border-color:var(--parchment);background:var(--potion);color:var(--void);grid-column:1/-1;animation:.9s ease-in-out infinite limit-pulse}.dungeon-turn .act[data-limit] .note{color:var(--void)}@keyframes limit-pulse{0%,to{background:var(--potion);box-shadow:0 0 #e85d9bb3}50%{background:var(--torch);box-shadow:0 0 0 12px #e85d9b00}}@media (prefers-reduced-motion:reduce){.dungeon-turn .act[data-limit]{animation:none}}.dungeon-turn .commit{gap:10px;display:flex}.dungeon-turn .commit[hidden]{display:none}.dungeon-turn .commit button{min-height:52px;font-family:var(--font-px);border:1px solid var(--stone-edge);background:var(--stone);color:var(--parchment);cursor:pointer;flex:1;font-size:9px;line-height:1.6}.dungeon-turn .commit .confirm{background:var(--mana);border-color:var(--mana);color:var(--void)}.dungeon-turn .commit .cancel{color:var(--dim);background:0 0}.dungeon-panel{padding:12px 16px calc(14px + env(safe-area-inset-bottom));flex-direction:column;flex:none;gap:10px;display:flex}.dungeon-hint{font-family:var(--font-mono);color:var(--dim);letter-spacing:.06em;text-align:center;min-height:16px;font-size:11px}.dungeon-actions{gap:10px;display:flex}.dungeon-actions button{min-height:52px;font-family:var(--font-px);border:1px solid var(--stone-edge);background:var(--stone);color:var(--parchment);cursor:pointer;flex:1;padding:14px 4px;font-size:9px;line-height:1.6}.dungeon-actions button.primary{background:var(--potion);border-color:var(--potion);color:var(--void)}.dungeon-actions button.ghost{color:var(--dim);background:0 0}.dungeon-actions[hidden]{display:none}.dungeon[data-phase=prepare] .dungeon-stage{flex:none;height:45dvh;min-height:210px}.dungeon[data-phase=prepare] .dungeon-panel{flex:auto;gap:8px;min-height:0;padding-top:8px}.dungeon-prep{flex-direction:column;flex:auto;gap:10px;min-height:0;display:flex;overflow-y:auto}.dungeon-prep[hidden]{display:none}.dungeon-prep .hero{border:1px solid var(--stone-edge);background:var(--stone);grid-template-columns:40px 1fr;grid-template-areas:"face who""sockets sockets""note note";gap:6px 10px;padding:8px 10px;display:grid}.dungeon-prep .hero[data-who=you]{border-color:var(--torch)}.dungeon-prep .face{border:1px solid var(--stone-edge);background:var(--void);grid-area:face;justify-content:center;align-items:center;width:40px;height:40px;display:flex;overflow:hidden}.dungeon-prep .face canvas{width:auto;max-width:100%;height:100%;image-rendering:pixelated}.dungeon-prep .who{flex-direction:column;grid-area:who;justify-content:center;gap:5px;display:flex}.dungeon-prep .name{color:var(--torch);font-size:9px}.dungeon-prep .innate{color:var(--dim);letter-spacing:.04em;font-size:10px}.dungeon-prep .sockets{grid-area:sockets;grid-template-columns:1fr 1fr;gap:8px;display:grid}.dungeon-prep .socket{text-align:left;border:1px dashed var(--stone-edge);background:var(--void);min-height:44px;color:var(--parchment);align-items:center;gap:8px;padding:6px 8px;display:flex}.dungeon-prep .hero[data-who=you] .socket{cursor:pointer;border-style:solid}.dungeon-prep .hero[data-who=ally] .socket{min-height:36px}.dungeon-prep .socket .glyph{color:var(--dim);font-size:17px;line-height:1}.dungeon-prep .socket .label{font-family:var(--font-mono);font-size:10px;line-height:1.3}.dungeon-prep .socket[data-rarity=empty] .label{color:var(--dim)}.dungeon-prep .note{letter-spacing:.06em;color:var(--mana);grid-area:note;font-size:9px}.dungeon-picker{z-index:2;padding:14px 16px calc(14px + env(safe-area-inset-bottom));padding-top:calc(14px + env(safe-area-inset-top));background:var(--void);flex-direction:column;display:flex;position:absolute;inset:0}.dungeon-picker[hidden]{display:none}.dungeon-picker .picker-top{justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.dungeon-picker .picker-title{color:var(--torch);font-size:11px}.dungeon-picker .picker-close{letter-spacing:.08em;min-width:44px;min-height:44px;color:var(--dim);border:1px solid var(--stone-edge);cursor:pointer;background:0 0;padding:6px 12px;font-size:10px}.dungeon-picker .picker-grid{flex:auto;grid-template-columns:repeat(2,1fr);align-content:start;gap:10px;min-height:0;padding:8px 6px;display:grid;overflow-y:auto}.dungeon-picker .orb{text-align:left;border:1px solid var(--stone-edge);background:var(--stone);min-height:86px;color:var(--parchment);cursor:pointer;grid-template-columns:auto 1fr;gap:3px 8px;padding:8px 10px;display:grid;position:relative}.dungeon-picker .orb[aria-pressed=true]{border-color:var(--potion);box-shadow:0 0 0 1px var(--potion)}.dungeon-picker .orb .glyph{grid-row:1/span 2;align-self:center;font-size:22px;line-height:1}.dungeon-picker .orb .name{font-family:var(--font-px);color:var(--torch);font-size:8px;line-height:1.5}.dungeon-picker .orb .rarity{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);font-size:9px}.dungeon-picker .orb[data-rarity=rare] .rarity{color:var(--torch)}.dungeon-picker .orb .flavor{font-family:var(--font-mono);color:var(--dim);grid-column:1/-1;font-size:9px;line-height:1.4}.dungeon[hidden]{display:none}.dungeon-rooms{gap:4px}.dungeon-rooms .room{letter-spacing:.02em;padding:0 1px;font-size:8px}.dungeon-rooms .room .glyph{font-size:13px}.dungeon-goal{border:1px solid var(--stone-edge);background:var(--stone);flex:none;grid-template-columns:1fr auto;grid-template-areas:"goal at""bar bar";align-items:baseline;gap:4px 10px;margin:0 16px 8px;padding:7px 10px;display:grid}.dungeon-goal[hidden]{display:none}.dungeon-goal .goal{color:var(--torch);letter-spacing:.04em;grid-area:goal;font-size:9px}.dungeon-goal .at{color:var(--parchment);grid-area:at;font-size:10px}.dungeon-goal .bar{background:#14101fcc;grid-area:bar;height:3px}.dungeon-goal .bar i{background:var(--mana);width:0;height:100%;display:block}.dungeon-card{border:1px solid var(--potion);pointer-events:none;background:#14101feb;padding:9px 11px;position:absolute;bottom:12px;left:10px;right:10px}.dungeon-card[hidden]{display:none}.dungeon-card .who{color:var(--potion);letter-spacing:.08em;font-size:8px}.dungeon-card .line{color:var(--parchment);margin-top:4px;font-size:11px;line-height:1.45}.dungeon-suitors{flex-direction:column;flex:auto;gap:10px;min-height:0;display:flex;overflow-y:auto}.dungeon-suitors[hidden]{display:none}.dungeon-suitors .suitor{text-align:left;border:1px solid var(--stone-edge);background:var(--stone);min-height:56px;color:var(--parchment);cursor:pointer;grid-template-columns:40px 1fr;gap:6px 10px;padding:8px 10px;display:grid}.dungeon-suitors .suitor:active{border-color:var(--torch)}.dungeon-suitors .face{border:1px solid var(--stone-edge);background:var(--void);justify-content:center;align-items:center;width:40px;height:40px;display:flex;overflow:hidden}.dungeon-suitors .face canvas{width:auto;max-width:100%;height:100%;image-rendering:pixelated}.dungeon-suitors .who{flex-direction:column;justify-content:center;gap:4px;display:flex}.dungeon-suitors .name{color:var(--torch);font-size:9px}.dungeon-suitors .kit{color:var(--dim);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.dungeon-suitors .pips{color:var(--stone-edge);gap:3px;font-size:11px;line-height:1;display:flex}.dungeon-suitors .pip[data-on=true]{color:var(--potion)}.dungeon-suitors[data-mode=ceremony] .suitor{grid-template-columns:40px 1fr auto;align-items:center}.dungeon-suitors[data-mode=ceremony] .suitor:active{border-color:var(--potion)}.dungeon-suitors .verdict{letter-spacing:.1em;color:var(--potion);border:1px solid var(--potion);white-space:nowrap;align-self:center;padding:5px 8px;font-size:9px}.scenetest{background:var(--void);color:var(--parchment);justify-content:center;font-family:system-ui,sans-serif;display:flex;position:fixed;inset:0;overflow-y:auto}.scenetest-col{width:min(390px,100vw);padding:calc(20px + env(safe-area-inset-top)) 16px calc(20px + env(safe-area-inset-bottom))}.scenetest .px{font-family:var(--font-px);font-weight:400;line-height:1.6}.scenetest .mono{font-family:var(--font-mono);font-size:13px}.scenetest h1{color:var(--torch);margin:0 0 18px;font-size:13px}.scenetest h2{color:var(--potion);margin:18px 0 8px;font-size:9px}.scenetest dl{grid-template-columns:1fr auto;gap:6px 10px;margin:0;display:grid}.scenetest dt,.scenetest dd{margin:0}.scenetest dd{text-align:right;color:var(--torch)}.scenetest ul{margin:0;padding-left:18px}.scenetest li{color:var(--parchment);margin-bottom:4px}.scenetest-actions{gap:10px;margin-top:24px;display:flex}.scenetest-actions button{min-height:48px;color:var(--parchment);background:var(--stone);cursor:pointer;border:1px solid #3a2f52;flex:1;padding:14px 4px;font-size:9px}.scenetest-actions button:first-child{border-color:var(--potion);color:var(--potion)}@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/press-start-2p-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/press-start-2p-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--font-px:"Press Start 2P", ui-monospace, monospace;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace}
