html,body{height:100%}body{overflow:hidden}.screen{background:var(--ground);flex-direction:column;max-width:560px;height:100dvh;margin:0 auto;display:flex}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.head{background:var(--ground);border-bottom:var(--rule);flex:none;padding:10px 16px 9px}.head .brand{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:flex}.head .brand span{font-family:var(--font-display);font-size:clamp(16px,2.4vw,20px);line-height:1.1}.head .week{color:var(--ink);margin:4px 0 0;font-size:13px;font-weight:600;line-height:1.3}.head .status{letter-spacing:.12em;text-transform:uppercase;color:var(--action);margin:2px 0 0;font-size:clamp(12px,1.6vw,14px);font-weight:600;line-height:1.4}.head .status .sep{margin-right:6px}.scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.psec-head{z-index:5;background:var(--ground-alt);border-bottom:1px solid var(--line);padding:9px 16px 8px;position:sticky;top:0}.psec-head h2{font-family:var(--font-display);color:var(--ink);margin:0;font-size:19px;font-weight:400;line-height:1.2}.psec-head p{color:var(--ink-soft);margin:1px 0 0;font-size:14.5px;line-height:1.35}.grid{grid-template-columns:1fr 1fr;grid-auto-rows:minmax(96px,auto);gap:8px;padding:12px;display:grid}.tile{background:var(--surface);border:var(--border);border-radius:var(--radius);flex-direction:column;min-height:96px;display:flex;position:relative}.tile-add,.tile-label{appearance:none;font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;width:100%;min-height:96px;margin:0;padding:12px 10px 10px;display:flex}.tile .glyph{color:var(--ink-faint);flex:none}.tile-name{color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:6px;font-size:12.5px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.tile-variant{color:var(--ink-soft);margin-top:1px;font-size:12px;line-height:1.3}.tile-price{color:var(--ink-soft);font-variant-numeric:tabular-nums;margin-top:auto;padding-top:6px;font-size:12px}@media (hover:hover){.tile:hover{border-color:var(--action)}}.tile-add:active{transform:scale(.985)}.tile[data-on=true]{border:var(--border-chosen);background:var(--state-wash)}.tile[data-on=true] .glyph{color:var(--state)}.tile-add:focus-visible{outline:var(--focus);outline-offset:2px}.badge{border-radius:var(--radius-mark);background:var(--state);min-width:20px;height:20px;color:var(--on-state);text-align:center;font-variant-numeric:tabular-nums;pointer-events:none;padding:0 6px;font-size:12px;font-weight:700;line-height:20px;position:absolute;top:7px;right:7px}.tile-remove{border-radius:var(--radius-mark);background:var(--surface);border:1px solid var(--state);width:22px;height:22px;color:var(--state);font:700 15px/1 var(--font-body);cursor:pointer;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;bottom:6px;right:6px}.tile-remove:before{content:"";position:absolute;inset:-11px}.tile-remove:focus-visible{outline:var(--focus);outline-offset:2px}.tile-qty{width:100%;height:36px;font:inherit;font-variant-numeric:tabular-nums;border:var(--border);background:var(--ground);color:var(--ink);border-radius:0;margin-top:auto;padding:0 8px;font-size:16px}.step{padding:14px 16px 6px}.step h2{letter-spacing:.3em;text-transform:uppercase;color:var(--action);margin:0 0 8px;font-size:12px;font-weight:700}.step .help{color:var(--ink-soft);margin:0 0 10px;font-size:14.5px}.chooser{border-top:1px solid var(--line);flex-direction:column;display:flex}.chooser label{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:12px;min-height:48px;padding:8px 2px;font-size:16px;line-height:1.3;display:flex}.chooser input{accent-color:var(--action);flex:none;width:20px;height:20px;margin:0}.chooser .again{font-family:var(--font-hand);color:var(--action);white-space:nowrap;margin-left:auto;font-size:19px}.statement{margin:0;padding:8px 0;font-size:16px}.field{flex-direction:column;gap:6px;margin:0 0 12px;display:flex}.field label{color:var(--ink);font-size:13px;font-weight:600}.field input{height:48px;font:inherit;border:var(--border);background:var(--surface);color:var(--ink);border-radius:0;padding:0 12px;font-size:16px}.field input:focus-visible{outline:var(--focus);outline-offset:2px}.field .why{color:var(--ink-soft);margin:0;font-size:14.5px}.field.err input{border-color:var(--alerte)}.erreur{color:var(--alerte);margin:6px 0 0;font-size:14.5px}.erreur:before{content:"⚠ "}.bloc-erreur{background:var(--alerte-wash);color:var(--alerte);border-left:3px solid var(--alerte);margin:0 16px 12px;padding:10px 12px;font-size:14.5px}.bar{background:var(--surface);border-top:var(--rule);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.bar .count{color:var(--ink-soft);font-size:13px;font-weight:600;line-height:1.3}.bar .total{color:var(--ink);font-variant-numeric:tabular-nums;font-size:16px;font-weight:700;line-height:1.3}.btn{background:var(--action);color:var(--on-action);cursor:pointer;font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;border:1.5px solid var(--action);border-radius:0;padding:11px 20px;font-size:12.5px;font-weight:700;line-height:1.3;text-decoration:none;display:inline-block}.btn:hover{background:var(--action-hover);border-color:var(--action-hover)}.btn.lg{padding:16px 30px;font-size:13.5px}.btn.light{background:var(--surface);color:var(--action);border-color:var(--surface)}.btn[aria-disabled=true]{background:var(--ground-alt);color:var(--ink-soft);border-color:var(--ground-alt);cursor:not-allowed}.btn:focus-visible{outline:var(--focus);outline-offset:2px}.lien{font:inherit;color:var(--action);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.lien:focus-visible{outline:var(--focus);outline-offset:2px}.confirm{padding:18px 16px 24px}.confirm .hello{font-family:var(--font-hand);color:var(--action);margin:0 0 8px;font-size:30px;line-height:1.1}.confirm .note{color:var(--ink-soft);margin:0 0 14px;font-size:14.5px}.recap{border-top:1px solid var(--line)}.recap h3{font-family:var(--font-display);margin:14px 0 6px;font-size:17px;font-weight:400}.recap .row{font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;padding:4px 0;font-size:15px;display:flex}.recap .row span:first-child{flex:1}.recap .row.total{border-top:1px solid var(--line);margin-top:8px;padding-top:10px;font-size:16px;font-weight:700}.retrait{margin:18px 0 0}.retrait .eyebrow{letter-spacing:.3em;text-transform:uppercase;color:var(--action);margin:0 0 4px;font-size:12px;font-weight:700}.retrait p{margin:0;font-size:16px}.retrait a{color:var(--action)}.confirm .actions{flex-wrap:wrap;align-items:center;gap:10px 18px;margin:20px 0 0;display:flex}.replaced{background:var(--state-wash);border-left:3px solid var(--state);margin:0 0 12px;padding:10px 12px;font-size:14.5px}.etat{background:linear-gradient(168deg,var(--dark-top),var(--dark-bottom));color:var(--on-dark-body);padding:34px 20px 36px;position:relative;overflow:hidden}.etat:before{content:"";pointer-events:none;opacity:.26;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23g)' opacity='0.35'/%3E%3C/svg%3E");position:absolute;inset:0}.etat>*{z-index:1;position:relative}.etat .eyebrow{letter-spacing:.3em;text-transform:uppercase;color:var(--on-dark-eyebrow);margin:0;font-size:12px;font-weight:700}.etat h1{font-family:var(--font-display);color:var(--on-dark);margin:10px 0 0;font-size:clamp(32px,5.6vw,54px);font-weight:400;line-height:1.1}.etat .sig{font-family:var(--font-hand);color:var(--on-dark-hand);margin:8px 0 0;font-size:clamp(21px,3vw,26px)}.etat p.body{max-width:46ch;margin:16px 0 0;font-size:17px}.etat .btn.light{margin-top:22px}.after{padding:18px 16px 24px}.after h2{font-family:var(--font-display);margin:0 0 6px;font-size:19px;font-weight:400}.after .note{color:var(--ink-soft);margin:0 0 12px;font-size:14.5px}@media (prefers-reduced-motion:reduce){.tile-add:active{transform:none}}
