/* The viewport container owns all positioning; the card only owns its content. */
dialog.superposition{box-sizing:border-box;position:fixed;inset:var(--superposition-top,0) 0 auto;margin:0;width:100%;max-width:none;height:var(--superposition-height,100dvh);max-height:none;border:0;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));background:rgba(14,34,26,.48);color:var(--ink,#1c2b24);overflow:hidden;overscroll-behavior:contain;transform:none;z-index:60}
dialog.superposition:not([open]){display:none}
dialog.superposition[open]{display:flex;justify-content:center;align-items:center}
dialog.superposition::backdrop{background:transparent}
dialog.superposition--feuille[open]{align-items:flex-end;padding:0}
.superposition .superposition__carte{box-sizing:border-box;width:min(440px,100%);min-width:0;max-height:min(88dvh,720px,100%);overflow-y:auto;overscroll-behavior:contain;background:var(--card,var(--carte,#fffdf7));border-radius:20px;padding:24px;box-shadow:0 12px 40px rgba(14,34,26,.22);font:16px/1.5 system-ui;overflow-wrap:anywhere}
.superposition--feuille .superposition__carte{border-radius:22px 22px 0 0;padding:10px 24px calc(24px + env(safe-area-inset-bottom))}
.superposition .superposition__poignee{width:40px;height:4px;border-radius:4px;background:var(--line,#bec9c1);margin:0 auto 18px}
.superposition .dialog-head{display:flex;align-items:flex-start;gap:12px;margin:0 0 16px}
.superposition h2{font-family:inherit;flex:1;min-width:0;margin:0;font-size:1.5rem;line-height:1.2;text-decoration:none}
.superposition h2:focus{outline:none}
.superposition .dialog-head>button,.superposition .dialog-head>form button{position:static;flex:0 0 40px;width:40px;height:40px;min-height:40px;padding:0;border:0;border-radius:10px;background:transparent;color:inherit;box-shadow:none;font-size:24px}
.superposition .dialog-head>form{margin:0}
.superposition button,.superposition a.button{box-sizing:border-box;font:600 16px/1.3 system-ui;border:1px solid var(--line,#637568);border-radius:12px;padding:12px;background:transparent;color:var(--ink,#14503b);text-decoration:none}
.superposition :is(button,a,input,select,textarea):focus:not(:focus-visible){outline:none;box-shadow:none}
.superposition :is(button,a,input,select,textarea):focus-visible{outline:3px solid var(--lagon,var(--green,#14503b));outline-offset:3px}
.superposition .actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.superposition .actions>:is(button,a),.superposition #submit,.superposition .superposition__carte>button,.superposition .invitation-share>button{width:100%;min-height:52px}
.superposition .actions>p{margin:0;text-align:center}
.superposition .primary{background:var(--green,#14503b)!important;color:var(--paper,#fff)!important;border-color:var(--green,#14503b)}
.superposition .danger{border-color:transparent;background:transparent;color:var(--erreur,var(--red,#b42332))}
.superposition [hidden]{display:none!important}
.superposition p{margin:16px 0}.superposition .superposition__carte>:last-child{margin-bottom:0}
input[type=checkbox]{accent-color:var(--lagon,var(--green,#14503b))}
