:root {
  --ink: #3e3831;
  --ink-soft: #766f65;
  --paper: #f8f5ef;
  --paper-deep: #efe6d9;
  --card: #fffdf9;
  --line: #e5ddd2;
  --green: #41685e;
  --green-dark: #31564d;
  --sea: #628a88;
  --coral: #ba725d;
  --sun: #d2a261;
  --danger: #a65348;
  --violet: #756b8d;
  --mint: #e3eee8;
  --radius-sm: 12px;
  --radius-md: 20px;
  --radius-lg: 32px;
  --shadow: 0 18px 45px rgba(73, 58, 42, .11);
  --shadow-soft: 0 8px 24px rgba(73, 58, 42, .06);
}

* { box-sizing: border-box; }
html { color-scheme: light; scroll-behavior: smooth; }
body { margin: 0; background: radial-gradient(circle at 0 0, rgba(229,170,66,.13), transparent 28rem), radial-gradient(circle at 100% 35%, rgba(45,113,128,.08), transparent 31rem), var(--paper); color: var(--ink); font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.55; }
a { color: var(--green); text-underline-offset: 3px; }
a:hover { color: var(--coral); }
button, input, textarea, select { font: inherit; }
button, summary { cursor: pointer; }
img { max-width: 100%; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.12; }
h1 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.25rem, 5vw, 4.8rem); font-weight: 500; letter-spacing: -.045em; }
h2 { font-size: clamp(1.25rem, 2vw, 1.7rem); letter-spacing: -.025em; }
h3 { font-size: 1.08rem; }

