.engine{max-width:760px;margin:0 auto;padding-bottom:120px}.engine-step{border-top:1px solid var(--rule);padding:28px 0}.engine-step:first-child{border-top:0;padding-top:0}.engine-step>header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.engine-step h2{letter-spacing:.24em;font-size:.85rem}.engine-step h2 span{color:var(--muted);margin-right:.6em}.hint{color:var(--muted);margin:10px 0 0;font-size:.85rem}.space-tabs{grid-template-columns:1fr 1fr;gap:10px;display:grid}.space-tab{isolation:isolate;text-align:left;border:1px solid color-mix(in oklab, var(--ink) 35%, transparent);border-radius:var(--radius);min-height:84px;color:var(--ink);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;padding:16px;position:relative;overflow:hidden}.space-tab strong{letter-spacing:.2em;text-transform:uppercase;margin-bottom:4px;font-size:.85rem;font-weight:600;display:block}.space-tab span{color:var(--muted);font-size:.85rem}.space-tab[aria-pressed=true]{border:2px solid var(--ink);background:var(--wet);padding:15px}.planner{min-height:380px}.planner.is-loading .mo{opacity:.4}.planner-head{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-bottom:14px;display:grid}.planner-title{letter-spacing:.2em;text-align:center;font-size:.85rem}.icon-btn{border:1px solid color-mix(in oklab, var(--ink) 30%, transparent);border-radius:var(--radius);width:44px;min-height:44px;color:var(--ink);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;font-size:1.3rem;line-height:1}.icon-btn:disabled{opacity:.3;cursor:default}.mo{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.mo-dow{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:center;padding-bottom:6px;font-size:.64rem}.mo-day{border:1px solid color-mix(in oklab, var(--ink) 20%, transparent);min-height:62px;color:var(--ink);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border-radius:2px;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:6px;display:flex}.mo-day.is-out{border-color:#0000}.mo-num{font-variant-numeric:tabular-nums;font-size:.9rem;font-weight:500;line-height:1}.mo-day.is-today .mo-num{background:var(--water);width:24px;height:24px;color:var(--on-water);border-radius:50%;place-items:center;margin:-4px 0 0 -4px;display:grid}.mo-day.is-off{opacity:.35;cursor:default;border-style:dashed}.mo-day.is-full .mo-num{text-decoration:line-through}.mo-day[aria-pressed=true]{background:var(--wet);border:2px solid var(--ink);padding:5px}.mo-day .gauges{gap:3px;margin-top:6px}.mo-day .gauge{width:10px;height:18px}.gauges{gap:4px;margin-top:6px;display:flex}.gauge{background:var(--bg);border:1px solid color-mix(in oklab, var(--ink) 30%, transparent);border-radius:2px;width:14px;height:26px;position:relative;overflow:hidden}.gauge:after{content:"";height:calc(var(--f,0) * 100%);background:var(--water);border-top:min(calc(var(--f,0) * 100px), 1.5px) solid var(--foam);position:absolute;bottom:0;left:0;right:0}.slots{grid-template-columns:1fr 1fr;gap:10px;display:grid}.slot{isolation:isolate;text-align:left;border:1px solid color-mix(in oklab, var(--ink) 35%, transparent);border-radius:var(--radius);min-height:76px;color:var(--ink);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;flex-direction:column;justify-content:space-between;gap:4px;padding:12px 14px;display:flex;position:relative;overflow:hidden}.slot--wide{grid-column:1/-1}.slot-name{letter-spacing:.18em;text-transform:uppercase;font-size:.78rem;font-weight:600}.slot-meta{justify-content:space-between;gap:8px;font-size:.85rem;display:flex}.slot-meta strong{font-variant-numeric:tabular-nums;font-weight:600}.slot:before{content:"";background:var(--wet);transform-origin:bottom;height:100%;transition:transform .45s var(--ease-tide);z-index:-1;position:absolute;inset:auto 0 0;transform:scaleY(0)}@media (hover:hover){.slot:not(:disabled):hover:before{transform:scaleY(1)}}.slot[aria-pressed=true]{border:2px solid var(--ink);padding:11px 13px}.slot[aria-pressed=true]:before{transform:scaleY(1)}.slot[aria-pressed=true] .slot-name:before{content:"✓ "}.slot.is-taken{background:var(--water);color:var(--on-water);border-color:var(--water);cursor:not-allowed}.slot.is-taken:before{display:none}.slot.is-past{opacity:.4;cursor:not-allowed}.code-row{gap:8px;display:flex}.code-row .input{text-transform:uppercase;letter-spacing:.08em;flex:1}.code-ok{margin-top:8px;font-size:.9rem}.code-err{color:var(--danger);margin-top:8px;font-size:.9rem}.toggle-link{font:inherit;color:var(--ink);text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;padding:10px 0;font-size:.9rem;text-decoration:underline}.paybar{z-index:40;background:var(--bg);border-top:1px solid var(--rule);padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom));position:fixed;bottom:0;left:0;right:0}.paybar-inner{align-items:center;gap:14px;max-width:760px;margin:0 auto;display:flex}.paybar-total{flex:1;min-width:0;line-height:1.25}.paybar-total strong{font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:600;display:block}.paybar-total span{color:var(--muted);font-size:.75rem}.paybar .btn{flex:none;min-width:46%}.engine-error{margin-top:16px}.carnet-offer{font-size:.92rem}
