/*
 * Adria Summer — shared design tokens for every Adria Island site.
 * Source of truth: /root/projects/infra/brand/ (see README.md there).
 * Copy this block into a product stylesheet and map the product's own
 * variables onto it; keep the values identical across products.
 */
:root {
  /* Surfaces: Dalmatian limestone, sand and shallow water */
  --adria-paper: #fbf7ef;
  --adria-sand: #f5ecdd;
  --adria-sand-deep: #ecdfc8;
  --adria-card: #fffdf8;
  --adria-shallow: #e6f1f4;
  --adria-line: #e5dac7;
  --adria-line-strong: #d3c4ab;

  /* Text: deep Adriatic ink */
  --adria-ink: #13314a;
  --adria-muted: #5a6672;

  /* Sea, sun and the island palette */
  --adria-sea: #1b5e8c;          /* primary buttons and links */
  --adria-sea-strong: #144b72;   /* hover / pressed */
  --adria-sea-bright: #2e8cbf;   /* waves, focus ring, decoration */
  --adria-sea-light: #86c0dd;
  --adria-sun: #f2b33d;          /* highlights, underline marker */
  --adria-sun-soft: #fbe7b5;
  --adria-terracotta: #a8442d;   /* text-safe terracotta */
  --adria-terracotta-soft: #f6e1d6;
  --adria-seaplane: #c9302c;     /* small red accents */
  --adria-olive: #5f6f3a;
  --adria-olive-soft: #e9ecd9;
  --adria-pine: #2f5d4a;
  --adria-pine-soft: #e2ece5;
  --adria-lavender: #6e5ba8;
  --adria-lavender-soft: #ece8f5;
  --adria-lagoon: #17707a;
  --adria-lagoon-soft: #ddeeee;
  --adria-bougainvillea: #b23a75;

  /* Shape */
  --adria-radius-card: 20px;
  --adria-radius-control: 12px;
  --adria-radius-pill: 999px;
  --adria-shadow: 0 1px 2px rgba(19, 49, 74, .06), 0 14px 34px -16px rgba(19, 49, 74, .24);
  --adria-shadow-lift: 0 2px 4px rgba(19, 49, 74, .06), 0 24px 48px -20px rgba(19, 49, 74, .3);

  /* Type */
  --adria-font-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Source Han Sans SC", "Microsoft YaHei", sans-serif;
  --adria-font-display: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Noto Serif", serif;

  /* Each product sets its own accent from the table in README.md */
  --adria-accent: var(--adria-sea);
  --adria-accent-strong: var(--adria-sea-strong);
  --adria-accent-soft: var(--adria-shallow);
}

