/* Finition visuelle commune : profondeur mesurée, hiérarchie et états nets. */
:root{--premium-highlight:color-mix(in srgb,var(--accent) 42%,transparent);--premium-hairline:color-mix(in srgb,var(--line) 72%,transparent);--premium-surface:color-mix(in srgb,var(--panel) 94%,transparent);--shadow-control:0 1px 1px rgba(0,0,0,.16),0 7px 20px rgba(0,0,0,.08);--shadow-premium:0 1px 0 color-mix(in srgb,#fff 5%,transparent) inset,0 20px 55px rgba(0,0,0,.2)}
body{background-attachment:fixed}body::before{content:'';position:fixed;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(115deg,color-mix(in srgb,var(--accent) 3%,transparent),transparent 35%),radial-gradient(circle at 92% 8%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 26%)}
h1,h2,h3{letter-spacing:-.025em;text-wrap:balance}.eyebrow{line-height:1.2;text-shadow:0 0 24px color-mix(in srgb,var(--accent) 28%,transparent)}.muted,p{line-height:1.55}
button,.button{border-color:var(--premium-hairline);background:linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 96%,#fff 4%),var(--panel-2));box-shadow:var(--shadow-control);transition:transform var(--motion-fast),box-shadow var(--motion-fast),filter var(--motion-fast),border-color var(--motion-fast)}
button:hover,.button:hover{border-color:color-mix(in srgb,var(--accent) 32%,var(--line));filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 1px 1px rgba(0,0,0,.18),0 10px 25px rgba(0,0,0,.13)}button:active,.button:active{transform:translateY(0);box-shadow:0 1px 3px rgba(0,0,0,.18)}button:disabled,.button[aria-disabled="true"]{box-shadow:none;filter:saturate(.5);transform:none}
.primary{border-color:color-mix(in srgb,var(--accent) 78%,#fff 22%);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 88%,#fff 12%),var(--accent));box-shadow:0 1px 0 color-mix(in srgb,#fff 28%,transparent) inset,0 8px 22px color-mix(in srgb,var(--accent) 18%,transparent)}.secondary{background:color-mix(in srgb,var(--panel-2) 48%,transparent);box-shadow:none}.danger{background:color-mix(in srgb,var(--danger) 5%,var(--panel-2));box-shadow:none}
input,select,textarea{border-color:var(--premium-hairline);background:color-mix(in srgb,var(--bg) 42%,var(--panel));box-shadow:0 1px 0 color-mix(in srgb,#fff 3%,transparent) inset;transition:border-color var(--motion-fast),background var(--motion-fast),box-shadow var(--motion-fast)}input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--muted) 52%,var(--line))}input:focus,select:focus,textarea:focus{border-color:color-mix(in srgb,var(--accent) 72%,var(--line));background:var(--panel);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}label{letter-spacing:.012em}
.card{position:relative;border-color:var(--premium-hairline);background:linear-gradient(155deg,color-mix(in srgb,var(--panel) 97%,#fff 3%),var(--premium-surface));box-shadow:var(--shadow-premium)}.card::after{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;box-shadow:0 1px 0 color-mix(in srgb,#fff 5%,transparent) inset}.section-heading{padding-bottom:.9rem;border-bottom:1px solid color-mix(in srgb,var(--line) 58%,transparent)}.section-heading h2{margin-bottom:0;font-size:clamp(1.15rem,2vw,1.45rem)}.pill,.status,.live-pill{background:color-mix(in srgb,var(--accent) 7%,var(--panel-2));box-shadow:0 1px 0 color-mix(in srgb,#fff 4%,transparent) inset}
.topbar{border-bottom-color:var(--premium-hairline);background:color-mix(in srgb,var(--bg) 82%,transparent);box-shadow:0 12px 35px rgba(0,0,0,.12)}.topbar-brand h1{font-weight:820}.app-brand-mark{filter:drop-shadow(0 8px 18px rgba(0,0,0,.38)) drop-shadow(0 0 18px color-mix(in srgb,var(--accent) 14%,transparent))}.primary-nav{border-bottom:1px solid color-mix(in srgb,var(--line) 45%,transparent);box-shadow:0 12px 28px rgba(0,0,0,.08)}.primary-nav>a[data-nav-section]{position:relative;transition:color var(--motion-fast),background var(--motion-fast)}.primary-nav>a[data-nav-section].active::after{content:'';position:absolute;right:.75rem;bottom:.25rem;left:.75rem;height:2px;border-radius:99px;background:var(--accent);box-shadow:0 0 14px var(--premium-highlight)}.context-home{box-shadow:var(--shadow-control)}
.metrics>div,.dashboard-summary>div,.structure-insights>div{border:1px solid color-mix(in srgb,var(--line) 48%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--panel-2) 70%,transparent),color-mix(in srgb,var(--bg) 18%,transparent));box-shadow:0 1px 0 color-mix(in srgb,#fff 3%,transparent) inset}.metrics strong,.dashboard-summary strong,.structure-insights strong{font-variant-numeric:tabular-nums}.hero-control{overflow:hidden}.hero-control::before{content:'';position:absolute;inset:-7rem -5rem auto auto;width:18rem;height:18rem;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 10%,transparent),transparent 68%);pointer-events:none}.clock{filter:drop-shadow(0 12px 28px rgba(0,0,0,.18))}
.hero-control .clock{margin:.85rem 0 .15rem}.hero-control .blinds{margin-bottom:1rem}.dashboard-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin-bottom:1rem}.dashboard-summary>div{display:grid;align-content:center;min-height:4.2rem;padding:.65rem .5rem}.dashboard-summary>div:first-child{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 10%,var(--panel-2)),color-mix(in srgb,var(--bg) 18%,transparent))}.dashboard-summary span{font-size:.62rem;line-height:1.25}.dashboard-summary strong{font-size:.84rem;line-height:1.25}.clock-navigation{display:grid;grid-template-columns:minmax(0,1fr) minmax(7.5rem,1.2fr) minmax(0,1fr);gap:.5rem;max-width:30rem;margin:0 auto}.clock-navigation>*{width:100%;min-width:0;overflow:hidden}.clock-navigation #toggle-btn{min-height:3.15rem;font-size:.95rem}.clock-adjustments{display:grid;grid-template-columns:repeat(2,minmax(5rem,1fr));gap:.4rem;max-width:12.5rem;margin:.45rem auto 0}.clock-adjustments button{min-height:2.35rem;padding:.35rem .6rem}.rare-actions{width:min(100%,15rem);margin:.55rem auto 0}.rare-actions summary{display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:2rem;border-radius:.5rem;cursor:pointer}.rare-actions summary::before{content:'⌄';color:var(--muted);transition:transform var(--motion-fast)}.rare-actions[open] summary::before{transform:rotate(180deg)}.rare-actions>div{margin-top:.35rem}.rare-actions button{width:100%;min-height:2.4rem}.clock-auto-advance{justify-content:center;width:max-content;max-width:100%;margin:.75rem auto 0;padding:.45rem .65rem;border-radius:.55rem;background:color-mix(in srgb,var(--panel-2) 55%,transparent);font-size:.72rem}.quick-actions{display:grid;grid-template-columns:1fr;gap:.7rem;margin:1rem 0 0;padding:1rem 0 0;border-top-color:color-mix(in srgb,var(--accent) 22%,var(--line))}.quick-action-group{align-content:start;gap:.45rem;padding:.75rem;border:1px solid color-mix(in srgb,var(--line) 55%,transparent);border-radius:.75rem;background:color-mix(in srgb,var(--bg) 18%,transparent)}.quick-action-group>span{display:flex;align-items:center;gap:.45rem;color:var(--text);font-size:.66rem}.quick-action-group>span::after{content:'';height:1px;flex:1;background:color-mix(in srgb,var(--line) 55%,transparent)}.quick-action-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.quick-action-group button{width:100%;min-width:0;min-height:2.5rem;padding:.45rem .5rem;font-size:.72rem}.quick-action-players button:last-child:nth-child(odd){grid-column:1/-1}.quick-actions>#finish-tournament{grid-column:auto;min-height:2.8rem;align-self:end;border-color:color-mix(in srgb,var(--danger) 48%,var(--line));color:color-mix(in srgb,var(--danger) 72%,#fff)}
.subtabs{padding:.35rem;border:1px solid color-mix(in srgb,var(--line) 42%,transparent);background:color-mix(in srgb,var(--bg) 28%,transparent)}.subtabs button{box-shadow:none}.subtabs button[aria-selected="true"]{box-shadow:0 5px 18px color-mix(in srgb,var(--accent) 17%,transparent)}.table-wrap{border-radius:.8rem}table{font-variant-numeric:tabular-nums}thead{background:color-mix(in srgb,var(--panel-2) 76%,var(--panel))}th{letter-spacing:.055em;text-transform:uppercase}tbody tr{transition:background var(--motion-fast)}tbody tr:hover{background:color-mix(in srgb,var(--accent) 4%,transparent)}
.home-welcome{position:relative;isolation:isolate;overflow:hidden;box-shadow:0 28px 70px rgba(0,0,0,.2)}.home-welcome::after{content:'';position:absolute;z-index:-1;inset:-60% -8% auto auto;width:21rem;height:21rem;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 15%,transparent),transparent 67%);pointer-events:none}.home-launcher>.launcher-grid button{border-color:color-mix(in srgb,var(--line) 42%,transparent);box-shadow:0 10px 25px rgba(0,0,0,.1)}.home-launcher>.launcher-grid button>span{filter:drop-shadow(0 6px 10px rgba(0,0,0,.22))}.tournament-library-row,.home-library-grid article{border-color:var(--premium-hairline);box-shadow:var(--shadow-premium)}
dialog{box-shadow:0 38px 120px rgba(0,0,0,.62)!important}dialog::backdrop{background:rgba(0,0,0,.76)!important;backdrop-filter:blur(7px) saturate(.75)!important}.global-toast{border-color:color-mix(in srgb,var(--accent) 25%,var(--line));background:color-mix(in srgb,var(--panel-2) 94%,transparent);box-shadow:0 20px 65px rgba(0,0,0,.42);backdrop-filter:blur(18px)}.empty-state,.home-empty-state,.ranking-empty{background:linear-gradient(145deg,color-mix(in srgb,var(--panel-2) 42%,transparent),transparent);border-color:color-mix(in srgb,var(--line) 70%,transparent)}
.tutorial-center,.tutorial-step{border-color:color-mix(in srgb,var(--accent) 34%,var(--line));box-shadow:0 38px 120px rgba(0,0,0,.6)}.tutorial-guide-card{transition:border-color var(--motion-fast),background var(--motion-fast),transform var(--motion-fast)}.tutorial-guide-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 38%,var(--line))}
@media(max-width:850px){.primary-nav{border-top-color:var(--premium-hairline);background:color-mix(in srgb,var(--bg) 94%,transparent);box-shadow:0 -12px 32px rgba(0,0,0,.18);backdrop-filter:blur(22px)}.primary-nav>a[data-nav-section].active::after{right:22%;bottom:.2rem;left:22%}}
@media(max-width:700px){body::before{opacity:.7}.card{box-shadow:0 12px 35px rgba(0,0,0,.16)}.section-heading{padding-bottom:.7rem}.players-table tr,.chip-table tr,.structure-card tr{box-shadow:0 8px 24px rgba(0,0,0,.1)}button:hover,.button:hover{transform:none}dialog{box-shadow:0 20px 40px -36px rgba(0,0,0,.72)!important}.dashboard-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.dashboard-summary>div{min-height:3.8rem}.clock-navigation{grid-template-columns:minmax(0,1fr) minmax(7rem,1.2fr) minmax(0,1fr)}.quick-actions{grid-template-columns:1fr}.quick-action-group{padding:.65rem}.quick-action-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.quick-actions>#finish-tournament{grid-column:auto;margin-top:0;width:100%;min-height:2.8rem}.clock-auto-advance{width:100%;text-align:left}}
@media(max-width:360px){.clock-navigation{grid-template-columns:1fr 1.35fr 1fr;gap:.3rem}.clock-navigation #prev-btn,.clock-navigation #next-btn{font-size:0;padding-inline:.2rem}.clock-navigation #prev-btn::after{content:'‹ Préc.';font-size:.72rem}.clock-navigation #next-btn::after{content:'Suiv. ›';font-size:.72rem}.clock-navigation #toggle-btn{padding-inline:.25rem;font-size:.85rem}}
@media(prefers-reduced-motion:reduce){.tutorial-guide-card,button,.button,input,select,textarea,tbody tr{transition:none}}