.site-header { min-height: 78px; padding: 13px max(22px, calc((100vw - 1240px) / 2)); display: flex; align-items: center; justify-content: space-between; gap: 24px; background: linear-gradient(110deg, #103c38, #195c55 56%, #1f706b); color: white; }
.brand { color: white; text-decoration: none; display: flex; align-items: center; gap: 12px; }
.brand:hover { color: white; }
.brand-mark { display: grid; place-items: center; width: 43px; height: 43px; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; font: italic 1.65rem Georgia, serif; color: #f6c86d; box-shadow: inset 0 0 0 5px rgba(255,255,255,.08); }
.brand span:last-child, .account-profile { display: flex; flex-direction: column; }
.brand strong { letter-spacing: .02em; }
.brand small, .account small { color: rgba(255,255,255,.67); font-size: .72rem; }
.account { display: flex; align-items: center; gap: 16px; text-align: right; font-size: .85rem; }
.account-profile { color: #fff; text-decoration: none; }
.account-profile:hover { color: #f6c86d; }
.link-button { padding: 6px 0; color: #fff; background: none; border: 0; border-bottom: 1px solid rgba(255,255,255,.55); }
.main-nav { position: sticky; z-index: 20; top: 0; display: flex; gap: 5px; padding: 7px max(18px, calc((100vw - 1240px) / 2)); overflow-x: auto; background: rgba(255,254,250,.93); border-bottom: 1px solid rgba(217,210,197,.8); box-shadow: 0 5px 14px rgba(27,51,48,.035); backdrop-filter: blur(12px); scrollbar-width: thin; }
.main-nav a { white-space: nowrap; text-decoration: none; color: var(--ink-soft); padding: 9px 12px; border-radius: 999px; font-size: .86rem; }.nav-notification { display: inline-grid; min-width: 17px; height: 17px; place-items: center; margin-left: 4px; padding: 0 4px; color: #fff; background: var(--coral); border-radius: 999px; font-size: .62rem; font-weight: 800; vertical-align: 1px; }
.main-nav a:hover, .main-nav a[aria-current="page"] { color: var(--green); background: var(--mint); }
.page-shell { width: min(1240px, calc(100% - 36px)); margin: 0 auto; padding: 38px 0 70px; }
.site-footer { padding: 30px 20px; text-align: center; color: var(--ink-soft); border-top: 1px solid var(--line); font-size: .82rem; }

.eyebrow { margin-bottom: 8px; color: var(--coral); text-transform: uppercase; letter-spacing: .14em; font-size: .72rem; font-weight: 800; }
.eyebrow.danger { color: var(--danger); }
.muted { color: var(--ink-soft); }
.prose { white-space: pre-line; }
.place { color: var(--sea); font-weight: 650; }
.clamp { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; color: var(--ink-soft); }
.panel { background: rgba(255,254,250,.94); border: 1px solid rgba(217,210,197,.9); border-radius: var(--radius-md); padding: clamp(20px, 3vw, 32px); box-shadow: var(--shadow-soft); }
.paper-panel { background: #f2eadc; }
.section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.section-heading h2, .section-heading p { margin-bottom: 0; }
.section-heading > span, .section-heading > a { font-size: .84rem; }
.button-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.button, button.primary, button.secondary { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; padding: 10px 17px; border: 1px solid transparent; border-radius: 999px; font-weight: 750; text-decoration: none; transition: transform .15s, background .15s, box-shadow .15s; }
.button:hover, button:hover { transform: translateY(-1px); }
.primary, .button.primary { color: #fff; background: linear-gradient(135deg, var(--green), #28756c); border-color: var(--green); box-shadow: 0 8px 18px rgba(30,90,82,.18); }
.primary:hover, .button.primary:hover { color: #fff; background: var(--green-dark); box-shadow: 0 10px 22px rgba(30,90,82,.25); }
.secondary, .button.secondary { color: var(--green); background: transparent; border-color: var(--green); }
.secondary:hover, .button.secondary:hover { color: #fff; background: var(--green); }
.button.small, button.small { min-height: 36px; padding: 7px 12px; font-size: .82rem; }
.wide { width: 100%; }

.flash-stack { position: relative; z-index: 10; display: grid; gap: 8px; margin-bottom: 20px; }
.flash { padding: 12px 15px; border-left: 4px solid var(--sea); background: #edf7f5; box-shadow: var(--shadow); }
.flash.error { border-color: var(--danger); background: #fff0ed; color: #782e24; }
.flash.success { border-color: var(--green); }

.hero { position: relative; overflow: hidden; min-height: 430px; margin-top: 8px; padding: clamp(35px, 6vw, 74px); display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); align-items: center; gap: 48px; color: #fff; background: linear-gradient(135deg, #143f3a 0%, #1d615a 58%, #2a7780 150%); border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.hero::before { content: ""; position: absolute; inset: 0; opacity: .34; background-image: radial-gradient(rgba(255,255,255,.28) 1px, transparent 1.5px), linear-gradient(116deg, transparent 0 48%, rgba(255,255,255,.1) 48% 49%, transparent 49%); background-size: 25px 25px, 100% 100%; }
.hero::after { content: ""; position: absolute; width: 430px; height: 430px; right: -180px; top: -210px; border: 90px solid rgba(229,170,66,.19); border-radius: 50%; }
.hero > * { position: relative; z-index: 1; }
.hero h1 { margin-bottom: 20px; color: #fff; }
.hero-copy { max-width: 620px; color: #c9dbd7; font-size: 1.05rem; }
.hero .secondary { color: #fff; border-color: rgba(255,255,255,.55); }
.hero .secondary:hover { background: #fff; color: var(--green); }
.hero-postcard { transform: rotate(2deg); min-height: 220px; padding: 34px 28px; display: flex; flex-direction: column; justify-content: center; background: var(--paper); color: var(--ink); box-shadow: 12px 16px 0 rgba(0,0,0,.12); border: 1px solid #fff; }
.hero-postcard span { color: var(--coral); text-transform: uppercase; letter-spacing: .14em; font-size: .7rem; font-weight: 800; }
.hero-postcard strong { font: 5.5rem/1 Georgia, serif; color: var(--green); }
.hero-postcard small { color: var(--ink-soft); }
.travel-agent-card { position: relative; overflow: hidden; align-self: stretch; min-height: 285px; padding: 25px; display: flex; flex-direction: column; background: rgba(255,253,246,.95); color: var(--ink); border: 1px solid rgba(255,255,255,.75); border-radius: var(--radius-md); box-shadow: 12px 15px 0 rgba(8,37,34,.17); transform: rotate(1.3deg); }
.travel-agent-card::after { content: ""; position: absolute; right: -30px; bottom: -45px; width: 160px; height: 160px; border: 24px solid rgba(229,170,66,.25); border-radius: 50%; }
.travel-agent-card > * { position: relative; z-index: 1; }.agent-card-heading { display: flex; align-items: center; gap: 10px; }.agent-card-heading p { margin: 0; color: var(--coral); font-size: .7rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }.agent-card-heading strong { font-size: .82rem; }.agent-compass { flex: 0 0 38px; width: 38px; height: 38px; display: grid; place-items: center; color: var(--green); background: var(--mint); border-radius: 50%; font-size: 1.2rem; }.travel-agent-card h2 { margin: 22px 0 8px; font: 1.7rem/1.05 Georgia, serif; }.travel-agent-card > p { margin-bottom: 15px; color: var(--ink-soft); font-size: .86rem; }.travel-agent-card > small { margin-top: 5px; color: var(--ink-soft); font-size: .72rem; }.travel-agent-card > a { margin-top: auto; color: var(--green); font-size: .82rem; font-weight: 800; text-decoration: none; }
.agent-progress { height: 8px; overflow: hidden; background: var(--paper-deep); border-radius: 999px; }.agent-progress span { display: block; height: 100%; min-width: 3px; background: linear-gradient(90deg, var(--coral), var(--sun)); border-radius: inherit; }.agent-focus { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }.agent-focus span { display: grid; gap: 1px; max-width: 160px; padding: 7px 9px; background: rgba(220,238,231,.72); border-radius: 7px; color: var(--ink-soft); font-size: .69rem; }.agent-focus b { color: var(--green); font-size: .62rem; letter-spacing: .05em; text-transform: uppercase; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin: 18px 0 36px; border: 1px solid var(--line); background: var(--card); }
.stats-grid { overflow: hidden; border-radius: var(--radius-md); box-shadow: var(--shadow-soft); }.stats-grid article { min-height: 135px; padding: 22px; display: flex; flex-direction: column; border-right: 1px solid var(--line); }
.stats-grid article:last-child { border: 0; }
.stats-grid span { color: var(--ink-soft); font-size: .78rem; }
.stats-grid strong { margin: auto 0 3px; font: 2.5rem/1 Georgia, serif; color: var(--green); }
.stats-grid .status-word { font: 750 1.2rem/1.1 ui-sans-serif, system-ui; text-transform: capitalize; }
.stats-grid small { color: var(--ink-soft); }
.two-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-bottom: 22px; }
.three-columns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.consensus-glance { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.consensus-glance div { padding: 14px; border-left: 3px solid var(--sun); background: #faf5ea; }
.consensus-glance span { display: block; color: var(--ink-soft); font-size: .73rem; }
.consensus-glance strong { display: block; margin-top: 4px; font-size: 1.2rem; }
.signal { margin: 20px 0 0; padding-top: 16px; border-top: 1px solid var(--line); }
.activity-list { padding: 0; margin: 0; list-style: none; }
.activity-list li { display: flex; gap: 13px; padding: 10px 0; border-bottom: 1px solid rgba(24,53,50,.1); }
.activity-list li:last-child { border: 0; }
.activity-list div { display: flex; flex-direction: column; }
.activity-list small { color: var(--ink-soft); }
.activity-dot { flex: 0 0 10px; width: 10px; height: 10px; margin-top: 7px; border-radius: 50%; background: var(--coral); }
.activity-dot.idee { background: var(--sun); }.activity-dot.album { background: var(--sea); }
.top-homes { margin-top: 22px; }
.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.card-grid.compact .listing-card:nth-child(n+4) { display: none; }
.empty-inline { min-height: 100px; padding: 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border: 1px dashed var(--line); }
.empty-inline p { margin: 0; color: var(--ink-soft); }

.page-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; margin: 15px 0 30px; padding: 20px 0 25px; border-bottom: 1px solid var(--line); }
.page-heading h1 { max-width: 900px; margin-bottom: 10px; }
.page-heading p:last-child { max-width: 720px; margin: 0; color: var(--ink-soft); }
.action-details { position: relative; }
.action-details > summary { list-style: none; white-space: nowrap; }
.action-details > summary::-webkit-details-marker { display: none; }
.popover-form { position: absolute; z-index: 20; top: calc(100% + 10px); right: 0; width: min(520px, calc(100vw - 36px)); max-height: 75vh; overflow-y: auto; padding: 25px; background: var(--card); border: 1px solid var(--line); box-shadow: var(--shadow); }
.popover-form h2 { margin-bottom: 20px; }
.stack-form, .popover-form { display: grid; gap: 17px; }
label { display: grid; gap: 7px; color: var(--ink); font-size: .86rem; font-weight: 680; }
label small { color: var(--ink-soft); font-weight: 400; }
input, textarea, select { width: 100%; min-height: 45px; padding: 10px 12px; color: var(--ink); background: #fffefa; border: 1px solid #bdb7ab; border-radius: var(--radius-sm); outline: none; }
textarea { resize: vertical; }
input:focus, textarea:focus, select:focus { border-color: var(--sea); box-shadow: 0 0 0 3px rgba(45,113,128,.14); }
input[type="checkbox"], input[type="radio"] { width: 18px; min-height: 18px; accent-color: var(--green); }
input[type="range"] { padding: 0; accent-color: var(--coral); box-shadow: none; border: 0; background: transparent; }
.form-grid { display: grid; gap: 14px; }.form-grid.two { grid-template-columns: repeat(2, 1fr); }.form-grid.three { grid-template-columns: repeat(3, 1fr); }.form-grid.four { grid-template-columns: repeat(4, 1fr); }
.inline-check { display: flex; grid-template-columns: auto 1fr; align-items: center; }
.questionnaire { gap: 0; }
.form-section { display: grid; grid-template-columns: 85px minmax(0, 1fr); border-top: 1px solid var(--line); padding: 35px 0; }
.section-number { font: italic 1.3rem Georgia, serif; color: var(--coral); }
.form-section-body { max-width: 960px; }
.form-section-body h2 { margin-bottom: 8px; }
.choice-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 17px 0 21px; }
.form-grid fieldset { min-width: 0; margin: 0; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); }.form-grid fieldset legend { padding: 0 5px; color: var(--ink-soft); font-size: .79rem; font-weight: 800; }.choice-grid.compact { margin: 8px 0 0; }.choice-grid.compact .check-card { min-height: 42px; padding: 9px 10px; font-size: .82rem; }
.check-card { min-height: 56px; padding: 11px 13px; display: flex; grid-template-columns: auto 1fr; align-items: center; gap: 10px; background: var(--card); border: 1px solid var(--line); font-weight: 560; }
.check-card:has(input:checked) { border-color: var(--green); background: #eaf3ef; }
.range-labels { display: flex; justify-content: space-between; color: var(--ink-soft); font-weight: 400; }
.sticky-submit { position: sticky; z-index: 8; bottom: 14px; padding: 14px 18px; display: flex; justify-content: space-between; align-items: center; gap: 15px; background: rgba(255,253,248,.96); border: 1px solid var(--line); box-shadow: var(--shadow); backdrop-filter: blur(8px); }
.sticky-submit span { color: var(--ink-soft); font-size: .84rem; }

.consensus-hero { display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: 22px; background: var(--green-dark); color: #fff; }
.consensus-hero > div { padding: 27px 23px; border-right: 1px solid rgba(255,255,255,.19); }
.consensus-hero span, .consensus-hero small { display: block; color: #bfd3ce; font-size: .75rem; }
.consensus-hero strong { display: block; margin: 10px 0 5px; font: 2rem/1 Georgia, serif; color: #fff0ca; }
.consensus-columns { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.vote-bars { display: grid; gap: 18px; }
.bar-label { display: flex; justify-content: space-between; gap: 15px; font-size: .86rem; }
.bar-track { height: 8px; margin-top: 6px; background: var(--paper-deep); overflow: hidden; }
.bar-track span { display: block; height: 100%; background: var(--coral); }
.bar-track.green span { background: var(--green); }.bar-track.blue span { background: var(--sea); }
.priority { display: inline-block; margin-top: 4px; color: var(--ink-soft); }
.priority.required { color: var(--danger); font-weight: 750; }.priority.important { color: #956112; font-weight: 750; }
.tag-cloud { display: flex; flex-wrap: wrap; gap: 8px; }.tag-cloud span { padding: 8px 11px; background: var(--paper-deep); font-size: .83rem; }.tag-cloud b { margin-left: 4px; color: var(--coral); }
.info-note { display: block; margin-top: 22px; padding: 20px 24px; background: #e7f0ed; border-left: 4px solid var(--green); }
.info-note p { margin: 6px 0 0; }.info-note.compact { margin: 0; padding: 13px 16px; font-size: .85rem; }

.filter-row { display: flex; gap: 7px; margin-bottom: 25px; overflow-x: auto; }
.filter-row a { white-space: nowrap; padding: 8px 13px; text-decoration: none; border: 1px solid var(--line); border-radius: 999px; background: var(--card); color: var(--ink-soft); font-size: .84rem; }
.filter-row a[aria-current="true"] { background: var(--green); color: #fff; border-color: var(--green); }
.filter-row b { margin-left: 5px; }
.listing-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.listing-card { position: relative; display: block; padding: 20px; text-decoration: none; color: var(--ink); background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden; transition: transform .18s, box-shadow .18s, border-color .18s; }
.listing-card::before { content: ""; position: absolute; top: 0; right: 0; left: 0; height: 4px; background: linear-gradient(90deg, var(--coral), var(--sun), var(--sea)); opacity: 0; transition: opacity .18s; }.listing-card:hover { color: var(--ink); border-color: #a8a194; box-shadow: var(--shadow); transform: translateY(-3px); }.listing-card:hover::before { opacity: 1; }
.listing-card.large { padding: 26px; }
.listing-card-top { min-height: 27px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.badge, .source-badge { display: inline-flex; width: fit-content; padding: 4px 8px; background: #e9eee9; color: var(--green); font-size: .66rem; line-height: 1.3; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.badge.shortlist { background: #fff0cc; color: #81520b; }.badge.ecartee { background: #f1e7e4; color: #7e4e45; }.badge.reservee { background: var(--green); color: #fff; }.badge.subtle { background: var(--paper-deep); color: var(--ink-soft); }
.badge.construction-badge { margin-bottom: 12px; background: #fff0cc; color: #81520b; }
.source-badge { background: #e4eef0; color: var(--sea); }.source-badge.manual { background: #f2e9dc; color: #825d2b; }.source-badge.project { color: #5e457f; background: #eee7f7; }
.score-line { float: right; margin: 15px 0 10px 20px; text-align: right; }
.score-line span { display: block; color: var(--ink-soft); font-size: .66rem; }
.score { color: var(--coral); font: 2.1rem/1 Georgia, serif; }.score small { font: .8rem ui-sans-serif, system-ui; color: var(--ink-soft); }
.listing-card h2, .listing-card h3 { margin: 20px 0 7px; }.listing-card h2 a { color: var(--ink); text-decoration: none; }.listing-card h2 a:hover { color: var(--green); }
.listing-meta, .listing-footer { display: flex; gap: 12px; flex-wrap: wrap; color: var(--ink-soft); font-size: .76rem; }
.property-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin: 22px 0; clear: both; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.property-facts > div { padding: 13px 8px; border-right: 1px solid var(--line); }.property-facts > div:last-child { border: 0; }
.property-facts dt { color: var(--ink-soft); font-size: .67rem; text-transform: uppercase; letter-spacing: .06em; }.property-facts dd { margin: 3px 0 0; font-weight: 720; }
.listing-footer { justify-content: space-between; align-items: flex-end; }.listing-footer > div { display: flex; flex-direction: column; }.listing-footer a { font-weight: 750; }
.back-link { display: inline-block; margin-bottom: 22px; text-decoration: none; }
.listing-hero { margin-bottom: 22px; padding: clamp(28px, 5vw, 55px); display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; color: #fff; background: var(--green-dark); }
.listing-hero h1 { margin: 20px 0 10px; color: white; font-size: clamp(2.1rem, 4vw, 4rem); }.listing-hero p { margin: 0; color: #c6d9d5; }
.big-score { display: flex; align-items: flex-end; gap: 8px; color: #fff0ca; }.big-score strong { font: 5rem/.85 Georgia, serif; }.big-score span { font-size: .72rem; line-height: 1.1; }
.travel-brief-strip { margin: -4px 0 24px; padding: 17px 20px; display: grid; grid-template-columns: auto minmax(220px, 1fr) minmax(220px, .85fr) auto; align-items: center; gap: 18px; background: linear-gradient(105deg, #edf5ef, #fff7e8); border: 1px solid #d4e3d9; border-radius: var(--radius-md); box-shadow: var(--shadow-soft); }.travel-brief-symbol { width: 42px; height: 42px; display: grid; place-items: center; color: #fff; background: var(--green); border-radius: 50%; font-size: 1.2rem; }.travel-brief-strip .eyebrow { margin-bottom: 4px; }.travel-brief-strip h2 { margin: 0 0 4px; font-size: 1.15rem; }.travel-brief-strip p { margin: 0; color: var(--ink-soft); font-size: .78rem; }.travel-brief-strip > a { color: var(--green); font-size: .78rem; font-weight: 800; text-decoration: none; white-space: nowrap; }.travel-brief-focus { display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }.travel-brief-focus span { display: grid; gap: 1px; padding: 6px 8px; color: var(--ink-soft); background: rgba(255,255,255,.72); border: 1px solid rgba(217,210,197,.75); border-radius: 7px; font-size: .66rem; }.travel-brief-focus b { color: var(--coral); font-size: .59rem; letter-spacing: .05em; text-transform: uppercase; }
.travel-agent-panel { margin-bottom: 22px; padding: 20px 24px; display: grid; grid-template-columns: auto minmax(220px, .9fr) minmax(260px, 1.1fr); align-items: center; gap: 18px; color: #fff; background: linear-gradient(120deg, var(--green-dark), var(--sea)); border-radius: var(--radius-md); box-shadow: var(--shadow); }.travel-agent-panel .agent-compass { color: var(--green); background: #fff0ca; }.travel-agent-panel .eyebrow { margin-bottom: 5px; color: #ffdb8c; }.travel-agent-panel h2 { margin-bottom: 5px; color: #fff; }.travel-agent-panel p:last-child { margin: 0; color: #d7e8e4; font-size: .86rem; }.travel-agent-panel .agent-focus { justify-content: flex-end; margin: 0; }.travel-agent-panel .agent-focus span { color: #d9ebe6; background: rgba(255,255,255,.11); }.travel-agent-panel .agent-focus b { color: #ffdb8c; }
.detail-layout { grid-template-columns: minmax(0, 1.65fr) minmax(290px, .7fr); align-items: start; }
.content-stack { display: grid; gap: 22px; }.content-stack .panel { margin: 0; }
.property-facts.large dd { font-size: 1.05rem; }
.weather-note, .evidence { margin: 18px 0; padding: 15px; background: #eef5f3; border-left: 3px solid var(--sea); }.weather-note p, .evidence p { margin: 5px 0 0; white-space: pre-line; }
.comment-form { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 10px; }.comment-form textarea { margin: 0; }
.comments { display: grid; gap: 18px; margin-top: 25px; }.comments article { display: flex; gap: 12px; }.comments article p { margin-bottom: 4px; }.comments article small { color: var(--ink-soft); }.avatar { flex: 0 0 36px; width: 36px; height: 36px; display: grid; place-items: center; color: #fff; background: var(--sea); border-radius: 50%; font-weight: 800; }
.choice-stack { display: grid; gap: 8px; margin: 15px 0; }.choice-stack label { display: flex; grid-template-columns: auto 1fr; align-items: center; gap: 10px; padding: 11px; border: 1px solid var(--line); }.choice-stack label:has(input:checked) { border-color: var(--green); background: #eaf3ef; }
.vote-list, .simple-list { list-style: none; padding: 0; margin: 0; }.vote-list li, .simple-list li { padding: 11px 0; display: flex; justify-content: space-between; gap: 15px; border-bottom: 1px solid var(--line); }.vote-list li > span, .simple-list li { display: flex; flex-direction: column; }.vote-list li > span:last-child { text-align: right; }.vote-list small, .simple-list small { color: var(--ink-soft); }
.feedback-summary { position: relative; overflow: hidden; background: linear-gradient(135deg, #fffefa 0%, #f4f8f0 100%); }.feedback-summary::after { content: "✦"; position: absolute; right: 22px; top: -30px; color: rgba(229,170,66,.16); font: 8rem Georgia, serif; }.feedback-summary > * { position: relative; z-index: 1; }.summary-fresh { padding: 5px 8px; color: var(--green); background: var(--mint); border-radius: 999px; font-size: .68rem; font-weight: 800; }.summary-stale { padding: 9px 11px; color: #76551d; background: #fff1d5; border-left: 3px solid var(--sun); font-size: .82rem; }.summary-recommendation { display: grid; gap: 2px; width: fit-content; margin-bottom: 18px; padding: 9px 12px; border-left: 3px solid var(--sea); background: #e9f4f5; }.summary-recommendation span { color: var(--ink-soft); font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.summary-recommendation strong { font-size: .9rem; }.summary-recommendation.garder { border-color: var(--green); background: #e6f3ea; }.summary-recommendation.ecarter { border-color: var(--coral); background: #fff0ea; }.summary-recommendation.attendre { border-color: var(--sun); background: #fff6e5; }.summary-text { max-width: 780px; margin-bottom: 20px; font: 1.04rem/1.55 Georgia, serif; }.summary-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }.summary-grid > div { min-height: 120px; padding: 14px; background: rgba(255,255,255,.72); border: 1px solid rgba(217,210,197,.75); border-radius: var(--radius-sm); }.summary-grid h3 { margin-bottom: 8px; font-size: .83rem; }.summary-grid ul { display: grid; gap: 6px; margin: 0; padding-left: 18px; color: var(--ink-soft); font-size: .79rem; }.summary-grid .muted { margin: 0; font-size: .78rem; }.summary-waiting { display: flex; align-items: flex-start; gap: 12px; padding: 14px; background: #edf6f6; border-left: 3px solid var(--sea); }.summary-waiting > span { display: grid; flex: 0 0 25px; width: 25px; height: 25px; place-items: center; color: #fff; background: var(--sea); border-radius: 50%; font-weight: 800; }.summary-waiting p { margin: 4px 0 0; color: var(--ink-soft); font-size: .82rem; }.summary-waiting.failed { background: #fff0ed; border-color: var(--danger); }.summary-waiting.failed > span { background: var(--danger); }.summary-request { display: flex; flex-wrap: wrap; align-items: center; gap: 11px; margin-top: 20px; padding-top: 17px; border-top: 1px solid var(--line); }.summary-request small { color: var(--ink-soft); font-size: .7rem; }
.consensus-assistant { margin-bottom: 22px; background: linear-gradient(125deg, #f5f9f5, #fff9eb); }.consensus-summary-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }.consensus-summary-grid > div { min-height: 125px; padding: 14px; background: rgba(255,255,255,.7); border: 1px solid rgba(217,210,197,.78); border-radius: var(--radius-sm); }.consensus-summary-grid h3 { margin-bottom: 8px; font-size: .83rem; }.consensus-summary-grid ul, .search-guidance ul { display: grid; gap: 6px; margin: 0; padding-left: 18px; color: var(--ink-soft); font-size: .79rem; }.consensus-summary-grid .muted { margin: 0; font-size: .78rem; }.search-guidance { margin-top: 14px; padding: 13px 15px; background: rgba(220,238,231,.65); border-left: 3px solid var(--green); }.search-guidance b { font-size: .82rem; }.search-guidance ul { margin-top: 8px; }

.coinche-hero { background: linear-gradient(125deg, #343152, #695b8d 61%, #d9795b 160%); border-radius: var(--radius-lg); box-shadow: var(--shadow); }.coinche-hero .construction-badge { color: #513e75; background: #ffe8b6; }.coinche-workbench { display: grid; grid-template-columns: minmax(280px, .9fr) minmax(0, 1.2fr) minmax(260px, .72fr); gap: 22px; align-items: start; }.coinche-rules { position: relative; overflow: hidden; background: linear-gradient(145deg, #fffdfa, #f7eddc); }.coinche-rules::after { content: "♣"; position: absolute; right: -17px; bottom: -42px; color: rgba(105,91,141,.11); font: 11rem Georgia, serif; }.coinche-rules > * { position: relative; z-index: 1; }.rule-deck { display: grid; gap: 10px; padding: 0; margin: 20px 0 0; list-style: none; }.rule-deck li { padding: 11px 12px; display: grid; gap: 3px; background: rgba(255,255,255,.7); border-left: 3px solid var(--violet); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }.rule-deck b { color: var(--violet); font-size: .8rem; }.rule-deck span { color: var(--ink-soft); font-size: .78rem; }.coinche-ideas { background: rgba(255,254,250,.96); }.coinche-idea-form { padding: 16px; margin-bottom: 20px; background: #f2edf8; border: 1px solid #dfd5ed; border-radius: var(--radius-sm); }.coinche-idea-list { display: grid; gap: 10px; }.coinche-idea-list article { display: grid; grid-template-columns: auto 1fr; gap: 11px; padding: 12px 0; border-top: 1px solid var(--line); }.coinche-idea-list h3 { margin: 0 0 4px; font-size: .9rem; }.coinche-idea-list p { margin: 0 0 5px; color: var(--ink-soft); font-size: .82rem; }.coinche-idea-list small { color: var(--ink-soft); font-size: .7rem; }.coinche-idea-kind { align-self: start; padding: 4px 6px; color: var(--violet); background: #eee7f7; border-radius: 5px; font-size: .6rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }.coinche-idea-kind.regle { color: #935531; background: #f9e5d7; }.coinche-idea-kind.table { color: var(--green); background: #dfefe7; }.coinche-salon { grid-column: 1 / span 2; }.coinche-welcome { grid-column: 3; }.coinche-welcome .simple-list { margin-top: 18px; font-size: .83rem; }

.live-badge { color: #1d6a51; background: #dff3e9; }.coinche-table-launcher { margin: 22px 0; background: linear-gradient(125deg, #fffefa, #f3edf9); }.coinche-table-launcher .section-heading { margin-bottom: 16px; }.coinche-seat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }.coinche-seat { padding: 12px; border: 1px solid var(--line); background: rgba(255,255,255,.7); }.coinche-seat > span { display: block; margin-bottom: 7px; color: var(--ink-soft); font-size: .72rem; font-weight: 800; }.coinche-seat.team-1 { border-top: 3px solid var(--violet); }.coinche-seat.team-2 { border-top: 3px solid var(--coral); }.coinche-seat select { width: 100%; }.coinche-active-games { margin: 22px 0; }.coinche-games-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }.coinche-game-card { display: grid; gap: 10px; padding: 15px; color: var(--ink); background: #fffefa; border: 1px solid var(--line); border-top: 4px solid var(--violet); transition: transform .16s ease, box-shadow .16s ease; }.coinche-game-card.finished { border-top-color: #b38b31; opacity: .86; }.coinche-game-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); text-decoration: none; }.coinche-game-card h3 { margin: 9px 0 3px; font-size: 1rem; }.coinche-game-card p { min-height: 2.2em; margin: 0; color: var(--ink-soft); font-size: .76rem; }.coinche-mini-score { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; text-align: center; }.coinche-mini-score strong { color: var(--violet); font: 1.5rem/1 Georgia, serif; }.coinche-mini-score span { padding: 3px 6px; color: var(--ink-soft); background: var(--paper-deep); border-radius: 999px; font-size: .68rem; }.coinche-game-card > small { color: var(--ink-soft); font-size: .67rem; text-align: center; }.back-link { display: inline-block; margin-bottom: 12px; color: var(--green); font-size: .82rem; font-weight: 750; }.coinche-game-heading { display: flex; justify-content: space-between; gap: 20px; align-items: end; }.coinche-game-heading h1 { margin-bottom: 5px; }.coinche-game-heading p { margin: 0; }.coinche-finish { display: grid; gap: 2px; min-width: 150px; padding: 13px 17px; color: #765515; background: #fff0c6; text-align: center; }.coinche-finish span { font-size: 1.4rem; }.coinche-finish strong { font: 1.1rem/1 Georgia, serif; }.coinche-finish small { font-size: .72rem; }.coinche-scoreboard { display: grid; grid-template-columns: 1fr 170px 1fr; align-items: stretch; margin: 22px 0; overflow: hidden; color: #fff; background: #373250; box-shadow: var(--shadow); }.coinche-team-score { padding: 24px; text-align: center; }.coinche-team-score.team-one { background: linear-gradient(125deg, #514076, #6c5a91); }.coinche-team-score.team-two { background: linear-gradient(125deg, #8a4b59, #c36a58); }.coinche-team-score p, .coinche-team-score ul { margin: 0; }.coinche-team-score p { font-size: .77rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }.coinche-team-score > strong { display: block; margin: 7px 0 1px; font: 3.1rem/1 Georgia, serif; }.coinche-team-score > span { color: rgba(255,255,255,.75); font-size: .72rem; }.coinche-team-score ul { display: flex; justify-content: center; flex-wrap: wrap; gap: 5px 10px; margin-top: 12px; padding: 0; list-style: none; font-size: .78rem; }.coinche-target { display: grid; place-items: center; align-content: center; gap: 4px; padding: 15px; text-align: center; }.coinche-target span { color: #d9d0e7; font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.coinche-target strong { font: 2rem/1 Georgia, serif; }.coinche-target small { color: #d9d0e7; font-size: .64rem; }.coinche-target b { margin-top: 7px; color: #f1c674; font-size: .75rem; }.coinche-game-columns { align-items: start; }.coinche-round-form, .coinche-round-history { min-height: 100%; }.compact-check { padding: 10px; }.compact-check small { display: block; margin-top: 3px; color: var(--ink-soft); font-weight: 500; }.coinche-live-dot { color: #26765b; font-size: .68rem; font-weight: 800; }.coinche-round-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }.coinche-round-list li { display: flex; justify-content: space-between; gap: 12px; padding: 11px 0; border-top: 1px solid var(--line); }.coinche-round-list li:first-child { border-top: 0; }.coinche-round-list b, .coinche-round-list span, .coinche-round-list small { display: block; }.coinche-round-list b { font-size: .84rem; }.coinche-round-list span { margin: 2px 0; color: var(--violet); font-size: .79rem; font-weight: 750; }.coinche-round-list small { color: var(--ink-soft); font-size: .68rem; }.coinche-round-list .link-button { align-self: start; color: var(--danger); font-size: .72rem; }.coinche-score-note { margin-top: 22px; background: #f7f1e8; }.coinche-score-note p:last-child { margin: 0; color: var(--ink-soft); font-size: .86rem; }

.coinche-player-stats { margin: 22px 0; background: linear-gradient(120deg, #fffefa, #eff6f3); }.coinche-virtual-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(260px, .65fr); gap: 22px; margin-bottom: 22px; align-items: start; }.coinche-live-table { min-height: 270px; background: linear-gradient(145deg, #fffef9, #f4eee2); }.coinche-contract-glance, .coinche-counter { display: grid; gap: 5px; margin-top: 12px; padding: 15px 17px; border-left: 4px solid var(--sun); background: #fff4db; }.coinche-contract-glance b { color: var(--green); font: 1.5rem/1 Georgia, serif; }.coinche-contract-glance span, .coinche-counter p { margin: 0; color: var(--ink-soft); font-size: .82rem; }.coinche-bid-form { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }.coinche-counter { border-left-color: var(--danger); background: #fff0eb; }.coinche-counter .button-row { margin-top: 8px; }.danger-button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; margin-top: 18px; padding: 10px 17px; color: #fff; background: linear-gradient(135deg, #9c3e31, #c06050); border: 1px solid #9c3e31; border-radius: 999px; font-weight: 750; box-shadow: 0 8px 18px rgba(156,62,49,.18); }.coinche-trick-table { display: grid; grid-template-columns: repeat(4, minmax(74px, 1fr)); gap: 11px; align-items: center; min-height: 170px; margin-top: 18px; padding: 16px; border: 1px solid rgba(43,105,92,.24); border-radius: 18px; background: radial-gradient(circle at center, rgba(255,255,255,.8), transparent 48%), linear-gradient(145deg, #2b756c, #1f504b); }.coinche-trick-center { grid-column: 2 / span 2; grid-row: 1; display: grid; width: 94px; height: 94px; place-self: center; place-items: center; align-content: center; gap: 0; color: #fff8dc; background: rgba(18,58,53,.72); border: 2px solid rgba(255,255,255,.42); border-radius: 50%; box-shadow: 0 0 0 8px rgba(255,255,255,.08); }.coinche-trick-center span, .coinche-trick-center small { font-size: .62rem; }.coinche-trick-center b { font: 2.05rem/1 Georgia, serif; }.table-card { display: grid; min-height: 75px; place-items: center; align-content: center; gap: 3px; padding: 8px; color: var(--ink); background: #fffefa; border: 1px solid rgba(80,65,54,.24); border-radius: 8px; box-shadow: 2px 4px 0 rgba(7,37,34,.24); transform: rotate(-2deg); }.table-card:nth-of-type(3n) { transform: rotate(2deg); }.table-card b { font: 1.45rem/1 Georgia, serif; }.table-card small { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink-soft); font-size: .62rem; }.empty-card { color: rgba(255,255,255,.7); background: rgba(255,255,255,.12); border-style: dashed; box-shadow: none; }.suit-H, .suit-D { color: #b93b35 !important; }.suit-C, .suit-S { color: #183532 !important; }.coinche-turn-note { margin: 16px 0 0; padding: 11px 13px; color: var(--ink-soft); background: rgba(255,255,255,.58); border-radius: 8px; font-size: .86rem; }.coinche-hand-panel { margin-bottom: 22px; overflow: hidden; background: linear-gradient(135deg, #fbf7ed, #fffefa); }.coinche-hand { display: flex; min-height: 128px; align-items: flex-end; gap: clamp(2px, 1vw, 10px); overflow-x: auto; padding: 18px 9px 12px; }.coinche-card { flex: 0 0 76px; min-height: 108px; display: grid; place-items: center; padding: 8px; color: #8f938f; background: #e6e2da; border: 1px solid #c8c1b5; border-radius: 9px; box-shadow: 2px 5px 0 rgba(24,53,50,.11); font: 1.8rem/1 Georgia, serif; opacity: .72; cursor: not-allowed; }.coinche-card.visible { color: var(--ink); background: #fffefa; border-color: #c8b782; box-shadow: 2px 7px 0 rgba(24,53,50,.13); opacity: 1; cursor: default; }.coinche-card.legal { color: var(--ink); background: #fffefa; border-color: var(--sun); box-shadow: 2px 7px 0 rgba(24,53,50,.15), 0 0 0 3px rgba(229,170,66,.17); opacity: 1; cursor: pointer; }.coinche-card.legal:hover { transform: translateY(-10px) rotate(-1deg); }.coinche-card:disabled { transform: none; }.coinche-hand-preview { background: linear-gradient(90deg, rgba(75,117,108,.08), transparent); border-radius: 14px; }.coinche-hand-panel > .muted { margin: 8px 0 0; font-size: .78rem; }

.coinche-invitations { margin: 22px 0; background: linear-gradient(120deg, #fffefa, #f0f5fb); }.coinche-invitation-grid { display: grid; grid-template-columns: minmax(255px, .72fr) minmax(0, 1.28fr); gap: 24px; align-items: start; }.coinche-invitation-form { padding: 18px; background: rgba(255,255,255,.66); border: 1px solid var(--line); border-radius: var(--radius-sm); }.coinche-invitation-form textarea { margin-bottom: 0; }.invitation-help { margin: 2px 0 0; font-size: .73rem; }.coinche-invitation-lists { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }.coinche-invitation-lists h3 { margin-bottom: 10px; }.coinche-invitation-list { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }.coinche-invitation-list li { display: grid; gap: 10px; padding: 13px; background: rgba(255,255,255,.7); border-left: 3px solid var(--sun); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }.coinche-invitation-list li.status-available { border-left-color: var(--green); }.coinche-invitation-list li.status-unavailable { border-left-color: var(--ink-soft); }.coinche-invitation-list b, .coinche-invitation-list span, .coinche-invitation-list small { display: block; }.coinche-invitation-list span { color: var(--violet); font-size: .78rem; font-weight: 750; }.coinche-invitation-list small { margin-top: 5px; color: var(--ink-soft); font-size: .74rem; }.coinche-invitation-list em { color: var(--ink-soft); font-size: .75rem; font-style: normal; font-weight: 800; }.coinche-invitation-list form.stack-form { gap: 8px; }.coinche-invitation-list textarea { min-height: 54px; margin: 0; font-size: .78rem; }
.coinche-invite-modes { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; align-items: stretch; }.coinche-invite-modes .coinche-invitation-form { height: 100%; padding: clamp(18px,2.6vw,27px); border-radius: 18px; }.coinche-invite-modes h3 { margin: 3px 0 7px; font-size: 1.25rem; }.coinche-invite-modes p { margin-bottom: 0; }.coinche-invite-now { background: linear-gradient(145deg,#e9edf7,#fff4e5); border-color: #c9d4e6; }.coinche-invite-later { background: linear-gradient(145deg,#edf4f5,#fff8e9); border-color: #cedfe1; }.coinche-player-picks { min-width: 0; margin: 0; padding: 0; border: 0; }.coinche-player-picks legend { margin-bottom: 9px; color: var(--ink); font-size: .82rem; font-weight: 850; }.coinche-player-picks > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; max-height: 220px; overflow-y: auto; padding: 2px; }.coinche-player-picks label { display: flex; min-width: 0; min-height: 43px; align-items: center; gap: 8px; margin: 0; padding: 8px 10px; background: rgba(255,255,255,.78); border: 1px solid var(--line); border-radius: 10px; cursor: pointer; }.coinche-player-picks label:has(input:checked) { color: var(--green-dark); background: #e5f1e8; border-color: var(--green); box-shadow: inset 0 0 0 1px var(--green); }.coinche-player-picks input { width: 18px; min-height: 18px; flex: 0 0 auto; margin: 0; accent-color: var(--green); }.coinche-player-picks span { min-width: 0; overflow: hidden; font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }.coinche-invitation-history { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line); }.coinche-invite-now-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }.coinche-invite-now-actions form { margin: 0; }.coinche-invitation-list > li > a { justify-self: start; font-size: .75rem; font-weight: 800; }
@media (max-width: 900px) { .coinche-invite-modes { grid-template-columns: 1fr; }.coinche-invite-modes .coinche-invitation-form { height: auto; } }
@media (max-width: 520px) { .coinche-player-picks > div { grid-template-columns: 1fr; max-height: 250px; }.coinche-invite-now-actions { display: grid; }.coinche-invite-now-actions .button,.coinche-invite-now-actions form,.coinche-invite-now-actions button { width: 100%; } }

.poker-hero { position: relative; overflow: hidden; background: linear-gradient(125deg, #182f2d, #2d6156 57%, #916d2b 170%); border-radius: var(--radius-lg); box-shadow: var(--shadow); }.poker-hero::after { content: "♦"; position: absolute; right: 15%; bottom: -95px; color: rgba(255,235,185,.11); font: 15rem Georgia, serif; }.poker-hero > * { position: relative; z-index: 1; }.poker-chips { display: flex; align-items: center; gap: 8px; color: #f4ca74; }.poker-chips span, .poker-chips strong { display: grid; width: 42px; height: 42px; place-items: center; border: 2px dashed rgba(255,240,201,.6); border-radius: 50%; font: 1.25rem Georgia, serif; }.poker-chips strong { width: 72px; height: 72px; color: #fff7df; background: rgba(0,0,0,.18); font-size: 2.6rem; }.poker-intention { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 30px; margin: 22px 0; background: linear-gradient(125deg, #f8f1df, #fffefa); }.poker-intention h2 { margin-bottom: 8px; }.poker-intention p:last-child { margin: 0; }.poker-intention-tags { display: flex; flex-wrap: wrap; align-content: center; justify-content: flex-end; gap: 8px; max-width: 310px; }.poker-intention-tags span { padding: 8px 10px; color: #514329; background: #fff5d7; border: 1px solid #ead6a5; border-radius: 999px; font-size: .72rem; font-weight: 750; }.poker-mode-grid { margin-bottom: 22px; }.poker-rule-card { background: #f0f5f1; }.poker-mode-card { position: relative; overflow: hidden; }.poker-mode-card::after { position: absolute; right: 14px; bottom: -37px; color: rgba(24,53,50,.07); font: 8rem Georgia, serif; }.poker-mode-card.sitngo { border-top: 4px solid var(--coral); }.poker-mode-card.sitngo::after { content: "♠"; }.poker-mode-card.cash { border-top: 4px solid var(--sun); }.poker-mode-card.cash::after { content: "♥"; color: rgba(181,70,56,.07); }.poker-mode-card > * { position: relative; z-index: 1; }.poker-mode-card .simple-list { margin-top: 18px; font-size: .79rem; }.poker-construction-board { margin-bottom: 22px; background: linear-gradient(135deg, #1b4f49, #286c64); color: #fff; }.poker-construction-board .eyebrow { color: #f4ca74; }.poker-construction-board h2 { color: #fff; }.poker-construction-board .section-heading > span { color: #daece4; }.poker-roadmap { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }.poker-roadmap article { display: grid; grid-template-columns: auto 1fr; gap: 12px; }.poker-roadmap span { display: grid; width: 35px; height: 35px; place-items: center; color: #17433e; background: #f4ca74; border-radius: 50%; font: .86rem Georgia, serif; }.poker-roadmap h3 { margin: 0 0 4px; color: #fff; }.poker-roadmap p { margin: 0; color: #d3e7e1; font-size: .82rem; }.poker-decisions { align-items: stretch; }.poker-notice { display: flex; flex-direction: column; justify-content: center; background: linear-gradient(145deg, #f3ead9, #e9dfca); }.poker-notice h2 { font: 1.55rem/1.1 Georgia, serif; }.poker-coming { width: fit-content; margin-top: 15px; padding: 7px 10px; color: #755718; background: #fff4d7; border-radius: 999px; font-size: .74rem; font-weight: 750; }

.form-aside { grid-template-columns: minmax(270px, .7fr) minmax(0, 1.3fr); align-items: start; }
.idea-list, .archive-list { display: grid; gap: 14px; }.idea-list article, .archive-list article { padding: 23px; background: var(--card); border: 1px solid var(--line); }.idea-list h2 { margin: 8px 0; }.idea-list footer { margin-top: 18px; padding-top: 12px; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .73rem; }.idea-category { color: var(--coral); text-transform: uppercase; font-size: .67rem; font-weight: 800; letter-spacing: .1em; }
.timeline { position: relative; display: grid; gap: 0; }.timeline::before { content: ""; position: absolute; top: 0; bottom: 0; left: 42px; width: 1px; background: var(--line); }.timeline article { position: relative; display: grid; grid-template-columns: 85px 1fr; gap: 20px; padding: 0 0 35px; }.timeline .year { position: relative; z-index: 1; width: 85px; padding: 5px; color: #fff; background: var(--green); text-align: center; font: 1.2rem Georgia, serif; }.timeline article > div:last-child { padding: 0 20px 25px; border-bottom: 1px solid var(--line); }.timeline h2 { margin-bottom: 6px; }
.or-divider { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; color: var(--ink-soft); font-size: .75rem; }.or-divider::before, .or-divider::after { content: ""; height: 1px; background: var(--line); }
.file-drop { padding: 20px; border: 1px dashed #aaa397; background: #faf7f0; }.file-drop input { padding: 4px 0; border: 0; background: none; }
.archive-list article { display: grid; grid-template-columns: 52px 1fr; gap: 18px; }.file-icon { width: 48px; height: 56px; display: grid; place-items: center; background: var(--green); color: white; font: 1.4rem Georgia, serif; }

.album-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }.album-card { display: block; color: var(--ink); text-decoration: none; background: var(--card); border: 1px solid var(--line); }.album-card:hover { color: var(--ink); box-shadow: var(--shadow); }.album-cover { min-height: 210px; padding: 25px; display: flex; flex-direction: column; justify-content: flex-end; background: linear-gradient(135deg, #1a4944, #2c7380); color: #fff; }.album-cover span { margin-bottom: auto; color: #ffdf9f; }.album-cover strong { font: 4rem/1 Georgia, serif; }.album-card > div:last-child { padding: 18px; }.album-card h2 { margin: 13px 0 2px; }
.album-cover em { margin-top: 9px; color: #fff4ce; font-size: .72rem; font-style: normal; font-weight: 750; }
.album-archive { margin: 12px 0 -5px; color: var(--sea); font-size: .74rem; font-weight: 700; }.attach-album { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }.attach-album summary { color: var(--green); font-weight: 750; }.attach-album form { max-width: 470px; margin-top: 14px; }
.photo-grid { columns: 3 280px; column-gap: 16px; }.photo-grid figure { break-inside: avoid; margin: 0 0 16px; background: var(--card); border: 1px solid var(--line); }.photo-grid img, .photo-grid video { display: block; width: 100%; height: auto; background: #17231f; }.photo-grid figcaption { padding: 12px; display: flex; flex-direction: column; }.photo-grid figcaption span { color: var(--ink-soft); font-size: .72rem; }.photo-grid figure.media-video { border-color: #c8b8d9; }.photo-grid figure.media-video figcaption span::before { content: "●"; margin-right: 5px; color: var(--violet); }
.external-albums { margin: 0 0 22px; background: linear-gradient(120deg, #eef7f3, #fffaf0); }.external-albums .section-heading > span { color: var(--sea); font-size: .72rem; font-weight: 800; }.external-album-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }.external-album-card { min-height: 132px; padding: 17px; display: flex; flex-direction: column; color: #fff; text-decoration: none; background: linear-gradient(140deg, #2e6e64, #18423d); box-shadow: 0 8px 20px rgba(18,60,56,.12); }.external-album-card:hover { color: #fff; transform: translateY(-2px); }.external-album-card.google_photos { background: linear-gradient(140deg, #3f72a8, #234d7c); }.external-album-card.icloud { background: linear-gradient(140deg, #5089ac, #35607e); }.external-album-card.onedrive { background: linear-gradient(140deg, #1677a3, #14567e); }.external-album-card > span { color: #f6d385; font-size: .68rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }.external-album-card h3 { margin: auto 0 8px; font: 1.25rem/1.08 Georgia, serif; }.external-album-card small { color: #d9ebe6; font-size: .7rem; }.external-album-add { margin-top: 18px; padding-top: 17px; border-top: 1px solid rgba(25,81,73,.18); }.external-album-add summary { color: var(--green); font-size: .84rem; font-weight: 800; cursor: pointer; }.external-album-add form { max-width: 650px; margin-top: 14px; }
.phone-companion { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(310px, .65fr); gap: 26px; margin: 24px 0; padding: 28px; color: #fff; background: linear-gradient(125deg, #184540, #286a61 58%, #2b6c78); box-shadow: var(--shadow); }.phone-companion .eyebrow { color: #f3cb78; }.phone-companion h2, .phone-companion h3 { color: #fff; }.phone-companion-copy > p:not(.eyebrow):not(.phone-status) { max-width: 700px; color: #d7ebe6; }.phone-companion .button.secondary { color: #e4f1eb; border-color: rgba(228,241,235,.62); background: transparent; }.phone-companion .button.secondary:hover { color: #173c3a; background: #fff8e8; }.phone-status { max-width: 710px; margin: 14px 0 0; color: #cce2dc; font-size: .77rem; }.phone-status[data-state="success"] { color: #ffe4a3; font-weight: 750; }.phone-status[data-state="error"] { color: #ffd1c4; }.phone-companion-inbox { padding: 19px; color: var(--ink); background: #fffdf7; }.phone-companion-inbox .eyebrow { color: var(--coral); }.phone-companion-inbox h3 { margin: 3px 0 14px; color: var(--ink); font: 1.6rem Georgia, serif; }.personal-notification-list { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }.personal-notification-list li { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 8px; align-items: start; padding: 10px 0; border-top: 1px solid var(--line); }.personal-notification-list li:first-child { border-top: 0; padding-top: 0; }.personal-notification-list li > span { display: grid; width: 25px; height: 25px; place-items: center; color: #fff; background: var(--coral); border-radius: 50%; font-size: .8rem; }.personal-notification-list li.answered > span { background: var(--green); }.personal-notification-list b, .personal-notification-list small { display: block; }.personal-notification-list b { font-size: .78rem; }.personal-notification-list small { margin-top: 3px; color: var(--ink-soft); font-size: .68rem; }.personal-notification-list a, .text-link { color: var(--sea); font-size: .72rem; font-weight: 800; text-decoration: none; }.personal-notification-list a:hover, .text-link:hover { text-decoration: underline; }
.family-heading { display: flex; align-items: center; gap: 25px; margin-bottom: 35px; }.family-monogram { flex: 0 0 86px; width: 86px; height: 86px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--green); font: 2.8rem Georgia, serif; }.family-heading h1 { margin-bottom: 4px; }.family-heading p:last-child { margin: 0; color: var(--ink-soft); }.mini-facts { margin: 20px 0; }.mini-facts div { padding: 9px 0; border-bottom: 1px solid var(--line); }.mini-facts dt { color: var(--ink-soft); font-size: .72rem; }.mini-facts dd { margin: 2px 0 0; font-weight: 700; }
.household-summary { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0; }.household-summary span { padding: 7px 10px; background: var(--paper-deep); color: var(--ink-soft); font-size: .82rem; font-weight: 700; }
.household-panel { margin-top: 22px; }.household-count { display: grid; grid-template-columns: auto auto; gap: 1px 8px; min-width: 115px; padding: 11px 14px; background: #eaf3ef; color: var(--green); }.household-count strong { font: 1.25rem/1 Georgia, serif; text-align: right; }.household-count span { align-self: center; font-size: .72rem; font-weight: 700; }
.birthday-banner { display: flex; gap: 16px; align-items: center; margin: 22px 0; padding: 18px 22px; border: 1px solid #e8be63; background: linear-gradient(105deg, #fff4d8, #f9e6b5); color: #5c4210; }.birthday-banner > span { display: grid; width: 48px; height: 48px; flex: 0 0 48px; place-items: center; border-radius: 50%; background: #fffdf6; font-size: 1.7rem; }.birthday-banner h2, .birthday-banner p { margin: 0; }.birthday-banner h2 { font: 1.35rem/1.15 Georgia, serif; }.birthday-banner .eyebrow { margin-bottom: 3px; color: #9a6b12; }.birthday-banner p:last-child { margin-top: 4px; font-size: .86rem; }
.member-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }.member-card { display: grid; grid-template-columns: 54px 1fr; gap: 12px; align-items: center; padding: 16px; border: 1px solid var(--line); background: #fffefa; }.profile-avatar { width: 54px; height: 54px; display: block; object-fit: cover; border-radius: 50%; background: var(--paper-deep); }.profile-avatar-placeholder { display: grid; place-items: center; color: #fff; background: var(--sea); font: 1.55rem Georgia, serif; }.member-card-main h3, .member-card-main p { margin: 0; }.member-kind { color: var(--ink-soft); font-size: .78rem; }.member-account { margin-top: 3px !important; font-size: .7rem; }.member-editor { grid-column: 1 / -1; margin-top: 5px; }.member-editor summary { color: var(--green); font-size: .82rem; font-weight: 750; }.member-editor form.stack-form { margin-top: 14px; }.member-remove { margin-top: 9px; }.member-remove button { padding: 0; border: 0; color: var(--danger); background: none; font-size: .78rem; text-decoration: underline; }.household-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 20px; }.add-member > summary { list-style: none; }.add-member > summary::-webkit-details-marker { display: none; }.household-add-form { max-width: 560px; margin-top: 14px; padding: 18px; background: #faf7f0; border: 1px solid var(--line); }.household-note { margin: 15px 0 0; font-size: .82rem; }
.account-security { margin-top: 22px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }.account-security-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.public-name-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(290px, .7fr); gap: 28px; align-items: center; margin-top: 22px; background: linear-gradient(125deg, #eef6f2, #fff9ed); }.public-name-panel h2 { margin-bottom: 8px; }.public-name-panel p:last-child { margin: 0; }.public-name-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px; }.public-name-form label { margin: 0; }.public-name-form button { white-space: nowrap; }
.password-form { max-width: 620px; }

.admin-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; align-items: start; }.span-two { grid-column: span 2; }.span-three { grid-column: span 3; }.table-wrap { max-width: 100%; overflow-x: auto; }table { width: 100%; border-collapse: collapse; font-size: .8rem; }th, td { padding: 10px; text-align: left; border-bottom: 1px solid var(--line); }th { color: var(--ink-soft); font-size: .68rem; text-transform: uppercase; letter-spacing: .07em; }.run-status { padding: 3px 7px; background: var(--paper-deep); text-transform: uppercase; font-size: .62rem; font-weight: 800; }.run-status.success { background: #dfeee6; color: var(--green); }.run-status.failed { background: #f6dfda; color: var(--danger); }.run-status.skipped { background: #eee8dc; }
.admin-access-note { margin: -4px 0 18px; }.admin-role-form { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }.admin-role-form span { font-weight: 700; }.admin-role-form button { white-space: nowrap; }
.danger { color: #fff; background: #a34337; border-color: #a34337; }.danger:hover { color: #fff; background: #833229; border-color: #833229; }.household-admin-panel { background: linear-gradient(126deg, #f8f5ef, #eef5f0); }.household-assignment-list { display: grid; gap: 9px; margin-top: 18px; }.household-assignment { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(240px, .9fr) auto; gap: 12px; align-items: center; padding: 12px 0; border-top: 1px solid var(--line); }.household-assignment:first-child { border-top: 0; padding-top: 0; }.household-assignment > div { display: grid; gap: 3px; }.household-assignment small, .household-protection { color: var(--ink-soft); font-size: .74rem; }.household-assignment form { display: flex; align-items: center; gap: 8px; margin: 0; }.household-assignment form:not(.unused-profile-action) { min-width: 0; }.household-assignment form:not(.unused-profile-action) label { min-width: 0; flex: 1; margin: 0; }.household-assignment select { width: 100%; min-height: 38px; }.unused-profile-action { justify-content: flex-end; }.unused-profile-action label, .empty-household-list label { display: inline-flex; align-items: center; gap: 6px; margin: 0; color: var(--danger); font-size: .74rem; font-weight: 750; white-space: nowrap; }.empty-household-list { display: grid; gap: 8px; margin-top: 20px; padding-top: 17px; border-top: 1px dashed #c7d5ca; }.empty-household-list p { margin: 0 0 2px; color: var(--ink-soft); font-size: .8rem; }.empty-household-list form { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 8px 10px; background: rgba(255,255,255,.6); border-radius: 10px; }.empty-household-list form > span { flex: 1; font-weight: 750; }

/* Défis Kangourou : un espace personnel, joyeux et sans comparaison. */
.kangourou-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 150px; align-items: center; gap: 24px; margin-bottom: 18px; padding: clamp(28px, 5vw, 52px); overflow: hidden; color: #fffdf7; background: radial-gradient(circle at 84% 15%, rgba(255,229,151,.34), transparent 9rem), linear-gradient(135deg, #1b5e57, #3f8178 58%, #6f9c91); border: 1px solid rgba(255,255,255,.23); border-radius: 27px; box-shadow: var(--shadow); }.kangourou-hero h1 { margin: 4px 0 13px; color: #fffdf7; font-size: clamp(2.4rem, 5vw, 4.5rem); }.kangourou-hero .eyebrow { color: #ffe2a5; }.kangourou-hero p:last-child { max-width: 660px; margin: 0; color: rgba(255,253,247,.9); font-size: 1.02rem; }.kangourou-mascot { position: relative; display: grid; width: 132px; height: 132px; place-items: center; justify-self: end; color: #fff7df; background: rgba(34,75,68,.36); border: 1px solid rgba(255,245,220,.37); border-radius: 50%; box-shadow: inset 0 0 0 9px rgba(255,255,255,.06); font-size: 4.4rem; transform: rotate(-4deg); }.kangourou-mascot span { position: absolute; top: 7px; right: 12px; display: grid; width: 34px; height: 34px; place-items: center; color: var(--green-dark); background: #fff3cd; border-radius: 50%; font: 1.4rem/1 Georgia, serif; transform: rotate(14deg); }.kangourou-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(255px, .65fr); gap: 20px; align-items: start; }.kangourou-challenge { min-height: 450px; background: linear-gradient(145deg, rgba(255,253,247,.98), rgba(246,238,216,.9)); }.kangourou-challenge .section-heading { align-items: center; }.kangourou-challenge .section-heading h2 { margin-bottom: 0; font-size: 1.45rem; }.kangourou-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }.kangourou-actions form { margin: 0; }.kangourou-gemini-button { color: #644b82; border-color: #8a719f; }.kangourou-gemini-button:hover { color: #fff; background: #705a8b; border-color: #705a8b; }.kangourou-gemini-note, .kangourou-source { margin: -7px 0 13px; color: var(--ink-soft); font-size: .76rem; }.kangourou-source { color: #654c7e; font-weight: 700; }.kangourou-prompt { max-width: 760px; margin: 31px 0 23px; color: #26423c; font: clamp(1.25rem, 2.2vw, 1.7rem)/1.36 Georgia, serif; }.kangourou-answer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }.kangourou-answer-grid button { display: grid; grid-template-columns: auto 1fr; min-height: 74px; align-items: center; gap: 12px; padding: 12px 15px; color: var(--ink); background: rgba(255,255,255,.74); border: 1px solid #d9c99e; border-radius: 13px; box-shadow: none; text-align: left; }.kangourou-answer-grid button:hover, .kangourou-answer-grid button:focus-visible { color: #fff; background: var(--green); border-color: var(--green); transform: translateY(-2px); box-shadow: 0 7px 15px rgba(32,90,78,.2); }.kangourou-answer-grid button b { display: grid; width: 31px; height: 31px; place-items: center; color: var(--green-dark); background: #ffe1a4; border-radius: 50%; font-size: .83rem; }.kangourou-answer-grid button span { font-size: .94rem; font-weight: 780; }.kangourou-hints { margin-top: 23px; padding-top: 17px; border-top: 1px dashed #d8c69c; }.kangourou-hints > p { margin: 0 0 9px; color: var(--ink-soft); font-size: .82rem; }.kangourou-hints details { margin-top: 7px; padding: 9px 11px; background: rgba(255,255,255,.52); border: 1px solid rgba(212,193,146,.62); border-radius: 10px; }.kangourou-hints summary { color: var(--green-dark); font-size: .8rem; font-weight: 850; }.kangourou-hints p { margin: 8px 0 1px; color: var(--ink-soft); font-size: .84rem; }.kangourou-result { display: grid; gap: 11px; margin-top: 24px; padding: 20px; border: 1px solid #d8bf87; border-radius: 16px; }.kangourou-result.is-correct { background: linear-gradient(135deg, #e6f2e9, #fff6d9); border-color: #aacbac; }.kangourou-result.is-try-again { background: linear-gradient(135deg, #fff0e8, #fff7e2); border-color: #e5b989; }.kangourou-result .eyebrow, .kangourou-result h3, .kangourou-result p { margin: 0; }.kangourou-result > div { padding: 12px 14px; background: rgba(255,255,255,.58); border-radius: 11px; }.kangourou-result > div p { margin-top: 6px; color: var(--ink-soft); }.kangourou-side { display: grid; gap: 15px; }.kangourou-progress { color: #fffdf7; background: linear-gradient(145deg, #285e57, #4a8378); border-color: rgba(255,255,255,.15); }.kangourou-progress .eyebrow { color: #ffe0a1; }.kangourou-progress h2 { margin: 5px 0; color: #fffdf7; font: 3rem/1 Georgia, serif; }.kangourou-progress p { margin: 0; color: rgba(255,253,247,.83); font-size: .81rem; }.kangourou-progress-bar { height: 9px; margin-top: 18px; overflow: hidden; background: rgba(255,255,255,.2); border-radius: 999px; }.kangourou-progress-bar span { display: block; height: 100%; background: #f4bc65; border-radius: inherit; }.kangourou-note { background: linear-gradient(145deg, #fffdf9, #f4eee1); }.kangourou-note h2 { margin: 5px 0 9px; }.kangourou-note p:last-child { margin-bottom: 0; color: var(--ink-soft); font-size: .86rem; }.kangourou-history { margin-top: 20px; }.kangourou-history ol { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }.kangourou-history li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid var(--line); }.kangourou-history li:first-child { border-top: 0; }.kangourou-history li > div { display: grid; gap: 2px; min-width: 0; }.kangourou-history li small { color: var(--ink-soft); font-size: .72rem; }.kangourou-history li a { font-size: .78rem; font-weight: 800; }.kangourou-attempt { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 50%; font-weight: 900; }.kangourou-attempt.is-correct { color: #276542; background: #dcefdc; }.kangourou-attempt.is-try-again { color: #9a5a38; background: #fde5cf; }.kangourou-resources { display: flex; justify-content: space-between; align-items: center; gap: 22px; margin-top: 20px; padding: 21px 24px; color: #fffdf7; background: linear-gradient(112deg, #315e57, #537e82); border-radius: 17px; }.kangourou-resources h2 { margin: 3px 0 6px; color: #fffdf7; font-size: 1.35rem; }.kangourou-resources .eyebrow { color: #ffdc9c; }.kangourou-resources p { max-width: 650px; margin: 0; color: rgba(255,253,247,.84); font-size: .82rem; }.kangourou-resources .button-row { justify-content: flex-end; }.kangourou-resources .secondary { color: #fffdf7; border-color: rgba(255,253,247,.7); }.kangourou-resources .secondary:hover { color: var(--green-dark); background: #fffdf7; }
@media (max-width: 800px) { .kangourou-layout { grid-template-columns: 1fr; }.kangourou-side { grid-template-columns: 1fr 1fr; }.kangourou-challenge { min-height: 0; }.kangourou-resources { display: grid; }.kangourou-resources .button-row { justify-content: flex-start; } }
@media (max-width: 560px) { .kangourou-hero { grid-template-columns: 1fr auto; gap: 10px; padding: 27px 22px; border-radius: 22px; }.kangourou-hero h1 { font-size: 2.6rem; }.kangourou-hero p:last-child { font-size: .91rem; }.kangourou-mascot { width: 74px; height: 74px; font-size: 2.5rem; }.kangourou-mascot span { top: -2px; right: -2px; width: 25px; height: 25px; font-size: 1rem; }.kangourou-challenge .section-heading { display: grid; gap: 12px; }.kangourou-challenge .section-heading .button { justify-self: start; }.kangourou-prompt { margin: 22px 0 18px; font-size: 1.22rem; }.kangourou-answer-grid { grid-template-columns: 1fr; }.kangourou-answer-grid button { min-height: 61px; }.kangourou-side { grid-template-columns: 1fr; }.kangourou-history { padding: 20px; }.kangourou-history li { grid-template-columns: auto minmax(0, 1fr); }.kangourou-history li > a { grid-column: 2; justify-self: start; }.kangourou-resources { padding: 21px; }.kangourou-resources .button { width: 100%; } }
.empty-state { padding: 40px 20px; text-align: center; color: var(--ink-soft); border: 1px dashed var(--line); }.empty-state.spacious { min-height: 350px; display: flex; flex-direction: column; align-items: center; justify-content: center; }.empty-state h1, .empty-state h2 { color: var(--ink); }.empty-icon { width: 64px; height: 64px; margin-bottom: 18px; display: grid; place-items: center; border: 1px solid var(--coral); border-radius: 50%; color: var(--coral); font: 2rem Georgia, serif; }

.login-page { min-height: 100vh; background: var(--green-dark); }
.login-page .page-shell { width: 100%; padding: 0; }
.login-layout { min-height: 100vh; display: grid; grid-template-columns: 1.35fr .65fr; }
.login-story { position: relative; overflow: hidden; padding: clamp(45px, 9vw, 140px); display: flex; flex-direction: column; justify-content: center; color: white; background: linear-gradient(145deg, #123c38 0%, #23645d 100%); }
.login-story::after { content: ""; position: absolute; right: -150px; bottom: -180px; width: 470px; height: 470px; border: 110px solid rgba(229,170,66,.26); border-radius: 50%; }
.login-story h1 { position: relative; z-index: 1; font-size: clamp(3.4rem, 7vw, 7rem); }.login-story em { color: #f4c76d; font-weight: 400; }.login-story > p { max-width: 620px; color: #cee0dc; font-size: 1.08rem; }.login-story .eyebrow { color: #f4c76d; }.sun-stamp { position: absolute; right: 15%; top: 12%; width: 105px; height: 105px; display: grid; place-items: center; border: 2px solid #f4c76d; border-radius: 50%; color: #f4c76d; font: 1.4rem Georgia, serif; transform: rotate(8deg); }
.login-card { align-self: center; width: min(390px, calc(100% - 40px)); margin: 30px auto; padding: 35px; display: grid; gap: 18px; background: var(--card); box-shadow: var(--shadow); }.login-card h2 { margin-bottom: 0; font: 2.3rem Georgia, serif; }.login-card .muted { margin-top: -8px; font-size: .85rem; }.login-links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; }.login-links .muted { margin: 0; }.passkey-login { padding-top: 16px; border-top: 1px solid var(--line); }.passkey-login .muted { margin: 0 0 10px; }.passkey-status { min-height: 1.15em; margin: 10px 0 0; color: var(--ink-soft); font-size: .82rem; }.passkey-status[data-state="error"] { color: var(--danger); }.passkey-status[data-state="success"] { color: var(--green); }.passkey-status[data-state="info"] { color: var(--sea); }.passkey-panel { max-width: 640px; }

@media (max-width: 980px) {
  .stats-grid, .consensus-hero { grid-template-columns: repeat(2, 1fr); }
  .stats-grid article:nth-child(2), .consensus-hero > div:nth-child(2) { border-right: 0; }
  .stats-grid article:nth-child(-n+2), .consensus-hero > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .three-columns, .album-grid, .external-album-grid { grid-template-columns: repeat(2, 1fr); }
  .three-columns > :last-child { grid-column: span 2; }
  .member-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-grid { grid-template-columns: repeat(2, 1fr); }.span-three { grid-column: span 2; }
  .form-grid.four { grid-template-columns: repeat(2, 1fr); }
  .login-layout { grid-template-columns: 1fr 440px; }.login-story { padding: 55px; }
  .travel-brief-strip { grid-template-columns: auto 1fr; }.travel-brief-focus { justify-content: flex-start; }.travel-brief-strip > a { grid-column: 2; }
  .travel-agent-panel { grid-template-columns: auto 1fr; }.travel-agent-panel .agent-focus { grid-column: 1 / -1; justify-content: flex-start; }
  .coinche-workbench { grid-template-columns: 1fr 1fr; }.coinche-salon { grid-column: 1 / -1; }.coinche-welcome { grid-column: auto; }.coinche-seat-grid, .coinche-games-grid { grid-template-columns: repeat(2, 1fr); }.coinche-virtual-grid, .coinche-invitation-grid { grid-template-columns: 1fr; }.poker-roadmap { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .site-header { min-height: 67px; padding: 10px 17px; }.brand-mark { width: 38px; height: 38px; }.account-profile { display: none; }
  .main-nav { padding: 0 8px; }.main-nav a { padding: 12px 9px 9px; }
  .page-shell { width: min(100% - 24px, 1240px); padding-top: 24px; }
  .hero { min-height: auto; grid-template-columns: 1fr; padding: 35px 25px; }.hero-postcard { display: none; }.hero h1 { font-size: 3rem; }.travel-agent-card { min-height: auto; transform: none; }
  .stats-grid { margin-top: 12px; }.stats-grid article { min-height: 112px; padding: 16px; }.stats-grid strong { font-size: 2rem; }
  .two-columns, .three-columns, .consensus-columns, .listing-grid, .album-grid, .external-album-grid, .detail-layout, .form-aside, .phone-companion { grid-template-columns: 1fr; }
  .three-columns > :last-child { grid-column: auto; }
  .card-grid { grid-template-columns: 1fr; }.card-grid.compact .listing-card:nth-child(n+4) { display: block; }
  .page-heading { align-items: flex-start; flex-direction: column; margin-bottom: 25px; }.page-heading h1 { font-size: 2.7rem; }.action-details { width: 100%; }.action-details > summary { width: 100%; }.popover-form { position: fixed; inset: 80px 12px auto; width: auto; max-height: calc(100vh - 100px); }
  .form-section { grid-template-columns: 1fr; gap: 8px; padding: 27px 0; }.choice-grid, .form-grid.two, .form-grid.three, .form-grid.four { grid-template-columns: 1fr; }.sticky-submit { bottom: 8px; }.sticky-submit span { display: none; }.sticky-submit button { width: 100%; }
  .consensus-hero { grid-template-columns: 1fr 1fr; }.consensus-hero > div { padding: 19px 15px; }
  .property-facts { grid-template-columns: repeat(2, 1fr); }.property-facts > div:nth-child(2) { border-right: 0; }.property-facts > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .listing-hero { align-items: flex-start; flex-direction: column; }.big-score strong { font-size: 4rem; }
  .travel-brief-strip, .travel-agent-panel { grid-template-columns: 1fr; align-items: flex-start; }.travel-brief-symbol { display: none; }.travel-brief-strip > a { grid-column: auto; }.travel-agent-panel .agent-focus { grid-column: auto; }
  .comment-form { grid-template-columns: 1fr; }.summary-grid, .consensus-summary-grid { grid-template-columns: 1fr; }
  .admin-grid { grid-template-columns: 1fr; }.span-two, .span-three { grid-column: auto; }
  .login-layout { display: block; min-height: 100vh; padding: 30px 0; }.login-story { min-height: 270px; padding: 35px 25px; }.login-story h1 { font-size: 3.4rem; }.login-story > p, .sun-stamp { display: none; }.login-card { margin: -25px auto 20px; position: relative; z-index: 2; }
  .empty-inline { align-items: flex-start; flex-direction: column; }
  .account-security { align-items: flex-start; flex-direction: column; }.account-security-actions { justify-content: flex-start; }.public-name-panel, .public-name-form { grid-template-columns: 1fr; }.public-name-form button { width: 100%; }
  .member-grid { grid-template-columns: 1fr; }.household-count { margin-top: 4px; }.household-actions { align-items: stretch; flex-direction: column; }.household-actions > form, .household-actions button, .add-member > summary { width: 100%; }
  .coinche-workbench { grid-template-columns: 1fr; }.coinche-salon, .coinche-welcome { grid-column: auto; }.coinche-seat-grid, .coinche-games-grid { grid-template-columns: 1fr; }.coinche-game-heading { align-items: flex-start; flex-direction: column; }.coinche-scoreboard { grid-template-columns: 1fr; }.coinche-target { grid-row: 2; padding: 12px; }.coinche-team-score { padding: 18px; }.coinche-team-score > strong { font-size: 2.55rem; }.coinche-trick-table { grid-template-columns: repeat(2, 1fr); }.coinche-trick-center { grid-column: 1 / span 2; }.coinche-card { flex-basis: 66px; min-height: 96px; font-size: 1.55rem; }.coinche-invitation-lists, .poker-intention { grid-template-columns: 1fr; }.poker-intention-tags { justify-content: flex-start; }.poker-chips { display: none; }
  .admin-users-table { overflow: visible; }
  .admin-users-table table, .admin-users-table tbody, .admin-users-table tr, .admin-users-table td { display: block; width: 100%; }
  .admin-users-table thead { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); }
  .admin-users-table tr { margin: 0; padding: 14px 0; border-bottom: 1px solid var(--line); }
  .admin-users-table tr:first-child { padding-top: 0; }
  .admin-users-table td { display: grid; grid-template-columns: minmax(105px, .72fr) minmax(0, 1fr); gap: 10px; align-items: start; padding: 7px 0; border: 0; }
  .admin-users-table td::before { content: attr(data-label); color: var(--ink-soft); font-size: .7rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
  .admin-users-table .admin-role-form { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }

/* Édition "maison de vacances" : une présence plus douce et plus raffinée. */
body { background: radial-gradient(circle at 8% -8%, rgba(210,162,97,.18), transparent 30rem), radial-gradient(circle at 96% 24%, rgba(130,171,154,.14), transparent 33rem), var(--paper); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
h1, h2, h3 { font-family: ui-serif, "Iowan Old Style", "Baskerville", Georgia, serif; font-weight: 500; }
h1 { letter-spacing: -.035em; }
a { color: var(--green); }
a:hover { color: var(--coral); }

.site-header { min-height: 76px; color: var(--ink); background: rgba(255,253,249,.92); border-bottom: 1px solid var(--line); box-shadow: 0 1px 0 rgba(94,75,52,.025); backdrop-filter: blur(16px); }
.brand { color: var(--ink); gap: 11px; }.brand:hover { color: var(--green); }
.brand-mark { width: 42px; height: 42px; color: #fffaf1; background: linear-gradient(145deg, #53786d, #365d54); border: 0; box-shadow: inset 0 0 0 5px rgba(255,255,255,.13), 0 5px 15px rgba(52,85,76,.14); }
.brand strong { color: var(--ink); font-family: ui-serif, "Iowan Old Style", Georgia, serif; font-size: 1.08rem; letter-spacing: -.01em; }.brand small, .account small { color: var(--ink-soft); }
.account-profile { color: var(--ink); }.account-profile:hover { color: var(--green); }.link-button { color: var(--ink-soft); border-bottom-color: var(--line); }.link-button:hover { color: var(--coral); }
.main-nav { top: 0; gap: 4px; padding-top: 9px; padding-bottom: 9px; background: rgba(248,245,239,.88); border-bottom: 1px solid rgba(229,221,210,.78); box-shadow: 0 7px 22px rgba(79,63,44,.035); }
.main-nav a { padding: 8px 12px; color: #6d675e; font-size: .82rem; }.main-nav a:hover, .main-nav a[aria-current="page"] { color: var(--green-dark); background: #e6efe9; }
.nav-notification { background: var(--coral); box-shadow: 0 2px 7px rgba(186,114,93,.2); }
.page-shell { width: min(1180px, calc(100% - 36px)); padding-top: 46px; }.site-footer { margin-top: 22px; color: var(--ink-soft); border-top-color: var(--line); }

.eyebrow { color: #a86755; letter-spacing: .13em; font-size: .67rem; }.muted { color: var(--ink-soft); }.place { color: var(--green); }
.panel { background: rgba(255,253,249,.9); border-color: var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow-soft); }.paper-panel { background: linear-gradient(135deg, #f8f1e6, #fffdf8); }
.section-heading { margin-bottom: 20px; }.section-heading > a { color: var(--green); font-weight: 700; text-decoration: none; }.section-heading > a:hover { color: var(--coral); }
.button, button.primary, button.secondary { min-height: 43px; border-radius: 12px; font-weight: 720; letter-spacing: .005em; }.button:hover, button:hover { transform: translateY(-2px); }
.primary, .button.primary { background: linear-gradient(135deg, #426b60, #557b6f); border-color: #426b60; box-shadow: 0 8px 18px rgba(56,94,83,.17); }.primary:hover, .button.primary:hover { background: #355c52; box-shadow: 0 11px 22px rgba(56,94,83,.21); }
.secondary, .button.secondary { color: var(--green); border-color: #b7cbc1; background: rgba(255,253,249,.7); }.secondary:hover, .button.secondary:hover { color: #fff; background: var(--green); border-color: var(--green); }
.flash { border-radius: 11px; box-shadow: var(--shadow-soft); }.empty-inline, .empty-state { border-color: #ddcfbe; border-radius: var(--radius-sm); }

.hero { min-height: 410px; color: var(--ink); background: linear-gradient(130deg, #f2e7d5 0%, #fbf7ef 54%, #e4eee7 100%); border: 1px solid rgba(222,205,181,.8); box-shadow: 0 22px 48px rgba(100,78,47,.12); }
.hero::before { opacity: 1; background: radial-gradient(circle at 80% 22%, rgba(210,162,97,.25) 0 2px, transparent 3px), radial-gradient(circle at 16% 92%, rgba(83,120,109,.13), transparent 28%); background-size: 27px 27px, auto; }.hero::after { width: 380px; height: 380px; right: -185px; top: -190px; border: 75px solid rgba(186,114,93,.12); }
.hero h1 { color: #39352e; margin-bottom: 17px; }.hero-copy { color: #6f675d; font-size: 1rem; }.hero .secondary { color: var(--green); border-color: #aabfb5; background: rgba(255,253,249,.6); }.hero .secondary:hover { color: #fff; background: var(--green); }
.travel-agent-card { min-height: 276px; color: var(--ink); background: rgba(255,254,250,.83); border: 1px solid rgba(229,217,199,.95); border-radius: 22px; box-shadow: 0 18px 36px rgba(99,78,52,.12); transform: none; }.travel-agent-card::after { border-color: rgba(210,162,97,.2); }.agent-compass { color: var(--green); background: #e9f0e9; }.travel-agent-card h2 { font-family: ui-serif, "Iowan Old Style", Georgia, serif; }.agent-focus span { background: #f3f6f0; border-radius: 9px; }.agent-focus b { color: var(--green); }

.phone-companion { color: var(--ink); background: linear-gradient(125deg, #f1e5db, #f9f4ec 54%, #e8f0ea); border: 1px solid #e2d6c9; border-radius: var(--radius-md); box-shadow: var(--shadow-soft); }.phone-companion .eyebrow { color: #aa6857; }.phone-companion h2, .phone-companion h3 { color: var(--ink); }.phone-companion-copy > p:not(.eyebrow):not(.phone-status) { color: var(--ink-soft); }.phone-companion .button.secondary { color: var(--green); border-color: #a9c0b5; }.phone-companion .button.secondary:hover { color: #fff; background: var(--green); }.phone-status { color: var(--ink-soft); }.phone-companion-inbox { background: rgba(255,253,249,.84); border: 1px solid rgba(227,215,201,.8); border-radius: 15px; }.phone-status[data-state="success"] { color: var(--green); }.phone-status[data-state="error"] { color: var(--danger); }

.stats-grid { border-color: var(--line); border-radius: var(--radius-md); background: rgba(255,253,249,.88); }.stats-grid article { padding: 24px; border-color: var(--line); }.stats-grid strong { color: var(--green); }
.consensus-glance div { background: #fbf5ec; border-left-color: var(--sun); border-radius: 0 9px 9px 0; }
.listing-card { border-color: var(--line); border-radius: 17px; box-shadow: 0 5px 14px rgba(81,63,42,.035); }.listing-card:hover { border-color: #cfc1af; box-shadow: 0 15px 30px rgba(81,63,42,.09); }.listing-card::before { background: linear-gradient(90deg, #b7725e, #d2a261, #6f9a8f); }
.page-heading { margin-top: 3px; padding-bottom: 23px; border-bottom-color: var(--line); }.page-heading h1 { color: #3b362e; }
input, textarea, select { color: var(--ink); background: rgba(255,254,250,.85); border-color: #d8ccbd; border-radius: 10px; }input:focus, textarea:focus, select:focus { border-color: #71988c; box-shadow: 0 0 0 3px rgba(113,152,140,.16); }
.popover-form { border-color: var(--line); border-radius: 16px; box-shadow: 0 20px 42px rgba(79,61,40,.15); }

.consensus-hero { overflow: hidden; background: linear-gradient(130deg, #3d655b, #55776d); border-radius: var(--radius-md); box-shadow: var(--shadow-soft); }.listing-hero { border-radius: var(--radius-md); background: linear-gradient(130deg, #3d655b, #628a88); box-shadow: var(--shadow-soft); }.travel-agent-panel { color: var(--ink); background: linear-gradient(125deg, #f0e6d8, #fdf9f1); border: 1px solid #e1d4c3; box-shadow: var(--shadow-soft); }.travel-agent-panel .eyebrow { color: var(--coral); }.travel-agent-panel h2 { color: var(--ink); }.travel-agent-panel p:last-child { color: var(--ink-soft); }.travel-agent-panel .agent-focus span { color: var(--ink-soft); background: rgba(255,255,255,.68); border: 1px solid var(--line); }.travel-agent-panel .agent-focus b { color: var(--coral); }
.photo-grid figure { overflow: hidden; border-color: var(--line); border-radius: 14px; box-shadow: 0 5px 15px rgba(74,56,38,.05); }.album-card { overflow: hidden; border-color: var(--line); border-radius: 16px; box-shadow: 0 5px 15px rgba(74,56,38,.04); }.album-card:hover { box-shadow: 0 15px 28px rgba(74,56,38,.1); }.album-cover { background: linear-gradient(135deg, #54786c, #83a298); }
.idea-list article, .archive-list article, .member-card { border-color: var(--line); border-radius: 14px; box-shadow: 0 4px 14px rgba(74,56,38,.035); }.member-card { background: rgba(255,253,249,.9); }.file-icon, .family-monogram { background: linear-gradient(145deg, #4e7569, #658a7d); }
.login-page { background: #f5eee3; }.login-story { color: var(--ink); background: linear-gradient(145deg, #e7d5bd, #f7eee2 62%, #dae8df); }.login-story h1 { color: #3a362f; }.login-story > p { color: #6d665d; }.login-story .eyebrow, .login-story em { color: #a55f50; }.login-story::after { border-color: rgba(107,143,127,.19); }.sun-stamp { color: #6b8f7f; border-color: #6b8f7f; }.login-card { border-radius: 20px; box-shadow: 0 20px 46px rgba(93,70,43,.12); }

@media (max-width: 720px) {
  .site-header { min-height: 66px; }.page-shell { padding-top: 30px; }.hero { padding: 32px 24px; border-radius: 23px; }.hero h1 { font-size: 2.9rem; }.travel-agent-card { border-radius: 17px; }.phone-companion { padding: 22px; }.stats-grid article { padding: 17px; }
}

/* Passage lisibilité : contraste affirmé, blocs plus généreux, aucun motif pointillé. */
:root { --ink: #263c36; --ink-soft: #5e6e67; --paper: #f8f7f3; --paper-deep: #eeece5; --card: #fffefa; --line: #d9e0d8; --green: #1f6555; --green-dark: #174b40; --sea: #497681; --coral: #c77460; --sun: #dfae58; --mint: #e3f0e9; --shadow: 0 18px 42px rgba(40,60,50,.09); --shadow-soft: 0 8px 22px rgba(40,60,50,.055); }
body { background: linear-gradient(180deg, #fbfaf7 0, #f5f6f1 100%); color: var(--ink); font-size: 17px; line-height: 1.65; }
h1 { font-size: clamp(2.7rem, 5.7vw, 5.35rem); letter-spacing: -.04em; }h2 { font-size: clamp(1.5rem, 2.4vw, 2rem); }h3 { font-size: 1.2rem; }
.site-header { background: rgba(255,254,250,.96); }.brand strong { color: var(--green-dark); font-size: 1.2rem; }.brand-mark { background: var(--green); }.brand small, .account small { color: var(--ink-soft); }
.main-nav { background: rgba(248,247,243,.96); }.main-nav a { padding: 10px 14px; color: var(--ink-soft); font-size: .92rem; font-weight: 650; }.main-nav a:hover, .main-nav a[aria-current="page"] { color: #fff; background: var(--green); }
.page-shell { width: min(1240px, calc(100% - 36px)); padding-top: 52px; }.eyebrow { color: var(--coral); font-size: .76rem; }.panel { padding: clamp(26px, 3.6vw, 40px); border-color: var(--line); background: rgba(255,254,250,.96); }
.button, button.primary, button.secondary { min-height: 48px; padding: 12px 20px; border-radius: 13px; font-size: .98rem; }.primary, .button.primary { background: var(--green); border-color: var(--green); }.primary:hover, .button.primary:hover { background: var(--green-dark); }.secondary, .button.secondary { color: var(--green-dark); border-color: #a9c6ba; }

.hero { min-height: 456px; padding: clamp(42px, 6.5vw, 82px); background: linear-gradient(125deg, #f5ecde 0%, #fffdfa 51%, #e9f1ea 100%); border-color: #dce3da; box-shadow: 0 22px 46px rgba(40,60,50,.11); }.hero::before { background: none; }.hero::after { width: 330px; height: 330px; right: -155px; top: -165px; border: 58px solid rgba(223,174,88,.18); }.hero h1 { color: var(--green-dark); }.hero-copy { max-width: 650px; color: var(--ink-soft); font-size: 1.15rem; }.travel-agent-card { min-height: 300px; padding: 31px; background: #fffefa; border-color: #dbe4dc; box-shadow: 0 14px 30px rgba(40,60,50,.10); }.travel-agent-card h2 { font-size: 1.9rem; }.travel-agent-card > p { font-size: .98rem; }.agent-focus span { padding: 9px 11px; font-size: .75rem; }

.phone-companion { padding: 33px; background: #eef5ef; border-color: #d5e4d8; }.phone-companion-copy > p:not(.eyebrow):not(.phone-status) { font-size: 1rem; }.phone-companion-inbox { padding: 23px; }.personal-notification-list b { font-size: .9rem; }.personal-notification-list small { font-size: .77rem; }
.stats-grid article { min-height: 154px; padding: 27px; }.stats-grid span { font-size: .88rem; }.stats-grid strong { font-size: 3rem; }.stats-grid small { font-size: .87rem; }.two-columns, .three-columns { gap: 26px; }
.listing-card { padding: 27px; }.listing-card h2, .listing-card h3 { font-size: 1.45rem; }.listing-meta, .listing-footer { font-size: .87rem; }.consensus-glance div { padding: 18px; }.consensus-glance span { font-size: .83rem; }.consensus-glance strong { font-size: 1.35rem; }.activity-list li { padding: 14px 0; }.activity-list small { font-size: .84rem; }
.page-heading { padding-bottom: 28px; }.page-heading p:last-child { font-size: 1rem; }label { font-size: .98rem; }input, textarea, select { min-height: 50px; padding: 12px 14px; font-size: 1rem; }.choice-grid { gap: 13px; }.check-card { min-height: 64px; padding: 14px 16px; font-size: 1rem; }

@media (max-width: 720px) {
  body { font-size: 16px; }.page-shell { width: min(100% - 24px, 1240px); padding-top: 32px; }.main-nav a { padding: 11px 11px; font-size: .86rem; }.hero { min-height: auto; padding: 36px 25px; }.hero::after { width: 220px; height: 220px; right: -125px; top: -120px; border-width: 42px; }.hero h1 { font-size: 3.25rem; }.hero-copy { font-size: 1.04rem; }.travel-agent-card { padding: 24px; }.panel { padding: 23px; }.phone-companion { padding: 24px; }.stats-grid article { min-height: 126px; padding: 18px; }.stats-grid strong { font-size: 2.35rem; }.listing-card { padding: 22px; }.listing-card h2, .listing-card h3 { font-size: 1.3rem; }
}

/* Univers de jeu : une entrée immédiatement reconnaissable, sans sortir du système du site. */
.coinche-hero { color: #fff; background: linear-gradient(125deg, #34244f 0%, #624487 57%, #9a6288 100%); border-color: rgba(128,94,165,.55); box-shadow: 0 22px 46px rgba(61,40,88,.2); }.coinche-hero h1 { color: #fff; }.coinche-hero .eyebrow { color: #f2d9ff; }.coinche-hero > div > p:last-child, .coinche-hero .big-score span { color: rgba(255,255,255,.84); }.coinche-hero .live-badge { color: #4b2773; background: #f1dcff; }.coinche-hero .big-score strong { color: #fff4c9; }
.poker-hero { color: #fff; background: linear-gradient(125deg, #56191d 0%, #9d3439 58%, #cf755d 100%); border-color: rgba(174,74,72,.56); box-shadow: 0 22px 46px rgba(105,35,38,.22); }.poker-hero h1 { color: #fff; }.poker-hero .eyebrow { color: #ffd8cb; }.poker-hero > div > p:last-child { color: rgba(255,255,255,.86); }.poker-hero .construction-badge { color: #7a252c; background: #ffe6d6; }.poker-hero::after { color: rgba(255,235,216,.17); }.poker-hero .poker-chips { color: #ffe0a3; }.poker-hero .poker-chips span, .poker-hero .poker-chips strong { border-color: rgba(255,237,208,.68); }.poker-hero .poker-chips strong { color: #fff8ea; background: rgba(72,15,18,.2); }

/* Réglages : les tableaux deviennent des fiches sur téléphone, sans débordement. */
@media (max-width: 760px) {
  html, body { max-width: 100%; overflow-x: clip; }
  .admin-grid, .admin-grid > *, .admin-grid .panel, .admin-grid .table-wrap { min-width: 0; max-width: 100%; }
  .admin-grid .table-wrap { overflow: visible; }
  .admin-grid table, .admin-grid tbody, .admin-grid tr, .admin-grid td { display: block; width: 100%; min-width: 0; }
  .admin-grid thead { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); }
  .admin-grid tr { margin: 0; padding: 16px 0; border-bottom: 1px solid var(--line); }
  .admin-grid tr:first-child { padding-top: 0; }
  .admin-grid td { display: grid; grid-template-columns: 1fr; gap: 2px; padding: 8px 0; border: 0; overflow-wrap: anywhere; }
  .admin-grid td::before { content: attr(data-label); color: var(--ink-soft); font-size: .7rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
  .admin-grid code { white-space: normal; overflow-wrap: anywhere; }
  .admin-grid .admin-role-form { display: grid; justify-content: stretch; gap: 8px; }
  .admin-grid .admin-role-form button { width: 100%; max-width: 100%; white-space: normal; }
}

/* Mots de passe : une visibilité temporaire, sans jamais les enregistrer. */
.password-field { position: relative; display: block; }
.password-field > input { width: 100%; padding-right: 54px; }
.password-visibility-toggle { position: absolute; top: 50%; right: 7px; display: grid; width: 39px; height: 39px; min-height: 0; place-items: center; padding: 0; transform: translateY(-50%); color: var(--green-dark); background: transparent; border: 0; border-radius: 9px; box-shadow: none; font-size: 1.1rem; line-height: 1; }
.password-visibility-toggle:hover, .password-visibility-toggle:focus-visible { transform: translateY(-50%); color: #fff; background: var(--green); box-shadow: none; }
.child-password-reset { display: grid; gap: 8px; margin-top: 9px; }
.child-password-reset > summary { width: fit-content; color: var(--green-dark); font-size: .85rem; font-weight: 750; }
.child-password-reset form { max-width: 330px; margin-top: 6px; padding: 12px; background: #f4f8f4; border: 1px solid #d4e3d8; border-radius: 10px; }
.child-password-reset label { font-size: .8rem; }
.child-password-reset input { min-height: 42px; font-size: .9rem; }
.self-signup-link { display: grid; gap: 12px; align-content: start; }.self-signup-link h2, .self-signup-link p { margin: 0; }.self-signup-link input[readonly] { color: var(--ink-soft); background: #f4f8f4; font-size: .78rem; }.self-signup-link form { margin: 0; }

/* Salle Coinche : plateau graphique léger, rendu uniquement avec HTML et CSS. */
.coinche-seat-picker { max-width: 470px; padding: 15px; background: rgba(255,255,255,.62); border: 1px solid var(--line); border-radius: 13px; }
.coinche-seat-picker small { display: block; margin-top: 7px; color: var(--ink-soft); font-size: .78rem; }
.coinche-game-card.lobby { border-top-color: var(--sun); background: linear-gradient(145deg, #fffefa, #fff7e6); }
.coinche-lobby-panel { margin-bottom: 22px; background: linear-gradient(135deg, #fffefa, #f4eee2); }
.coinche-lobby-seats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; }
.coinche-lobby-seat { display: grid; min-height: 105px; align-content: center; gap: 4px; padding: 14px; background: rgba(255,255,255,.76); border: 1px dashed #c9c1b4; border-radius: 12px; }.coinche-lobby-seat.team-1 { border-top: 4px solid var(--violet); }.coinche-lobby-seat.team-2 { border-top: 4px solid var(--coral); }.coinche-lobby-seat.is-me { background: #e7f2eb; border-style: solid; border-color: #7aa58d; }.coinche-lobby-seat > span, .coinche-lobby-seat small { color: var(--ink-soft); font-size: .72rem; }.coinche-lobby-seat b { font-size: 1rem; }
.coinche-join-box { margin-top: 20px; padding: 18px; background: #ecf4ee; border-left: 4px solid var(--green); }.coinche-join-box p { margin: 4px 0 12px; color: var(--ink-soft); }.coinche-join-actions { display: flex; flex-wrap: wrap; gap: 10px; }.coinche-join-actions form { margin: 0; }.coinche-join-actions button { display: grid; min-height: 54px; gap: 0; text-align: left; }.coinche-join-actions button small { font-size: .7rem; font-weight: 500; }.coinche-cancel-form { display: grid; gap: 10px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }.coinche-cancel-form.panel { margin: 22px 0; }.coinche-cancel-form > p { margin: 0; }
.coinche-visual-table { position: relative; min-height: 364px; margin-top: 18px; overflow: hidden; border: 10px solid #5a3b28; border-radius: 48% / 27%; background: radial-gradient(ellipse at center, #418777 0%, #216157 68%, #174a43 100%); box-shadow: inset 0 0 0 3px rgba(255,244,209,.36), inset 0 0 38px rgba(3,32,28,.46), 0 13px 24px rgba(48,39,31,.15); }
.coinche-visual-table::before { content: ""; position: absolute; inset: 14%; border: 1px solid rgba(255,241,196,.27); border-radius: 50%; }.coinche-table-seat { position: absolute; z-index: 3; display: grid; min-width: 118px; max-width: 145px; gap: 1px; padding: 8px 10px; color: #fff; background: rgba(13,48,43,.78); border: 1px solid rgba(255,255,255,.26); border-radius: 11px; box-shadow: 0 4px 12px rgba(0,0,0,.18); text-align: center; }.coinche-table-seat span, .coinche-table-seat small { color: rgba(255,255,255,.74); font-size: .62rem; }.coinche-table-seat b { overflow: hidden; font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }.coinche-table-seat.is-me { background: rgba(110,68,149,.9); border-color: #fae4a6; }.coinche-table-seat.is-turn { box-shadow: 0 0 0 3px rgba(249,212,113,.9), 0 6px 15px rgba(0,0,0,.23); }.coinche-table-seat.seat-1 { bottom: 12px; left: 50%; transform: translateX(-50%); }.coinche-table-seat.seat-2 { top: 50%; left: 12px; transform: translateY(-50%); }.coinche-table-seat.seat-3 { top: 12px; left: 50%; transform: translateX(-50%); }.coinche-table-seat.seat-4 { top: 50%; right: 12px; transform: translateY(-50%); }
.coinche-table-center { position: absolute; z-index: 1; top: 50%; left: 50%; display: grid; width: 118px; height: 118px; place-items: center; align-content: center; gap: 1px; transform: translate(-50%, -50%); color: #fff7df; background: rgba(17,58,51,.85); border: 2px solid rgba(255,255,255,.48); border-radius: 50%; box-shadow: 0 0 0 10px rgba(255,255,255,.08); text-align: center; }.coinche-table-center span, .coinche-table-center small { font-size: .67rem; }.coinche-table-center b { font: 1.55rem/1 Georgia, serif; }
.coinche-played-card { position: absolute; z-index: 2; display: grid; width: 66px; min-height: 90px; place-items: center; align-content: center; padding: 6px; color: var(--ink); background: #fffefa; border: 1px solid #d2c3a6; border-radius: 8px; box-shadow: 3px 5px 0 rgba(9,35,30,.25); animation: coinche-card-arrives .22s ease-out both; }.coinche-played-card > span { font: 1.55rem/1 Georgia, serif; }.coinche-played-card small { max-width: 58px; overflow: hidden; color: var(--ink-soft); font-size: .56rem; text-overflow: ellipsis; white-space: nowrap; }.coinche-played-card.played-seat-1 { bottom: 90px; left: 50%; transform: translateX(-50%) rotate(-2deg); }.coinche-played-card.played-seat-2 { top: 50%; left: 25%; transform: translate(-50%, -50%) rotate(-5deg); }.coinche-played-card.played-seat-3 { top: 90px; left: 50%; transform: translateX(-50%) rotate(2deg); }.coinche-played-card.played-seat-4 { top: 50%; right: 25%; transform: translate(50%, -50%) rotate(5deg); }
@keyframes coinche-card-arrives { from { opacity: 0; } to { opacity: 1; } }
.coinche-table-seat em { justify-self: center; margin-top: 2px; padding: 2px 5px; color: #38234f; background: #f9dc86; border-radius: 999px; font-size: .52rem; font-style: normal; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.coinche-bid-suggestions { display: grid; gap: 8px; margin: 14px 0 2px; padding: 12px; background: #f3ede1; border-radius: 11px; }.coinche-bid-suggestions > span { color: var(--ink-soft); font-size: .74rem; }.coinche-bid-suggestions > div { display: flex; flex-wrap: wrap; gap: 7px; }.coinche-bid-suggestions button { min-height: 38px; padding: 6px 10px; color: var(--ink); background: #fffefa; border: 1px solid #d8c69c; border-radius: 9px; font-weight: 800; }.coinche-bid-suggestions button.active { color: #fff; background: var(--green); border-color: var(--green); }.coinche-bid-suggestions button small { font-size: .62rem; font-weight: 500; }
.coinche-card { position: relative; overflow: hidden; align-content: space-between; }.coinche-card > b { font: 2.4rem/1 Georgia, serif; }.coinche-card-corner { justify-self: start; font: .85rem/1 Georgia, serif; }.coinche-card-corner.bottom { align-self: end; justify-self: end; transform: rotate(180deg); }.coinche-card.neutral { color: var(--ink); background: #fffefa; border-color: #c8b782; box-shadow: 2px 7px 0 rgba(24,53,50,.13); cursor: pointer; opacity: 1; transition: transform .16s ease; }.coinche-card.neutral:hover:not(:disabled) { transform: translateY(-8px) rotate(-1deg); }.coinche-card.neutral:focus-visible { outline: 3px solid var(--sea); outline-offset: 3px; }.coinche-card.neutral:disabled { color: var(--ink); background: #fffefa; border-color: #c8b782; box-shadow: 2px 7px 0 rgba(24,53,50,.13); cursor: default; opacity: 1; }
@media (max-width: 720px) { .coinche-lobby-seats { grid-template-columns: repeat(2, 1fr); }.coinche-visual-table { min-height: 338px; border-width: 7px; border-radius: 42% / 18%; }.coinche-table-seat { min-width: 88px; max-width: 108px; padding: 7px; }.coinche-table-seat b { font-size: .72rem; }.coinche-table-seat span, .coinche-table-seat small { font-size: .54rem; }.coinche-table-seat.seat-2 { left: 7px; }.coinche-table-seat.seat-4 { right: 7px; }.coinche-table-center { width: 94px; height: 94px; }.coinche-played-card { width: 55px; min-height: 76px; }.coinche-played-card > span { font-size: 1.25rem; }.coinche-played-card.played-seat-2 { left: 27%; }.coinche-played-card.played-seat-4 { right: 27%; }.coinche-hand { gap: 4px; }.coinche-card { flex-basis: 62px; min-height: 94px; }.coinche-card > b { font-size: 1.95rem; }.coinche-card-corner { font-size: .72rem; } }

/* Plateau Coinche : priorité aux cartes et à la main, même sur un petit écran. */
.coinche-table-seat { min-width: 82px; max-width: 100px; padding: 5px 7px; border-radius: 9px; }
.coinche-table-seat span { font-size: .54rem; letter-spacing: .03em; }
.coinche-table-seat small { display: none; }
.coinche-table-seat b { font-size: .72rem; }
.coinche-table-center { z-index: 2; width: 100px; height: 100px; }
.coinche-played-card { z-index: 5; width: 74px; min-height: 102px; }
.coinche-played-card > span { font-size: 1.75rem; }
.coinche-played-card small { max-width: 64px; font-size: .58rem; }
.coinche-played-card.played-seat-2 { left: 27%; }
.coinche-played-card.played-seat-4 { right: 27%; }
.coinche-played-card.is-recap { animation-duration: .32s; }
.coinche-last-trick { position: absolute; z-index: 6; right: 13px; bottom: 12px; width: min(172px, 42%); overflow: hidden; color: #fffdf7; background: rgba(14, 54, 48, .88); border: 1px solid rgba(255,255,255,.38); border-radius: 9px; box-shadow: 0 5px 12px rgba(0,0,0,.22); }
.coinche-last-trick summary { display: flex; min-height: 32px; align-items: center; justify-content: space-between; gap: 5px; padding: 5px 7px; cursor: pointer; font-size: .61rem; font-weight: 800; list-style: none; }
.coinche-last-trick summary::-webkit-details-marker { display: none; }
.coinche-last-trick summary b { color: #f9dc86; font-size: .86rem; transition: transform .15s ease; }
.coinche-last-trick[open] summary b { transform: rotate(90deg); }
.coinche-last-trick-cards { display: flex; justify-content: space-between; gap: 3px; padding: 2px 7px 5px; }
.coinche-mini-card { display: grid; min-width: 28px; min-height: 36px; place-items: center; padding: 2px; color: var(--ink); background: #fffefa; border: 1px solid #d2c3a6; border-radius: 4px; font: .75rem/1 Georgia, serif; }
.coinche-last-trick > small { display: block; padding: 0 7px 6px; color: rgba(255,255,255,.74); font-size: .55rem; }
.coinche-deal-result { position: absolute; z-index: 9; top: 50%; left: 50%; display: grid; width: min(270px, calc(100% - 116px)); gap: 5px; padding: 13px 15px; transform: translate(-50%, -50%); color: var(--ink); background: rgba(255,253,247,.96); border: 2px solid #f5cf72; border-radius: 14px; box-shadow: 0 10px 28px rgba(4,31,27,.38); text-align: center; }.coinche-deal-result .eyebrow { margin: 0; color: #76518f; font-size: .56rem; }.coinche-deal-result h3 { margin: 0; color: #493468; font: 1.16rem/1.15 Georgia, serif; }.coinche-deal-result > p:not(.eyebrow) { margin: 0; color: var(--ink-soft); font-size: .68rem; }.coinche-deal-result small { color: var(--ink-soft); font-size: .63rem; }.coinche-deal-result form { margin: 2px 0 0; }.coinche-deal-result button { width: 100%; min-height: 38px; padding: 6px 8px; font-size: .7rem; }.coinche-deal-result.is-final { border-color: #c4a449; }
.coinche-hand-dock { position: sticky; z-index: 10; bottom: 8px; margin: 16px 0 0; padding: 13px 14px 10px; background: linear-gradient(135deg, rgba(255,253,247,.98), rgba(247,239,224,.98)); border: 1px solid #ded0bb; border-radius: 13px; box-shadow: 0 9px 20px rgba(70,55,36,.13); }
.coinche-hand-dock .section-heading { align-items: center; margin-bottom: 4px; }
.coinche-hand-dock .section-heading h2 { font-size: 1.32rem; }
.coinche-hand-dock .section-heading > span { color: var(--ink-soft); font-size: .72rem; }
.coinche-hand-dock .coinche-hand { min-height: 112px; padding: 10px 3px 7px; }
.coinche-hand-dock > .muted { margin: 2px 0 0; font-size: .69rem; }
.coinche-visual-table .coinche-played-card.played-seat-1 { bottom: 68px; }.coinche-visual-table .coinche-played-card.played-seat-3 { top: 68px; }
@media (max-width: 720px) {
  .coinche-visual-table { min-height: 328px; }
  .coinche-table-seat { min-width: 70px; max-width: 84px; padding: 4px 5px; }
  .coinche-table-seat b { font-size: .64rem; }
  .coinche-table-seat span { font-size: .48rem; }
  .coinche-table-seat.seat-2 { left: 6px; }
  .coinche-table-seat.seat-4 { right: 6px; }
  .coinche-table-center { width: 78px; height: 78px; }
  .coinche-table-center b { font-size: 1.25rem; }
  .coinche-table-center span, .coinche-table-center small { font-size: .56rem; }
  .coinche-played-card { width: 60px; min-height: 82px; padding: 4px; }
  .coinche-played-card > span { font-size: 1.4rem; }
  .coinche-played-card small { max-width: 51px; font-size: .5rem; }
  .coinche-played-card.played-seat-2 { left: 30%; }
  .coinche-played-card.played-seat-4 { right: 30%; }
  .coinche-played-card.played-seat-1 { bottom: 78px; }
  .coinche-played-card.played-seat-3 { top: 70px; }
  .coinche-last-trick { right: 7px; bottom: 7px; width: 142px; }
  .coinche-last-trick summary { min-height: 29px; padding: 4px 5px; font-size: .53rem; }
  .coinche-last-trick-cards { padding: 2px 5px 4px; }
  .coinche-mini-card { min-width: 23px; min-height: 30px; font-size: .63rem; }
  .coinche-last-trick > small { padding: 0 5px 5px; font-size: .48rem; }
  .coinche-hand-dock { bottom: 5px; margin-top: 12px; padding: 10px 10px 7px; }
  .coinche-hand-dock .section-heading h2 { font-size: 1.15rem; }
  .coinche-hand-dock .section-heading .eyebrow { font-size: .56rem; }
  .coinche-hand-dock .coinche-hand { min-height: 102px; padding-top: 7px; }
  .coinche-hand-dock .coinche-card { flex-basis: 60px; min-height: 90px; }
}
@media (prefers-reduced-motion: reduce) { .coinche-played-card { animation: none; } }
@media (max-width: 720px) { .coinche-visual-table .coinche-played-card.played-seat-1 { bottom: 78px; }.coinche-visual-table .coinche-played-card.played-seat-3 { top: 70px; }.coinche-deal-result { width: min(244px, calc(100% - 100px)); padding: 10px 11px; } }

/* Mode table : les actions utiles restent autour du plateau, sans écran de jeu lourd. */
.coinche-table-tools { display: grid; justify-items: end; gap: 7px; }
.coinche-live-table { scroll-margin-top: 104px; }
.coinche-table-mode-toggle { min-height: 34px; padding: 6px 10px; color: #fff; background: #604482; border: 1px solid #735a95; border-radius: 999px; box-shadow: none; font-size: .67rem; font-weight: 800; }
.coinche-table-mode-toggle:hover, .coinche-table-mode-toggle:focus-visible { background: #493468; box-shadow: 0 0 0 3px rgba(216,190,244,.45); }
.coinche-table-auction { position: absolute; z-index: 7; bottom: 53px; left: 50%; display: grid; width: min(296px, calc(100% - 126px)); gap: 5px; padding: 8px; transform: translateX(-50%); color: var(--ink); background: rgba(255,253,247,.97); border: 1px solid #ead5a9; border-radius: 10px; box-shadow: 0 8px 18px rgba(5,31,27,.28); }
.coinche-table-auction-title { color: #624487; font-size: .68rem; font-weight: 850; text-align: center; }
.coinche-table-auction-fields { display: grid; grid-template-columns: 1fr 1.3fr; gap: 5px; }
.coinche-table-auction label { display: grid; gap: 2px; color: var(--ink-soft); font-size: .56rem; font-weight: 800; }
.coinche-table-auction select { min-height: 34px; padding: 4px 6px; border-radius: 7px; font-size: .76rem; }
.coinche-table-auction-actions { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 5px; }
.coinche-table-auction button { min-height: 36px; margin: 0; padding: 6px 5px; border-radius: 8px; font-size: .66rem; }
.coinche-table-auction .link-button { border: 1px solid var(--line); }
.coinche-table-coinche { width: min(235px, calc(100% - 126px)); text-align: center; }
.coinche-table-coinche .danger-button { min-height: 40px; }
.coinche-auction-note { margin: 12px 0 0; color: var(--ink-soft); font-size: .78rem; }
body.coinche-table-mode .site-header, body.coinche-table-mode .main-nav, body.coinche-table-mode .coinche-game-heading, body.coinche-table-mode .coinche-bid-history, body.coinche-table-mode .coinche-game-columns, body.coinche-table-mode .coinche-cancel-form, body.coinche-table-mode .coinche-score-note, body.coinche-table-mode .site-footer { display: none; }
body.coinche-table-mode .page-shell { width: min(100% - 16px, 1180px); padding-top: 8px; }
body.coinche-table-mode .coinche-scoreboard { grid-template-columns: 1fr 82px 1fr; margin: 0 0 8px; }
body.coinche-table-mode .coinche-team-score { padding: 7px 10px; }
body.coinche-table-mode .coinche-team-score > strong { display: inline; margin: 0 4px 0 0; font-size: 1.55rem; }
body.coinche-table-mode .coinche-team-score > span { font-size: .56rem; }
body.coinche-table-mode .coinche-team-score p, body.coinche-table-mode .coinche-team-score ul, body.coinche-table-mode .coinche-target small { display: none; }
body.coinche-table-mode .coinche-target { padding: 5px; }
body.coinche-table-mode .coinche-target strong { font-size: 1.1rem; }
body.coinche-table-mode .coinche-target b { margin: 0; font-size: .6rem; }
body.coinche-table-mode .coinche-virtual-grid { display: block; margin: 0; }
body.coinche-table-mode .coinche-live-table { padding: 10px; }
body.coinche-table-mode .coinche-live-table > .section-heading { align-items: center; margin: 0 0 6px; }
body.coinche-table-mode .coinche-live-table > .section-heading > .coinche-live-heading-copy { display: none; }
body.coinche-table-mode .coinche-table-tools { width: 100%; grid-auto-flow: column; justify-content: space-between; align-items: center; }
body.coinche-table-mode .coinche-contract-glance, body.coinche-table-mode .coinche-counter, body.coinche-table-mode .coinche-turn-note { display: none; }
body.coinche-table-mode .coinche-hand-dock { margin-top: 8px; }
@media (max-width: 960px) and (max-height: 600px) and (orientation: landscape) {
  .coinche-game-page .site-header { min-height: 48px; padding: 5px 14px; }
  .coinche-game-page .brand-mark { width: 34px; height: 34px; }
  .coinche-game-page .brand > span:last-child { display: none; }
  .coinche-game-page .main-nav { padding: 3px 8px; }
  .coinche-game-page .main-nav a { padding: 6px 9px; font-size: .72rem; }
  .coinche-game-page .page-shell { width: min(100% - 18px, 1180px); padding-top: 12px; }
  .coinche-game-page .coinche-game-heading { display: none; }
  .coinche-game-page .coinche-scoreboard { grid-template-columns: 1fr 82px 1fr; margin: 0 0 8px; }
  .coinche-game-page .coinche-team-score { padding: 7px 10px; }
  .coinche-game-page .coinche-team-score p, .coinche-game-page .coinche-team-score ul, .coinche-game-page .coinche-target small { display: none; }
  .coinche-game-page .coinche-team-score > strong { display: inline; margin: 0 4px 0 0; font-size: 1.55rem; }
  .coinche-game-page .coinche-team-score > span { font-size: .56rem; }
  .coinche-game-page .coinche-target { padding: 5px; }
  .coinche-game-page .coinche-target strong { font-size: 1.1rem; }
  .coinche-game-page .coinche-target b { margin: 0; font-size: .6rem; }
  .coinche-game-page .coinche-live-table { padding: 12px; }
  .coinche-game-page .coinche-live-table > .section-heading { margin-bottom: 6px; }
  .coinche-game-page .coinche-visual-table { min-height: 252px; margin-top: 6px; }
  .coinche-game-page .coinche-table-seat { min-width: 68px; max-width: 84px; }
  .coinche-game-page .coinche-played-card { width: 56px; min-height: 75px; }
  .coinche-game-page .coinche-played-card > span { font-size: 1.25rem; }
  .coinche-game-page .coinche-played-card.played-seat-1 { bottom: 64px; }
  .coinche-game-page .coinche-played-card.played-seat-3 { top: 58px; }
  .coinche-game-page .coinche-hand-dock { margin-top: 8px; padding: 7px 10px 5px; }
  .coinche-game-page .coinche-hand-dock .section-heading { display: none; }
  .coinche-game-page .coinche-hand-dock .coinche-hand { min-height: 82px; padding: 5px 1px; }
  .coinche-game-page .coinche-hand-dock .coinche-card { flex-basis: 54px; min-height: 78px; }
  .coinche-game-page .coinche-hand-dock .coinche-card > b { font-size: 1.65rem; }
  .coinche-game-page .coinche-hand-dock > .muted { display: none; }
  .coinche-game-page .coinche-table-auction { bottom: 43px; }
}
@media (max-width: 720px) {
  .coinche-table-tools { grid-auto-flow: column; align-items: center; justify-content: space-between; width: 100%; }
  .coinche-live-table > .section-heading { align-items: center; }
  .coinche-table-auction { bottom: 49px; width: min(282px, calc(100% - 100px)); }
  .coinche-table-auction button { min-height: 40px; }
}

/* Écran de jeu : sur mobile et tablette, toute la hauteur revient au plateau. */
.coinche-table-score { display: none; position: absolute; z-index: 8; top: 9px; align-items: center; gap: 4px; padding: 5px 7px; color: #fffdf5; background: rgba(12, 49, 43, .83); border: 1px solid rgba(255,255,255,.36); border-radius: 999px; box-shadow: 0 4px 10px rgba(0,0,0,.18); font-size: .55rem; font-weight: 800; line-height: 1; }
.coinche-table-score.team-one { left: 9px; }
.coinche-table-score.team-two { right: 9px; }
.coinche-table-score b { color: #f9dc86; font: 1.06rem/1 Georgia, serif; }
.coinche-table-score span { white-space: nowrap; }
.coinche-table-counter-actions { width: min(274px, calc(100% - 82px)); text-align: center; }
.coinche-table-counter-actions .coinche-table-auction-actions { grid-template-columns: 1fr 1fr; }

body.coinche-table-mode { height: 100svh; overflow: hidden; overscroll-behavior: none; }
body.coinche-table-mode .page-shell { width: 100%; min-height: 100svh; margin: 0; padding: 0; }
body.coinche-table-mode .coinche-scoreboard { display: none; }
body.coinche-table-mode .coinche-virtual-grid { min-height: 100svh; margin: 0; }
body.coinche-table-mode .coinche-live-table { box-sizing: border-box; min-height: 100svh; padding: 6px 8px; border: 0; border-radius: 0; background: linear-gradient(145deg, #fdfcf8, #f1ebe0); }
body.coinche-table-mode .coinche-live-table > .section-heading { min-height: 35px; margin: 0 0 3px; }
body.coinche-table-mode .coinche-table-tools { min-height: 35px; }
body.coinche-table-mode .coinche-live-dot { font-size: .61rem; }
body.coinche-table-mode .coinche-table-mode-toggle { min-height: 32px; }
body.coinche-table-mode .coinche-visual-table { height: calc(100svh - 121px); min-height: 248px; margin: 0; }
body.coinche-table-mode .coinche-table-score { display: inline-flex; }
body.coinche-table-mode .coinche-hand-dock { position: relative; bottom: auto; margin: 3px 0 0; padding: 3px 5px; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
body.coinche-table-mode .coinche-hand-dock .section-heading, body.coinche-table-mode .coinche-hand-dock > .muted { display: none; }
body.coinche-table-mode .coinche-hand-dock .coinche-hand { min-height: 76px; padding: 3px 0; gap: 4px; overflow: hidden; }
body.coinche-table-mode .coinche-hand-dock .coinche-card { flex: 1 1 0; min-width: 0; min-height: 76px; padding: 4px 2px; }
body.coinche-table-mode .coinche-hand-dock .coinche-card > b { font-size: 1.58rem; }
body.coinche-table-mode .coinche-hand-dock .coinche-card-corner { font-size: .62rem; }
body.coinche-table-mode .coinche-table-auction { top: 50%; bottom: auto; transform: translate(-50%, -50%); }
body.coinche-table-mode .coinche-last-trick { bottom: 8px; }
body.coinche-table-mode .coinche-played-card { width: 52px; min-height: 66px; padding: 3px; } body.coinche-table-mode .coinche-played-card > span { font-size: 1.18rem; } body.coinche-table-mode .coinche-played-card.played-seat-1 { bottom: 44px; } body.coinche-table-mode .coinche-played-card.played-seat-3 { top: 44px; } body.coinche-table-mode .coinche-deal-result { width: min(244px, calc(100% - 92px)); padding: 9px 10px; }

@media (max-width: 420px) {
  body.coinche-table-mode .coinche-table-score { top: 6px; padding: 4px 5px; font-size: .48rem; }
  body.coinche-table-mode .coinche-table-score.team-one { left: 6px; }
  body.coinche-table-mode .coinche-table-score.team-two { right: 6px; }
  body.coinche-table-mode .coinche-table-score b { font-size: .9rem; }
  body.coinche-table-mode .coinche-visual-table { height: calc(100svh - 113px); min-height: 238px; }
  body.coinche-table-mode .coinche-hand-dock .coinche-hand { min-height: 68px; }
  body.coinche-table-mode .coinche-hand-dock .coinche-card { min-height: 68px; }
  body.coinche-table-mode .coinche-hand-dock .coinche-card > b { font-size: 1.32rem; }
}

@media (max-height: 520px) and (orientation: landscape) {
  body.coinche-table-mode .coinche-live-table > .section-heading, body.coinche-table-mode .coinche-table-tools { min-height: 30px; }
  body.coinche-table-mode .coinche-live-dot { display: none; }
  body.coinche-table-mode .coinche-table-mode-toggle { min-height: 28px; padding: 4px 9px; }
  body.coinche-table-mode .coinche-visual-table { height: calc(100svh - 94px); min-height: 206px; }
  body.coinche-table-mode .coinche-hand-dock .coinche-hand { min-height: 58px; }
  body.coinche-table-mode .coinche-hand-dock .coinche-card { min-height: 58px; }
  body.coinche-table-mode .coinche-hand-dock .coinche-card > b { font-size: 1.16rem; }
  body.coinche-table-mode .coinche-hand-dock .coinche-card-corner { font-size: .52rem; }
}

/* Salons privés : un coin distinct, mais avec les mêmes repères chaleureux. */
.main-nav .private-salon-nav { color: #fff; box-shadow: 0 3px 9px rgba(64, 79, 96, .15); }
.main-nav .private-salon-nav-men { background: #426f91; }
.main-nav .private-salon-nav-men:hover, .main-nav .private-salon-nav-men[aria-current="page"] { color: #fff; background: #2f5877; }
.main-nav .private-salon-nav-women { background: #ae607b; box-shadow: 0 3px 9px rgba(135, 74, 99, .17); }
.main-nav .private-salon-nav-women:hover, .main-nav .private-salon-nav-women[aria-current="page"] { color: #fff; background: #88475f; }
.private-salon-hero { position: relative; display: flex; min-height: 210px; align-items: end; justify-content: space-between; gap: 24px; padding: clamp(28px, 5vw, 52px); overflow: hidden; color: #fffdf8; background: linear-gradient(128deg, #273b50, #385e66); border-radius: 24px; box-shadow: 0 16px 35px rgba(35,52,69,.2); }
.private-salon-hero::after { content: ""; position: absolute; top: -120px; right: -66px; width: 310px; height: 310px; border: 45px solid rgba(255,255,255,.08); border-radius: 50%; }
.private-salon-hero > div, .private-salon-mark { position: relative; z-index: 1; }
.private-salon-hero .eyebrow { color: #f8d895; }
.private-salon-hero h1 { margin: 5px 0 8px; color: inherit; font-size: clamp(2.5rem, 5vw, 4.2rem); }
.private-salon-hero p:last-child { max-width: 640px; margin: 0; color: rgba(255,255,255,.84); font-size: 1.02rem; }
.private-salon-mark { display: grid; width: 66px; height: 66px; flex: 0 0 auto; place-items: center; color: #f9df9b; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; font-size: 1.65rem; }
.private-salon-no-sir .private-salon-hero { background: linear-gradient(128deg, #67415f, #9b5f66); box-shadow: 0 16px 35px rgba(109,59,83,.19); }
.private-salon-project-launcher { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 22px; background: linear-gradient(125deg, #eef4f2, #fff8ed); border-color: #d3e2db; }
.private-salon-project-launcher h2 { margin: 4px 0 7px; }
.private-salon-project-launcher p:last-child { max-width: 720px; margin: 0; color: var(--ink-soft); }
.private-salon-project-launcher .button { flex: 0 0 auto; text-align: center; }
.private-salon-gemini { margin-top: 22px; border-color: #ded5c7; background: linear-gradient(120deg, #fffdf8, #f5f0e8); }
.private-salon-gemini .section-heading { align-items: start; }
.private-salon-usage { flex: 0 0 auto; padding: 6px 10px; color: #655849; background: #f1e6d2; border-radius: 999px; font-size: .73rem; font-weight: 800; }
.private-salon-cost-note { margin: 0; padding: 12px 14px; color: #5d5246; background: rgba(255, 248, 234, .86); border-left: 3px solid #c58d46; border-radius: 7px; font-size: .86rem; }
.private-salon-gemini-result { display: grid; gap: 17px; margin-top: 21px; padding: 19px; background: rgba(255,255,255,.68); border: 1px solid rgba(186,166,139,.38); border-radius: 14px; }
.private-salon-gemini-result h3 { margin: 0 0 7px; font-size: 1rem; }
.private-salon-gemini-result p { margin: 0; white-space: pre-wrap; }
.private-salon-project-drafts { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px; }
.private-salon-project-drafts > h3, .private-salon-next-steps > h3 { grid-column: 1 / -1; }
.private-salon-project-drafts article { padding: 13px; background: #fffefa; border: 1px solid var(--line); border-radius: 10px; }
.private-salon-project-drafts article p { margin: 5px 0; font-size: .87rem; }
.private-salon-project-drafts small, .private-salon-next-steps { color: var(--ink-soft); font-size: .78rem; }
.private-salon-next-steps ul { margin: 6px 0 0; padding-left: 20px; }
.private-salon-gemini-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.private-salon-debates { margin-top: 22px; background: linear-gradient(120deg, #fdfbf6, #f1f6f0); }
.private-salon-debate { margin-top: 17px; padding: 20px; background: rgba(255,255,255,.78); border: 1px solid var(--line); border-radius: 15px; }
.private-salon-debate.unanimous { border-color: #7eae91; background: #f1f8f0; }
.private-salon-debate-heading { display: flex; align-items: start; justify-content: space-between; gap: 17px; }
.private-salon-debate-heading h3 { margin: 0 0 7px; }
.private-salon-debate-heading p { max-width: 780px; margin: 0; color: var(--ink-soft); }
.private-salon-debate-heading > span { flex: 0 0 auto; padding: 5px 9px; color: #6f5841; background: #f4e6cb; border-radius: 999px; font-size: .72rem; font-weight: 800; }
.private-salon-debate.unanimous .private-salon-debate-heading > span { color: #356946; background: #dcefdc; }
.private-salon-debate-progress { display: grid; gap: 2px; margin-top: 17px; padding: 11px 13px; background: rgba(241,239,230,.7); border-radius: 10px; }
.private-salon-debate-progress small { color: var(--ink-soft); }
.private-salon-vote-actions { display: flex; flex-wrap: wrap; gap: 9px; margin: 16px 0 9px; }
.private-salon-vote-actions .selected { color: #fff; background: var(--green); border-color: var(--green); }
.private-salon-layout { align-items: start; margin-top: 24px; }
.private-salon-compose { position: sticky; top: 22px; }
.private-salon-compose h2 { margin-top: 0; }
.private-salon-feed { display: grid; gap: 13px; }
.private-salon-message { padding: 20px 22px; background: rgba(255,254,250,.95); border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 6px 16px rgba(60,50,38,.06); }
.private-salon-message header, .private-salon-message footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.private-salon-message header small, .private-salon-message footer { color: var(--ink-soft); font-size: .73rem; }
.private-salon-message p { margin: 13px 0; white-space: pre-wrap; }
.private-salon-message footer { justify-content: flex-start; }
.private-salon-category { display: inline-flex; padding: 4px 8px; color: #3f6470; background: #e9f0ed; border-radius: 999px; font-size: .68rem; font-weight: 800; }
.private-salon-no-sir .private-salon-category { color: #784356; background: #f5e9ed; }
.private-salon-profile { margin-top: 22px; border-left: 4px solid #385e66; }
.private-salon-admin { display: none; }
.project-audience { color: #355a65; background: #e4f0ec; }
.project-discussion { display: grid; gap: 16px; margin: 22px 0; background: linear-gradient(120deg, #fffdf7, #f1f6f1); }
.project-discussion .section-heading { margin-bottom: 0; }
.project-discussion-form { max-width: 760px; }
.project-discussion-form button { justify-self: start; }
.project-discussion-list { display: grid; gap: 9px; }
.project-discussion-list article { padding: 14px 16px; background: rgba(255,255,255,.74); border: 1px solid var(--line); border-radius: 12px; }
.project-discussion-list p { margin: 0 0 7px; white-space: pre-wrap; }
.project-discussion-list footer { color: var(--ink-soft); font-size: .73rem; }
.project-date-window { margin-top: 13px; padding: 14px 16px; background: rgba(255,255,255,.72); border: 1px solid var(--line); border-radius: 12px; }
.project-date-window h3 { margin: 0 0 8px; font-size: .98rem; }.project-date-window p { margin: 7px 0; }.project-date-window a { font-weight: 750; white-space: nowrap; }
.private-salon-bulk { background: linear-gradient(130deg, #f6f9f5, #f7f0eb); }
.private-salon-bulk-form { display: grid; gap: 17px; margin-top: 18px; }
.private-salon-bulk-choice { display: grid; gap: 7px; max-width: 340px; color: var(--ink); font-weight: 700; }
.private-salon-bulk-choice small { color: var(--ink-soft); font-weight: 400; }
.private-salon-bulk-members { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.private-salon-bulk-member { display: flex; align-items: center; gap: 11px; min-height: 64px; margin: 0; padding: 10px 12px; color: var(--ink); background: rgba(255, 255, 255, .72); border: 1px solid var(--line); border-radius: 12px; cursor: pointer; }
.private-salon-bulk-member:has(input:checked) { border-color: #987487; background: #fff7fa; box-shadow: inset 0 0 0 1px rgba(122, 80, 104, .12); }
.private-salon-bulk-member input { width: 20px; min-height: 20px; margin: 0; accent-color: #7a5068; }
.private-salon-bulk-member > span { display: grid; gap: 1px; }
.private-salon-bulk-member small { color: var(--ink-soft); font-size: .73rem; }
.private-salon-bulk-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.private-salon-bulk-actions small { color: var(--ink-soft); }
.private-salon-admin-list { display: grid; gap: 8px; margin-top: 17px; }
.admin-salon-form { display: grid; grid-template-columns: minmax(130px, 1fr) minmax(175px, 220px) auto; align-items: center; gap: 10px; padding: 9px 0; border-top: 1px solid var(--line); }
.admin-salon-form:first-child { border-top: 0; }
.admin-salon-form > span { display: grid; gap: 1px; }
.admin-salon-form small { color: var(--ink-soft); font-size: .72rem; }
.admin-salon-form select { width: 100%; min-height: 40px; }
.admin-salon-form button { min-height: 40px; }
@media (max-width: 720px) {
  .household-assignment { grid-template-columns: 1fr; gap: 9px; }.household-assignment form:not(.unused-profile-action), .unused-profile-action { justify-content: stretch; }.household-assignment form:not(.unused-profile-action) { display: grid; grid-template-columns: minmax(0, 1fr) auto; }.household-assignment .unused-profile-action { display: flex; justify-content: space-between; }.empty-household-list form > span { flex-basis: 100%; }
  .private-salon-hero { min-height: 190px; padding: 29px 24px; border-radius: 19px; }
  .private-salon-hero h1 { font-size: 2.8rem; }
  .private-salon-mark { display: none; }
  .private-salon-project-launcher { display: grid; gap: 15px; padding: 20px; }
  .private-salon-project-launcher .button { width: 100%; }
  .private-salon-compose { position: static; }
  .private-salon-message { padding: 17px; }
  .private-salon-gemini .section-heading { display: grid; gap: 12px; }
  .private-salon-usage { justify-self: start; }
  .private-salon-debate-heading { display: grid; }
  .admin-salon-form { grid-template-columns: 1fr; align-items: stretch; }
  .admin-salon-form button { width: 100%; }
  .private-salon-bulk-members { grid-template-columns: 1fr; }
}

/* Veille voyage : la dernière sélection automatique est distinguée du reste du classement. */
.daily-search-result { display: grid; grid-template-columns: minmax(0, .95fr) minmax(280px, 1.05fr); gap: 20px 28px; align-items: center; margin: 22px 0; padding: 23px 26px; background: linear-gradient(120deg, #edf4ee, #fff8e9); border: 1px solid #d9e5d8; border-radius: 17px; box-shadow: 0 7px 17px rgba(52,81,59,.07); }
.daily-search-heading h2 { margin: 4px 0 7px; font-size: 1.42rem; }
.daily-search-heading p:last-child { margin: 0; color: var(--ink-soft); font-size: .87rem; }
.daily-search-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.daily-search-links a { display: grid; min-height: 70px; align-content: center; gap: 3px; padding: 10px 12px; color: var(--ink); background: rgba(255,255,255,.76); border: 1px solid rgba(90,120,95,.2); border-radius: 11px; text-decoration: none; transition: transform .16s ease, box-shadow .16s ease; }
.daily-search-links a:hover, .daily-search-links a:focus-visible { transform: translateY(-2px); box-shadow: 0 5px 12px rgba(48,73,53,.12); text-decoration: none; }
.daily-search-links b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .8rem; }
.daily-search-links span, .daily-search-note { color: var(--ink-soft); font-size: .68rem; }
.daily-search-note { grid-column: 1 / -1; margin: -5px 0 0; padding-top: 10px; border-top: 1px solid rgba(90,120,95,.2); }
.project-daily-result { background: linear-gradient(120deg, #f1ecf8, #fff8ec); border-color: #ded0ed; }.project-daily-result .eyebrow { color: #71538f; }.project-daily-result .daily-search-links a { border-color: rgba(113,83,143,.2); }.project-daily-result .daily-search-links a:hover, .project-daily-result .daily-search-links a:focus-visible { box-shadow: 0 5px 12px rgba(93,65,127,.15); }
@media (max-width: 720px) {
  .daily-search-result { grid-template-columns: 1fr; padding: 20px; }
  .daily-search-links { grid-template-columns: 1fr; }
}

/* Identité Gang Of Pirons : coucher de soleil, océan et grandes tablées. */
:root {
  --ink: #17253e;
  --ink-soft: #5e6574;
  --paper: #fff3df;
  --paper-deep: #f7dfbf;
  --card: #fffaf1;
  --line: #e8d2b3;
  --green: #1b4965;
  --green-dark: #132f4a;
  --sea: #3e7390;
  --coral: #d76551;
  --sun: #f2a65a;
  --mint: #e7f0ed;
  --shadow: 0 18px 45px rgba(24, 43, 67, .13);
  --shadow-soft: 0 8px 24px rgba(24, 43, 67, .08);
}

body { background: radial-gradient(circle at 0 0, rgba(242,166,90,.24), transparent 30rem), radial-gradient(circle at 100% 35%, rgba(62,115,144,.16), transparent 32rem), var(--paper); }
.site-header { padding-block: 10px; background: linear-gradient(112deg, #111f39, #173b5b 54%, #286582); }
.brand-logo { width: 52px; height: 52px; flex: 0 0 52px; border: 2px solid rgba(255,247,225,.75); border-radius: 50%; object-fit: cover; box-shadow: 0 4px 14px rgba(0,0,0,.22); }
.main-nav { background: rgba(255,250,241,.94); border-bottom-color: rgba(232,210,179,.88); }
.main-nav a:hover, .main-nav a[aria-current="page"] { background: #ffe5bd; }
.primary, .button.primary { background: linear-gradient(135deg, #183e61, #2e7690); border-color: #183e61; box-shadow: 0 8px 18px rgba(24,62,97,.21); }
.primary:hover, .button.primary:hover { background: #132f4a; box-shadow: 0 10px 22px rgba(24,62,97,.28); }
.secondary, .button.secondary { color: #173e62; border-color: #315d79; }
.secondary:hover, .button.secondary:hover { background: #173e62; }

.login-page { background: #fff3df; }
.login-story { color: #fffaf0; background: radial-gradient(circle at 30% 15%, rgba(250,177,105,.38), transparent 28rem), linear-gradient(144deg, #101f39, #234d6a 60%, #d26e56 150%); }
.login-story::after { right: -145px; bottom: -170px; border-color: rgba(255,220,163,.18); }
.login-story h1 { color: #fffaf0; }
.login-story > p { color: #e5edf2; }
.login-story .eyebrow, .login-story em { color: #ffd58e; }
.login-logo { position: relative; z-index: 1; width: 144px; height: 144px; margin: 0 0 28px; border: 3px solid rgba(255,244,218,.82); border-radius: 50%; object-fit: cover; box-shadow: 0 16px 32px rgba(1,10,28,.32); }
.sun-stamp { color: #ffe0a5; border-color: #ffe0a5; }
.login-card { background: rgba(255,250,241,.96); }

.gang-home .page-shell { padding-top: 27px; }
.gang-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(285px, .8fr); align-items: center; gap: clamp(28px, 5vw, 74px); min-height: 470px; padding: clamp(32px, 6vw, 72px); overflow: hidden; color: #fff8ed; background: radial-gradient(circle at 16% 0%, rgba(249,177,103,.45), transparent 30rem), linear-gradient(130deg, #101f39 0%, #1b4965 58%, #d66b55 170%); border: 1px solid rgba(255,240,206,.22); border-radius: 34px; box-shadow: var(--shadow); }
.gang-hero::before { position: absolute; inset: auto -8% -78%; width: 118%; height: 82%; content: ""; background: repeating-radial-gradient(ellipse at 45% 0, transparent 0 18px, rgba(255,241,207,.12) 20px 22px, transparent 24px 38px); transform: rotate(-6deg); opacity: .8; }
.gang-hero > * { position: relative; z-index: 1; }
.gang-hero h1 { margin-bottom: 19px; color: #fffaf1; font-size: clamp(2.65rem, 5.4vw, 5.2rem); }
.gang-hero-copy > p:not(.eyebrow) { max-width: 665px; margin-bottom: 21px; color: #e6eef0; font-size: clamp(1rem, 1.4vw, 1.15rem); }
.gang-hero .eyebrow { color: #ffd58e; }
.gang-hero .secondary { color: #fffaf0; border-color: rgba(255,250,241,.72); }
.gang-hero .secondary:hover { color: #183e61; background: #fffaf0; }
.gang-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 26px; }
.gang-tags span { padding: 6px 10px; color: #fff8ee; background: rgba(255,255,255,.11); border: 1px solid rgba(255,255,255,.18); border-radius: 999px; font-size: .76rem; font-weight: 760; }
.gang-hero-emblem { width: min(100%, 360px); margin: 0 auto; text-align: center; }
.gang-hero-emblem img { display: block; width: min(100%, 330px); aspect-ratio: 1; margin: auto; border: 3px solid rgba(255,240,202,.9); border-radius: 50%; object-fit: cover; box-shadow: 0 22px 34px rgba(5,19,40,.33); transform: rotate(2deg); }
.gang-hero-emblem figcaption { margin: 15px auto 0; color: #fbe6c2; font-family: Georgia, serif; font-size: 1rem; font-style: italic; }

.gang-action-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin: 20px 0; }
.gang-action { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 104px; padding: 16px; color: var(--ink); background: rgba(255,250,241,.92); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow-soft); text-decoration: none; transition: transform .16s ease, box-shadow .16s ease; }
.gang-action:hover, .gang-action:focus-visible { color: var(--ink); box-shadow: 0 12px 25px rgba(24,43,67,.14); transform: translateY(-3px); }
.gang-action > span { display: grid; width: 40px; height: 40px; place-items: center; color: #fff; background: #d66b55; border-radius: 14px; font-size: 1.25rem; font-weight: 800; }
.gang-action div { display: grid; gap: 3px; min-width: 0; }
.gang-action b { font-size: .91rem; }
.gang-action small { color: var(--ink-soft); font-size: .71rem; line-height: 1.3; }
.gang-action i { color: var(--sea); font-size: 1.25rem; font-style: normal; }
.gang-action.action-work > span { background: #3e7390; }.gang-action.action-memories > span { background: #bf7853; }.gang-action.action-games > span { background: #45406d; }

.gang-numbers { display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; margin: 0 0 20px; background: #172d4c; border-radius: 19px; box-shadow: var(--shadow-soft); }
.gang-numbers article { display: grid; gap: 3px; min-height: 108px; align-content: center; padding: 18px 22px; border-right: 1px solid rgba(255,255,255,.14); }
.gang-numbers article:last-child { border-right: 0; }
.gang-numbers strong { color: #ffd18a; font: 2.3rem/1 Georgia, serif; }.gang-numbers span { color: rgba(255,248,235,.78); font-size: .76rem; }
.gang-home-columns { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(290px, .82fr); gap: 20px; align-items: start; }
.gang-projects, .gang-pulse { min-height: 292px; }
.gang-project-list { display: grid; gap: 10px; }
.gang-project-list > a { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 13px; color: var(--ink); background: #fffaf1; border: 1px solid var(--line); border-radius: 14px; text-decoration: none; transition: border-color .15s, transform .15s; }
.gang-project-list > a:hover { color: var(--ink); border-color: #e1a472; transform: translateX(3px); }
.gang-project-list > a > div { display: grid; gap: 2px; min-width: 0; }.gang-project-list small { overflow: hidden; color: var(--ink-soft); font-size: .74rem; text-overflow: ellipsis; white-space: nowrap; }.gang-project-list i { color: var(--sea); font-size: 1.2rem; font-style: normal; }
.gang-empty { display: flex; align-items: flex-start; gap: 14px; min-height: 150px; padding: 18px 0; }.gang-empty > span { display: grid; width: 46px; height: 46px; flex: 0 0 auto; place-items: center; color: #d76551; background: #ffe7c0; border-radius: 50%; font: 1.5rem Georgia, serif; }.gang-empty div { min-width: 0; }.gang-empty b { display: block; margin: 3px 0 4px; }.gang-empty p { margin: 0 0 8px; color: var(--ink-soft); font-size: .88rem; }.gang-empty a { font-size: .85rem; font-weight: 800; }.gang-empty.compact { min-height: 150px; }
.gang-pulse .activity-list { max-height: 205px; overflow: auto; padding-right: 4px; }
.gang-games { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 20px; overflow: hidden; color: #fffaf2; background: linear-gradient(118deg, #203c5e, #4d4f7b); border-color: rgba(255,255,255,.18); }
.gang-games h2 { margin-bottom: 7px; color: #fffaf2; }.gang-games .eyebrow { color: #ffd38b; }.gang-games p { max-width: 660px; margin-bottom: 0; color: #e5e9f0; }.gang-games .secondary { color: #fffaf2; border-color: rgba(255,255,255,.67); }.gang-games .secondary:hover { color: #243a5f; background: #fffaf2; }

@media (max-width: 900px) {
  .gang-action-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gang-hero { grid-template-columns: minmax(0, 1fr) 285px; gap: 26px; }
  .gang-hero-emblem img { width: 250px; }
}
@media (max-width: 720px) {
  .site-header { min-height: 69px; padding: 8px 18px; }.brand-logo { width: 45px; height: 45px; flex-basis: 45px; }.account { gap: 10px; }.account-profile small, .account .link-button { font-size: .72rem; }.account-profile strong { max-width: 100px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .main-nav { padding-inline: 12px; scrollbar-width: none; }.main-nav::-webkit-scrollbar { display: none; }.main-nav a { padding: 8px 10px; font-size: .8rem; }
  .gang-home .page-shell { width: min(100% - 24px, 1240px); padding-top: 16px; }.gang-hero { grid-template-columns: 1fr; min-height: 0; gap: 25px; padding: 29px 23px 25px; border-radius: 23px; }.gang-hero h1 { font-size: clamp(2.55rem, 12vw, 3.5rem); }.gang-hero-emblem { display: grid; grid-template-columns: 93px minmax(0, 1fr); align-items: center; gap: 15px; width: 100%; text-align: left; }.gang-hero-emblem img { width: 93px; height: 93px; }.gang-hero-emblem figcaption { margin: 0; font-size: .96rem; }
  .gang-action-grid { gap: 10px; }.gang-action { min-height: 100px; gap: 9px; padding: 13px; border-radius: 15px; }.gang-action > span { width: 34px; height: 34px; border-radius: 11px; font-size: 1rem; }.gang-action b { font-size: .82rem; }.gang-action small { font-size: .66rem; }.gang-action i { display: none; }
  .gang-numbers { grid-template-columns: repeat(2, 1fr); }.gang-numbers article { min-height: 87px; padding: 14px 16px; border-bottom: 1px solid rgba(255,255,255,.14); }.gang-numbers article:nth-child(2) { border-right: 0; }.gang-numbers article:nth-child(n+3) { border-bottom: 0; }.gang-numbers strong { font-size: 1.9rem; }.gang-numbers span { font-size: .7rem; }
  .gang-home-columns { grid-template-columns: 1fr; gap: 14px; }.gang-projects, .gang-pulse { min-height: 0; }.gang-project-list > a { gap: 9px; padding: 11px; }.gang-games { display: grid; gap: 18px; padding: 23px; }.gang-games .button-row { width: 100%; }.gang-games .button { flex: 1 1 130px; }
  .login-story { min-height: 305px; padding: 32px 25px 60px; }.login-logo { width: 93px; height: 93px; margin: 0 0 16px; }.login-story h1 { font-size: 3.15rem; }.login-story > p { display: block; font-size: .92rem; }.login-story .sun-stamp { display: none; }.login-card { margin-top: -32px; }
}

/* Foyers, anniversaires et bar commun. */
.family-top-grid { align-items: stretch; }.personal-profile-panel, .family-overview-panel { display: grid; align-content: start; }.personal-profile-panel h2, .family-overview-panel h2 { margin-bottom: 9px; }.family-overview-panel > p:not(.eyebrow) { margin-bottom: 18px; color: var(--ink-soft); }.member-relationship { margin-top: 4px !important; color: #a65348; font-size: .74rem; font-weight: 750; }.member-card { align-items: start; }.member-card .member-editor { margin-top: 7px; }.household-panel { scroll-margin-top: 96px; }.household-add-form { max-width: 680px; }.family-overview-panel .stack-form { margin-top: 5px; }

.gang-birthday-panel { display: grid; grid-template-columns: minmax(215px, .75fr) minmax(0, 1.25fr) auto; align-items: center; gap: 24px; margin: 20px 0; padding: 22px 26px; color: #4a3424; background: linear-gradient(110deg, #fff1ce, #ffe4b4 60%, #fac58c); border: 1px solid #edbb72; border-radius: 19px; box-shadow: var(--shadow-soft); }.gang-birthday-panel h2 { margin-bottom: 6px; }.gang-birthday-panel p:last-child { margin: 0; font-size: .83rem; }.gang-birthday-panel > a { color: #5c321d; font-size: .8rem; font-weight: 800; white-space: nowrap; }.gang-birthday-list { display: flex; flex-wrap: wrap; gap: 8px; }.gang-birthday-list article { display: flex; align-items: center; gap: 7px; min-width: 145px; padding: 8px 10px; background: rgba(255,250,239,.72); border: 1px solid rgba(139,81,37,.16); border-radius: 11px; }.gang-birthday-list article.today { color: #fff8ee; background: #b85b49; border-color: #9c4839; }.gang-birthday-list span { font-size: 1.05rem; }.gang-birthday-list div { display: grid; }.gang-birthday-list b { font-size: .78rem; }.gang-birthday-list small { font-size: .65rem; }

.gang-bar { margin: 20px 0; padding: clamp(20px, 3vw, 30px); color: #f9f0df; background: linear-gradient(125deg, #17283e, #294a60 58%, #4a4d79 150%); border-color: rgba(255,245,219,.2); }.gang-bar-heading { display: flex; align-items: start; justify-content: space-between; gap: 22px; }.gang-bar-heading h2 { margin-bottom: 7px; color: #fff8ed; }.gang-bar-heading p:not(.eyebrow) { max-width: 610px; margin-bottom: 0; color: #dbe7ea; }.gang-bar-heading .eyebrow { color: #ffd48b; }.gang-bar-heading-actions { display: grid; justify-items: end; gap: 10px; }.gang-bar-heading-actions > a { color: #ffe0a6; font-size: .82rem; font-weight: 800; white-space: nowrap; }.gang-bar-board { width: min(288px, 100%); padding: 14px 16px; color: #f5f0df; background: linear-gradient(145deg, #202823, #314138); border: 3px solid #b9824c; border-radius: 8px; box-shadow: inset 0 0 18px rgba(0,0,0,.42), 0 8px 15px rgba(0,0,0,.17); transform: rotate(1deg); }.gang-bar-board > span { display: block; color: #e7bd7a; font-size: .62rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }.gang-bar-board h3 { margin: 3px 0 7px; color: #fff6df; font-family: Georgia, serif; font-size: 1rem; }.gang-bar-board p { margin: 0; color: #f5f0df; font-family: Georgia, serif; font-size: .81rem; font-style: italic; line-height: 1.35; }.gang-bar-board small { display: block; margin-top: 8px; color: #c5d2bf; font-size: .63rem; }
.gang-bar-compose { display: grid; grid-template-columns: minmax(165px, .37fr) minmax(0, 1fr) auto; gap: 10px; align-items: end; margin: 22px 0 18px; padding: 14px; background: rgba(255,250,237,.1); border: 1px solid rgba(255,255,255,.16); border-radius: 16px; }.gang-bar-compose label { display: grid; gap: 5px; margin: 0; color: #f6e7cd; font-size: .72rem; font-weight: 800; }.gang-bar-compose input, .gang-bar-compose select, .gang-bar-compose textarea { color: var(--ink); background: #fffaf1; border-color: rgba(255,255,255,.28); }.gang-bar-compose textarea { min-height: 62px; resize: vertical; }.gang-bar-compose .gang-bar-message { grid-column: 1 / -2; }.gang-bar-compose button { align-self: end; }
.gang-bar-feed { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }.gang-bar-post { position: relative; min-width: 0; padding: 16px; color: var(--ink); background: #fffaf1; border: 1px solid rgba(255,255,255,.42); border-radius: 15px; }.gang-bar-post.aide { border-left: 4px solid #d76551; }.gang-bar-post.mot { border-left: 4px solid #e2a253; }.gang-bar-post.discussion { border-left: 4px solid #4d89a1; }.gang-bar-post.resolved { opacity: .78; }.gang-bar-post header { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-bottom: 10px; }.gang-bar-post header small { margin-left: auto; color: var(--ink-soft); font-size: .66rem; }.gang-bar-kind, .gang-bar-resolved { padding: 4px 7px; border-radius: 999px; font-size: .62rem; font-weight: 850; }.gang-bar-kind { color: #284b65; background: #e4eef2; }.gang-bar-post.aide .gang-bar-kind { color: #8b4136; background: #fae2dc; }.gang-bar-post.mot .gang-bar-kind { color: #7c5726; background: #fff0cf; }.gang-bar-resolved { color: #356346; background: #e1f0e3; }.gang-bar-post h3 { margin: 0 0 7px; font-size: 1rem; }.gang-bar-post > p { margin: 0; color: #445165; font-size: .86rem; }.gang-bar-comments { display: grid; gap: 5px; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line); }.gang-bar-comments p { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px; margin: 0; color: #586474; font-size: .74rem; }.gang-bar-comments b { color: #223c55; }.gang-bar-reply { margin-top: 12px; }.gang-bar-reply summary { color: #27556f; font-size: .73rem; font-weight: 800; }.gang-bar-reply form { display: grid; gap: 7px; margin-top: 8px; }.gang-bar-reply textarea { min-height: 55px; }.gang-bar-reply button { justify-self: start; }.gang-bar-status { margin-top: 9px; }.gang-bar-status button { padding: 0; color: #6a6470; background: none; border: 0; border-bottom: 1px solid currentColor; font-size: .67rem; }.gang-bar-empty { display: flex; grid-column: 1 / -1; align-items: center; gap: 13px; min-height: 120px; padding: 16px 4px; color: #dce8ed; }.gang-bar-empty > span { display: grid; width: 43px; height: 43px; place-items: center; color: #203b5d; background: #ffd28a; border-radius: 50%; font-size: 1.2rem; }.gang-bar-empty p { margin: 3px 0 0; color: #dce8ed; font-size: .86rem; }

@media (max-width: 900px) { .gang-birthday-panel { grid-template-columns: 1fr; gap: 13px; }.gang-birthday-panel > a { justify-self: start; }.gang-bar-feed { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .family-top-grid { grid-template-columns: 1fr; }.gang-birthday-panel { margin: 14px 0; padding: 19px; border-radius: 16px; }.gang-birthday-list { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 3px; }.gang-birthday-list article { flex: 0 0 auto; }.gang-bar { margin: 14px 0; padding: 19px; border-radius: 18px; }.gang-bar-heading { display: grid; gap: 15px; }.gang-bar-heading-actions { justify-items: start; width: 100%; }.gang-bar-board { width: 100%; transform: rotate(0); }.gang-bar-compose { grid-template-columns: 1fr; padding: 12px; }.gang-bar-compose .gang-bar-message { grid-column: auto; }.gang-bar-compose button { width: 100%; }.gang-bar-feed { grid-template-columns: 1fr; }.gang-bar-post { padding: 14px; }.gang-bar-post header small { width: 100%; margin-left: 0; }.gang-bar-comments p { grid-template-columns: 1fr; gap: 1px; } }

/* Projets : une idée d'abord, le reste seulement quand il devient utile. */
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.project-prompt-card { display: grid; grid-template-columns: minmax(220px,.65fr) minmax(0,1.35fr); gap: clamp(22px,4vw,54px); align-items: center; margin: 0 0 28px; padding: clamp(25px,4vw,44px); color: #fffdf8; background: radial-gradient(circle at 8% 10%, rgba(246,200,109,.22), transparent 13rem), linear-gradient(128deg, #254f49, #46766c 72%, #a36554); border: 1px solid rgba(255,255,255,.18); border-radius: 26px; box-shadow: var(--shadow); }
.project-prompt-card .eyebrow { color: #ffe0a3; }.project-prompt-card h2 { margin-bottom: 10px; color: #fffdf8; font: clamp(1.8rem,3.2vw,2.8rem)/1.05 Georgia,serif; }.project-prompt-card p { margin: 0; color: rgba(255,253,248,.84); }.project-prompt-card-centered { grid-template-columns: minmax(0,760px); justify-content: center; }.project-prompt-form { display: grid; gap: 12px; }.project-prompt-form label { color: #fff; font-weight: 800; }.project-prompt-form textarea { width: 100%; min-height: 108px; padding: 17px 18px; color: var(--ink); background: rgba(255,255,255,.97); border: 1px solid rgba(255,255,255,.7); border-radius: 16px; box-shadow: 0 11px 25px rgba(26,49,44,.15); resize: vertical; }.project-prompt-form textarea:focus { outline: 3px solid rgba(255,224,163,.48); border-color: #f2cf88; }.project-prompt-actions { display: flex; flex-wrap: wrap; gap: 10px; }.project-prompt-card .secondary { color: #fff; border-color: rgba(255,255,255,.7); }.project-prompt-card .secondary:hover { color: var(--green-dark); background: #fff; }.project-prompt-form small { color: rgba(255,253,248,.73); font-size: .76rem; }.project-card-draft { border-style: dashed; background: linear-gradient(145deg,#fffdf9,#f4eee4); }
.idea-business-prompt { background: radial-gradient(circle at 90% 5%, rgba(246,190,111,.25), transparent 14rem), linear-gradient(128deg,#172a48,#4b476d 58%,#b65f52); }.idea-business-prompt .eyebrow { color: #ffd994; }.business-audience-tag { display: inline-flex; margin-top: 16px; padding: 6px 10px; color: #fff8eb; background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.24); border-radius: 999px; font-size: .72rem; font-weight: 800; }.private-salon-project-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.project-draft-heading { margin-bottom: 18px; }.project-draft-shell { display: grid; gap: 18px; max-width: 980px; margin: 0 auto; }.project-draft-idea,.project-ai-proposal,.project-ai-wait,.project-publish-form { padding: clamp(22px,4vw,38px); background: rgba(255,254,250,.96); border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow-soft); }.project-draft-idea blockquote { margin: 5px 0 18px; color: var(--green-dark); font: clamp(1.3rem,2.5vw,1.8rem)/1.4 Georgia,serif; }.project-draft-idea details summary,.project-question-settings summary { color: var(--green); font-weight: 800; }.project-draft-idea details form { margin-top: 16px; }.project-ai-proposal,.project-ai-wait { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 18px; align-items: start; }.project-ai-proposal { background: linear-gradient(145deg,#eef5ef,#fff9ec); border-color: #cadccf; }.project-ai-mark,.project-ai-wait>span { display: grid; width: 52px; height: 52px; place-items: center; color: #fff; background: linear-gradient(135deg,var(--violet),#9d739d); border-radius: 16px; font-size: 1.6rem; }.project-ai-wait>span { color: var(--green-dark); background: var(--mint); }.project-ai-wait.failed>span { color: #8c453c; background: #fbe2dc; }.project-ai-proposal h2,.project-ai-wait h2 { margin: 2px 0 8px; }.project-ai-proposal p:last-child,.project-ai-wait p:last-child { margin-bottom: 0; }.project-format-reason { padding: 12px 14px; color: var(--ink-soft); background: rgba(255,255,255,.62); border-radius: 11px; }
.project-publish-form { display: grid; gap: 22px; }.project-flow-fieldset { padding: 0; border: 0; }.project-flow-fieldset legend { margin-bottom: 12px; font-weight: 850; }.project-flow-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 11px; }.project-flow-choice { position: relative; cursor: pointer; }.project-flow-choice input { position: absolute; opacity: 0; }.project-flow-choice span { display: grid; gap: 5px; height: 100%; padding: 17px; background: #faf7f1; border: 1px solid var(--line); border-radius: 15px; transition: .15s; }.project-flow-choice small { color: var(--ink-soft); font-weight: 500; }.project-flow-choice input:checked+span { background: #e8f2ec; border-color: var(--green); box-shadow: inset 0 0 0 1px var(--green); }.project-flow-choice input:focus-visible+span { outline: 3px solid rgba(65,104,94,.24); }.project-question-settings { padding: 15px 17px; background: #f8f4ec; border: 1px solid var(--line); border-radius: 15px; }.project-question-settings[open] summary { margin-bottom: 13px; }.project-question-list { display: grid; gap: 8px; margin-top: 16px; }.project-question-list p { margin-bottom: 2px; }.project-publish-actions { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding-top: 18px; border-top: 1px solid var(--line); }.project-publish-actions div { display: grid; }.project-publish-actions small { color: var(--ink-soft); }
.project-danger-zone { max-width: 980px; margin: 32px auto 0; padding: 0; overflow: hidden; border-color: #e3c4be; background: #fffaf7; box-shadow: none; }.project-danger-zone > summary { padding: 18px 22px; color: #8b4037; font-weight: 800; cursor: pointer; }.project-danger-zone[open] > summary { border-bottom: 1px solid #edd7d2; }.project-danger-content { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.75fr); gap: 28px; align-items: start; padding: 22px; }.project-danger-content h2 { margin: 2px 0 7px; font-size: 1.35rem; }.project-danger-content p:last-child { margin-bottom: 0; color: var(--ink-soft); }.project-delete-confirm { display: grid; gap: 14px; }.project-delete-confirm label { display: flex; gap: 9px; align-items: flex-start; margin: 0; padding: 13px; background: #fff; border: 1px solid #edd7d2; border-radius: 11px; font-size: .82rem; }.project-delete-confirm input { margin-top: 3px; }.project-delete-confirm button { justify-self: start; }
.project-idea-strip { display: flex; justify-content: space-between; align-items: center; gap: 25px; margin-bottom: 20px; padding: 22px 25px; background: linear-gradient(120deg,#edf4ef,#fff8eb); border: 1px solid #d8e2d8; border-radius: 18px; }.project-idea-strip p:last-child { margin-bottom: 0; font: 1.15rem/1.45 Georgia,serif; }.project-idea-strip>span { flex: 0 0 auto; padding: 7px 11px; color: var(--green-dark); background: rgba(255,255,255,.75); border-radius: 999px; font-size: .75rem; font-weight: 800; }.project-response-layout { align-items: start; }.project-compact-form,.project-consensus { min-width: 0; }.project-custom-consensus { margin-top: 18px; padding: 14px; background: rgba(255,255,255,.56); border-radius: 12px; }.project-custom-consensus ul { margin-bottom: 0; padding-left: 20px; }
.project-tools-details { padding: 0; overflow: hidden; }.project-tools-details>summary { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 23px 27px; list-style: none; }.project-tools-details>summary::-webkit-details-marker { display: none; }.project-tools-details>summary span:first-child { display: grid; gap: 3px; }.project-tools-details>summary small { color: var(--ink-soft); font-weight: 500; }.project-tools-details>summary span:last-child { font-size: 1.4rem; transition: transform .2s; }.project-tools-details[open]>summary span:last-child { transform: rotate(180deg); }.project-tools-content { display: grid; gap: 20px; padding: 0 27px 27px; border-top: 1px solid var(--line); }.project-tools-content>section { padding-top: 22px; }.project-tools-content .listing-card { margin-top: 12px; }
@media (max-width: 760px) { .project-prompt-card { grid-template-columns: 1fr; border-radius: 20px; }.project-flow-grid { grid-template-columns: 1fr; }.project-publish-actions,.project-idea-strip { align-items: stretch; flex-direction: column; }.project-publish-actions .primary { width: 100%; }.project-ai-proposal,.project-ai-wait { grid-template-columns: 42px minmax(0,1fr); }.project-ai-mark,.project-ai-wait>span { width: 42px; height: 42px; border-radius: 13px; }.project-tools-details>summary { padding: 20px; }.project-tools-content { padding: 0 20px 20px; }.project-danger-content { grid-template-columns: 1fr; gap: 18px; }.project-delete-confirm button { width: 100%; } }
@media (max-width: 480px) { .project-prompt-actions { display: grid; }.project-prompt-actions button { width: 100%; }.project-draft-idea,.project-ai-proposal,.project-ai-wait,.project-publish-form { padding: 19px; border-radius: 17px; }.project-ai-proposal,.project-ai-wait { gap: 11px; }.project-idea-strip { padding: 18px; } }
