/* Shared design tokens (light + dark) and components for all Schat pages. */
:root{
    --bg:#f2f2f7;--surface:#ffffff;--surface-2:#f2f2f7;--surface-3:#e5e5ea;
    --text:#1c1c1e;--text-2:#6e6e73;--border:#e5e5ea;
    --primary:#007AFF;--primary-text:#ffffff;--green:#248A3D;--green-bg:#34C759;
    --orange:#C25E00;--orange-bg:#FF9500;--danger:#D70015;--danger-bg:#FF3B30;
    --bubble-me:#007AFF;--bubble-me-text:#fff;--bubble-you:#e9e9eb;--bubble-you-text:#1c1c1e;
    --shadow:0 2px 20px rgba(0,0,0,.08);--mask:rgba(0,0,0,.45);
    --accent:#007AFF;--accent-2:#248A3D;--hero:linear-gradient(135deg,#007AFF,#5856D6);--chat-bg:#f2f2f7;
    --tap:44px;
    color-scheme:light;
}
@media (prefers-color-scheme:dark){
    :root{
        --bg:#000000;--surface:#1c1c1e;--surface-2:#2c2c2e;--surface-3:#3a3a3c;
        --text:#f2f2f7;--text-2:#a1a1a6;--border:#38383a;
        --primary:#0A84FF;--green:#30D158;--green-bg:#30D158;--orange:#FF9F0A;--orange-bg:#FF9F0A;
        --danger:#FF453A;--danger-bg:#FF453A;
        --bubble-me:#0A84FF;--bubble-you:#2c2c2e;--bubble-you-text:#f2f2f7;
        --shadow:0 2px 20px rgba(0,0,0,.5);--mask:rgba(0,0,0,.6);
        --accent:#0A84FF;--accent-2:#248A3D;--hero:linear-gradient(135deg,#0A84FF,#5E5CE6);--chat-bg:#000000;
        color-scheme:dark;
    }
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}
html,body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--text)}
button,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px}

.s-btn{min-height:var(--tap);padding:0 16px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:opacity .15s}
.s-btn:active{opacity:.75}
.s-btn:disabled{opacity:.45;cursor:not-allowed}
.s-btn-block{width:100%}
.s-btn-primary{background:var(--primary);color:#fff}
:root[data-theme="ink"] .s-btn-primary{color:#161106}
.s-btn-green{background:var(--green-bg);color:#fff}
.s-btn-orange{background:var(--orange-bg);color:#fff}
.s-btn-danger{background:var(--danger-bg);color:#fff}
.s-btn-gray{background:var(--surface-2);color:var(--text)}
.s-btn-ghost{background:none;color:var(--primary)}
.s-input{width:100%;min-height:var(--tap);padding:10px 14px;border:1.5px solid var(--border);border-radius:12px;font-size:16px;background:var(--surface-2);outline:none}
.s-input:focus{border-color:var(--primary);background:var(--surface)}

.s-toast{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom,0px));transform:translateX(-50%) translateY(10px);background:rgba(28,28,30,.92);color:#fff;padding:10px 18px;border-radius:20px;font-size:14px;pointer-events:none;opacity:0;transition:all .2s;z-index:300;max-width:calc(100vw - 32px);text-align:center}
.s-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

.s-mask{position:fixed;inset:0;background:var(--mask);z-index:200;display:none;align-items:center;justify-content:center;padding:24px}
.s-mask.show{display:flex}
.s-dialog{background:var(--surface);border-radius:16px;width:100%;max-width:340px;padding:22px;box-shadow:var(--shadow)}
.s-dialog h3{font-size:17px;font-weight:600;margin-bottom:8px}
.s-dialog p{font-size:15px;color:var(--text-2);line-height:1.5;margin-bottom:16px;white-space:pre-line;word-break:break-word}
.s-dialog .s-input{margin-bottom:16px}
.s-dialog-actions{display:flex;gap:10px}
.s-dialog-actions .s-btn{flex:1}

/* bottom sheet (mobile action menu) */
.s-sheet-mask{position:fixed;inset:0;background:var(--mask);z-index:150;display:none;align-items:flex-end;justify-content:center}
.s-sheet-mask.show{display:flex}
.s-sheet{background:var(--surface);width:100%;max-width:480px;border-radius:16px 16px 0 0;padding:10px 12px calc(12px + env(safe-area-inset-bottom,0px));max-height:85dvh;overflow-y:auto;animation:sheetIn .18s ease}
@keyframes sheetIn{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
.s-sheet .grab{width:36px;height:5px;border-radius:3px;background:var(--surface-3);margin:2px auto 10px}
.s-sheet h3{font-size:16px;font-weight:600;margin:4px 4px 12px}
.s-sheet-item{width:100%;min-height:50px;display:flex;align-items:center;gap:12px;padding:0 14px;border:none;background:none;font-size:16px;border-radius:12px;cursor:pointer;text-align:left}
.s-sheet-item:active{background:var(--surface-2)}
.s-sheet-item i{width:20px;text-align:center;color:var(--text-2)}
.s-sheet-item.danger{color:var(--danger)}
.s-sheet-item.danger i{color:var(--danger)}
@media (min-width:768px){.s-sheet-mask{align-items:center}.s-sheet{border-radius:16px}}

.s-dialog p{white-space:pre-line}
