:root{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#f2ebdc;background:#171c24;font-synthesis:none;line-height:1.5;--gold: #dcb979;--gold-light: #f5dcaa;--border: #746044;--muted: #b6b7b6;--blue: #9bcfff;--red: #ffa29a}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#394953 0,#222a32 34%,#171c24 78%);min-height:100vh}a{color:var(--gold-light)}button,select,input{font:inherit;min-height:44px}button{--button-edge: #d2a35e;--button-line: #f6dd9e80;--button-light: #f0d39a;--button-dark: #b98443;min-width:44px;padding:10px 18px;border:1px solid var(--button-edge);border-radius:5px;color:#2c1d12;background:linear-gradient(145deg,var(--button-light),var(--button-dark));box-shadow:inset 0 0 0 2px #130e1640,inset 0 0 0 3px var(--button-line),0 3px #3b291b,0 5px 12px #08091066;font-weight:750;cursor:pointer}button:enabled:hover{filter:brightness(1.12)}button:enabled:active{transform:translateY(1px)}button:disabled{opacity:.65;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #b4dcff;outline-offset:3px}.secondary{--button-edge: #9d8053;--button-line: #ecc78a32;--button-light: #334648;--button-dark: #172728;color:#f7e5bd}header{max-width:1200px;margin:auto;padding:20px 24px 17px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid #b7995e45}.brand{color:#f8e6bd;text-decoration:none;font-size:22px;font-weight:800;letter-spacing:3px}.brand span{font-weight:400;color:#c9ad79}main{max-width:1200px;margin:22px auto;padding:0 24px}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:Georgia,Times New Roman,serif;font-weight:400}h1{font-size:32px;line-height:1.17;margin:6px 0 9px;color:#f8edd5}h2{font-size:23px;line-height:1.25;margin-bottom:18px;color:#ecd7b0}h3{color:var(--gold-light)}h4{font-size:15px;margin-bottom:10px}p{margin-bottom:14px}small,.muted{color:var(--muted)}small{font-size:12px}.arena{overflow:hidden;position:relative;border:1px solid #b8965d;border-radius:12px;box-shadow:0 0 0 4px #141a20,0 0 0 5px #86704870,0 18px 45px #0004;background:#c1d2d7}.arena-stage{position:relative;isolation:isolate;width:100%;height:auto;aspect-ratio:1.85;background:radial-gradient(ellipse at 50% 30%,#e7e4d3,#b3c9d2 58%,#8daab8)}.arena-canvas,.arena-fallback{position:absolute;inset:0;width:100%;height:100%}.arena-canvas{z-index:1}.arena-canvas canvas,.arena-stage>canvas{width:100%;height:100%;display:block}.arena-fallback{display:flex;align-items:center;justify-content:center;padding:10px}.arena-fallback svg{width:100%;height:100%;display:block}.arena-stage.has-webgl .arena-fallback{display:none}.scene-replay{position:absolute;bottom:13px;right:14px;z-index:3;font-size:12px;min-height:44px}.scene-replay[hidden]{display:none}.heart{filter:drop-shadow(0 0 6px #ffdd91)}.gold{color:var(--gold-light)}.blue{color:var(--blue)}.red{color:var(--red)}.panel{min-width:0;padding:24px;margin-bottom:20px;border:1px solid #766347;border-radius:9px;background:linear-gradient(135deg,#303439,#22272e);box-shadow:inset 0 1px #e9cc9020,0 7px 20px #0002}select,input{min-width:0;width:100%;padding:9px 10px;border:1px solid #7f735f;border-radius:5px;color:#f2ebdc;background:#202831}select{cursor:pointer;font-size:14px}.revealed{font-size:13px;overflow-wrap:anywhere;display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}.revealed p{padding:12px;margin:0;background:#111a2366;border-left:2px solid #6aa9dd}.revealed p+p{border-left-color:#d87972}.revealed b{display:inline-block;padding-right:9px;color:#b1d7ff}.revealed p+p b{color:#ffb0a6}.report-fronts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.replay-front{background:#141e26a6;border:1px solid #8e77513b;padding:16px;border-radius:6px}.replay-front p{font-size:12px}.replay-front h4{display:flex;justify-content:space-between;gap:8px}.replay-front h4 span{color:#ecd09a}summary{cursor:pointer;min-height:44px;padding:10px 0;color:#dfc79c}#error:empty{display:none}#error{max-width:1152px;margin:12px auto;padding:12px;background:#613d37;color:#ffe3cb;border:1px solid #b97f61;border-radius:5px}body:has(.welcome){background:#091a20}.welcome{position:relative;isolation:isolate;display:flex;align-items:center;min-height:100dvh;max-width:none;margin:0;padding:clamp(24px,6vw,100px);overflow:hidden}.welcome-art,.welcome:after{position:absolute;inset:0;width:100%;height:100%}.welcome-art{z-index:-2;object-fit:cover;object-position:64% center}.welcome:after{content:"";z-index:-1;background:linear-gradient(90deg,#081a22ee,#0a1b22be 29%,#0b1c2445 53%,#101a2100 72%),linear-gradient(0deg,#07171e9c,transparent 22%)}.welcome-content{width:min(100%,475px);text-shadow:0 2px 14px #07161d}.welcome h1{margin:0;color:#fff2d4;font-size:clamp(48px,8vw,116px);letter-spacing:-.055em;line-height:.96}.welcome-subtitle{margin:14px 0 0;color:#f1cc86;font:19px Georgia,Times New Roman,serif;letter-spacing:.18em;text-transform:uppercase}.welcome-description{max-width:33ch;margin:20px 0 25px;color:#e0e6de}.welcome-actions{display:grid;gap:12px;width:min(245px,100%)}.welcome-actions button{padding:12px 16px;font:700 17px Georgia,Times New Roman,serif;text-shadow:none}.welcome-actions .secondary{font-size:15px}.welcome-version{position:absolute;right:clamp(16px,4vw,52px);bottom:16px;color:#e8d7b0;font-size:11px;letter-spacing:.08em}@media(max-width:700px){.welcome{align-items:flex-end;padding:40px 18px 55px}.welcome-art{object-position:72% 35%}.welcome:after{background:linear-gradient(0deg,#09191ffb 9%,#09191fe8 32%,#09191f24 68%,transparent)}.welcome-content{margin-inline:auto;text-align:center}.welcome-subtitle{font-size:15px}.welcome-description{margin:14px auto 18px;font-size:14px}.welcome-actions{margin-inline:auto}}@media(max-height:500px)and (orientation:landscape){.welcome{padding-block:26px}.welcome-description{margin-block:12px}.welcome-version{bottom:5px}}@media(max-width:760px){.report-fronts{grid-template-columns:1fr;gap:8px}}@media(max-width:500px){header{padding:12px}.brand{font-size:17px}main{margin:14px auto;padding-inline:12px}.panel{padding:16px}.revealed{grid-template-columns:1fr;gap:8px}#error{margin:10px 12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.fallback-note{position:absolute;bottom:8px;left:8px;right:8px;margin:0;padding:6px 10px;color:#f2ebdc;background:#202831e8;border-radius:4px;font-size:11px;text-align:center}.insignia{display:inline-block;flex:0 0 auto;width:var(--insignia-size, 20px);height:var(--insignia-size, 20px);background:url(/assets/crownlines/controls/insignia.webp) var(--insignia-x, 0%) var(--insignia-y, 0%) / 300% 300%;border-radius:50%}.insignia-scroll{--insignia-x: 50%}.insignia-links{--insignia-x: 100%}.insignia-horn{--insignia-y: 50%}.insignia-refresh{--insignia-x: 50%;--insignia-y: 50%}.insignia-hourglass{--insignia-x: 100%;--insignia-y: 50%}.insignia-seal{--insignia-y: 100%}.insignia-swords{--insignia-x: 50%;--insignia-y: 100%}.insignia-gate{--insignia-x: 100%;--insignia-y: 100%}.guild-button,.royal-button,.clasp-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:radial-gradient(circle at 4px 50%,#e3bb7a 0 1px,#534022 1.5px,transparent 2px),radial-gradient(circle at calc(100% - 4px) 50%,#e3bb7a 0 1px,#534022 1.5px,transparent 2px),linear-gradient(152deg,var(--button-light),var(--button-dark) 82%);font-family:Georgia,Times New Roman,serif}.guild-button,.clasp-button{--button-edge: #aa8655;--button-line: #efd09440;--button-light: #37454a;--button-dark: #151f26;color:#f8ebcf;text-shadow:0 1px 2px #0e1518;border-radius:9px 9px 4px 4px}.royal-button{--insignia-size: 27px;--button-light: #ffe5a6;--button-dark: #bc8642;border-radius:5px 15px}.welcome-actions{width:min(270px,100%)}.welcome-actions button{min-height:51px}.welcome-actions .guild-button{--insignia-size: 24px;font-size:15px}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:0;border-radius:5px;background:none;box-shadow:none;color:#fae7b7;font:700 24px Georgia,Times New Roman,serif;text-shadow:0 1px 3px #101820,0 0 4px #101820;--insignia-size: 33px}.icon-button:enabled:hover{filter:brightness(1.2)}.icon-button:enabled:hover :is(img,.insignia),.icon-button:is([aria-pressed=true],[aria-expanded=true]) :is(img,.insignia){filter:drop-shadow(0 0 5px #ffd797dd)}.icon-button img{display:block}.icon-button:disabled{opacity:.6}.icon-button:disabled .insignia{filter:saturate(.55)}.icon-tooltip{position:fixed;z-index:8;padding:4px 8px;border-radius:4px;background:#101b24f5;color:#fae7b7;font-size:12px;line-height:1.2;pointer-events:none;white-space:nowrap}.rules-icon-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(225px,100%),1fr));gap:8px 16px;margin:0 0 18px;padding:0;list-style:none}.rules-icon-legend li{display:flex;align-items:start;gap:8px}.rules-icon-legend .insignia{--insignia-size: 34px}.rules-icon-legend p{margin:2px 0 0;font-size:13px}.legend-symbol{display:grid;flex:0 0 34px;place-items:center;min-height:34px;color:var(--gold-light);font:700 24px Georgia,Times New Roman,serif}.board-shell{width:min(100%,1320px);height:100dvh;margin:0 auto;padding:0 clamp(6px,2vw,24px) clamp(6px,2vw,20px);display:flex;flex-direction:column}.board-header{width:100%;max-width:none;margin:0;gap:6px;padding:4px 0;border:0}.board-header .brand{margin-right:auto}.board-shell #error{z-index:6;position:absolute;top:44px;margin:6px}.board{display:flex;width:100%;max-width:none;flex:1;flex-direction:column;min-height:0;margin:0;padding:0;background:#172531}.board-bar{flex-wrap:wrap;display:flex;align-items:center;justify-content:space-between;gap:4px 8px;padding:4px clamp(6px,1.5vw,16px);background:linear-gradient(105deg,#202e3e,#1e2832 60%,#392e32)}.board-bar{border-bottom:1px solid var(--border)}.round-info,.board-tools,.pressure{display:flex;align-items:center;gap:6px}.round-info{flex-wrap:wrap;column-gap:10px;row-gap:0}.round-info strong{color:var(--gold-light)}.round-info span{font-size:12px;color:#d5c8b4}.board-tools{flex:none;gap:5px}.link-field button{padding:4px 12px;font-size:13px}.board .arena-stage{flex:1 1 auto;min-height:0;aspect-ratio:auto}.bridge-controls{position:absolute;inset:0;z-index:2;pointer-events:none}.bridge-hit{position:absolute;min-width:44px;min-height:0;transform:translate(-50%,-50%);padding:0;border:1px solid transparent;border-radius:4px;background:transparent;box-shadow:none;pointer-events:auto;touch-action:manipulation}.bridge-hit:enabled:active{transform:translate(-50%,-50%)}.bridge-hit:focus-visible{outline-offset:0}.bridge-rails.is-lit{stroke:#ffe7a9;stroke-linecap:round;filter:drop-shadow(0 0 5px #f8a84c)}.bridge-hit:disabled{opacity:1;pointer-events:none}.bridge-plan{position:absolute;left:calc(var(--bridge-end-x) - 5px);z-index:1;transform:translate(max(-100%,calc(9px - var(--bridge-end-x))),-50%);display:flex;gap:2px}.bridge-plan[hidden]{display:none}.bridge-plan .bridge-order-icon{min-width:30px;min-height:32px;pointer-events:auto}[data-side=B] .bridge-plan{left:auto;right:calc(100% - var(--bridge-end-x) - 5px);transform:translate(min(100%,calc(var(--board-width) - var(--bridge-end-x) - 9px)),-50%)}.bridge-plan img{width:25px;height:25px}.scene-replay{top:8px;right:8px;bottom:auto}.board-state{display:flex;flex:1 0 100%;align-items:center;justify-content:space-between;gap:8px;padding:2px 0}#board-status{margin:0;color:#f5e7cc;font-size:13px;line-height:1.2}#round-notice{margin:0;color:var(--gold-light);font-size:12px;font-weight:650;line-height:1.25}#round-notice:not(:empty){margin-top:3px}.pressure{font-variant-numeric:tabular-nums;flex:none}.pressure>span{display:grid;place-items:center;min-width:27px;min-height:24px;border:1px solid #89745082;border-radius:4px;background:#121e2b;font-size:13px;font-weight:700}.arena-actions{position:absolute;z-index:3;top:calc(100% - 56px);left:50%;transform:translate(-50%)}.arena-actions:empty{display:none}.arena-actions .icon-button{--insignia-size: 38px;gap:5px;padding-inline:3px}.slot-count{color:#ffefd1;text-shadow:0 1px 3px #101820,0 0 4px #101820,0 0 4px #101820;font:750 13px system-ui,sans-serif;font-variant-numeric:tabular-nums}.command-choices{position:absolute;z-index:4;display:grid;gap:2px}.command-choices[hidden]{display:none}.bridge-action-list{display:grid}.command-choices-wide .bridge-action-list{grid-template-columns:repeat(3,minmax(0,1fr))}.bridge-edit-list{display:flex;flex-wrap:wrap}.bridge-edit img,.command-choice img{width:34px;height:34px}dialog{width:min(720px,calc(100vw - 24px));max-height:min(78dvh,760px);padding:0;border:1px solid #ad8953;border-radius:10px;background:linear-gradient(120deg,#293949,#192533);color:#f2ebdc;box-shadow:0 14px 52px #0c101ad9}dialog::backdrop{background:#0e152557}dialog header{position:sticky;top:0;z-index:1;background:#233041;padding:8px 14px}dialog h2{margin:0}dialog header button{padding:4px 10px;font-size:13px}.dialog-content{padding:14px}#rules .dialog-content{padding:clamp(12px,3vw,24px)}#rules p{line-height:1.45}#rules h3{margin:0 0 8px;color:var(--gold-light);font-size:17px}.rules-intro{margin:0 0 14px}.rules-orders{display:grid;gap:7px;margin:0 0 18px;padding:0;list-style:none}.rules-orders li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:9px;padding:9px;border:1px solid #79624188;border-radius:6px;background:#151f2dcc}#rules .rules-orders h3{margin:0 0 3px;font-size:15px}.rules-orders p{margin:0;font-size:13px}.rules-cost{color:var(--gold-light);font-size:11px;white-space:nowrap}.rules-examples{width:100%;border-collapse:collapse;font-size:13px}.rules-examples th,.rules-examples td{padding:6px 7px;border-bottom:1px solid #79624188;text-align:left}.rules-examples th{color:var(--gold-light);background:#151f2d}.rules-examples tbody tr:nth-child(2n){background:#10172244}.rules-note{margin:8px 0 14px;font-size:13px}.rules-note:last-child{margin-bottom:0}.audio-options{display:grid;gap:8px}.audio-options label{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}.audio-options input{width:18px;height:18px;min-height:0;accent-color:var(--gold-light)}.dialog-content details{margin-top:8px}.link-field{display:flex;align-items:flex-end;gap:5px;margin-top:8px}.link-field label{flex:1;min-width:0;font-size:13px}.link-field button{flex:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(max-width:510px){.round-info{font-size:13px}.round-info span{font-size:11px}.link-field{align-items:stretch;flex-direction:column}.board-shell .brand{font-size:15px;letter-spacing:1px}.board .fallback-note{bottom:57px}}@media(max-height:500px)and (orientation:landscape){.board-header,.board-bar{padding-block:1px}}
