@font-face{font-family:Sora-ExtraBold;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Sora-800-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Sora-ExtraBold;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Sora-800-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Inter-400-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Inter-400-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Inter-500-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Inter-500-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Inter-600-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Inter-600-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/JetBrainsMono-400-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/JetBrainsMono-400-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/JetBrainsMono-500-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/JetBrainsMono-500-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{color-scheme:dark;--color-bg:#0a0a0a;--bg-glow:radial-gradient(1200px 600px at 85% -10%,rgba(197,89,235,0.1),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(37,203,251,0.07),transparent 60%);--surface:linear-gradient(135deg,#1a1a2e,#2d1b3d);--surface-flat:#16161f;--surface-sunken:#0f0f16;--surface-input:#111119;--color-line:#2c2c3d;--color-line-strong:#3d3d55;--color-text:#ececf5;--color-text-muted:#9a9ab0;--color-cyan:#25cbfb;--color-violet:#c559eb;--brand-gradient:linear-gradient(120deg,#25cbfb,#c559eb);--color-danger:#ff5a5f;--color-warning:#ffb020;--color-success:#3ddc97;--color-info:#25cbfb;--font-display:"Sora-ExtraBold",sans-serif;--font-body:"Inter",sans-serif;--font-mono:"JetBrains Mono",monospace;--text-xs:12px;--text-sm:13px;--text-base:15px;--text-md:18px;--text-lg:24px;--text-xl:32px;--text-2xl:64px;--space-2xs:2px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--sidebar-width:220px;--content-max:1180px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:9999px;--ease-out:cubic-bezier(0.2,0.8,0.2,1);--ease-in:cubic-bezier(0.4,0,1,1);--duration-short:200ms;--hover-glow:0 0 16px rgba(197,89,235,0.45);--hover-fill:rgba(197,89,235,0.22)}*,:after,:before{box-sizing:border-box}body,html{margin:0}body{min-height:100vh;background-color:var(--color-bg);background-image:var(--bg-glow);background-attachment:fixed;color:var(--color-text);font:400 var(--text-base) /1.55 var(--font-body);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:400;margin:0}a{color:var(--color-cyan)}.muted{color:var(--color-text-muted)}.brand-text{background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.section-title{color:var(--color-violet);font-size:var(--text-md)}.tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.panel{background:var(--surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--space-lg)}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);font:500 14px var(--font-body);border-radius:var(--radius-sm);padding:10px 18px;border:1px solid transparent;background:none;color:var(--color-text);cursor:pointer;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible,.input:focus-visible,.nav-link:focus-visible,.select:focus-visible{outline:2px solid var(--color-cyan);outline-offset:2px}.btn-primary{border-color:var(--color-cyan);color:var(--color-cyan);transition:background-color var(--duration-short) var(--ease-out),box-shadow var(--duration-short) var(--ease-out),transform var(--duration-short) var(--ease-out),border-color var(--duration-short),color var(--duration-short)}.btn-primary:hover:not(:disabled){background:var(--hover-fill);border-color:var(--color-violet);color:var(--color-text);box-shadow:var(--hover-glow);transform:translateY(-1px)}.btn-secondary{border-color:var(--color-line);background:#1d1d2a}.btn-secondary:hover:not(:disabled){border-color:var(--color-line-strong)}.btn-ghost{color:var(--color-text-muted);padding:8px 10px}.btn-ghost:hover,.input,.select{color:var(--color-text)}.input,.select{font:400 14px var(--font-body);background:var(--surface-input);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:8px 10px}.alert{display:flex;gap:10px;padding:12px 14px;border-radius:var(--radius-md);border:1px solid;font-size:14px}.alert-danger{border-color:rgba(255,90,95,.45);background:rgba(255,90,95,.09)}.alert-success{border-color:rgba(61,220,151,.4);background:rgba(61,220,151,.08)}.alert-info{border-color:rgba(37,203,251,.4);background:rgba(37,203,251,.07)}.badge{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:500;padding:3px 9px;border-radius:var(--radius-full);border:1px solid}.badge-admin{color:var(--color-violet);border-color:rgba(197,89,235,.5)}.badge-neutral{color:var(--color-text-muted);border-color:var(--color-line)}.table{width:100%;border-collapse:collapse;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table td,.table th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--color-line);vertical-align:middle}.table th{font-weight:500;color:var(--color-text-muted);font-size:var(--text-sm)}.table tbody tr{transition:background-color .15s var(--ease-out)}.table tbody tr:hover{background:rgba(255,255,255,.03)}.table-wrap{overflow-x:auto}.app{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh}.sidebar{background:var(--surface-sunken);border-right:1px solid var(--color-line);padding:var(--space-lg) var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs);position:-webkit-sticky;position:sticky;top:0;height:100vh}.sidebar-brand{font-family:var(--font-display);font-size:var(--text-md);padding:0 10px;margin-bottom:var(--space-lg)}.nav-link{display:block;padding:9px 10px;border-radius:var(--radius-sm);color:var(--color-text-muted);text-decoration:none;font-size:14px}.nav-link:hover{color:var(--color-text);background:rgba(255,255,255,.03)}.nav-link[aria-current=page]{color:var(--color-cyan);background:rgba(37,203,251,.08)}.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:var(--space-xs)}.main{padding:var(--space-lg);width:100%;max-width:var(--content-max)}.topbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;background:var(--brand-gradient);flex:none}.member{display:flex;align-items:center;gap:10px}.member .avatar{width:28px;height:28px}@media (max-width:760px){.app{grid-template-columns:1fr;grid-template-rows:auto 1fr}.sidebar{position:static;height:auto;flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--color-line);padding:var(--space-sm) var(--space-md)}.sidebar-brand{display:none}.sidebar-bottom{margin-top:0;flex-direction:row}.nav-link{white-space:nowrap}.main{padding:var(--space-md)}}.badge-danger{color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 50%,transparent)}.badge-warning{color:var(--color-warning);border-color:color-mix(in srgb,var(--color-warning) 50%,transparent)}.badge-success{color:var(--color-success);border-color:color-mix(in srgb,var(--color-success) 50%,transparent)}.badge-info{color:var(--color-info);border-color:color-mix(in srgb,var(--color-info) 50%,transparent)}.btn-sm{padding:6px 12px;font-size:var(--text-sm)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:var(--space-md);gap:var(--space-md);align-items:end}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:var(--text-sm);color:var(--color-text-muted)}.field-wide{grid-column:1/-1}.form-fields{display:contents}.form-actions{grid-column:1/-1;display:flex;gap:var(--space-md);align-items:center;flex-wrap:wrap}.form-error{color:var(--color-danger)}.form-error,.form-ok{font-size:var(--text-sm)}.form-ok{color:var(--color-success)}.summary{cursor:pointer}.summary:focus-visible{outline:2px solid var(--color-cyan);outline-offset:2px}.kanban{display:grid;grid-template-columns:repeat(5,minmax(210px,1fr));grid-gap:var(--space-md);gap:var(--space-md);overflow-x:auto;padding-bottom:var(--space-sm)}.kanban-col{background:var(--surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm);min-width:0}.kanban-col-title{font-family:var(--font-body);font-weight:600;font-size:var(--text-base)}.kanban-list{list-style:none;margin:0;padding:0}.kanban-card,.kanban-list{display:flex;flex-direction:column;gap:var(--space-sm)}.kanban-card{background:var(--surface-flat);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:12px;transition:background-color .15s var(--ease-out),border-color .15s var(--ease-out)}.kanban-card:hover{background:color-mix(in srgb,var(--surface-flat) 92%,var(--color-text));border-color:var(--color-line-strong)}.kanban-card-title{color:var(--color-text);font-weight:500;text-decoration:none;overflow-wrap:anywhere}.kanban-card-title:hover{color:var(--color-cyan);text-decoration:underline}.kanban-card-title:focus-visible{outline:2px solid var(--color-cyan);outline-offset:2px}.kanban-card-meta{display:flex;flex-wrap:wrap;gap:6px}.kanban-card-meta .badge{white-space:nowrap}.badge-wrap{flex-wrap:wrap;row-gap:0;max-width:100%;border-radius:var(--radius-md)}.kanban-card-meta .badge.badge-wrap{white-space:normal}.badge-wrap>span{white-space:nowrap}.kanban-card-people{font-size:var(--text-xs)}.kanban-empty{margin:0;padding:var(--space-md) var(--space-sm);border:1px dashed var(--color-line);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--text-sm);text-align:center}.step-form{flex-direction:column;gap:var(--space-xs)}.step-actions,.step-form{display:flex;align-items:flex-start}.step-actions{gap:var(--space-md);flex-wrap:wrap;margin-top:var(--space-lg)}.details{display:grid;grid-template-columns:max-content 1fr;grid-gap:var(--space-sm) var(--space-lg);gap:var(--space-sm) var(--space-lg);margin:0}.details dt{color:var(--color-text-muted);font-size:var(--text-sm)}.details dd{margin:0}@media (max-width:760px){.kanban{grid-template-columns:1fr;overflow-x:visible}}.anchor-nav{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-lg)}.anchor-nav a{font-size:var(--text-sm);padding:6px 12px;border:1px solid var(--color-line);border-radius:var(--radius-full);text-decoration:none}.anchor-nav a:hover{border-color:var(--color-line-strong)}.anchor-nav a:focus-visible{outline:2px solid var(--color-cyan);outline-offset:2px}.sorties-section{margin-bottom:var(--space-2xl);scroll-margin-top:var(--space-md)}.sorties-aide{margin:var(--space-xs) 0 var(--space-md);font-size:var(--text-sm)}.mois{margin-bottom:var(--space-xl)}.mois-titre{font-size:var(--text-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-line)}.jour,.mois-titre{margin-bottom:var(--space-md)}.jour{display:grid;grid-template-columns:110px 1fr;grid-gap:var(--space-md);gap:var(--space-md)}.jour-titre{font-family:var(--font-body);font-weight:600;font-size:var(--text-sm);color:var(--color-text-muted);margin:0;padding-top:12px;text-transform:capitalize}.jeux-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.jeux-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.game-card-head{display:flex;gap:var(--space-md);align-items:flex-start}.game-card-body{display:flex;flex-direction:column;gap:var(--space-sm);min-width:0}.game-cover{width:45px;height:60px;object-fit:cover;border-radius:var(--radius-sm);background:var(--surface-sunken);flex:none}.game-cover-lg{width:90px;height:120px}.claim-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-xs);font-size:var(--text-sm)}.claim-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm)}.claim-empty{margin:0;font-size:var(--text-sm)}.game-card-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:flex-start}.claim-details>summary{list-style:none}.claim-details>summary::-webkit-details-marker{display:none}.claim-details[open]>summary{border-color:var(--color-cyan)}.claim-form{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:flex-end;margin-top:var(--space-sm)}.inline-form{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs)}.fieldset{border:0;padding:0;margin:0}.fieldset legend{font-size:var(--text-sm);color:var(--color-text-muted);padding:0;margin-bottom:6px}.checkbox-row{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-md)}.checkbox{display:inline-flex;align-items:center;gap:6px;font-size:14px;cursor:pointer}.checkbox input{width:18px;height:18px;accent-color:var(--color-cyan)}textarea.input{resize:vertical;font-family:var(--font-body)}@media (max-width:760px){.jour{grid-template-columns:1fr;gap:var(--space-xs)}.jour-titre{padding-top:0}.jeux-grid{grid-template-columns:1fr}.claim-form{flex-direction:column;align-items:stretch}.claim-form .btn,.claim-form .select,.game-card-actions .btn,.inline-form .btn{min-height:44px}.claim-details{width:100%}.claim-details>summary{width:100%;justify-content:center;min-height:44px}}.kanban-tests{grid-template-columns:repeat(6,minmax(200px,1fr))}.test-card-actions{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.test-card-actions .step-form{flex-direction:row;flex-wrap:wrap;align-items:center}.test-card-link{align-self:flex-start;text-decoration:none}.embargo-row{display:flex;flex-wrap:wrap;gap:var(--space-md)}.embargo-row .field{flex:1 1 160px}@media (max-width:760px){.kanban-tests{grid-template-columns:1fr}.step-actions .btn,.test-card-actions .btn,.test-card-link{min-height:44px}.test-card-link{display:inline-flex;align-items:center}}.linked-content{display:flex;flex-direction:column;gap:var(--space-md)}.linked-content-current{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.review-log{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-md)}.review-log p{margin:0}.game-card-actions .btn-link{text-decoration:none}