  /* ---------- SHEETS ---------- */
  .overlay{position:fixed;left:0;right:0;top:var(--vvt);bottom:var(--vvb);touch-action:none;background:var(--overlay);z-index:40;opacity:0;pointer-events:none;transition:opacity .22s ease;}
  .overlay.show{opacity:1;pointer-events:auto;}
  .sheet{
    position:fixed;left:0;right:0;bottom:var(--vvb);z-index:41;max-width:600px;margin:0 auto;
    background:var(--surface);border-radius:26px 26px 0 0;display:flex;flex-direction:column;
    max-height:calc(var(--vvh) - var(--safe-t) - 16px);
    transform:translateY(105%);visibility:hidden;
    transition:transform .28s cubic-bezier(.32,.72,0,1), visibility 0s linear .28s;
  }
  .sheet.show{transform:translateY(0);visibility:visible;transition:transform .28s cubic-bezier(.32,.72,0,1), visibility 0s;}
  .sheet.dragging{transition:none;}
  .sheet-grab{padding:10px 0 2px;touch-action:none;}
  .sheet-grab i{display:block;width:40px;height:5px;border-radius:3px;background:var(--line-2);margin:0 auto;}
  .sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 12px 10px 20px;touch-action:none;}
  .sheet-title{font-size:19px;font-weight:700;line-height:1.2;}
  .sheet-sub{margin-top:4px;}
  .sheet-close{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:var(--ink-2);flex:none;}
  .sheet-close:active{background:var(--surface-2);}
  .sheet-body{padding:6px 20px 16px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:14px;}
  .sheet-actions{display:flex;gap:10px;padding:12px 20px calc(var(--safe-b) + 12px);border-top:1px solid var(--line);}
  html.kb-open .sheet-actions{padding-bottom:12px;}
  .sheet-actions .btn{flex:1;}
  .sheet-actions .btn.grow{flex:1.6;}
  .sheet-actions .btn-icon{flex:none;width:52px;padding:0;}

  /* take form */
  .sct{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
  .stepbox{display:flex;align-items:stretch;background:var(--surface-2);border-radius:14px;border:1.5px solid transparent;overflow:hidden;}
  .stepbox:focus-within{border-color:var(--ink);}
  #f_scene, #f_shot, #f_take, #f_roll, #f_clip{text-transform:uppercase;}
  #f_roll::placeholder, #f_clip::placeholder{text-transform:none;}
  .stepbox input{
    flex:1;min-width:0;width:100%;height:58px;border:0;background:transparent;padding:0 0 0 12px;
    font-family:var(--num);font-weight:700;font-size:26px;
  }
  .stepbox button{width:40px;flex:none;display:grid;place-items:center;color:var(--ink-2);}
  .stepbox button:active{background:var(--line);}
  .good-row{display:flex;gap:8px;}
  .good-toggle{
    flex:1;min-width:0;min-height:52px;display:flex;align-items:center;gap:12px;padding:0 14px;border-radius:14px;
    background:var(--surface-2);text-align:left;font-weight:600;
  }
  .good-toggle .ring{width:26px;height:26px;border-radius:50%;border:2px dashed var(--line-2);flex:none;display:grid;place-items:center;}
  .good-toggle[aria-pressed="true"]{background:var(--ink);color:var(--on-ink);}
  .good-toggle[aria-pressed="true"] .ring{border:2.5px solid var(--on-ink);}
  .good-toggle[aria-pressed="true"] .ring::after{content:'';width:10px;height:10px;border-radius:50%;background:var(--on-ink);}
  .good-all{flex:none;min-height:52px;padding:0 14px;border-radius:14px;background:var(--surface-2);font-weight:600;font-size:14px;line-height:1.15;text-align:center;}
  .settings{border:1.5px solid var(--line);border-radius:16px;}
  .settings-head{width:100%;min-height:56px;display:flex;align-items:center;gap:10px;padding:8px 12px 8px 14px;text-align:left;}
  .settings-head .t{font-weight:600;flex:none;}
  .settings-sum{flex:1;min-width:0;font-size:13px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;}
  .settings-head svg.i{transition:transform .2s ease;color:var(--ink-3);}
  .settings.open .settings-head svg.i{transform:rotate(180deg);}
  .settings-body{display:none;padding:2px 14px 14px;flex-direction:column;gap:12px;}
  .settings.open .settings-body{display:flex;}
  .quick-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  .quick{min-height:52px;border-radius:14px;padding:0 12px;font-weight:600;font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;line-height:1.15;}
  .quick.fr{background:transparent;border:1.5px solid var(--danger);color:var(--danger);}
  .quick.all{background:var(--surface-2);}
  .quick-row.single{grid-template-columns:1fr;}

  .suggest{grid-column:1 / -1;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-top:-4px;padding:2px 0;}
  .suggest::-webkit-scrollbar{display:none;}
  .suggest button{
    flex:none;height:42px;padding:0 14px;border-radius:10px;background:var(--surface);border:1.5px solid var(--line);
    font-size:14px;white-space:nowrap;
  }
  .suggest button:active{background:var(--ink);color:var(--on-ink);border-color:var(--ink);}

  .option{
    width:100%;display:flex;align-items:center;gap:14px;min-height:64px;padding:10px 14px;border-radius:16px;
    background:var(--surface-2);text-align:left;
  }
  .option:active{background:var(--line);}
  .option.danger{background:transparent;border:1.5px solid var(--danger);color:var(--danger);margin-top:14px;}
  .option.danger .d{color:var(--danger);opacity:.85;}
  .option.danger:active{background:color-mix(in srgb, var(--danger) 12%, transparent);}
  .option .t{font-weight:600;}
  .option .d{font-size:13px;color:var(--ink-3);}

  .toast{
    position:fixed;left:16px;right:16px;bottom:calc(var(--safe-b) + var(--vvb) + 100px);z-index:60;max-width:520px;margin:0 auto;
    background:var(--ink);color:var(--on-ink);border-radius:14px;padding:12px 8px 12px 16px;min-height:48px;
    display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;
    opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .2s ease, transform .2s ease;
  }
  .toast.show{opacity:1;transform:none;pointer-events:auto;}
  .toast button{flex:none;min-height:44px;padding:0 12px;border-radius:10px;font-weight:700;color:var(--tape);}
  .toast span{padding-right:8px;}

  .boot{position:fixed;inset:0;display:grid;place-items:center;color:var(--ink-3);font-size:14px;}
