.guild-body{background:#14101c;color:#e9dfdf;font-family:system-ui,-apple-system,sans-serif}.guild-shell{max-width:1100px;margin:0 auto;padding:38px 24px 24px}.guild-shell a{color:#efbea9;text-underline-offset:5px}.guild-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.guild-shell h1{font-size:clamp(24px,4vw,38px);letter-spacing:.08em;margin:8px 0 12px}.guild-shell h2{font-size:19px;color:#f0d8c2;margin:0 0 14px}.guild-shell p{line-height:1.85;color:#c6b8c7}.guild-eyebrow{font-size:10px!important;letter-spacing:.2em;color:#c28f9b!important}.guild-nav{display:flex;flex-wrap:wrap;gap:24px;align-items:center;padding:20px 0}.guild-nav span{margin-left:auto;font-size:12px;color:#c4a9ad}.guild-nav a[aria-current]{color:#fff}.guild-room{position:relative;height:500px;overflow:hidden;border:8px solid #362538;outline:1px solid #745165;background:repeating-linear-gradient(0deg,transparent 0 43px,#3f2c36 44px 47px),repeating-linear-gradient(90deg,#543a40 0 85px,#50353e 85px 170px);box-shadow:0 16px 60px #09070d70,inset 0 0 90px #140d25b0;isolation:isolate}.room-wall{position:absolute;inset:0 0 auto;height:110px;background:repeating-linear-gradient(0deg,#302132 0 26px,#241b2c 26px 30px);border-bottom:10px solid #211924}.room-sign{position:absolute;left:40%;width:22%;top:26px;border:4px solid #89634b;background:#342739;padding:13px 0;text-align:center;font:14px monospace;letter-spacing:.12em;color:#ddbb87}.room-window{position:absolute;left:18%;top:18px;width:52px;height:65px;border:7px solid #6a4b45;background:linear-gradient(90deg,transparent 46%,#5e4245 46% 57%,transparent 57%),linear-gradient(0deg,#8eb3b3 45%,#5e4245 45% 54%,#d9bd95 54%);box-shadow:0 0 30px #ffcf7a25}.room-window.second{left:auto;right:14%}.evening .room-window{background:linear-gradient(90deg,transparent 46%,#5e4245 46% 57%,transparent 57%),linear-gradient(0deg,#433963 45%,#5e4245 45% 54%,#292a4b 54%)}.room-board{position:absolute;left:4%;top:24px;width:100px;border:5px solid #715047;box-shadow:4px 5px #1d1725;background:#a78869;text-align:center;padding:9px 3px;color:#2d202d!important;text-decoration:none;font-size:12px}.room-board span{display:block;background:#d4bd8c;padding:5px;margin:6px 4px;font-size:10px}.room-counter{position:absolute;left:24%;top:125px;width:46%;height:51px;background:#765044;border:6px solid #352737;border-top:12px solid #aa7956;box-shadow:0 10px #251d2b}.room-counter span{position:absolute;left:10%;top:6px;font-size:11px;color:#e4cba9}.room-counter i{position:absolute;right:12%;top:-22px;width:12px;height:12px;background:#b4a881;border-right:3px solid #574045;box-shadow:-28px 0 #cbaf80}.room-shelf{position:absolute;right:4%;top:29px;width:62px;height:74px;border:7px solid #6c4c45;border-bottom:14px solid #6c4c45;background:repeating-linear-gradient(90deg,#9b6570 0 5px,#cab082 5px 10px,#5f7480 10px 15px);color:#ffe5b0!important;font-size:11px;text-align:center;line-height:110px;text-shadow:1px 1px #211622}.room-fireplace{position:absolute;right:5%;top:155px;width:80px;height:100px;border:16px solid #51424b;border-top:25px solid #6c5660;background:#211723;box-shadow:0 9px #332733}.fire{position:absolute;bottom:0;left:5px;width:24px;height:38px;background:#e99a51;clip-path:polygon(0 100%,0 40%,30% 57%,50% 0,75% 40%,100% 25%,100% 100%);box-shadow:0 0 40px #ffb75e;animation:firelight 2s steps(3) infinite}.room-table{position:absolute;top:270px;width:135px;height:60px;border:6px solid #382735;background:#8b624b;box-shadow:0 10px #3d2a34,0 17px #312333}.table-one{left:21%}.table-two{right:23%}.room-rug{position:absolute;left:36%;bottom:0;width:29%;height:88px;background:#6c3e50;border:8px solid #a06a60;outline:5px solid #352535;z-index:-1}.room-door{position:absolute;bottom:0;left:44%;padding:8px 30px;background:#201a28;color:#977987;font-size:10px}.guild-sprite{width:48px;height:72px;color:#ab6c58;image-rendering:pixelated;flex-shrink:0}.ember{color:#bb7957}.moss{color:#7b9973}.violet{color:#9982b4}.room-person{position:absolute;display:flex;flex-direction:column;align-items:center;transform:translateX(-50%);text-decoration:none;z-index:2}.room-person .guild-sprite{color:inherit;animation:resident-idle 4s steps(2) infinite}.room-person.ember{color:#bb7957}.room-person.moss{color:#7b9973}.room-person.violet{color:#9982b4}.person-name{font-size:11px;color:#f3e2d2;background:#201927de;padding:4px 8px;border:1px solid #745467;max-width:150px;overflow-wrap:anywhere}.person-bubble{display:none;position:absolute;bottom:103%;width:180px;padding:12px;background:#f0dcc1;color:#352432;font-size:12px;border:3px solid #977c6c;box-shadow:4px 4px #211827;pointer-events:none}.room-person:hover,.room-person:focus{z-index:5}.room-person:hover .person-bubble,.room-person:focus .person-bubble{display:block}.room-empty{position:absolute;top:44%;left:10%;right:10%;padding:24px;text-align:center;color:#f0d6b9;background:#221a2bea;border:1px solid #775663;z-index:4}.room-empty p{font-size:14px;margin-bottom:0}.guild-caption{font-size:12px;margin:18px 0 28px}.guild-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.guild-panel{background:#201927;border:1px solid #493348;border-radius:4px;padding:26px;margin-bottom:22px}.guild-panel p{font-size:14px}.guild-guests,.guild-jobs{list-style:none;padding:0;margin:0}.guild-guests li{padding:12px 0;border-top:1px solid #3e2e41}.guild-guests span{display:block;font-size:12px;color:#bcaaba;margin-top:6px}.guild-footer{font-size:11px!important;color:#97859b!important;padding:16px 0}.guild-directory{display:grid;grid-template-columns:1fr 1fr;gap:18px}.resident-card{display:flex;gap:22px;text-decoration:none}.resident-card small,.guild-panel small{font-size:11px;color:#a991a3}.guild-detail{max-width:760px}.resident-heading{display:flex;align-items:center;gap:28px}.resident-heading .guild-sprite{width:80px;height:120px}.guild-dialogue{background:#2e2236;border:3px double #a27d8c;padding:10px 24px;margin:24px 0}.guild-detail h2{margin-top:28px}.guild-shell button{background:#9a6578;border:1px solid #d19b9a;color:white;padding:13px 22px;border-radius:4px;cursor:pointer}.guild-shell button:disabled{opacity:.5;cursor:default}.guild-notice{border-left:3px solid #d3ae87;padding:12px}.guild-jobs li{border-bottom:1px solid #4a344a;padding:15px 0}.guild-shell a:focus-visible{outline:3px solid #ebbe92;outline-offset:4px}@keyframes resident-idle{50%{transform:translateY(-2px)}}@keyframes firelight{50%{opacity:.7;transform:scaleX(.8)}}@media(prefers-reduced-motion:reduce){.room-person .guild-sprite,.fire{animation:none}}@media(max-width:650px){.guild-shell{padding:22px 12px}.guild-title{display:block}.guild-nav{gap:18px}.guild-nav span{margin-left:0;width:100%}.guild-room{height:430px;border-width:5px}.room-sign{font-size:9px;left:37%;width:28%}.room-window{left:26%;width:28px;height:50px;border-width:4px}.room-window.second{right:22%}.room-board{left:3%;width:66px;font-size:10px}.room-board span{font-size:9px}.room-shelf{right:3%;width:44px}.room-counter{left:15%;width:57%;top:122px}.room-table{width:85px;height:45px;top:253px}.table-one{left:10%}.table-two{right:20%}.room-fireplace{right:4%;width:49px;height:75px;border-width:10px}.room-person .guild-sprite{width:32px;height:48px}.person-name{font-size:10px;max-width:90px;padding:3px 5px}.person-bubble{width:130px;font-size:11px}.guild-columns,.guild-directory{grid-template-columns:1fr;gap:0}.guild-panel{padding:20px}.guild-room .room-counter span{font-size:9px}}
.resident-profile{color:#f0d8c2!important;margin:0}.guild-memory{margin:0 0 8px;padding-left:1.4em;color:#c6b8c7;font-size:14px;line-height:1.9;font-variant-numeric:tabular-nums}.guild-admin-residents li{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}.guild-admin-residents li>div{flex:1 1 260px}.guild-admin-residents small{margin-left:8px}.guild-admin-residents p{margin:4px 0 0;font-size:12px}.guild-admin-residents form{display:flex;gap:10px;align-items:center;font-size:12px}.guild-admin-residents button{padding:8px 14px}
/* The tavern as one screen: a plate and clock over the room, tabs along the bottom, windows on top. */
.guild-body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.guild-window-open{overflow:hidden}.guild-stage{max-width:1100px;margin:0 auto;padding:20px 24px 12px}.guild-hud{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.guild-plate{display:inline-block;margin:0;padding:10px 18px;background:#2a1e2c;border:4px solid #6c4c45;box-shadow:0 0 0 2px #1c1420,4px 6px #0d0a12;color:#f0d8c2;font-size:clamp(17px,3vw,24px);letter-spacing:.1em;line-height:1.3}.guild-plate small{display:block;font-size:9px;letter-spacing:.24em;color:#c28f9b}.guild-clock{margin:0;padding:6px 12px;background:#201927;border:2px solid #493348;color:#e4cba9;font-size:12px;font-variant-numeric:tabular-nums}.guild-stage .guild-caption{text-align:center;color:#9f8c9c;margin:12px 0 0}.guild-room a{color:#efbea9}
.guild-tabbar{position:fixed;z-index:40;left:0;right:0;bottom:0;display:flex;justify-content:center;gap:4px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:#1a1320f5;border-top:4px solid #6c4c45;box-shadow:0 -10px 30px #0009}.guild-tabbar a{flex:0 1 96px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 4px 5px;border:2px solid transparent;color:#bfa5ad;font-size:11px;text-decoration:none;letter-spacing:.06em}.guild-tabbar svg{width:30px;height:30px;image-rendering:pixelated}.guild-tabbar a:hover{color:#f0d8c2}.guild-tabbar a[aria-current]{color:#ffe0a8;background:#3a2738;border-color:#89634b}.guild-tabbar a:focus-visible{outline:3px solid #ebbe92;outline-offset:-3px}
.guild-scrim{position:fixed;z-index:30;inset:0;background:#0b0810b8}.guild-scrim[hidden]{display:none}
.guild-window{position:fixed;z-index:35;top:76px;left:0;right:0;margin:0 auto;width:min(640px,calc(100% - 24px));max-height:calc(100dvh - 76px - 96px - env(safe-area-inset-bottom));padding:0;flex-direction:column;border:4px solid #89634b;background:#201927;color:#e9dfdf;box-shadow:0 0 0 3px #1c1420,0 0 0 7px #4a3438,0 30px 70px #000c}.guild-window[open]{display:flex}.guild-window-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 20px;background:#3a2738;border-bottom:3px solid #6c4c45}.guild-window-bar h2{margin:0;font-size:17px;letter-spacing:.08em;color:#ffe0a8;overflow-wrap:anywhere}.guild-window-close{flex:none;display:grid;place-items:center;width:36px;height:36px;background:#9a6578;border:2px solid #d19b9a;color:#fff!important;font-size:22px;line-height:1;text-decoration:none}.guild-window-close:hover{background:#b07489}.guild-window-close:focus-visible{outline:3px solid #ebbe92;outline-offset:2px}.guild-window-body{overflow-y:auto;overscroll-behavior:contain;padding:18px 22px 8px}.guild-window a{color:#efbea9;text-underline-offset:5px}.guild-window p{line-height:1.85;color:#c6b8c7;font-size:14px}.guild-window h3{font-size:15px;color:#f0d8c2;margin:24px 0 8px}.guild-window-lead{margin-top:0}
.guild-list{list-style:none;margin:0;padding:0}.guild-list li+li{border-top:1px solid #3e2e41}.guild-row{display:flex;gap:16px;align-items:center;padding:12px 6px;text-decoration:none}.guild-row:hover{background:#2a2031}.guild-row .guild-sprite{width:32px;height:48px}.guild-row strong{display:block;color:#f0d8c2;font-size:15px}.guild-row small{display:block;color:#a991a3;font-size:11px;margin-top:2px}.guild-line{display:block;color:#c6b8c7;font-size:13px;margin-top:4px;line-height:1.6}.guild-row em{display:inline-block;margin-top:4px;font-style:normal;font-size:11px;color:#c28f9b}.guild-pager{display:flex;justify-content:space-between;padding:14px 0}.guild-window .resident-heading{gap:20px}.guild-window .resident-heading p{margin:2px 0}.guild-window .resident-heading .guild-sprite{width:64px;height:96px}.guild-window .guild-dialogue{margin:18px 0}.board-note{background:#e6d3b3;color:#3a2a2e;border:4px solid #8a6a4e;box-shadow:4px 5px #120d16;padding:14px 18px;margin:6px 4px 18px}.board-note p,.board-note small{color:#4a383c!important}.board-note h3{color:#3a2430;margin:2px 0 8px}.board-note .guild-eyebrow{color:#8c4e5e!important}.board-note a{color:#7a3448}
@media(max-width:650px){.guild-stage{padding:12px 10px 8px}.guild-plate{padding:7px 12px;border-width:3px}.guild-clock{font-size:11px;padding:4px 8px}.guild-tabbar a{font-size:10px}.guild-tabbar svg{width:26px;height:26px}.guild-window{top:64px;width:calc(100% - 16px);max-height:calc(100dvh - 64px - 84px - env(safe-area-inset-bottom))}.guild-window-body{padding:14px 14px 6px}}
.resident-lineage{font-size:12px!important;color:#a991a3!important;margin:0!important}.guild-origins{width:100%;border-collapse:collapse;font-size:13px}.guild-origins th,.guild-origins td{text-align:left;padding:6px 8px;border-bottom:1px solid #3e2e41}.guild-origins td:last-child{text-align:right;font-variant-numeric:tabular-nums}
/* Interactions: the current scene in the tavern, the log, relationships. */
.room-person.talking{z-index:4}.room-person.talking .person-bubble{display:block;width:150px;font-size:11px;padding:8px 10px}.room-person.talking .person-name{border-color:#e3b448}.guild-now a{color:#ffe0a8}
.guild-entries,.guild-relations,.board-entries,.guild-changes{list-style:none;margin:0;padding:0}.guild-entries li,.guild-relations li{border-top:1px solid #3e2e41;padding:10px 4px}.guild-entry{display:block;text-decoration:none}.guild-entry small{display:block;color:#a991a3;font-size:11px}.guild-entry span{color:#f0d8c2;font-size:14px}.guild-entry-people{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px;font-size:12px}
.guild-relations small{display:block;color:#a991a3;font-size:11px;margin-top:2px}.guild-relations em{font-style:normal;font-size:11px;color:#c28f9b;margin-left:6px}.guild-label{display:inline-block;margin-left:8px;padding:1px 8px;border:1px solid #89634b;background:#3a2738;color:#ffe0a8;font-size:11px}
.guild-changes li{padding:4px 0;font-size:13px;color:#c6b8c7}.guild-changes small{color:#a991a3;margin-right:8px}.board-entries li{padding:6px 0;border-bottom:1px dashed #b39a7a}.board-entries small{display:block;font-size:11px}
.guild-filter{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 12px;font-size:12px;color:#c6b8c7}.guild-filter select{background:#2a2031;color:#f0d8c2;border:1px solid #6c4c45;padding:4px 6px;font:inherit}.guild-filter button{background:#9a6578;border:1px solid #d19b9a;color:#fff;padding:5px 12px;font:inherit;cursor:pointer}
@media(max-width:650px){.room-person.talking .person-bubble{width:110px;font-size:10px}.guild-tabbar a{flex-basis:64px}}
.guild-reading{margin:6px 0 10px;padding:8px 12px;border-left:3px solid #c99a4a;background:rgba(201,154,74,.08);color:#e8d8c4;font-size:14px;line-height:1.8}.guild-admin-residents details{margin-top:6px;font-size:12px}.guild-world{margin:6px 0 0;white-space:pre-wrap;word-break:break-word;color:#c6b8c7;font:12px/1.7 ui-monospace,monospace}
.guild-affiliation{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:10px 0;font-size:14px}.guild-affiliation dt{color:#c99a4a}.guild-affiliation dd{margin:0;color:#e8d8c4}
/* Two floors: four seats upstairs (6-9), six downstairs (0-5), stairs on the right. */
.guild-room{height:720px;background:#2a1d26}.room-upper{position:absolute;left:0;right:0;top:0;height:300px;background:repeating-linear-gradient(0deg,transparent 0 43px,#3f2c36 44px 47px),repeating-linear-gradient(90deg,#4c343b 0 85px,#47303a 85px 170px)}.room-upper .room-wall{height:96px}.room-beam{position:absolute;left:0;right:0;top:300px;height:22px;background:#5a3c32;border-top:4px solid #8a5f45;border-bottom:6px solid #241a22;box-shadow:0 8px 18px #0008;z-index:1}.room-rail{position:absolute;left:0;right:12%;top:262px;height:38px;background:repeating-linear-gradient(90deg,#7a5440 0 6px,transparent 6px 34px);border-top:6px solid #9a6a4a;z-index:3;pointer-events:none}.room-lower{position:absolute;left:0;right:0;top:322px;bottom:0;background:repeating-linear-gradient(0deg,transparent 0 43px,#3f2c36 44px 47px),repeating-linear-gradient(90deg,#543a40 0 85px,#50353e 85px 170px)}.room-lower .room-wall{height:80px;border-bottom-width:8px}.room-lamp{position:absolute;top:70px;width:10px;height:14px;background:#ffd36b;box-shadow:0 0 26px 8px #ffb75e55;border:3px solid #6a4b45}.room-lamp.one{left:30%}.room-lamp.two{left:66%}
.room-stairs{position:absolute;right:0;top:300px;width:12%;height:300px;background:repeating-linear-gradient(180deg,#8a5f45 0 8px,#5a3c32 8px 30px);clip-path:polygon(0 0,100% 0,100% 100%,60% 100%);border-left:4px solid #3a2830;z-index:1}
.guild-room .room-counter{left:30%;top:418px;width:40%;height:40px}.guild-room .room-fireplace{left:4%;right:auto;top:380px;width:70px;height:88px}.guild-room .room-table{width:120px;height:52px}.guild-room .table-one{left:22%;right:auto;top:540px}.guild-room .table-two{left:52%;right:auto;top:540px}.guild-room .table-three{left:25%;top:222px}.guild-room .table-four{left:57%;top:222px}.guild-room .room-rug{left:34%;width:30%;height:64px}
.seat-0{left:20%;top:450px}.seat-1{left:44%;top:448px}.seat-2{left:70%;top:460px}.seat-3{left:15%;top:585px}.seat-4{left:46%;top:592px}.seat-5{left:74%;top:585px}.seat-6{left:16%;top:150px}.seat-7{left:38%;top:138px}.seat-8{left:60%;top:150px}.seat-9{left:80%;top:140px}

.guild-cast{display:block;color:#a991a3;font-size:11px;margin-top:2px}.guild-cast-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px}.guild-cast-list strong{color:#f0d8c2;font-size:14px;margin-right:6px}.guild-cast-list small{color:#a991a3;font-size:12px}
@media(max-width:650px){.guild-room{height:640px}.room-upper{height:270px}.room-beam{top:270px}.room-rail{top:236px;height:34px}.room-lower{top:292px}.room-stairs{top:270px;height:260px;width:14%}.guild-room .room-counter{left:24%;top:378px;width:46%}.guild-room .room-fireplace{left:3%;top:350px;width:44px;height:64px}.guild-room .room-table{width:72px;height:40px}.guild-room .table-one{left:16%;top:480px}.guild-room .table-two{left:54%;top:480px}.guild-room .table-three{left:20%;top:186px}.guild-room .table-four{left:56%;top:186px}
.seat-0{left:16%;top:410px}.seat-1{left:44%;top:405px}.seat-2{left:72%;top:415px}.seat-3{left:14%;top:525px}.seat-4{left:46%;top:532px}.seat-5{left:76%;top:525px}.seat-6{left:14%;top:140px}.seat-7{left:37%;top:128px}.seat-8{left:60%;top:140px}.seat-9{left:82%;top:130px}}
.guild-dungeon{list-style:none;margin:14px 0;padding:0;display:grid;gap:8px}.guild-dungeon li{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:8px 12px;border:2px solid #4a3546;background:#241a2b}.guild-dungeon strong{display:grid;place-items:center;width:30px;height:30px;border:2px solid #89634b;background:#3a2738;color:#ffe0a8;font-size:15px}.guild-dungeon p{margin:4px 0;color:#f0d8c2;font-size:14px;line-height:1.7}.guild-dungeon li.dark{opacity:.55}.guild-dungeon li.dark p{color:#a991a3}.guild-dungeon-result{display:inline-block;padding:2px 12px;border:2px solid #ebbe92;color:#ffe0a8;font-weight:bold}

/* One floor at a time. The room is a window onto a two-floor building (.room-inner); 1F shows its lower part, 2F its upper part
   with the floor carried down to the balcony rail. Seats on the other floor are hidden from view and from keyboard focus. */
.floor-radio{position:absolute;opacity:0;pointer-events:none}
.guild-room{height:420px}.room-inner{position:absolute;left:0;right:0;top:0;height:720px;transform:translateY(-300px);transition:transform .35s ease}
.guild-room .upstairs{visibility:hidden}
#guild-floor-2:checked~.guild-room .room-inner{transform:none}
#guild-floor-2:checked~.guild-room .upstairs{visibility:visible}
#guild-floor-2:checked~.guild-room :is(.downstairs,.room-beam,.room-lower,.room-counter,.room-fireplace,.table-one,.table-two,.room-rug){visibility:hidden}
#guild-floor-2:checked~.guild-room .room-upper{height:420px}
#guild-floor-2:checked~.guild-room .room-rail{top:382px}
#guild-floor-2:checked~.guild-room .room-stairs{top:340px}
#guild-floor-2:checked~.guild-room :is(.upstairs,.table-three,.table-four){margin-top:60px}
.guild-controls{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;position:relative;z-index:30}
.guild-floors{display:flex;gap:6px}
.guild-floors label,.guild-dungeon-button{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#201927;border:2px solid #493348;color:#bfa5ad;font-size:12px;cursor:pointer;user-select:none;letter-spacing:.06em}
.guild-floors label:hover,.guild-dungeon-button:hover{color:#f0d8c2}
#guild-floor-1:checked~.guild-controls label[for=guild-floor-1],#guild-floor-2:checked~.guild-controls label[for=guild-floor-2]{color:#ffe0a8;background:#3a2738;border-color:#89634b}
#guild-floor-1:focus-visible~.guild-controls label[for=guild-floor-1],#guild-floor-2:focus-visible~.guild-controls label[for=guild-floor-2]{outline:3px solid #ebbe92;outline-offset:2px}
.guild-floors label.talk::after{content:"";width:6px;height:6px;background:#ffd27a;box-shadow:0 0 6px #ffd27a}
.pop-live{padding:0 6px;background:#6b2f3a;color:#ffe0a8;font-size:10px;animation:pop-live 1.6s steps(2) infinite}
@keyframes pop-live{50%{opacity:.55}}
.pop-progress{display:flex;gap:4px;margin:0}.pop-progress span{display:grid;place-items:center;width:26px;height:26px;border:2px solid #4a3546;color:#7d6878;font-size:12px}
.pop-progress span.done{border-color:#89634b;background:#3a2738;color:#ffe0a8}
@media(prefers-reduced-motion:reduce){.room-inner{transition:none}.pop-live{animation:none}}
@media(max-width:650px){.guild-room{height:370px}.room-inner{height:640px;transform:translateY(-270px)}
#guild-floor-2:checked~.guild-room .room-upper{height:370px}
#guild-floor-2:checked~.guild-room .room-rail{top:332px}
#guild-floor-2:checked~.guild-room .room-stairs{top:300px}
#guild-floor-2:checked~.guild-room :is(.upstairs,.table-three,.table-four){margin-top:50px}
.guild-floors label,.guild-dungeon-button{padding:5px 8px;font-size:11px}}
.guild-dungeon-button svg{width:18px;height:18px;image-rendering:pixelated}
#guild-view-dungeon:checked~.guild-controls .guild-dungeon-button{color:#ffe0a8;background:#3a2738;border-color:#89634b}
#guild-view-dungeon:focus-visible~.guild-controls .guild-dungeon-button{outline:3px solid #ebbe92;outline-offset:2px}
/* Tonight's dungeon, drawn in CSS: wall, floor, two torches, a decoration per dungeon, the party walking, 転's foe while it lasts. */
#guild-view-dungeon:checked~.guild-room{display:none}
.guild-dungeon-scene{display:none;position:relative;height:420px;overflow:hidden;border:8px solid #362538;outline:1px solid #745165;isolation:isolate;box-shadow:0 16px 60px #09070d70;
  --wall:#2b2530;--wall2:#211c26;--floor:#3a3036;--floor2:#332a30;--glow:#ffb35c;--deco:#6b4a32}
#guild-view-dungeon:checked~.guild-dungeon-scene{display:block}
.dg-wall{position:absolute;inset:0 0 34%;background:repeating-linear-gradient(0deg,var(--wall2) 0 4px,transparent 4px 36px),repeating-linear-gradient(90deg,var(--wall2) 0 4px,transparent 4px 72px),var(--wall)}
.dg-floor{position:absolute;left:0;right:0;bottom:0;height:34%;background:repeating-linear-gradient(90deg,var(--floor) 0 48px,var(--floor2) 48px 96px);border-top:8px solid var(--wall2);box-shadow:inset 0 30px 40px #0008}
.dg-deco{position:absolute;inset:0 0 34%;pointer-events:none}
.dg-torch{position:absolute;top:34%;width:10px;height:26px;background:#5a3c32;z-index:1}
.dg-torch::before{content:"";position:absolute;left:-3px;top:-16px;width:16px;height:18px;background:var(--glow);clip-path:polygon(50% 0,100% 60%,80% 100%,20% 100%,0 60%);animation:firelight 1.2s steps(2) infinite}
.dg-torch::after{content:"";position:absolute;left:-60px;top:-70px;width:130px;height:130px;background:radial-gradient(circle,color-mix(in srgb,var(--glow) 30%,transparent),transparent 70%);pointer-events:none}
.dg-torch.one{left:12%}.dg-torch.two{right:12%}
.dg-party{position:absolute;left:0;right:0;bottom:112px;display:flex;justify-content:center;gap:clamp(10px,4vw,40px);z-index:3;animation:dg-walk 7s ease-in-out infinite alternate}
.dg-member{display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none}
.dg-member .guild-sprite{width:48px;height:72px;animation:dg-step .6s steps(2) infinite}
.dg-member:nth-child(even) .guild-sprite{animation-delay:.3s}
.dg-member:focus-visible{outline:3px solid #ebbe92;outline-offset:3px}
@keyframes dg-walk{from{transform:translateX(-5%)}to{transform:translateX(5%)}}
@keyframes dg-step{50%{transform:translateY(-3px)}}
.dg-foe{display:none;position:absolute;right:10%;bottom:118px;width:96px;height:84px;background:#0b0810;clip-path:polygon(10% 100%,0 55%,12% 20%,30% 30%,40% 0,55% 25%,72% 5%,80% 35%,100% 50%,92% 100%);z-index:2;animation:dg-step 1.4s steps(2) infinite}
.dg-foe i{position:absolute;left:30px;top:34px;width:8px;height:8px;background:#ff5a4a;box-shadow:24px 0 #ff5a4a}
.danger .dg-foe{display:block}.danger .dg-party{justify-content:flex-start;padding-left:10%;animation:none}
.dg-mist{display:none;position:absolute;inset:0;background:linear-gradient(0deg,#c8d6e04d,transparent 65%);z-index:3;pointer-events:none;animation:dg-mist 8s ease-in-out infinite alternate}
@keyframes dg-mist{to{opacity:.5;transform:translateX(3%)}}
.dg-status{position:absolute;left:12px;right:12px;top:12px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;padding:8px 12px;background:#1a1320e6;border:2px solid #89634b;z-index:4}
.dg-status strong{color:#ffe0a8;font-size:16px;letter-spacing:.04em}
.dg-status small{width:100%;color:#c8b0b8;font-size:12px}
.dg-story{position:absolute;left:12px;right:12px;bottom:12px;padding:8px 12px;background:#1a1320ea;border:3px double #a27d8c;z-index:4;color:#f0d8c2;font-size:13px;line-height:1.7}
.dg-story p{margin:0}
.dg-story b{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:8px;border:2px solid #89634b;background:#3a2738;color:#ffe0a8;font-size:12px}
.dg-story small{display:block;margin-top:4px;color:#a991a3;font-size:11px}.dg-story a{color:#ffe0a8}
.dg-old-mine{--wall:#3a2b22;--wall2:#2a1f19;--floor:#4a3a2c;--floor2:#43342a}
.dg-old-mine .dg-deco{background:linear-gradient(90deg,transparent 30%,var(--deco) 30% 32%,transparent 32% 68%,var(--deco) 68% 70%,transparent 70%),linear-gradient(180deg,transparent 30%,var(--deco) 30% calc(30% + 14px),transparent calc(30% + 14px)),radial-gradient(ellipse 22% 60% at 50% 100%,#120c0a 98%,transparent)}
.dg-sunken-chapel{--wall:#2f2a3a;--wall2:#231f2c;--floor:#3b3546;--floor2:#353042;--glow:#ffd9a0}
.dg-sunken-chapel .dg-deco::before{content:"";position:absolute;left:calc(50% - 40px);top:76px;width:80px;height:100px;border-radius:40px 40px 0 0;background:conic-gradient(#7a3a5a 0 25%,#3a5a8a 0 50%,#8a7a3a 0 75%,#3a7a5a 0);border:6px solid #1c1824;opacity:.75}
.dg-hollow-tree{--wall:#2a3326;--wall2:#1f271c;--floor:#3a3424;--floor2:#342f20;--glow:#c6ff8f}
.dg-hollow-tree .dg-deco{background:radial-gradient(circle at 20% 40%,#b6ff8a66 0 4px,transparent 5px),radial-gradient(circle at 62% 28%,#b6ff8a55 0 3px,transparent 4px),radial-gradient(circle at 80% 60%,#b6ff8a66 0 4px,transparent 5px),radial-gradient(circle at 38% 70%,#b6ff8a44 0 3px,transparent 4px),radial-gradient(ellipse 18% 70% at 50% 100%,#14100a 98%,transparent)}
.dg-mist-barrow{--wall:#2a3036;--wall2:#20252a;--floor:#353a3e;--floor2:#30353a;--glow:#9ad0ff}
.dg-mist-barrow .dg-mist{display:block}
.dg-mist-barrow .dg-deco{background:radial-gradient(ellipse 20% 55% at 50% 100%,#0e1114 98%,transparent),linear-gradient(90deg,transparent 38%,#4a5258 38% 41%,transparent 41% 59%,#4a5258 59% 62%,transparent 62%)}
.dg-moon-cave{--wall:#1f2638;--wall2:#171c2b;--floor:#24304a;--floor2:#202a42;--glow:#ffe9a8}
.dg-moon-cave .dg-deco::before{content:"";position:absolute;left:calc(50% - 56px);top:96px;width:112px;height:120px;background:linear-gradient(90deg,transparent 14%,#a8323a 14% 22%,transparent 22% 78%,#a8323a 78% 86%,transparent 86%) 0 22px/100% 100% no-repeat,linear-gradient(#a8323a,#a8323a) 0 0/100% 12px no-repeat,linear-gradient(#a8323a,#a8323a) 8% 26px/84% 8px no-repeat}
.dg-under-road{--wall:#4a2e2a;--wall2:#3a221f;--floor:#3a3a40;--floor2:#34343a}
.dg-under-road .dg-deco{background:radial-gradient(ellipse 26% 70% at 50% 100%,#140c0c 98%,transparent)}
.dg-under-road .dg-floor{background:linear-gradient(180deg,transparent 18%,#2a4a5a 18% 34%,transparent 34%),repeating-linear-gradient(90deg,var(--floor) 0 48px,var(--floor2) 48px 96px)}
@media(prefers-reduced-motion:reduce){.dg-party,.dg-member .guild-sprite,.dg-foe,.dg-mist,.dg-torch::before{animation:none}}
@media(max-width:650px){.guild-dungeon-scene{height:370px;border-width:5px}.dg-party{bottom:128px}.dg-member .guild-sprite{width:36px;height:54px}.dg-foe{width:70px;height:62px;bottom:134px}.dg-foe i{left:22px;top:24px;box-shadow:16px 0 #ff5a4a}.dg-status strong{font-size:14px}.dg-story{font-size:12px}
.guild-dungeon-button{padding:5px 8px;font-size:11px}}
