:root{color-scheme:dark;--ink:#f8f3dc;--muted:#b4c7bf;--gold:#eccf8d;--edge:#ffffff20;--panel:#123f37;--card-w:82px;--card-h:117px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#19574b,#092b27 70%);font:16px/1.45 system-ui,sans-serif;color:var(--ink);min-height:100vh}header,main{max-width:1240px;margin:auto;padding:20px}header{display:flex;align-items:center;justify-content:space-between;gap:16px}h1{font-size:34px;margin:0}h2{font-size:24px;margin:5px 0 14px}h3{font-size:16px;margin:0 0 12px}p{color:var(--muted)}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;color:var(--gold)}.panel{border:1px solid var(--edge);border-radius:18px;padding:22px;background:#113d35cc;box-shadow:0 12px 36px #00191330}.fine{font-size:12px;color:var(--muted)}button,input,select{font:inherit;min-height:44px;border-radius:9px}button{cursor:pointer;border:1px solid var(--edge);padding:10px 15px;color:var(--ink);background:#246557;font-weight:650}button.primary{background:var(--gold);color:#17392e;border-color:var(--gold)}button.quiet{background:#ffffff09}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8fdde1;outline-offset:3px}label{display:grid;gap:7px;font-size:13px;font-weight:650;margin:16px 0}input,select{width:100%;padding:10px;background:#082c25;color:var(--ink);border:1px solid var(--edge)}.form-row{display:grid;grid-template-columns:2fr 1fr;gap:16px}#lobby{max-width:600px;margin:24px auto}.table-heading{display:flex;justify-content:space-between;gap:10px;align-items:center}.table-heading h2{font-size:22px}#connection{font-size:12px;color:#aee6bb}#connection.offline{color:#ffd394}.opponents{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0}.opponent{background:#081e1b80;border:1px solid var(--edge);border-radius:12px;padding:12px;min-width:160px;flex:1}.opponent.turn{border-color:var(--gold)}.opponent h3{margin-bottom:4px}.opponent .counts{font-size:12px;color:var(--muted)}.opponent .cards{min-height:0;margin-top:8px;gap:5px;--card-w:40px;--card-h:57px}.table-layout{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(380px,1.6fr);gap:16px}.center{display:flex;flex-direction:column;align-items:center;gap:20px}.bone{display:flex;flex-direction:column;align-items:center}.bone strong{font-size:30px}.center #event{text-align:center;font-size:13px;margin:0}.drop-zone{border:2px dashed #ffffff28;border-radius:14px;transition:background .15s,border-color .15s}.drop-zone.target{background:#eccf8d20;border-color:var(--gold)}#stack-drop{padding:16px 24px;min-width:160px;display:flex;flex-direction:column;align-items:center;gap:10px}#stack-top{min-height:var(--card-h)}.drop-hint{font-size:11px;color:var(--muted)}.section-title{display:flex;justify-content:space-between;align-items:center}.section-title h3{margin:0}#instruction{font-size:13px;margin:8px 0 18px}.cards{display:flex;flex-wrap:wrap;gap:10px;min-height:var(--card-h);align-content:flex-start}.card{position:relative;width:var(--card-w);height:var(--card-h);flex:0 0 var(--card-w);min-height:0;border:2px solid #fff9;border-radius:7px;background:#fffaf0;color:#263031;padding:6px;text-align:left;box-shadow:0 4px 8px #0004;user-select:none;touch-action:none;transition:transform .12s,box-shadow .12s}.card.red{color:#b94157}.card .rank{font:700 22px Georgia,serif;display:block}.card .suit{font-size:26px}.card.art{background-repeat:no-repeat;padding:0}.card.back{background-color:#0a4b44;text-align:center;font-size:25px}.card.selected{border:3px solid #f3c768;transform:translateY(-6px);box-shadow:0 0 0 2px #b78038,0 8px 12px #0005}.card:disabled{opacity:1;cursor:default}.card:not(:disabled):hover{box-shadow:0 7px 16px #0007}.actions{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.castle-zones{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:14px;border-top:1px solid var(--edge);--card-w:62px;--card-h:89px}.castle-zones h3 .fine{display:block;font-weight:400}#keep-drop{padding:8px;min-height:109px;gap:5px}#vault{gap:5px;padding:8px 0}#ready-button{margin-top:10px;width:100%}.drag-ghost{position:fixed;pointer-events:none;z-index:20;transform:rotate(4deg);opacity:.94}.drag-badge{position:absolute;right:-9px;top:-9px;background:var(--gold);color:#17392e;border-radius:50%;font:700 14px system-ui;padding:4px 8px}#message{min-height:24px;color:#ffe2a0;font-weight:600}#invitations{margin-bottom:16px}#invitations summary{cursor:pointer;font-weight:700}#invitation-list>div{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}a{color:var(--gold)}dialog{max-width:640px;max-height:88vh;border:1px solid var(--edge);border-radius:18px;background:#133f36;color:var(--ink);padding:24px}dialog::backdrop{background:#0009}dialog li{margin:10px 0}#close-rules{float:right}#round-result{margin-top:18px}[hidden]{display:none!important}
@media(max-width:760px){header,main{padding:12px}.table-layout{grid-template-columns:1fr}.center{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px}.center #event{grid-column:1/-1}#stack-drop{min-width:0;padding:8px;gap:5px;--card-w:58px;--card-h:83px}.drop-hint{display:none}.opponent{min-width:140px}.my-side{padding:16px}.castle-zones{gap:12px;--card-w:44px;--card-h:63px}.castle-zones .cards{gap:4px}#keep-drop{padding:4px;min-height:81px}#vault{padding:6px 0}.cards{--card-w:64px;--card-h:92px;gap:8px}.castle-zones .cards{--card-w:44px;--card-h:63px}.actions button{flex:1;padding:10px 8px}.opponent .cards{--card-w:36px;--card-h:51px}.table-heading h2{font-size:19px}h1{font-size:28px}#connection{max-width:100px;text-align:right}}@media(prefers-reduced-motion:reduce){*{transition:none!important}} 
#stack-top{position:relative;width:calc(var(--card-w) + (var(--stack-size,1) - 1)*24px);min-height:var(--card-h);max-width:100%}#stack-top>.card{position:absolute;left:calc(var(--stack-index,0)*24px);top:0}#stack-top .stack-corner{position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;width:22px;height:27px;border-radius:4px;background:#fffaf0;color:#263031;font:bold 16px/1 Georgia,serif;box-shadow:0 1px 2px #0003}#stack-top .red .stack-corner{color:#b94157}@media(max-width:760px){.center{grid-template-columns:minmax(40px,.35fr) minmax(156px,1fr)}}
#hand{align-items:flex-start}.hand-group{display:flex;flex-direction:column;gap:4px;flex:0 0 auto}.hand-fan{position:relative;width:calc(var(--card-w) + (var(--group-size,1) - 1)*24px);height:var(--card-h)}.hand-fan>.card{position:absolute;left:calc(var(--group-index,0)*24px);top:0}.hand-group-count{font-size:11px;color:var(--muted);text-align:center;font-weight:700}.hand-corner{position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;width:22px;height:27px;border-radius:4px;background:#fffaf0;color:#263031;font:bold 16px/1 Georgia,serif;box-shadow:0 1px 2px #0003}.red .hand-corner{color:#b94157}.hand-fan>.card:focus-visible{z-index:6}
#display-version{display:block;color:var(--gold);margin-top:4px}.score-player{margin:22px 0;padding-top:14px;border-top:1px solid var(--edge)}.score-player p{margin:8px 0}.score-values{font-size:13px;color:var(--ink)}.score-cards{margin-bottom:18px}
.artwork-picker{margin:0;max-width:230px;flex:1}.artwork-picker select{font-size:13px;padding:7px}header{flex-wrap:wrap}.artwork-picker{margin-left:auto}@media(max-width:460px){.artwork-picker{flex-basis:100%;max-width:none;order:3}}

/* Three quiet settings, drawn locally: no image downloads or animation loop. */
body{isolation:isolate;background-attachment:fixed;--button:#246557;--input:#082c25;--opponent:#081e1be6;--panel:#113d35ed;--focus:#8fdde1}
.table-scenery{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
header{padding-top:28px}header h1{font-family:Georgia,serif;letter-spacing:-1px}header .eyebrow{letter-spacing:3px}
.panel{background:var(--panel);border-color:var(--edge);box-shadow:0 12px 36px #0003,inset 0 1px 0 #ffffff10}
button{background:var(--button)}input,select{background:var(--input)}.opponent{background:var(--opponent)}dialog{background:var(--panel)}button.primary{color:#17392e}button.quiet{background:var(--input)}button:focus-visible,a:focus-visible,summary:focus-visible{outline-color:var(--focus)}
body[data-theme="classic"]{--ink:#fff4dc;--muted:#c6d0be;--gold:#e7c180;--edge:#dec49b45;--panel:#103c2ded;--button:#285b42;--input:#102c23;--opponent:#0b2a20e8;background:radial-gradient(ellipse at 50% 42%,#2b6749 0%,#15452f 51%,#112b20 69%,transparent 71%),repeating-linear-gradient(90deg,#25180f 0,#3b281b 4px,#493122 8px,#2d1e15 140px,#1b100a 142px,#3b281b 146px)}
body[data-theme="classic"] .table-scenery{inset:12px;border:3px solid #b894574f;border-radius:38px;box-shadow:inset 0 0 0 9px #2b1c15,inset 0 0 0 11px #e2ba5e44,inset 0 18px 70px #0008;background:repeating-linear-gradient(22deg,#ffffff02 0 1px,transparent 1px 4px)}
body[data-theme="classic"] .scene-detail{position:absolute;right:4%;bottom:4%;width:100px;height:100px;border:3px double #d4b67838;border-radius:50%;transform:rotate(-15deg)}
body[data-theme="classic"] .scene-detail:after{content:'♣';display:block;color:#d4b67838;font:80px/95px Georgia;text-align:center}
body[data-theme="iraqi"]{--ink:#fff4df;--muted:#d4c8b3;--gold:#dfbb74;--edge:#e3c9954d;--panel:#3b3a2aed;--button:#686744;--input:#252b24;--opponent:#262c23e8;--focus:#f5cf8a;background:radial-gradient(ellipse at 15% 10%,#c2975b66,transparent 48%),linear-gradient(180deg,#8b8264 0%,#655f49 30%,#555442 47%,#474332 48%,#3e392d 100%)}
body[data-theme="iraqi"] .table-scenery:before{content:'';position:absolute;inset:46% 0 0;background:repeating-linear-gradient(0deg,transparent 0 71px,#d6bd8130 72px,#16190f50 75px),repeating-linear-gradient(91deg,#9b855408 0 2px,#191c110a 3px 9px);border-top:7px solid #342f23;box-shadow:0 -5px 0 #baa47a33,inset 0 15px 45px #0004;transform:perspective(900px) rotateX(12deg);transform-origin:top}
body[data-theme="iraqi"] .scene-window{position:absolute;top:35px;right:4%;width:230px;height:180px;border:11px solid #414635;border-radius:3px;background:repeating-linear-gradient(0deg,#d7c59a99 0 8px,#615e428c 9px 12px),linear-gradient(160deg,#cbd3bb,#dcba78);box-shadow:8px 14px 20px #0003,inset 0 0 25px #785a3d}
body[data-theme="iraqi"] .scene-window:after{content:'';position:absolute;left:48%;height:100%;width:5px;background:#464a36}
body[data-theme="iraqi"] .scene-detail{position:absolute;left:3%;bottom:9%;width:70px;height:90px;border:5px solid #6a756766;border-radius:8px 8px 24px 24px;background:linear-gradient(90deg,#b8bfa244,#444e3833);box-shadow:5px 9px 10px #0003;transform:rotate(-7deg)}
body[data-theme="iraqi"] .scene-detail:after{content:'';position:absolute;right:-27px;top:16px;width:25px;height:39px;border:7px solid #78827166;border-left:0;border-radius:0 20px 20px 0}
body[data-theme="quackthony"]{color-scheme:light;--ink:#233d37;--muted:#4c6559;--gold:#f3cf68;--edge:#41796338;--panel:#f8f6e9f2;--button:#32775c;--input:#e6efe1;--opponent:#e6efdeed;--focus:#287c98;background:linear-gradient(180deg,#bfdfed 0%,#deeee8 34%,#9bc17f 35%,#749961 54%,#82bbcc 55%,#a3d5da 78%,#799863 79%,#385e41 100%)}
body[data-theme="quackthony"] .table-scenery:before{content:'';position:absolute;left:-10%;right:-10%;top:29%;height:29%;border-radius:50% 70% 0 0;background:linear-gradient(180deg,#8daf6d,#4e7a50);box-shadow:0 18px 0 #cfddae66}
body[data-theme="quackthony"] .table-scenery:after{content:'';position:absolute;left:0;right:0;top:59%;height:18%;background:repeating-linear-gradient(176deg,transparent 0 24px,#edfff735 25px 27px,transparent 28px 50px);transform:skewY(-2deg)}
body[data-theme="quackthony"] .scene-window{position:absolute;top:8%;right:5%;width:110px;height:38px;border-radius:50%;background:#ffffff82;box-shadow:-35px 9px 0 #ffffff82,40px 8px 0 #ffffff82}
body[data-theme="quackthony"] .scene-detail{position:absolute;left:-55px;top:12%;width:210px;height:230px;background:radial-gradient(ellipse at 40% 25%,#447646 0 30%,transparent 31%),radial-gradient(ellipse at 65% 50%,#527c44 0 40%,transparent 41%);filter:drop-shadow(0 5px 0 #254d2922)}
body[data-theme="quackthony"] .scene-detail:after{content:'';position:absolute;left:101px;top:150px;height:170px;width:14px;background:#725b3c;border-radius:3px;transform:rotate(-7deg)}
body[data-theme="quackthony"] button{color:#fff9e7}body[data-theme="quackthony"] button.quiet{color:var(--ink)}body[data-theme="quackthony"] button.primary{color:#254430}body[data-theme="quackthony"] .eyebrow{color:#6b642c}body[data-theme="quackthony"] a{color:#276b57}body[data-theme="quackthony"] #connection{color:#28643f}body[data-theme="quackthony"] #message{color:#705212}body[data-theme="quackthony"] #display-version{color:#736127}body[data-theme="quackthony"] .drop-zone{border-color:#41796366}body[data-theme="quackthony"] .drop-zone.target{background:#e7c87955;border-color:#8a6c24}
.castle-zones{display:block;position:relative;--card-w:62px;--card-h:89px}.castle-zones h3 .fine{display:block;margin-top:3px;font-size:11px}.castle-pair{position:relative;isolation:isolate;height:calc(var(--card-h) + 42px);margin-top:12px;max-width:290px}.castle-pair #keep-drop,.castle-pair #vault{display:grid;grid-template-columns:repeat(3,var(--card-w));gap:12px;padding:8px;position:absolute;left:0;right:0;min-height:0}.castle-pair #vault{top:26px;z-index:0;pointer-events:none}.castle-pair #keep-drop{top:0;z-index:1;border-color:#ffffff28}.castle-pair #keep-drop .card{justify-self:start}.castle-zones .dungeon-label{margin-top:8px}.castle-zones.dungeon-open #keep-drop{display:none}.castle-zones.dungeon-open #vault{top:0;pointer-events:auto}.castle-zones.dungeon-open .castle-pair{height:calc(var(--card-h) + 20px)}.castle-zones.finished .castle-pair{height:auto;display:flex;flex-direction:column;gap:14px}.castle-zones.finished .castle-pair #keep-drop{position:static;order:0}.castle-zones.finished .castle-pair #vault{position:static;display:flex;order:1;pointer-events:none}.castle-zones.finished #keep-drop:empty{display:none}.castle-zones.finished .dungeon-label{margin-top:10px}
@media(max-width:760px){header{padding-top:18px}.table-scenery .scene-window{opacity:.45}.castle-zones{--card-w:52px;--card-h:74px}.castle-zones .cards{--card-w:52px;--card-h:74px}.castle-pair #keep-drop,.castle-pair #vault{gap:12px;padding:6px}.castle-pair{max-width:240px}body[data-theme="classic"] .table-scenery{inset:4px;border-radius:22px;box-shadow:inset 0 0 0 3px #2b1c15,inset 0 0 0 5px #e2ba5e44,inset 0 10px 30px #0005}}
.castle-pair #vault{border:2px solid transparent}
header>div{background:var(--panel);padding:8px 12px;border:1px solid var(--edge);border-radius:12px}.table-heading{background:var(--panel);padding:12px 16px;border:1px solid var(--edge);border-radius:14px}.artwork-picker{background:var(--panel);padding:8px;border-radius:12px}#recent-turns{font-size:13px;align-self:stretch}#recent-turns ul{padding-left:20px;margin:8px 0}#recent-turns li{margin:6px 0}@media(max-width:760px){#recent-turns{grid-column:1/-1}.table-heading{padding:10px 12px}}

/* Visible invitation URLs remain selectable on narrow touch screens. */
#invitation-list .invitation-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:100%;min-width:0;padding:12px 0;border-top:1px solid var(--edge)}#invitation-list .invitation-row strong,#invitation-list .invitation-url,#invitation-list .invitation-row a{grid-column:1/-1;min-width:0;max-width:100%}#invitation-list .invitation-url{user-select:text;-webkit-user-select:text;font-size:14px}#invitation-list .invitation-row button{min-width:0;white-space:normal}