/* Headings: Chinese stays in the sans stack, English uses the display serif. */
:lang(en) :is(h1, h2, .adria-display) {
  font-family: var(--adria-font-display);
  font-weight: 600;
  letter-spacing: -.01em;
}
:lang(zh) :is(h1, h2, h3) {
  word-break: keep-all;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

/* Buttons */
.adria-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  padding: 11px 22px;
  border: 1px solid transparent;
  border-radius: var(--adria-radius-pill);
  font: 650 15px/1.4 var(--adria-font-sans);
  text-decoration: none;
  transition: background .16s, border-color .16s, transform .16s;
}
.adria-button.is-primary { color: #fff; background: var(--adria-accent); }
.adria-button.is-primary:hover { background: var(--adria-accent-strong); }
.adria-button.is-secondary { color: var(--adria-ink); background: var(--adria-card); border-color: var(--adria-line-strong); }
.adria-button.is-secondary:hover { border-color: var(--adria-ink); }
:is(a, button, summary, input, select, textarea):focus-visible {
  outline: 3px solid var(--adria-sea-bright);
  outline-offset: 3px;
}

/* Cards and tinted panels */
.adria-card {
  background: var(--adria-card);
  border: 1px solid var(--adria-line);
  border-radius: var(--adria-radius-card);
  box-shadow: var(--adria-shadow);
}

/* Postcard frame for paintings */
.adria-postcard {
  background: #fff;
  padding: 10px 10px 30px;
  border-radius: 6px;
  box-shadow: var(--adria-shadow-lift);
  transform: rotate(-2deg);
}
.adria-postcard img { display: block; width: 100%; border-radius: 3px; }

/* Wave divider: <svg class="adria-wave" viewBox="0 0 1440 40" preserveAspectRatio="none" aria-hidden="true"><path d="M0 22c120-16 240-16 360 0s240 16 360 0 240-16 360 0 240 16 360 0V40H0z"/></svg> */
.adria-wave { display: block; width: 100%; height: 28px; fill: currentColor; }

/* "Back to Adria Island" footer badge used by every product */
.adria-home {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--adria-ink);
  font: 600 13px/1.4 var(--adria-font-sans);
  text-decoration: none;
}
.adria-home img, .adria-home svg { width: 22px; height: 22px; border-radius: 6px; }
.adria-home:hover { color: var(--adria-sea); }
*{box-sizing:border-box}body{margin:0;background:var(--adria-paper);color:var(--adria-ink);font:15px/1.65 var(--adria-font-sans)}a{color:var(--adria-sea);text-decoration:none}button,input,select{font:inherit;color:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 17px;border:1px solid var(--adria-line-strong);border-radius:12px;background:var(--adria-card);cursor:pointer;text-align:center;font-weight:600}button:hover,.button:hover{border-color:var(--adria-sea)}button:disabled{opacity:.48;cursor:not-allowed}.primary{background:var(--adria-sea);color:white;border-color:var(--adria-sea)}.primary:hover{background:var(--adria-sea-strong)}.quiet{background:transparent;border-color:transparent}.danger{color:var(--adria-terracotta);border-color:var(--adria-terracotta)}input,select{width:100%;min-height:46px;border:1px solid var(--adria-line-strong);border-radius:10px;background:white;padding:10px 13px}label{display:block;font-weight:600;margin-bottom:8px}h1,h2,h3,p{margin:0 0 16px}h1{font-size:clamp(34px,4.7vw,68px);line-height:1.16;letter-spacing:-.035em}h2{font-size:26px;line-height:1.3}h3{font-size:17px}.topbar{height:88px;max-width:1440px;padding:0 5%;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--adria-line);gap:12px}.brand{display:flex;align-items:center;gap:12px;color:var(--adria-ink);font-size:19px;font-weight:700;line-height:1.2}.brand small{display:block;font-size:9px;letter-spacing:.19em;margin-top:5px;color:var(--adria-muted)}.topbar nav{display:flex;align-items:center;gap:20px}.topbar nav a{font-size:14px}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.05fr 1fr;gap:40px;padding:70px 5% 80px;align-items:center}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:700;color:var(--adria-muted);margin-bottom:18px}.hero h1 span{color:var(--adria-sea)}.lead{font-size:17px;line-height:1.8;color:var(--adria-muted)}.facts{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.facts span{font-size:12px;border:1px solid var(--adria-line);padding:5px 12px;border-radius:30px}.panel{padding:24px;background:var(--adria-card);border:1px solid var(--adria-line);border-radius:20px;box-shadow:var(--adria-shadow)}.entry{max-width:510px}.entry-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.entry label{font-size:13px}.entry .primary{justify-content:space-between}.join-row{display:flex;gap:10px;padding-top:15px;border-top:1px solid var(--adria-line)}.join-row input{flex:1;min-width:0}.fine{font-size:12px;color:var(--adria-muted);line-height:1.65}.entry .fine{margin:15px 0 0}.code-input{text-transform:uppercase;letter-spacing:.1em}.hero-table{height:540px;position:relative;isolation:isolate}.table-ring{position:absolute;inset:35px 0 20px;border:1px solid #d3c4ab;border-radius:50%;background:var(--adria-sand)}.table-ring:before{content:'';position:absolute;inset:24px;border:1px dashed #d3c4ab;border-radius:50%}.table-caption{position:absolute;top:0;left:15%;font-size:10px;letter-spacing:.16em;color:var(--adria-muted)}.sample-card{position:absolute;background:var(--adria-card);border:1px solid #d3c4ab;width:240px;height:320px;border-radius:14px;padding:18px;box-shadow:0 25px 35px -20px #13314a66}.sample-back{transform:rotate(-19deg);top:80px;left:3%;background:#e9ecd9}.sample-front{transform:rotate(10deg);top:95px;right:8%;height:330px}.sample-card p{font-size:11px;font-weight:700;letter-spacing:.1em;text-align:center}.gem-art{font-size:140px;text-align:center;color:var(--adria-pine)}.sample-top{display:flex;justify-content:space-between;align-items:center}.workshop-art{height:195px;width:100%}.sample-cost{display:flex;justify-content:center;gap:8px}.mini-gem{font-weight:bold;font-size:16px}.loose-gem{position:absolute;font-size:65px;text-shadow:2px 6px 0 #13314a15}.g1{left:14%;bottom:35px;transform:rotate(20deg)}.g2{left:29%;bottom:2px;transform:rotate(-10deg)}.g3{right:6%;top:25px}.table-note{position:absolute;bottom:5px;right:0;font:italic 20px/1.5 var(--adria-font-display);color:var(--adria-muted);transform:rotate(-5deg)}.intro{padding:70px 5%;background:var(--adria-sand);text-align:center}.intro-grid{max-width:1180px;margin:36px auto;display:grid;grid-template-columns:repeat(3,1fr);gap:45px;text-align:left}.intro-grid article>span{font:24px var(--adria-font-display);color:var(--adria-sea);display:block;margin-bottom:18px}.intro-grid p{color:var(--adria-muted);font-size:14px}.text-link{font-weight:700;border-bottom:1px solid}footer{max-width:1440px;padding:34px 5%;display:flex;justify-content:space-between;align-items:center;gap:25px;margin:auto}footer>span{font-size:11px;color:var(--adria-muted)}.skip{position:fixed;left:10px;top:-100px;z-index:100}.skip:focus{top:10px;background:white;padding:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}.rules-page,.entry-page{max-width:940px;margin:auto;padding:60px 24px}.entry-page .entry{margin:30px 0}.entry-page label{margin-bottom:20px}.rules-page>.eyebrow{margin-top:35px}.rule{margin-top:32px;border-top:1px solid var(--adria-line);padding-top:26px}.rule h2{font-size:22px}.rule p{color:var(--adria-muted)}.rules-page>.button{margin-top:25px}.lobby{max-width:1060px;margin:auto;padding:60px 24px}.lobby-title{text-align:center}.lobby h1{font-size:40px}.room-code{letter-spacing:.1em;color:var(--adria-sea);font-family:monospace}.lobby-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;margin-top:35px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.section-head h2,.section-head p{margin:0}.section-head .eyebrow{margin-bottom:5px}.lobby-seat{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--adria-line)}.lobby-seat strong{flex:1;overflow-wrap:anywhere}.lobby-seat small{color:var(--adria-muted)}.avatar{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;background:var(--adria-shallow);border-radius:50%;color:var(--adria-sea);font-weight:700}.button-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.invite{text-align:center}.invite canvas{display:block;margin:0 auto 20px;max-width:100%;height:auto!important}.connection{font-size:12px;color:var(--adria-pine);margin-top:20px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);z-index:1000;background:var(--adria-ink);color:white;padding:12px 22px;border-radius:14px;max-width:min(90vw,540px);width:max-content;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid var(--adria-line);border-radius:22px;padding:35px;color:var(--adria-ink);background:var(--adria-card);width:min(650px,calc(100% - 28px));max-height:85dvh;box-shadow:var(--adria-shadow-lift)}dialog::backdrop{background:#13314a66;backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:25px}.menu-buttons{display:grid;gap:10px}.guide-steps p{padding:18px;background:var(--adria-sand);border-radius:12px}.in-room .topbar{max-width:none;height:70px;padding:0 24px;background:rgba(255,253,248,.9)}.game-shell{max-width:1700px;margin:auto;padding:20px 24px 35px}.turnbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;margin-bottom:18px;border:1px solid var(--adria-line);border-radius:16px;background:var(--adria-sand)}.turnbar.your-turn{background:var(--adria-shallow);border-color:var(--adria-sea-light)}.turnbar h1{font-family:var(--adria-font-sans);font-size:23px;letter-spacing:0;margin:3px 0}.turnbar .eyebrow{font-size:10px}.turn-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.screen-status{font-size:11px;color:var(--adria-muted)}.players{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:20px}.player{padding:14px 16px;background:var(--adria-card);border:1px solid var(--adria-line);border-radius:14px;min-width:0}.player.active{border-color:var(--adria-sea);box-shadow:inset 0 3px var(--adria-sea)}.player-top{display:flex;align-items:center;gap:9px}.player-top>div{min-width:0;flex:1}.player-top strong{font-size:14px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-top small{display:block;font-size:10px;color:var(--adria-muted)}.score{font-size:28px;font-family:var(--adria-font-display);white-space:nowrap}.score small{display:inline;font-size:10px}.player .fine{margin:7px 0 0}.discounts{display:flex;gap:7px;margin-top:10px}.chip{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:700;white-space:nowrap}.pearl{--gem:#776952;--gem-bg:#f5ecdd;color:var(--gem)}.coral{--gem:#a8442d;--gem-bg:#f6e1d6;color:var(--gem)}.jade{--gem:#2f5d4a;--gem-bg:#e2ece5;color:var(--gem)}.azure{--gem:#1b5e8c;--gem-bg:#e6f1f4;color:var(--gem)}.amethyst{--gem:#6e5ba8;--gem-bg:#ece8f5;color:var(--gem)}.sand{--gem:#8c6013;--gem-bg:#fbe7b5;color:var(--gem)}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}.market{padding:22px}.market>.section-head .fine{text-align:right;max-width:210px}.market h2{font-size:23px}.tier{margin:20px 0}.tier-label{display:flex;align-items:center;gap:10px;margin-bottom:10px}.tier-label b{font:20px var(--adria-font-display);color:var(--adria-sea);width:25px}.tier-label span{font-size:13px;font-weight:600}.tier-label small{font-size:10px;color:var(--adria-muted);margin-left:auto}.card-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.workshop{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:10px;min-width:0;border-radius:12px;border-color:var(--adria-line-strong);color:var(--adria-ink);background:var(--adria-card);box-shadow:0 3px 0 var(--adria-sand);overflow:hidden;text-align:left;transition:transform .15s,border-color .15s}.workshop:hover{transform:translateY(-3px)}.workshop.selected{outline:3px solid var(--adria-sea-bright);outline-offset:2px}.card-head{display:flex;justify-content:space-between;gap:5px;align-items:center;color:var(--gem);font-size:17px}.card-number{font-size:9px;color:var(--adria-muted);font-family:monospace}.bonus-gem{padding:2px 5px;border-radius:6px;background:var(--gem-bg)}.bonus-gem small{font-size:9px}.card-art{background:var(--gem-bg);border-radius:6px;margin:8px 0 5px;height:64px;display:block}.card-art svg{width:100%;height:100%}.art-ground{stroke:var(--gem);fill:none;opacity:.3;stroke-width:2}.art-wall{fill:var(--adria-card);stroke:var(--adria-line-strong);stroke-width:1}.art-roof{fill:var(--gem)}.art-window{fill:var(--gem);opacity:.7}.art-tower{fill:var(--adria-card);stroke:var(--gem);stroke-width:2}.card-name{font-size:12px;margin-bottom:7px;font-weight:700}.card-cost{display:flex;flex-wrap:wrap;gap:6px;min-height:22px}.card-cost .chip{font-size:11px}.can-build{font-size:9px;color:var(--adria-pine);position:absolute;bottom:0;right:0;background:var(--adria-pine-soft);padding:1px 5px;border-radius:4px}.affordable{padding-bottom:19px}.contract-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:10px}.commissions{border-top:1px solid var(--adria-line);padding-top:20px}.commissions h3{display:flex;justify-content:space-between}.commissions h3 small{color:var(--adria-terracotta)}.contract{background:var(--adria-sand);padding:12px;border-radius:10px}.contract>b{font:11px monospace}.contract>div{display:flex;gap:10px;margin:5px 0}.contract small{font-size:9px;color:var(--adria-muted)}.personal{padding:20px;position:sticky;top:15px}.personal h2{font-size:21px}.private-label{font-size:10px;color:var(--adria-muted)}.pouch{display:flex;justify-content:space-between;gap:7px}.pouch-item{text-align:center;min-width:0}.pouch-item .chip{display:flex;justify-content:center;background:var(--gem-bg);height:42px;min-width:37px;border-radius:50%;font-size:17px}.pouch-item small{font-size:9px;color:var(--adria-muted)}.personal>.fine{margin:15px 0}.personal>.fine .chip{margin-left:4px;font-size:11px}.personal h3{margin:20px 0 7px;font-size:15px}.personal .fine{margin-bottom:9px}.pick-row{display:flex;gap:6px;margin:12px 0}.pick{padding:9px 4px;min-width:0;flex:1;flex-direction:column;gap:1px;font-size:10px;background:var(--gem-bg);border-color:transparent}.pick b{font-size:20px}.pick small{font-size:9px}.pick.chosen{border-color:var(--gem);outline:2px solid var(--gem);outline-offset:1px}.chosen-card{background:var(--adria-shallow);padding:14px;border-radius:12px;margin-top:12px;font-size:13px}.chosen-card p{margin:10px 0}.chosen-card .button-row{display:grid;grid-template-columns:1fr 1fr}.chosen-card button{padding:8px;font-size:12px}.reserved-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.compact .card-art{height:36px}.compact .card-head{font-size:13px}.compact .card-name{font-size:11px}.reserves{border-top:1px solid var(--adria-line);margin-top:20px}.reserves h3 small{color:var(--adria-muted);float:right}.wide{width:100%;margin-top:12px}.return-box{padding:1px 12px 14px;background:var(--adria-sun-soft);border-radius:12px}.return-box .pick{min-height:50px}.return-box p{font-size:12px}.controller-note{text-align:center;max-width:540px;align-self:center;justify-self:center;color:var(--adria-muted);padding:40px}.controller-icon{font-size:85px;color:var(--adria-sea)}.history{padding:25px 5px;color:var(--adria-muted);font-size:12px}.history summary{cursor:pointer}.history li{margin:7px 0}.results{text-align:center;margin:15px 0 20px;background:var(--adria-sun-soft)}.results h2{font-size:30px}.results p{font-size:13px}.supply-grid{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;gap:20px}.supply-grid .chip{font-size:30px}.supply-grid p{font-size:12px}.display-supply p{color:var(--adria-muted);font-size:13px}.display-mode .game-layout{grid-template-columns:minmax(0,1fr) 260px}.display-mode .card-art{height:82px}.display-mode .card-name{font-size:15px}.display-mode .card-cost .chip{font-size:15px}.display-mode .card-number{font-size:12px}.display-mode .workshop{cursor:default}.display-mode .workshop:hover{transform:none}
@media(min-width:1500px){.display-mode .card-art{height:95px}.display-mode .card-name{font-size:18px}.display-mode .card-head{font-size:24px}.display-mode .card-cost .chip{font-size:18px}.display-mode .player-top strong{font-size:18px}.display-mode .market{padding:25px}.display-mode .contract .chip{font-size:17px}}
@media(max-width:1100px){.hero{gap:10px}.hero-table{transform:scale(.88);transform-origin:center}.game-layout{grid-template-columns:minmax(0,1fr) 310px;gap:12px}.game-shell{padding:15px}.market{padding:16px}.card-row{gap:8px}.workshop{padding:8px}.card-art{height:46px}.card-head{font-size:13px}.card-number{font-size:8px}.card-cost{gap:4px}.card-cost .chip{font-size:10px}.personal{padding:15px}.turnbar{align-items:flex-start}.turn-tools{justify-content:flex-end}.turn-tools .screen-status{width:100%;text-align:right}}
@media(max-width:800px){.topbar{height:72px;padding:0 20px}.topbar nav{gap:7px}.brand{font-size:16px;gap:8px}.topbar nav a{font-size:12px}.topbar nav button{font-size:12px;padding:8px 10px}.hero{grid-template-columns:1fr;padding:40px 22px}.hero-copy{max-width:540px;margin:auto;width:100%}.hero h1{font-size:44px}.hero-table{height:400px;max-width:460px;width:100%;margin:auto;transform:scale(.9)}.sample-front{top:55px}.sample-back{top:40px}.table-note{bottom:-20px}.g1{bottom:-25px}.g2{bottom:-55px}.table-caption{top:0}.intro{padding:45px 24px}.intro-grid{gap:25px}.intro-grid p{font-size:12px}.intro-grid h3{font-size:15px}footer{flex-direction:column;align-items:flex-start}.lobby{padding:35px 18px}.lobby h1{font-size:30px}.lobby-grid{grid-template-columns:1fr}.game-layout,.display-mode .game-layout{grid-template-columns:1fr}.personal{position:static;order:-1}.market{order:1}.collapsed .personal{order:0}.collapsed .controller-note{padding:20px;order:1}.controller-icon{font-size:45px}.turnbar{padding:14px;flex-direction:column;gap:12px}.turnbar h1{font-size:19px}.turn-tools{justify-content:flex-start;width:100%}.turn-tools .screen-status{text-align:left;width:auto}.turn-tools button{font-size:12px}.players{display:flex;overflow-x:auto;padding-bottom:5px;gap:8px}.player{min-width:180px;flex:1;padding:11px}.discounts{gap:8px}.game-shell{padding:12px}.in-room .topbar{padding:0 12px;height:62px}.in-room .brand small{font-size:8px}.personal{padding:18px}.pouch{justify-content:flex-start;gap:14px}.pouch-item{flex:1}.pouch-item .chip{height:43px;max-width:50px}.personal .pick{min-height:65px}.market .section-head{align-items:flex-start}.market>.section-head .fine{font-size:10px;max-width:125px}.market h2{font-size:19px}.market .eyebrow{font-size:8px}.card-art{height:44px}.card-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card-head{font-size:18px}.card-number{font-size:10px}.card-name{font-size:13px}.card-cost .chip{font-size:12px}.workshop{padding:10px}.affordable{padding-bottom:20px}.contract-row{grid-template-columns:repeat(2,minmax(0,1fr))}.reserved-row .card-art{height:35px}.reserved-row .card-head{font-size:16px}.display-mode .card-row{grid-template-columns:repeat(4,minmax(0,1fr))}.display-mode .card-name{font-size:11px}.display-mode .card-art{height:40px}.display-mode .card-cost .chip{font-size:10px}}
@media(max-width:440px){.hero h1{font-size:37px}.hero .lead{font-size:14px}.hero .lead br{display:none}.hero-table{transform:scale(.8);height:370px}.entry{padding:18px}.entry-actions{grid-template-columns:1fr}.entry-actions button{justify-content:center!important}.facts{gap:6px}.facts span{font-size:10px;padding:4px 8px}.intro-grid{grid-template-columns:1fr;gap:20px}.intro-grid article{border-top:1px solid var(--adria-line-strong);padding-top:20px}.intro-grid article>span{font-size:18px;margin-bottom:10px}.intro-grid p{font-size:14px}.topbar nav{gap:0}.topbar .brand img{width:29px;height:29px}.topbar .brand{font-size:14px}.topbar nav a{font-size:11px}.topbar nav button{padding:6px 8px}.pouch{gap:7px}.pouch-item .chip{min-width:32px;font-size:16px}.lobby .panel{padding:18px}.lobby .button-row{display:grid;grid-template-columns:1fr}.lobby-seat{gap:8px}.lobby-seat small{font-size:10px}.lobby-seat .quiet{padding:5px;font-size:11px}.turn-tools .screen-status{font-size:10px}.game-shell{padding:9px}.personal{padding:15px}.market{padding:13px}dialog{padding:32px 20px 22px}.rules-page h1{font-size:32px}.section-head{gap:8px}.card-cost{gap:5px}.game-shell .panel{border-radius:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.game-layout>*{min-width:0}.personal select{min-width:0;max-width:100%}.in-room #main{max-width:none;padding:0;margin:0}
@media(max-width:800px){.game-layout,.display-mode .game-layout{grid-template-columns:minmax(0,1fr)}}
/* Anchor screen-reader labels inside each chip, including in scrollable player rows. */
.chip{position:relative}.chip .sr-only{left:0;top:0;clip-path:inset(50%)}
/* Keep the whole shared market visible on a 1440×1000 display without scrolling. */
@media(min-width:801px){
.display-mode .topbar{height:56px}
.display-mode .game-shell{padding:12px 18px}
.display-mode .turnbar{padding:10px 16px;margin-bottom:10px}
.display-mode .turnbar h1{font-size:22px}
.display-mode .players{margin-bottom:12px;gap:10px}
.display-mode .player{padding:8px 13px}
.display-mode .player .discounts{margin-top:4px}
.display-mode .player .fine{margin-top:2px}
.display-mode .market{padding:14px 18px}
.display-mode .market>.section-head{margin-bottom:10px}
.display-mode .market>.section-head h2{font-size:22px}
.display-mode .market>.section-head .eyebrow{font-size:9px;margin-bottom:2px}
.display-mode .tier{margin:10px 0}
.display-mode .tier-label{margin-bottom:5px}
.display-mode .workshop{padding:7px 10px}
.display-mode .card-head{font-size:19px;line-height:1.3}
.display-mode .card-art{height:34px;margin:4px 0}
.display-mode .card-name{font-size:15px;margin-bottom:3px;line-height:1.4}
.display-mode .card-cost{min-height:23px}
.display-mode .card-cost .chip{font-size:15px}
.display-mode .commissions{padding-top:10px}
.display-mode .commissions h3{margin-bottom:8px}
.display-mode .contract{padding:6px 10px}
.display-mode .contract>div{margin:2px 0}
.display-mode .contract .chip{font-size:15px}
.display-mode .contract small{font-size:10px}
.display-mode .history{padding:10px 5px}
}

@media(min-width:801px){.display-mode .card-art{height:20px}.display-mode .tier{margin:8px 0}.display-mode .topbar{height:52px}.display-mode .turnbar{padding:8px 16px}}
