.deck-page{background:#15191a}.deck-toolbar{display:flex;align-items:center;gap:20px;padding:16px 28px;position:absolute;inset:0 0 auto;z-index:5;font-size:12px;background:linear-gradient(#101417ee,transparent)}.back-link{display:inline-flex;gap:8px;align-items:center;font-size:12px;color:#d4c9ae}.room-tools{margin-left:auto;display:flex;align-items:center;gap:8px}.room-tools>span{color:#cabb9d;margin-right:5px;font-size:12px}.room-connection{color:#a9b6ad;font-size:10px}.reading-room{min-height:790px;background:linear-gradient(#10191ce0 0%,#13141638 30%,#0c14115c 78%,#15191a 100%),url('/assets/scenes-physical-v1/lobby.webp') center/cover;position:relative;padding:94px 24px 22px;overflow:hidden}.room-heading{text-align:center}.room-heading h1{font:normal 38px/1.3 Cinzel,Georgia,serif}.room-heading .eyebrow{font-size:11px}.room-flavor{color:#bdac98;font:italic 16px Georgia,serif;margin-top:14px}.table-scene{width:min(800px,100%);margin:38px auto 20px;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;min-height:370px;perspective:1600px}.deck-stack{position:relative;width:210px;aspect-ratio:2/3;justify-self:end;transform:rotate(-8deg);margin-right:20px}.deck-stack img,.stack-under{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:7px;border:1px solid #a7804a;box-shadow:0 14px 35px #000b}.stack-under{background:url('/assets/cards-physical-v1/back.webp') center/cover;transform:translate(-6px,7px) rotate(-2deg)}.stack-under:nth-child(2){transform:translate(6px,3px) rotate(3deg)}.deck-stack>span{position:absolute;top:calc(100% + 22px);left:-30px;right:-30px;text-align:center;font-size:11px;color:#e0cca6;transform:rotate(8deg)}.revealed-place{justify-self:start;width:230px;min-width:0;text-align:center}.reveal-slot{aspect-ratio:2/3;width:100%;perspective:1000px}.empty-card{border:1px dashed #ac996b70;border-radius:6px;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;padding:20px;background:#12181433;color:#bca787;font:italic 14px Georgia,serif}.empty-card svg{width:25px;height:25px;opacity:.7}.tarot-card{position:relative;width:100%;height:100%;border-radius:7px;transform-style:preserve-3d;box-shadow:0 18px 35px #000b;cursor:pointer}.tarot-face,.tarot-back{position:absolute;inset:0;border:2px solid #ac8b52;border-radius:7px;overflow:hidden;backface-visibility:hidden;background:#151b1d}.tarot-face{display:flex;flex-direction:column}.tarot-back{background:url('/assets/cards-physical-v1/back.webp') center/cover;transform:rotateY(180deg)}.card-art{flex:1;min-height:0;background-size:600% 200%;background-repeat:no-repeat}.card-title{font:normal 17px Cinzel,Georgia,serif;background:#151b1d;padding:12px 6px;border-top:1px solid #977951;text-align:center;color:#f1dfb6}.card-title:before{content:'';display:block;width:25px;border-top:1px solid #a17c3e;margin:0 auto 7px}.tarot-card.revealing{animation:reveal-fate 1.65s cubic-bezier(.2,.65,.25,1) both}.revealed-place>p{font-size:11px;color:#c2ac88;min-height:16px;margin-top:15px}.draw-area{text-align:center;margin-top:24px;min-height:140px}.draw-area>p:first-child{font:italic 18px Georgia,serif;color:#ecdbbe;margin:0 0 15px}.draw-area>p:last-child{color:#b6a58e;font-size:11px;margin:15px 0 0}.draw-area .launch-button{min-width:192px}.draw-area .launch-button:disabled{opacity:.7;background:#232927;color:#abaaa0;border-color:#8c7c5860}.table-footer{width:min(1100px,100%);display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:10px;color:#a79578;margin:30px auto 0;padding-top:18px;border-top:1px solid #b28e4530}.table-footer #table-roster{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.seat{display:inline-flex;align-items:center;gap:5px}.seat:before{content:'';width:4px;height:4px;border-radius:50%;background:#738475}.seat.present:before{background:#a8c7a1}.ledger-section{padding:35px 0 50px}.ledger-section .quiet-button{font-size:11px;min-height:36px;padding:8px 12px}.empty-ledger{color:#9aa89b;font:italic 18px Georgia,serif;text-align:center;padding:40px}.ledger-row{display:grid;grid-template-columns:46px 1fr 1fr auto;gap:20px;align-items:center;padding:15px 0;border-top:1px solid #c1a47430}.ledger-thumb{width:42px;height:63px;border-radius:3px;overflow:hidden;border:1px solid #ab8f57;cursor:pointer}.ledger-thumb .card-art{height:100%}.ledger-card{background:none;border:0;color:#ead8b3;text-align:left;font:18px Georgia,serif;padding:0}.ledger-meta{font-size:11px;color:#afbbaf;margin:6px 0 0}.ledger-omen{color:#c0baa7;font:italic 13px/1.5 Georgia,serif;margin:0}.ledger-row time{color:#93a098;font-size:10px}.ledger-row.undone{opacity:.5}.published-outcome{white-space:pre-wrap;font-size:13px;line-height:1.7;color:#ccdbcc}.outcome-tag{font-size:10px;color:#91c4ad;margin-top:6px}
dialog{color:var(--paper);background:#172320;border:1px solid #ae8f57;border-radius:6px;padding:30px;max-height:calc(100svh - 40px);max-width:calc(100vw - 32px);box-shadow:0 30px 100px #000b}dialog::backdrop{background:#060a0cd9;backdrop-filter:blur(6px)}.join-dialog{width:430px;background:linear-gradient(#0e1814eb,#172320fa),url('/assets/scenes-physical-v1/lobby.webp') center/cover;text-align:center;padding:28px 35px}.join-dialog .back-link{display:flex;font-size:10px;margin-bottom:24px}.join-seal{width:70px;height:105px;object-fit:cover;border:1px solid #a78a55;border-radius:4px;margin-bottom:22px}.join-dialog h2{font-size:27px;margin-bottom:25px}form{text-align:left}label{font-size:11px;display:block;color:#bdae91;margin:16px 0 7px}input,select,textarea{width:100%;padding:11px 12px;background:#0e1814;color:#f1e7d3;border:1px solid #8d785449;border-radius:3px;min-height:40px}input:focus,select:focus,textarea:focus{border-color:#c7a66c}textarea{resize:vertical;min-height:100px;line-height:1.6}form .launch-button{width:100%;margin-top:20px}.form-error{color:#f0a6a6;font-size:12px;line-height:1.6;min-height:16px;white-space:pre-wrap}.form-hint{font-size:10px;color:#abafa0;line-height:1.6}.join-dialog .keeper-link{justify-content:center}.dialog-close{position:absolute;right:15px;top:15px;z-index:1}.inspect-dialog{display:grid;grid-template-columns:200px 1fr;gap:30px;width:700px;padding:40px}.inspect-dialog:not([open]){display:none}.inspect-dialog #inspect-art{aspect-ratio:2/3}.inspect-copy{align-self:center;min-width:0}.inspect-copy h2{font-size:28px}.inspect-copy>p:not(.eyebrow){font:italic 16px/1.6 Georgia,serif}.inspect-copy .published-outcome{font:13px/1.6 Segoe UI,Arial,sans-serif;max-height:220px;overflow:auto}.inspect-copy>a{display:inline-flex;gap:7px;align-items:center;color:#b2ab92;font-size:10px;margin-top:15px}.keeper-dialog{width:920px;padding:25px;background:#17231f}.keeper-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.keeper-heading h2{font-size:25px}.keeper-tabs{display:flex;gap:0;margin-top:22px;border-bottom:1px solid var(--line)}.keeper-tabs button{background:none;color:#b3baab;border:0;border-bottom:2px solid transparent;padding:12px 18px;font-size:12px}.keeper-tabs button.active{border-color:#c7a66c;color:#f1dfb5}.keeper-section{padding:8px 0 24px;border-bottom:1px solid var(--line)}.keeper-section:last-child{border-bottom:0}.keeper-section h3{font:20px Georgia,serif;margin:12px 0}.keeper-row{display:flex;gap:10px;align-items:center;margin-top:12px;flex-wrap:wrap}.keeper-row>select,.keeper-row>input{flex:1;min-width:150px}.keeper-row .launch-button,.keeper-row .quiet-button{min-height:40px;padding:10px 16px;font-size:12px}.player-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.player-row .player-text{flex:1}.player-row strong{font-size:12px;font-weight:500}.player-row .icon-button{width:32px;height:32px}.player-row small{color:#9cafa0;font-size:10px}.private-note{color:#b4c1ae;font-size:11px;line-height:1.7}.queue-row{display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:10px 0;font-size:12px}.queue-row .icon-button{margin-left:auto}.catalogue-tools{display:flex;gap:10px;margin:10px 0 16px}.catalogue-tools input{flex:1}.catalogue-tools select{width:135px}.catalogue-list{max-height:380px;overflow-y:auto}.catalogue-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:12px 4px;border-bottom:1px solid var(--line);font-size:12px}.catalogue-row button{background:none;border:0;color:#e3d4b5;text-align:left;padding:0}.catalogue-row span{font-size:10px;color:#99ae9d}.catalogue-row input[type=checkbox]{width:17px;min-height:17px;height:17px;accent-color:#9c8260}.catalogue-row label{margin:0;display:flex;gap:6px;align-items:center;font-size:10px}.keeper-card-detail{padding:15px 0}.keeper-card-detail h3{font:23px Georgia,serif}.journal-entry{padding:15px 0;border-top:1px solid var(--line)}.journal-entry header{display:flex;justify-content:space-between;gap:12px;font-size:13px}.journal-entry small{display:block;color:#91a598;font-size:10px;margin-top:7px}.journal-entry textarea{margin-top:10px}.journal-entry .keeper-row{justify-content:end}.audit-row{font-size:11px;line-height:1.6;color:#9bb19e;padding:9px 0;border-bottom:1px solid var(--line)}.confirm-dialog{width:430px}.confirm-dialog h2{font-size:24px}.confirm-dialog p{font-size:13px;line-height:1.7;color:#c8c4b0}.confirm-actions{display:flex;justify-content:end;gap:10px;margin-top:25px}.confirm-dialog input{margin-top:12px}.invite-url{overflow-wrap:anywhere;font-size:11px;color:#c3d3c0;user-select:all}.critical-button{border-color:#c17878;color:#efa9a9}
@keyframes reveal-fate{0%{transform:translateX(-145px) translateY(30px) rotateY(180deg) rotateZ(-8deg) scale(.94)}40%{transform:translateY(-15px) rotateY(180deg)}100%{transform:translate(0) rotateY(0)}}@keyframes hide-face{0%,65%{visibility:hidden}66%,100%{visibility:visible}}
@media(max-width:750px){.deck-toolbar{padding:14px 16px;gap:12px}.room-connection{display:none}.room-tools>span{font-size:10px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reading-room{padding:90px 16px 22px;min-height:720px;background-size:auto 100%}.room-heading h1{font-size:28px}.room-flavor{font-size:14px}.table-scene{gap:38px;margin-top:35px;min-height:305px;width:min(470px,100%)}.deck-stack{width:160px;margin-right:0}.revealed-place{width:180px}.card-title{font-size:13px;padding:9px 3px}.table-footer{font-size:9px;align-items:start;flex-wrap:wrap}.table-footer #table-roster{order:3;width:100%;gap:12px}.ledger-row{gap:12px;grid-template-columns:42px 1fr auto}.ledger-omen{display:none}.ledger-card{font-size:16px}.inspect-dialog{padding:35px 23px;grid-template-columns:150px 1fr;gap:18px}.inspect-copy h2{font-size:22px}.inspect-copy>p:not(.eyebrow){font-size:13px}.keeper-tabs button{padding:10px 14px}.keeper-dialog{padding:20px}.ledger-section h2{font-size:23px}.ledger-section .quiet-button{font-size:10px}}
@media(max-width:400px){.table-scene{gap:20px;min-height:265px}.deck-stack{width:132px}.revealed-place{width:154px}.room-heading h1{font-size:23px}.room-heading .eyebrow{font-size:9px}.deck-stack>span{font-size:9px}.reading-room{min-height:665px}.inspect-dialog{display:block;width:300px}.inspect-dialog #inspect-art{width:140px;margin:0 auto 20px}.inspect-copy{text-align:center}.join-dialog{padding:23px}.keeper-tabs button{padding:10px}.catalogue-row{gap:7px}.catalogue-tools{flex-wrap:wrap}.catalogue-tools select{width:100%}}
.character-list{display:grid;gap:10px;margin-bottom:16px}.character-choice{display:flex;align-items:center;gap:13px;text-align:left;width:100%;min-height:55px;border:1px solid #a48c5c75;border-radius:4px;background:#132721;color:#ead6ad;padding:13px 15px}.character-choice:hover{background:#284439;border-color:#ccb176}.character-choice>span{flex:1;overflow-wrap:anywhere;font:18px Georgia,serif}.character-choice>svg{color:#bda276}.join-dialog #join-submit{width:100%;font-size:11px;background:none;border-color:#a48c5c35;box-shadow:none}.declaration-controls{min-height:70px;display:flex;align-items:center;justify-content:center;padding:12px 0}.declare-form{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.declare-form label{display:flex;align-items:center;gap:10px;margin:0;color:#e1cba5;font:italic 16px Georgia,serif}.declare-form input{width:64px;padding:8px;min-height:35px;text-align:center;font:14px Segoe UI,Arial,sans-serif}.declare-form button{font-size:11px;min-height:35px;padding:8px 12px;margin:0;width:auto}.declaration-controls>p{font-size:12px;color:#d8c098}.batch-row{display:flex;align-items:center;gap:10px;padding:13px 0;border-top:1px solid var(--line)}.batch-row>div{flex:1;min-width:0}.batch-row strong{font-weight:500;font-size:13px;overflow-wrap:anywhere}.batch-row small{display:block;font-size:10px;color:#aebdab;margin-top:5px}.batch-row .quiet-button{min-height:35px;padding:8px 10px;font-size:11px}.keeper-row #batch-count{width:70px;max-width:80px;min-width:64px;flex:0}.omen-controls{border-color:#ae7181}.omen-controls h3{font:30px Cinzel,Georgia,serif}.omen-announcement{position:relative;width:min(720px,100%);margin:25px auto 0;text-align:center;min-height:98px}.omen-announcement h2{font-size:28px;color:#f2dce6}.omen-announcement>p:last-child{font:italic 16px Georgia,serif;color:#c5b7c6;margin:12px 0}.deck-page main,.deck-page .site-footer{position:relative;z-index:1}#omen-scene{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:0;background-position:center;background-size:cover;transition:opacity 1.2s ease;isolation:isolate}#omen-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(150deg,#07101528,transparent 40%,#03040477);opacity:.8;animation:omen-breath 14s ease-in-out infinite alternate}body[data-omen]:not([data-omen='']){background:#050509;--gold:#bcb0c9;--paper:#e9e4e9;--line:#b8b2d52e}body[data-omen]:not([data-omen='']) #omen-scene{opacity:1}body[data-omen]:not([data-omen='']) .reading-room{background:transparent}body[data-omen]:not([data-omen='']) .room-flavor{color:#beb5c5}body[data-omen]:not([data-omen='']) .deck-stack{filter:saturate(.35)}body[data-omen]:not([data-omen='']) .tarot-face,body[data-omen]:not([data-omen='']) .tarot-back{border-color:#a797b0}body[data-omen='void'] #omen-scene{background-image:url('/assets/omen-void-v1.webp')}body[data-omen='void'] .deck-stack{opacity:.5;filter:grayscale(1)}body[data-omen='void'] #omen-scene:after{background:linear-gradient(180deg,#0f081900,black 94%);animation:void-shadow 12s ease-in-out infinite alternate}body[data-omen='donjon'] #omen-scene{background-image:url('/assets/omen-donjon-v1.webp')}body[data-omen='donjon'] #omen-scene:after{background:repeating-linear-gradient(120deg,transparent 0 130px,#01050936 132px 146px,transparent 148px 210px);animation:prison-shadow 18s ease-in-out infinite alternate}body[data-omen='donjon']{--gold:#99b0be}body[data-omen='donjon'] .omen-announcement h2{color:#d6e8ec}body[data-omen='ruin'] #omen-scene{background-image:linear-gradient(#1c1312a6,#10100ec9),url('/assets/scenes-physical-v1/lobby.webp');filter:grayscale(.9) sepia(.3)}body[data-omen='ruin'] .deck-stack{filter:grayscale(.9);opacity:.7}body[data-omen='talons'] #omen-scene{background-image:linear-gradient(#152320ba,#061213d9),url('/assets/omen-void-v1.webp')}body[data-omen='talons'] .deck-stack{opacity:.25;filter:grayscale(1)}body[data-omen='skull'] #omen-scene{background-image:linear-gradient(#0c142196,#060a10aa),url('/assets/omen-donjon-v1.webp');filter:grayscale(.8)}body[data-omen='skull'] .omen-announcement h2{color:#ecf3f0}body[data-omen='flames'] #omen-scene{background-image:linear-gradient(125deg,#701d1944,#07070fd4 55%,#a4342133),url('/assets/scenes-physical-v1/lobby.webp');filter:saturate(.8)}body[data-omen='flames'] #omen-scene:after{background:linear-gradient(90deg,#731b231f,#170a02af,#81242138);animation:omen-breath 9s ease-in-out infinite alternate}body[data-omen='flames'] .omen-announcement h2{color:#efbba7}body[data-omen='euryale'] #omen-scene{background-image:linear-gradient(#18332699,#081612b0),url('/assets/omen-donjon-v1.webp');filter:sepia(.2) hue-rotate(15deg)}body[data-omen='euryale'] .omen-announcement h2{color:#bbd0b4}.omen-announcement .eyebrow{font-size:12px}#omen-scene.arriving{animation:omen-arrival 1.6s ease-out both}
@keyframes omen-arrival{from{opacity:0;filter:brightness(.3)}to{opacity:1}}@keyframes omen-breath{from{opacity:.55}to{opacity:.9}}@keyframes void-shadow{from{opacity:.7}to{opacity:1}}@keyframes prison-shadow{from{transform:translateX(-5px);opacity:.65}to{transform:translateX(8px);opacity:1}}
@media(max-width:650px){.omen-announcement h2{font-size:23px}.omen-announcement>p:last-child{font-size:14px}.batch-row .quiet-button{font-size:10px;padding:8px}.batch-row .quiet-button svg{width:14px}.declare-form{gap:9px}.reading-room{min-height:780px}}
#omen-particles{display:block;width:100%;height:100%;position:absolute;inset:0;z-index:2}body.scene-still #omen-scene:after{animation:none}body[data-omen='void'].omen-entering .table-scene{animation:void-grasp 5s ease-out both}body[data-omen='donjon'].omen-entering .table-scene{animation:gate-impact 1.8s ease-out both}body[data-omen='ruin'].omen-entering .deck-stack{animation:treasure-fall 3.5s ease-out both}body[data-omen='talons'].omen-entering .deck-stack{animation:treasure-taken 4s ease-out both}body[data-omen='skull'] .reading-room{box-shadow:inset 0 0 170px #03080cbf}body[data-omen='skull'].omen-entering .table-scene{animation:death-breath 5s ease-out both}body[data-omen='flames'].omen-entering .reading-room{animation:infernal-arrival 4s ease-out both}body[data-omen='euryale'].omen-entering .table-scene{animation:petrify 4s ease-out both}body.scene-still .table-scene,body.scene-still .deck-stack,body.scene-still .reading-room{animation:none!important}.omen-entering .omen-announcement{animation:omen-words 3s ease-out both}
@keyframes void-grasp{0%{filter:brightness(1);transform:scale(1)}35%{filter:brightness(.35) saturate(.15);transform:scale(.985)}100%{filter:brightness(.86);transform:scale(1)}}
@keyframes gate-impact{0%,57%{transform:translate(0)}61%{transform:translateY(4px)}66%{transform:translate(-2px,-2px)}72%{transform:translate(2px,1px)}82%,100%{transform:translate(0)}}
@keyframes treasure-fall{0%{filter:saturate(1) brightness(1.2)}100%{filter:grayscale(.9);opacity:.7}}
@keyframes treasure-taken{0%{opacity:1;filter:blur(0)}45%{opacity:.15;filter:blur(3px)}100%{opacity:.25;filter:blur(0) grayscale(1)}}
@keyframes death-breath{0%{filter:brightness(1)}24%{filter:brightness(.7) saturate(.35)}50%{filter:brightness(.9)}100%{filter:brightness(.82) saturate(.5)}}
@keyframes infernal-arrival{from{box-shadow:inset 0 -80px 180px #9d32173d}to{box-shadow:inset 0 -80px 180px #4b161529}}
@keyframes petrify{from{filter:saturate(1)}to{filter:grayscale(.8) sepia(.2)}}
@keyframes omen-words{0%,25%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(0)}}
@media(max-width:750px){.room-tools{gap:5px}.room-tools .icon-button{width:33px;height:33px}.room-tools>span{max-width:70px}.deck-toolbar{gap:8px}.back-link{font-size:11px}}
@media(max-width:400px){.deck-toolbar{padding:14px 12px}.room-tools>span{max-width:47px}}
