:root{color-scheme:light dark;--bg: transparent;--sheet: #f7f7f8;--fg: #1d1d1f;--muted: #6e6e73;--line: rgba(60, 60, 67, .12);--primary: #1d1d1f;--primary-fg: #f5f5f7;--danger: #c41e3a;--warn: #9a6700;--focus: #0a84ff;--radius: 16px;--pad: 20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}@media (prefers-color-scheme: dark){:root{--sheet: #1c1c1e;--fg: #f5f5f7;--muted: #98989d;--line: rgba(255, 255, 255, .1);--primary: #f5f5f7;--primary-fg: #1d1d1f;--danger: #ff453a;--warn: #ffd60a}}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--fg)}body{display:flex;flex-direction:column}#app{flex:1;min-height:0;width:100%;height:100%}.sheet{display:flex;flex-direction:column;height:100%;background:var(--sheet);border-radius:var(--radius) var(--radius) 0 0;padding:8px var(--pad) calc(var(--pad) + env(safe-area-inset-bottom,0px))}@media (min-width: 640px){.sheet{border-radius:var(--radius);padding-bottom:var(--pad)}}.grabber{flex:0 0 auto;width:36px;height:5px;border-radius:99px;background:var(--line);margin:6px auto 14px}@media (min-width: 640px){.grabber{display:none}}.sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.sheet-header .title{margin:0;flex:1;min-width:0}.close-btn{appearance:none;flex:0 0 auto;width:36px;height:36px;margin:-6px -8px 0 0;padding:0;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:1.5rem;line-height:1;cursor:pointer}.close-btn:hover{color:var(--fg);background:#7f7f7f1f}.close-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.title{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;line-height:1.25;margin:0 0 8px}.subtitle{color:var(--muted);font-size:.94rem;line-height:1.45;margin:0 0 12px}.body{flex:1;min-height:0;overflow:auto}.body p{margin:0 0 10px;line-height:1.45;font-size:.95rem}.muted{color:var(--muted);font-size:.88rem!important}.warn{color:var(--warn);font-weight:600}.callout{padding:12px 14px;border-radius:12px;margin:0 0 12px;font-size:.9rem;line-height:1.35;font-weight:600}.callout-danger{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent)}.secret-hidden{margin:0 0 12px;padding:16px 14px;border-radius:12px;border:1px dashed var(--line);text-align:center;letter-spacing:.12em;color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all}.kv{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:12px}.kv-row{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line);font-size:.9rem}.kv-row:last-child{border-bottom:none}.kv-label{color:var(--muted)}.sep{padding:8px 12px;background:#7f7f7f14;font-weight:600;font-size:.85rem;border-bottom:1px solid var(--line)}.sep-inner{background:color-mix(in srgb,var(--danger) 8%,transparent);font-weight:600}.actions{display:flex;flex-direction:column-reverse;gap:8px;margin-top:16px;flex:0 0 auto}@media (min-width: 640px){.actions{flex-direction:row}}.btn{appearance:none;min-height:44px;padding:11px 16px;border-radius:12px;border:1px solid transparent;font-size:.98rem;font-weight:600;cursor:pointer;background:transparent;color:var(--fg);width:100%}.btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.btn-primary{background:var(--primary);color:var(--primary-fg)}.btn-danger{background:var(--danger);color:#fff}.btn-ghost{background:transparent;border-color:var(--line)}.btn:disabled{opacity:.45;cursor:default}.input,.secret{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:transparent;color:var(--fg);font-size:1rem}.secret{min-height:96px;resize:none}.field-error{color:var(--danger);font-size:.85rem;margin:6px 0 10px!important}.spinner{width:28px;height:28px;border:2px solid var(--line);border-top-color:var(--fg);border-radius:50%;margin:8px 0 16px}.choice{display:flex;flex-direction:column;gap:8px;margin-top:8px}@media (prefers-reduced-motion: no-preference){.sheet{animation:sheet-in .2s ease-out}.spinner{animation:spin .8s linear infinite}}@media (prefers-reduced-motion: reduce){.sheet{animation:none}.spinner{animation:none;border-top-color:var(--line)}}@keyframes sheet-in{0%{opacity:.72;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 640px){@keyframes sheet-in{0%{opacity:.72;transform:scale(.98)}to{opacity:1;transform:scale(1)}}}@keyframes spin{to{transform:rotate(360deg)}}
