
    :root{
      --accent:#22c55e;--accent-hover:#16a34a;
      --accent-lt:rgba(34,197,94,.07);--accent-border:rgba(34,197,94,.18);
      --bg:#0a0a0b;--surface:#111113;--surface2:#18181b;--surface3:#1e1e22;
      --border:#27272a;--border2:#3f3f46;
      --text:#fafafa;--text-mid:#e8e8e8;--text-muted:#a1a1aa;--text-dim:#a8a8a8;
      --muted:#a1a1aa;--dim:#71717a;
      --warn:#f59e0b;--warn-bg:#2a1f0a;--error:#f87171;--success:#4ade80;
      --info:#60a5fa;--info-bg:#0f1e35;
      --radius:12px;--radius-sm:8px;
    }
    *{box-sizing:border-box;margin:0;padding:0;}
    *:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px;}
    .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
    .skip-link{position:absolute;left:50%;transform:translateX(-50%) translateY(-100%);background:var(--accent);color:#0a0a0b;padding:8px 20px;border-radius:0 0 8px 8px;font-size:15px;font-weight:700;z-index:9999;text-decoration:none;transition:transform .2s;white-space:nowrap;}
    .skip-link:focus{transform:translateX(-50%) translateY(0);}
    @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}}
    body{font-family:'Source Sans 3',sans-serif;font-size:clamp(15px,1.1vw,17px);background:var(--bg);color:var(--text);min-height:100vh;}
    .app{max-width:1400px;margin:0 auto;padding:22px 32px 52px;position:relative;}
    .tour-launch-btn--floating{position:absolute;top:18px;right:32px;z-index:50;}

    /* Header */
    header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:1.5px solid var(--border);gap:12px;}
    .header-left h1{font-family:'Lora',serif;font-size:1.9rem;font-weight:700;color:var(--text);letter-spacing:-.02em;line-height:1;}
    .header-left h1 em{color:var(--accent);font-style:italic;font-weight:600;}
    .header-left p{margin-top:5px;font-size:clamp(14px,1vw,16px);color:var(--text-muted);}
    .header-right{display:flex;align-items:center;gap:8px;}
    .status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-dim);flex-shrink:0;transition:background .3s,box-shadow .3s;}
    .status-dot.online{background:var(--success);box-shadow:0 0 7px rgba(22,163,74,.4);}
    .status-dot.error{background:var(--error);}
    .status-dot.warn{background:var(--warn);box-shadow:0 0 7px rgba(245,158,11,.4);}
    .status-dot.loading{background:var(--accent);animation:blink 1s infinite;}
    @keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}
    .logout-btn{padding:6px 14px;background:var(--surface2);border:1.5px solid var(--border);border-radius:20px;font-size:15px;font-weight:600;color:var(--text-mid);cursor:pointer;text-decoration:none;transition:all .15s;}
    .logout-btn:hover{color:var(--error);border-color:rgba(185,28,28,.4);}

    /* Section card */
    .section-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);padding:14px 18px;margin-bottom:12px;box-shadow:0 1px 4px rgba(0,0,0,.04);}
    .section-title{font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-mid);display:block;margin-bottom:10px;text-align:center;}

    @keyframes spin{to{transform:rotate(360deg)}}

    /* Header server status indicator */
    .header-status-area{display:flex;align-items:center;gap:5px;padding:4px 10px;background:var(--surface);border:1px solid var(--border);border-radius:14px;}
    .mtw-status-text{font-size:12px;font-family:'JetBrains Mono',monospace;color:var(--text-dim);white-space:nowrap;}

    /* Rewrite Mode + Change Models side-by-side row */
    .mode-style-row{display:flex;align-items:stretch;gap:12px;margin-bottom:12px;}
    .mode-style-row .section-card{margin-bottom:0;padding:8px 12px;}
    .mode-style-row .section-title{margin-bottom:6px;}
    .mode-style-row__modes{flex:1;min-width:0;}
    .mode-style-row__style{flex-shrink:0;width:290px;display:flex;flex-direction:column;justify-content:center;gap:8px;background:var(--accent-lt);border-color:var(--accent);box-shadow:0 0 0 1px rgba(34,197,94,.18),0 2px 10px rgba(34,197,94,.15);}

    /* Writing Style toggle elements */
    .wsb-toggle-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
    .mtw-label{font-size:13px;font-family:'Source Sans 3',sans-serif;font-weight:600;color:var(--text-dim);white-space:nowrap;transition:color .2s;cursor:default;user-select:none;}
    .mtw-label.mtw-active{color:var(--accent);font-weight:700;}
    .mtw-switch{position:relative;width:44px;height:24px;background:var(--border2);border:none;border-radius:12px;cursor:pointer;padding:0;flex-shrink:0;transition:background .2s;outline:none;}
    .mtw-switch:focus-visible{box-shadow:0 0 0 2px var(--accent);}
    .mtw-switch.llama-on{background:var(--accent);}
    .mtw-switch.qwen-on{background:var(--accent);}
    .mtw-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .22s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 4px rgba(0,0,0,.35);}
    .mtw-switch.qwen-on .mtw-thumb{left:23px;}
    .wsb-desc{font-size:12px;color:var(--text-mid);line-height:1.5;margin:0;}
    .model-seg-ctrl{display:inline-flex;border:1.5px solid rgba(34,197,94,.35);border-radius:9px;overflow:hidden;width:100%;}
    .model-seg-btn{flex:1;padding:5px 12px;font-family:'Source Sans 3',sans-serif;border:none;background:transparent;color:var(--text-dim);cursor:pointer;transition:background .18s,color .18s;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px;}
    .model-seg-btn:first-child{border-right:1.5px solid rgba(34,197,94,.35);}
    .model-seg-btn.active{background:var(--accent);color:#051408;}
    .model-sub{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:2px;}
    .model-seg-btn.active .model-sub,
    .model-seg-btn.active .msb-name,
    .model-seg-btn.active .msb-desc{color:#051408;opacity:.85;}
    .model-seg-btn:not(.active):hover{background:rgba(34,197,94,.12);color:var(--text);}
    .msb-row{display:flex;align-items:center;gap:5px;}
    .msb-dot{width:7px;height:7px;border-radius:50%;background:transparent;flex-shrink:0;transition:background .18s;}
    .model-seg-btn.active .msb-dot{background:#ef4444;box-shadow:0 0 5px rgba(239,68,68,.6);}
    .msb-name{font-size:13px;font-weight:700;white-space:nowrap;}
    .msb-desc{font-size:10px;font-weight:400;opacity:.75;white-space:nowrap;line-height:1;}

    /* Tone selector */
    .tone-grid{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:0;justify-content:center;}
    .tone-btn{padding:5px 16px;border-radius:16px;border:1.5px solid var(--border);background:var(--bg);color:var(--text-mid);font-size:15px;font-family:'Source Sans 3',sans-serif;font-weight:500;cursor:pointer;transition:all .15s;position:relative;line-height:1.2;}
    .tone-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-lt);}
    .tone-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600;box-shadow:0 1px 6px rgba(34,197,94,.25);}
    .tone-btn[data-tip]::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:#111;color:#e8e8e8;border:1px solid #3a3a3a;border-radius:8px;padding:6px 11px;font-size:12px;font-weight:400;font-family:'Source Sans 3',sans-serif;white-space:normal;width:210px;text-align:center;box-shadow:0 4px 18px rgba(0,0,0,.5);pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s;z-index:600;line-height:1.5;}
    .tone-btn[data-tip]:hover::after{opacity:1;visibility:visible;}
    .recommend-flame{display:inline-block;margin-left:4px;font-size:12px;vertical-align:middle;line-height:1;}
    .recommend-thumb{display:inline-block;margin-left:4px;font-size:12px;vertical-align:middle;line-height:1;}
    .tone-grid-footer{display:flex;align-items:center;justify-content:flex-end;padding:4px 0 0;}


    /* Queue banner */
    .queue-banner{display:none;margin-bottom:12px;padding:10px 16px;background:var(--warn-bg);border:1.5px solid rgba(180,83,9,.35);border-radius:var(--radius-sm);font-size:16px;font-weight:600;color:var(--warn);align-items:center;gap:10px;}
    .queue-banner.visible{display:flex;}
    .queue-spinner{width:14px;height:14px;border:2px solid rgba(180,83,9,.25);border-top-color:var(--warn);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0;}

    /* Panels */
    .panels{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
    .panel{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;box-shadow:0 1px 6px rgba(0,0,0,.05);animation:fadeUp .3s ease both;overflow:hidden;}
    .panel:nth-child(2){animation-delay:.06s;}
    .panel:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(34,197,94,.08),0 1px 6px rgba(0,0,0,.05);}
    @keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

    .panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1.5px solid var(--border);background:var(--surface2);}
    .panel-label{font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-mid);}
    .panel-select-hint{font-size:13px;color:var(--accent);font-weight:600;letter-spacing:0;text-transform:none;margin-top:2px;transition:opacity .3s;}
    .panel-select-hint.hidden{opacity:0;pointer-events:none;}
    @keyframes hintPulse{0%,100%{opacity:1}50%{opacity:.45}}
    .panel-select-hint:not(.hidden){animation:hintPulse 1.8s ease-in-out 2;}
    .panel-meta{display:flex;align-items:center;gap:8px;}

    .word-count{font-family:'JetBrains Mono',monospace;font-size:15px;color:var(--text-mid);transition:color .2s;}
    .word-count.warn{color:var(--warn);font-weight:600;}
    .word-count.danger{color:var(--error);font-weight:600;}

    .warn-banner{display:none;padding:6px 14px;background:var(--warn-bg);border-top:1.5px solid rgba(180,83,9,.25);font-size:14px;color:var(--warn);font-weight:500;}
    .warn-banner.visible{display:block;}
    .over-limit-banner{display:none;padding:7px 14px;background:#2a0f0f;border-top:2px solid rgba(248,113,113,.45);font-size:14px;color:var(--error);font-weight:600;}
    .over-limit-banner.visible{display:block;}
    .wc-bar-wrap{height:3px;background:var(--border);overflow:hidden;}
    .wc-bar-fill{height:100%;width:0%;background:var(--accent);transition:width .25s ease,background .25s ease;}
    .wc-bar-fill.warn{background:var(--warn);}
    .wc-bar-fill.danger{background:var(--error);}


    /* Textarea — fluid height so it fits from 720p to 4K */
    textarea{
      flex:1;width:100%;min-height:clamp(300px,50vh,680px);max-height:clamp(440px,68vh,1000px);background:transparent;
      border:none;outline:none;resize:vertical;padding:16px 20px;
      font-family:'Source Sans 3',sans-serif;font-size:inherit;font-weight:400;
      color:var(--text);line-height:1.65;overflow-y:auto;
    }
    textarea::placeholder{color:var(--text-dim);}

    /* Output body */
    .output-body{
      flex:1;min-height:clamp(300px,50vh,680px);padding:16px 20px;font-size:inherit;font-weight:400;
      line-height:1.65;color:var(--text);white-space:pre-wrap;word-break:break-word;
      overflow-y:auto;position:relative;outline:none;
    }
    .output-body.empty{color:var(--text-muted);font-style:italic;}

    /* Best-version auto-select strip */
    .output-body-wrap{flex:1;display:flex;flex-direction:column;min-height:0;}
    .best-version-strip{
      padding:11px 18px;font-size:13px;font-weight:600;line-height:1.5;
      display:none;align-items:flex-start;gap:10px;border-top:2px solid;
      font-family:'Source Sans 3',sans-serif;
    }
    .best-version-strip.strip-warn{background:rgba(180,90,0,.82);border-color:rgba(255,160,0,.70);color:#fff;}
    .best-version-strip.strip-danger{background:rgba(170,20,20,.88);border-color:rgba(239,68,68,.65);color:#fff;}
    .best-version-strip.strip-critical{background:rgba(110,0,0,.92);border-color:rgba(220,0,0,.70);color:#fff;}
    .best-version-strip.strip-visible{display:flex;animation:strip-in .25s ease both;}
    .strip-icon{font-size:15px;flex-shrink:0;margin-top:1px;}
    .strip-msg{flex:1;}
    .strip-actions{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap;}
    .strip-action-btn{padding:4px 10px;border:1px solid rgba(255,255,255,.45);border-radius:6px;background:rgba(255,255,255,.15);color:#fff;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .15s;}
    .strip-action-btn:hover{background:rgba(255,255,255,.28);}
    .strip-action-label{align-self:center;color:rgba(255,255,255,.85);font-size:12px;font-weight:600;margin:0 4px 0 6px;white-space:nowrap;}
    @keyframes strip-in{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
    @keyframes swap-fade{0%{opacity:.25}60%{opacity:.8}100%{opacity:1}}
    .output-body.swapping{animation:swap-fade .35s ease both;}

    /* Textarea wrapper — positions the overlay X (clear) button */
    .textarea-wrap{position:relative;display:flex;flex-direction:column;}
    .textarea-wrap textarea{width:100%;}
    .input-clear-btn{
      position:absolute;top:10px;right:12px;
      width:44px;height:44px;border-radius:50%;
      background:var(--accent);border:1.5px solid var(--accent-hover);
      color:#fff;cursor:pointer;
      display:flex;align-items:center;justify-content:center;
      transition:background .15s,color .15s,border-color .15s;z-index:2;
      box-shadow:0 1px 6px rgba(34,197,94,.35);
    }
    .input-clear-btn:hover{background:var(--accent-hover);border-color:#1a4a36;color:#fff;}

    /* Proposition description text — logo + paragraph side by side */
    .proposition{
      max-width:1000px;margin:0 auto 24px;padding:0 16px;
      display:flex;align-items:center;gap:18px;
      color:var(--text);
    }
    .proposition-logo{
      flex-shrink:0;height:64px;width:auto;display:block;
    }
    .proposition-text{
      flex:1;margin:0;text-align:left;
      font-size:clamp(14px,1vw,15.5px);line-height:1.72;
    }
    .output-body.loading::after{content:'';position:absolute;inset:16px;background:linear-gradient(90deg,transparent,rgba(34,197,94,.12),transparent);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:6px;}
    @keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
    .edit-hint{display:none;}

    .prev-output{display:none;padding:12px 16px;background:var(--bg);border-top:1.5px dashed var(--border2);font-size:17px;line-height:1.65;color:var(--text-mid);}
    .prev-output.visible{display:block;}
    .prev-label{font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;}

    /* Action bars */
    .action-bar{display:flex;align-items:center;gap:6px;padding:8px 14px;border-top:1.5px solid var(--border);flex-wrap:wrap;}
    /* Group the three main input-panel buttons with more breathing room */
    .input-btn-group{display:flex;align-items:center;gap:14px;}
    .btn{display:inline-flex;align-items:center;gap:5px;padding:6px 15px;border-radius:var(--radius-sm);border:none;font-family:'Source Sans 3',sans-serif;font-size:16.5px;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap;}
    .btn:disabled{opacity:.4;cursor:not-allowed;transform:none !important;}
    .btn-primary{
      background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);
      color:#fff;padding:10px 28px;font-size:17px;border-radius:var(--radius-sm);
      box-shadow:0 2px 8px rgba(34,197,94,.35);position:relative;overflow:hidden;
      border:1.5px solid rgba(34,197,94,.25);
    }
    @keyframes rewriteGlow{
      0%,100%{box-shadow:0 2px 8px rgba(34,197,94,.35),0 0 0 0 rgba(34,197,94,.25);}
      50%{box-shadow:0 2px 16px rgba(34,197,94,.55),0 0 12px 3px rgba(34,197,94,.2);}
    }
    #rewriteBtn:not(:disabled):not(.loading){animation:rewriteGlow 3s ease-in-out infinite;}
    .btn-primary:not(:disabled):hover{
      background:linear-gradient(135deg,var(--accent-hover) 0%,#1a4a36 100%);
      box-shadow:0 4px 18px rgba(34,197,94,.5);transform:translateY(-1px);animation:none;
    }
    .btn-primary:not(:disabled):active{transform:translateY(0) scale(.98);animation:none;}
    .btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none;animation:none;}
    .btn-green{background:#16a34a;color:#fff;box-shadow:0 1px 4px rgba(22,163,74,.2);border:1.5px solid rgba(22,163,74,.55);}
    .btn-green:not(:disabled):hover{background:#15803d;box-shadow:0 3px 10px rgba(22,163,74,.3);transform:translateY(-1px);}
    .btn-green:not(:disabled):active{transform:translateY(0);}
    .btn-ghost{background:var(--surface2);color:var(--text);border:1.5px solid var(--border);}
    .btn-ghost:not(:disabled):hover{background:var(--accent-lt);color:var(--accent);border-color:var(--accent);}
    .btn-ghost:not(:disabled):active{transform:scale(.98);}
    /* See Other Versions button — fill animation while generating */
    #versionsBtn{transition:background 0.5s ease,border-color 0.4s ease,color 0.3s ease;}
    #versionsBtn.vbtn-done{background:var(--success)!important;border-color:var(--success)!important;color:#0d1a0e!important;}
    #versionsBtn.vbtn-done:hover{background:var(--accent-dim,#16a34a)!important;border-color:var(--accent-dim,#16a34a)!important;}
    /* 2-Pass button — amber flame theme */
    .btn-twopass{border:1.5px solid rgba(251,191,36,.5);color:var(--warn);}
    .btn-twopass:not(:disabled):hover{background:rgba(251,191,36,.1);border-color:var(--warn);color:var(--warn);}
    .btn-warn{background:#2a0f0f;color:var(--error);border:1.5px solid rgba(248,113,113,.25);}
    .btn-warn:not(:disabled):hover{background:#3a1010;border-color:var(--error);}
    .btn-warn:not(:disabled):active{transform:scale(.98);}
    .btn-green:not(:disabled):active,.btn-primary:not(:disabled):active{transform:scale(.98) translateY(0);}
    .btn-sm{padding:5px 11px;font-size:15.5px;}
    .spacer{flex:1;}
    .copy-flash{font-size:15.5px;color:var(--success);font-weight:600;opacity:0;transition:opacity .3s;}
    .copy-flash.show{opacity:1;}
    .char-count{font-family:'JetBrains Mono',monospace;font-size:14.5px;color:var(--text-muted);}
    .word-count,.char-count,.detect-score,.history-time,.fk-val,.history-count{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";}
    .tone-badge{font-family:'JetBrains Mono',monospace;font-size:14px;padding:2px 8px;background:var(--accent-lt);color:var(--accent);border:1px solid rgba(34,197,94,.25);border-radius:8px;font-weight:600;}

    /* Instructions accordion */
    .instructions{margin-top:28px;}
    .instr-header{font-family:'Lora',serif;font-size:1.35rem;font-weight:600;color:var(--text);margin-bottom:12px;padding-bottom:8px;border-bottom:1.5px solid var(--border);}
    .accordion-item{border:1.5px solid var(--border);border-radius:var(--radius-sm);margin-bottom:6px;overflow:hidden;}
    .accordion-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:11px 16px;background:var(--surface);border:none;cursor:pointer;font-family:'Source Sans 3',sans-serif;font-size:17px;font-weight:600;color:var(--text);text-align:left;transition:background .15s;}
    .accordion-trigger:hover{background:var(--accent-lt);color:var(--accent);}
    .accordion-trigger.open{background:var(--accent-lt);color:var(--accent);}
    .accordion-arrow{font-size:14px;transition:transform .2s;flex-shrink:0;}
    .accordion-trigger.open .accordion-arrow{transform:rotate(180deg);}
    .accordion-body{display:none;padding:16px 18px;background:var(--surface);border-top:1.5px solid var(--border);font-size:17px;line-height:1.75;color:var(--text);}
    .accordion-body.open{display:block;}

    /* Tables in instructions */
    .instr-table{width:100%;border-collapse:collapse;margin:12px 0;font-size:16px;}
    .instr-table th{background:var(--surface2);padding:8px 12px;text-align:left;font-weight:700;color:var(--text-mid);font-size:14px;letter-spacing:.06em;text-transform:uppercase;border-bottom:2px solid var(--border);}
    .instr-table td{padding:8px 12px;border-bottom:1px solid var(--border);vertical-align:top;}
    .instr-table tr:last-child td{border-bottom:none;}
    .instr-table tr:hover td{background:var(--accent-lt);}
    .tag{display:inline-block;padding:2px 7px;border-radius:4px;font-size:14.5px;font-weight:600;}
    .tag-green{background:var(--accent-lt);color:var(--accent);}
    .tag-yellow{background:#2a1f0a;color:#f59e0b;}
    .tag-red{background:#2a0f0f;color:#f87171;}
    .tag-blue{background:var(--info-bg);color:var(--info);}
    .instr-tip{padding:10px 14px;background:var(--accent-lt);border-left:3px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:10px 0;font-size:16.5px;color:var(--text);}
    .instr-warn{padding:10px 14px;background:var(--warn-bg);border-left:3px solid var(--warn);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:10px 0;font-size:16.5px;color:#fcd34d;}
    .instr-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;}
    strong{color:var(--text);font-weight:700;}
    em{font-style:italic;}
    code{font-family:'JetBrains Mono',monospace;font-size:15px;background:var(--surface2);padding:2px 5px;border-radius:4px;color:var(--accent);}

    /* ── Responsive — desktop-first ─────────────────────────────────────────
       Breakpoints:
         1600px  Large desktop — slight padding trim
         1440px  Large laptop (1440×900)
         1280px  Common laptop (1366×768, 1280×800)
         1024px  Tablet landscape / compact laptop
          900px  Stack panels
          640px  Mobile / small tablet
    ──────────────────────────────────────────────────────────────────────── */

    /* 1600px — wide desktop, just trim outer padding */
    @media(max-width:1600px){
      .app{padding:20px 28px 48px;}
    }

    /* 1440px — large laptop, start shrinking h1 and score badge */
    @media(max-width:1440px){
      .app{max-width:100%;padding:18px 26px 44px;}
      .header-left h1{font-size:1.75rem;}
      .detect-score{font-size:28px;}
    }

    /* 1280px — most common laptop; tighten everything proportionally */
    @media(max-width:1280px){
      .app{padding:16px 22px 40px;}
      .header-left h1{font-size:1.6rem;}
      .tone-btn{font-size:16px;padding:7px 18px;}
      .btn{font-size:15.5px;padding:5px 13px;}
      .btn-primary{font-size:16px;padding:9px 24px;}
      .header-left p{font-size:14.5px;}
    }

    /* 1024px — compact laptop / large tablet landscape */
    @media(max-width:1024px){
      .app{padding:14px 18px 36px;}
      .header-left h1{font-size:1.5rem;}
      .tone-btn{font-size:15.5px;padding:7px 15px;}
      .btn{font-size:15px;padding:5px 11px;}
      .btn-primary{font-size:15.5px;padding:8px 20px;}
    }

    /* 900px — stack panels vertically */
    @media(max-width:900px){
      .panels{grid-template-columns:1fr;}
      .app{padding:12px 16px 32px;}
    }

    /* panel-tabs and mobile-bar: hidden on desktop */
    .panel-tabs{display:none;}
    .mobile-bar{display:none;}

    /* 640px — mobile / small tablet */
    @media(max-width:640px){
      header{flex-direction:column;align-items:flex-start;gap:10px;}
      .header-left h1{font-size:1.35rem;}
      .tone-btn{font-size:14.5px;padding:8px 13px;min-height:44px;}
      .btn{font-size:14.5px;padding:9px 12px;min-height:44px;}
      .btn-primary{font-size:15px;padding:10px 18px;min-height:44px;}
      .btn-sm{padding:8px 10px;min-height:40px;}
      .proposition-text{font-size:13.5px;}
      .mode-style-row{flex-direction:column;}
      .mode-style-row__style{width:auto;}
      /* ── Panel tab switcher ─────────────────────────── */
      .panel-tabs{display:flex;position:sticky;top:56px;z-index:99;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);margin-bottom:12px;overflow:hidden;}
      .panel-tab{flex:1;padding:13px 8px;font-size:15px;font-weight:600;text-align:center;cursor:pointer;border:none;background:none;color:var(--muted);transition:color .15s,background .15s;border-radius:0;border-bottom:2.5px solid transparent;}
      .panel-tab.active{color:var(--accent);background:var(--accent-lt);border-bottom-color:var(--accent);}
      .panels{display:block;}
      .panel{display:none;}
      .panel.active{display:flex;}
      /* ── Tone grid: horizontal scroll ───────────────── */
      .tone-grid{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;-webkit-overflow-scrolling:touch;}
      .tone-btn{flex:0 0 auto;scroll-snap-align:start;}
      /* ── Mobile sticky rewrite bar ──────────────────── */
      .mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));background:var(--surface);border-top:1.5px solid var(--border);z-index:500;gap:8px;}
      .mobile-bar .btn-primary{flex:1;font-size:16px;padding:13px 24px;min-height:50px;}
      .app{padding-bottom:80px;}
    }

    /* 480px — small phone */
    @media(max-width:480px){
      .proposition-logo{display:none;}
      .proposition{gap:0;}
      .proposition-text{text-align:center;}
      .app{padding:10px 12px 28px;}
      .action-bar{flex-wrap:wrap;gap:6px;padding:8px 10px;}
      .input-btn-group{width:100%;flex:none;}
      #rewriteBtn{flex:1;min-width:0;}
      #btnTwoPassWrap{flex:1;}
      #btnTwoPass{width:100%;}
      .spacer{display:none;}
      .tone-grid{gap:4px;}
      .tone-btn{padding:7px 10px;font-size:14px;}
    }

    /* ── Copy button "copied" state (turns green for 2s) ─────────────────── */
    .btn.btn-copied,.btn.btn-copied:not(:disabled):hover{
      background:#16a34a!important;border-color:#16a34a!important;
      color:#fff!important;animation:none!important;
    }

    /* ── Output empty-state guide overlay ───────────────────────────────── */
    .output-body-wrap{position:relative;}
    .output-empty-guide{
      position:absolute;top:0;left:0;right:0;bottom:0;
      display:none;flex-direction:column;align-items:center;justify-content:center;
      padding:24px 20px;pointer-events:none;gap:0;
    }
    #outputBodyWrap:has(#outputBody.empty) .output-empty-guide{display:flex;}
    #outputBodyWrap:has(#outputBody.empty) #outputBody{color:transparent;}
    .input-empty-guide{
      position:absolute;top:60px;left:0;right:0;bottom:0;
      display:none;flex-direction:column;align-items:center;justify-content:center;
      padding:24px 20px;pointer-events:none;gap:0;
    }
    .textarea-wrap:has(textarea:placeholder-shown) .input-empty-guide{display:flex;}
    .oeg-inner{display:flex;flex-direction:column;gap:14px;max-width:320px;width:100%;}
    .oeg-step{display:flex;align-items:flex-start;gap:12px;font-size:15px;color:var(--text-muted);font-style:normal;line-height:1.5;}
    .oeg-num{width:28px;height:28px;border-radius:50%;background:var(--accent-lt);border:1.5px solid var(--accent);color:var(--accent);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}

    /* ── Detection empty-state ───────────────────────────────────────────── */
    .or-default-guide{padding:14px 16px;}
    .or-default-prompt{font-size:14px;color:var(--text-muted);line-height:1.65;}

    /* Scrollbars — visible and mouse-friendly */
    ::-webkit-scrollbar{width:7px;height:7px;}
    ::-webkit-scrollbar-track{background:var(--surface2);border-radius:8px;}
    ::-webkit-scrollbar-thumb{background:var(--border2);border-radius:8px;border:1px solid var(--surface2);}
    ::-webkit-scrollbar-thumb:hover{background:var(--text-dim);}

    /* ── Sentence rewrite floating button ──────────────────────────────────── */
    .sentence-rewrite-btn{
      position:fixed;z-index:8500;
      padding:5px 12px;
      background:var(--accent);color:#fff;
      border:none;border-radius:20px;
      font-family:'Source Sans 3',sans-serif;font-size:14px;font-weight:600;
      cursor:pointer;white-space:nowrap;
      box-shadow:0 4px 16px rgba(0,0,0,.35);
      display:inline-flex;align-items:center;gap:5px;
      opacity:0;pointer-events:none;
      transform:translateY(4px);
      transition:opacity .14s ease,transform .14s ease;
    }
    .sentence-rewrite-btn:hover{background:var(--accent-hover);}
    .sentence-rewrite-btn.visible{opacity:1;pointer-events:all;transform:translateY(0);}
    .sentence-rewrite-btn.loading{opacity:.55;cursor:not-allowed;}

    /* Streaming cursor */
    @keyframes blink-cursor{0%,100%{opacity:1}50%{opacity:0}}
    .output-body.streaming{white-space:pre-wrap;}
    .stream-cursor{display:inline-block;width:2px;height:1em;background:var(--accent);vertical-align:text-bottom;margin-left:1px;animation:blink-cursor .7s infinite;}

    /* Response time badge */

    /* History panel */
    .history-section{margin-top:20px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.04);}
    .history-header{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;background:var(--surface2);border-bottom:1.5px solid var(--border);}
    .history-title{font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-mid);}
    .history-header-right{display:flex;align-items:center;gap:8px;}
    .history-count{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--accent);background:var(--accent-lt);border:1px solid rgba(34,197,94,.3);border-radius:10px;padding:2px 9px;}
    @keyframes historyFlash{0%{background:var(--accent);color:#fff;border-color:var(--accent)}100%{background:var(--accent-lt);color:var(--accent);border-color:rgba(34,197,94,.3)}}
    .history-count.flash{animation:historyFlash .65s ease;}
    .history-list{max-height:380px;overflow-y:auto;padding:10px 14px;display:flex;flex-direction:column;gap:8px;}
    .history-entry{border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:11px 14px;background:var(--bg);transition:border-color .15s;}
    .history-entry:hover{border-color:var(--accent);}
    .history-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:7px;}
    .history-idx{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:700;color:var(--text-muted);min-width:24px;}
    .history-badge{font-size:14px;padding:2px 7px;border-radius:4px;background:var(--accent-lt);color:var(--accent);font-weight:600;}
    .history-time{font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--text-muted);padding:2px 6px;background:var(--surface2);border:1px solid var(--border);border-radius:4px;}
    .history-ts{font-size:14px;color:var(--text-muted);margin-left:auto;}
    .history-preview{font-size:16px;color:var(--text-mid);line-height:1.6;margin-bottom:8px;white-space:pre-wrap;word-break:break-word;}
    .history-actions{display:flex;gap:6px;}

    /* ── AI Detection Section ─────────────────────────────────────────────── */
    .detect-section{margin-top:16px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 4px rgba(0,0,0,.04);overflow:hidden;}
    .detect-section-hdr{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;background:var(--surface2);border-bottom:1.5px solid var(--border);}
    .detect-section-title{font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-mid);}
    .detect-source-badge{font-size:14px;font-weight:700;padding:2px 9px;border-radius:5px;letter-spacing:.06em;text-transform:uppercase;}
    .detect-source-badge.input{background:#0f1e35;color:#60a5fa;}
    .detect-source-badge.output{background:var(--accent-lt);color:var(--accent);}
    .detect-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
    .detect-section.has-results .detect-grid{grid-template-columns:3fr 2fr;}
    @media(max-width:960px){.detect-section.has-results .detect-grid{grid-template-columns:1fr;}}
    .detect-card{padding:16px 20px;border-right:1.5px solid var(--border);}
    .detect-card:last-child{border-right:none;}
    .detect-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
    .detect-card-name{font-size:15px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text);}
    /* Score + verdict row */
    .detect-header{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap;}
    .detect-score{font-family:'JetBrains Mono',monospace;font-size:35px;font-weight:700;line-height:1;}
    .detect-score.human{color:var(--success);}
    .detect-score.mixed{color:var(--warn);}
    .detect-score.ai{color:var(--error);}
    .detect-verdict{font-size:15px;font-weight:600;padding:3px 9px;border-radius:5px;}
    .detect-verdict.human{background:rgba(22,163,74,.12);color:var(--success);}
    .detect-verdict.mixed{background:var(--warn-bg);color:var(--warn);}
    .detect-verdict.ai{background:#2a0f0f;color:var(--error);}
    /* Progress bar */
    .detect-bar-wrap{height:6px;background:var(--surface2);border-radius:4px;overflow:hidden;margin-bottom:10px;}
    .detect-bar{height:100%;border-radius:4px;transition:width .6s ease;}
    .detect-bar.human{background:var(--success);}
    .detect-bar.mixed{background:var(--warn);}
    .detect-bar.ai{background:var(--error);}
    /* Meta stats */
    .detect-meta{font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--text-muted);margin-bottom:10px;line-height:1.7;}
    .detect-meta span{display:inline-block;margin-right:10px;}
    /* Flagged sentences */
    .detect-sentences-label{font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;}
    .detect-sentences{display:flex;flex-direction:column;gap:5px;max-height:240px;overflow-y:auto;}
    .detect-sentence{font-size:15.5px;line-height:1.55;padding:6px 10px;background:var(--surface2);border-left:4px solid #ef4444;border-radius:0 5px 5px 0;color:var(--text);}
    .detect-sentence.strip-green{border-left-color:#22c55e;}
    .detect-sentence.strip-blue{border-left-color:#3b82f6;}
    .detect-sentence.strip-yellow{border-left-color:#f59e0b;}
    .detect-sentence.strip-red{border-left-color:#ef4444;}
    .detect-sentence-score{font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--text-mid);margin-left:6px;}
    .detect-none{font-size:15.5px;color:var(--success);padding:6px 10px;background:var(--surface2);border-left:4px solid var(--success);border-radius:0 5px 5px 0;}
    /* Loading / error states */
    .detect-loading{font-size:16px;color:var(--text-mid);display:flex;align-items:center;gap:8px;padding:4px 0;}
    .detect-spinner{width:13px;height:13px;border:2px solid var(--border2);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0;}
    .detect-error-msg{font-size:16px;color:var(--error);padding:6px 10px;background:#2a0f0f;border-radius:5px;}
    .detect-source{font-size:14px;color:var(--text-muted);margin-top:8px;}
    .tips-card{display:flex;flex-direction:column;gap:0;background:var(--surface2);}
    .tips-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
    .tips-card-label{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-mid);}
    .tips-nav{display:flex;align-items:center;gap:6px;}
    .tips-dots{display:flex;gap:5px;align-items:center;}
    .tips-dot{width:6px;height:6px;border-radius:50%;background:var(--border2);transition:background .3s;cursor:pointer;}
    .tips-dot.active{background:var(--accent);}
    .tips-arrow{background:none;border:1px solid var(--border2);color:var(--text-mid);border-radius:5px;width:22px;height:22px;font-size:15px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:all .15s;flex-shrink:0;}
    .tips-arrow:hover{background:var(--surface);color:var(--text);border-color:var(--accent);}
    .tips-card.paused .tips-card-label::after{content:' ⏸';font-size:10px;opacity:.55;vertical-align:middle;}
    .tips-viewport{overflow:hidden;flex:1;}
    .tips-slide{display:none;opacity:0;transition:opacity .4s ease;font-size:14px;line-height:1.6;color:var(--text);}
    .tips-slide.visible{display:block;}
    .tips-slide.fade-in{opacity:1;}
    .tips-slide-inner{background:var(--surface);border:1px solid var(--border2);border-radius:8px;padding:12px 14px;line-height:1.6;}
    .tips-ul{margin:8px 0 2px 0;padding-left:16px;}
    .tips-ul li{margin-bottom:4px;}
    .tips-slide-featured{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.25);border-radius:8px;padding:10px 12px;}
    .tips-featured-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#22c55e;background:rgba(34,197,94,.12);border-radius:4px;padding:2px 7px;margin-bottom:7px;}
    .tips-copy-btn{display:inline-flex;align-items:center;gap:5px;margin-top:9px;padding:5px 12px;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:700;font-family:inherit;cursor:pointer;transition:background .15s;}
    .tips-copy-btn:hover{background:#16a34a;}
    .tips-copy-btn.copied{background:#1a5c35;}
    .or-default-title{font-size:21px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--text-mid);padding:20px 0 6px;}
    @media(max-width:700px){.detect-grid{grid-template-columns:1fr;}.detect-card{border-right:none;border-bottom:1.5px solid var(--border);}.detect-card:last-child{border-bottom:none;}}

    /* ── Auto-Retry Prompt ───────────────────────────────────────────────── */
    .retry-prompt{display:flex;flex-direction:column;gap:8px;padding:12px 18px;background:var(--warn-bg);border-bottom:1.5px solid var(--warn);color:var(--warn);}
    .retry-prompt-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
    .retry-prompt-msg{font-size:15px;font-weight:600;}
    .retry-prompt-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
    .retry-prompt-row-label{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--warn);opacity:.7;white-space:nowrap;min-width:46px;}
    .retry-prompt-btns{display:flex;gap:6px;flex-wrap:wrap;}
    .retry-prompt-btn{padding:4px 13px;border-radius:14px;border:1.5px solid rgba(245,158,11,.45);background:transparent;color:var(--warn);font-size:13.5px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;}
    .retry-prompt-btn:hover{background:var(--warn);color:#1a0f00;}
    .retry-prompt-btn.rp-active{background:rgba(245,158,11,.18);border-color:var(--warn);box-shadow:0 0 0 1px var(--warn) inset;}
    .retry-prompt-btn.rp-model{border-color:rgba(96,165,250,.4);color:var(--info);}
    .retry-prompt-btn.rp-model:hover{background:var(--info);color:#0a1a2e;}
    .retry-prompt-btn.rp-model.rp-active{background:rgba(96,165,250,.15);border-color:var(--info);box-shadow:0 0 0 1px var(--info) inset;}
    .retry-prompt-dismiss{background:none;border:none;color:var(--text-muted);font-size:13.5px;cursor:pointer;padding:3px 6px;text-decoration:underline;white-space:nowrap;flex-shrink:0;}
    .retry-prompt-dismiss:hover{color:var(--text);}

    /* ── Compare Meaning panel ──────────────────────────────────────────── */
    .cm-section{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 4px rgba(0,0,0,.04);overflow:hidden;margin-bottom:12px;}
    .cm-section-hdr{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;background:var(--surface2);border-bottom:1.5px solid var(--border);}
    .cm-section-hdr-title{font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-mid);}
    .cm-body{padding:14px 18px;}
    .cm-table{width:100%;border-collapse:collapse;font-size:15px;}
    .cm-table td{padding:10px 14px;vertical-align:top;border:1px solid var(--border);line-height:1.55;}
    .cm-table tr:first-child td{border-top:none;}
    .cm-table tr td:first-child{border-left:none;}
    .cm-table tr td:last-child{border-right:none;}
    .cm-table tr:last-child td{border-bottom:none;}
    .cm-label-cell{width:160px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);background:var(--surface2);white-space:nowrap;}
    .cm-row-message .cm-label-cell{color:var(--accent);}
    .cm-row-dropped .cm-label-cell{color:var(--warn);}
    .cm-row-added   .cm-label-cell{color:var(--success);}
    .cm-row-verdict .cm-label-cell{color:var(--text-mid);}
    .cm-value-cell{color:var(--text-mid);}
    .cm-verdict-cell{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
    .cm-badge{display:inline-block;padding:3px 10px;border-radius:4px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
    .cm-badge-retain{background:#1a3a2a;color:#4ade80;border:1px solid #4ade80;}
    .cm-badge-rewrite{background:#3a1a1a;color:#f87171;border:1px solid #f87171;}
    .cm-loading{display:flex;align-items:center;gap:10px;padding:20px;font-size:16px;color:var(--text-dim);}
    .cm-error{padding:14px 20px;font-size:16px;color:var(--error);}
    .cm-row-note .cm-label-cell{color:#a78bfa;}
    .cm-note-cell{color:var(--text-dim);font-style:italic;}
    .cm-list{margin:0;padding-left:18px;list-style:disc;}
    .cm-list li{margin-bottom:4px;}
    /* DeepSeek trigger word in proposition */
    .cm-trigger-word{color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:2px;font-weight:700;transition:color .15s,opacity .15s;}
    .cm-trigger-word:hover{color:var(--success);opacity:.85;}

    /* Compare Meaning — Tips-card embedded result (all 6 keys) */
    .cm-tips-close{background:none;border:none;color:var(--text-dim);font-size:20px;line-height:1;cursor:pointer;padding:0 4px;border-radius:4px;transition:color .15s,background .15s;}
    .cm-tips-close:hover{color:var(--text);background:rgba(255,255,255,.06);}
    .cm-tips-grid{display:grid;grid-template-columns:88px 1fr;gap:6px 10px;font-size:13px;line-height:1.5;}
    .cm-tips-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);padding-top:4px;}
    .cm-tips-value{color:var(--text);}
    .cm-tips-reason{color:var(--text-mid);font-size:13px;line-height:1.6;}
    .cm-tips-pair{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
    .cm-score-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:700;letter-spacing:.02em;}
    .cm-score-pill .cm-score-num{font-size:14px;}
    .cm-score-pill .cm-score-max{opacity:.55;font-weight:500;}
    .cm-score-good {background:rgba(34,197,94,.14);color:#4ade80;border:1px solid rgba(34,197,94,.4);}
    .cm-score-warn {background:rgba(245,158,11,.14);color:#fbbf24;border:1px solid rgba(245,158,11,.4);}
    .cm-score-bad  {background:rgba(239,68,68,.14);color:#f87171;border:1px solid rgba(239,68,68,.4);}
    .cm-equiv-text{font-size:12.5px;color:var(--text-mid);}
    .cm-tips-bullets{margin:0;padding:0;list-style:none;}
    .cm-tips-bullets li{position:relative;padding:3px 0 3px 14px;font-size:12.5px;color:var(--text-mid);line-height:1.55;}
    .cm-tips-bullets li::before{content:"";position:absolute;left:4px;top:11px;width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.7;}
    .cm-tips-bullets li.cm-critical{color:#fca5a5;font-weight:600;}
    .cm-tips-bullets li.cm-critical .cm-crit-tag{display:inline-block;background:rgba(239,68,68,.18);color:#f87171;border:1px solid rgba(239,68,68,.45);font-size:10px;font-weight:700;letter-spacing:.06em;padding:1px 6px;border-radius:3px;margin-right:6px;vertical-align:1px;}
    .cm-tips-nothing{color:var(--text-dim);font-style:italic;font-size:12.5px;}
    /* Compare Meaning modal */
    .cm-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:8500;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s ease;}
    .cm-modal-overlay.visible{opacity:1;pointer-events:all;}
    .cm-modal{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius);width:580px;max-width:calc(100vw - 32px);max-height:82vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.6);transform:scale(0.96) translateY(8px);opacity:0;transition:transform .22s cubic-bezier(.4,0,.2,1),opacity .18s ease;}
    .cm-modal-overlay.visible .cm-modal{transform:scale(1) translateY(0);opacity:1;}
    .cm-modal-hdr{display:flex;align-items:flex-start;justify-content:space-between;padding:14px 18px 12px;border-bottom:1.5px solid var(--border);background:var(--surface2);flex-shrink:0;border-radius:var(--radius) var(--radius) 0 0;}
    .cm-modal-title{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-mid);}
    .cm-modal-sub{font-size:12px;color:var(--text-muted);margin-top:3px;}
    .cm-modal-close{background:none;border:none;font-size:20px;color:var(--text-muted);cursor:pointer;padding:3px 7px;border-radius:5px;line-height:1;transition:all .15s;flex-shrink:0;}
    .cm-modal-close:hover{background:rgba(255,255,255,.06);color:var(--error);}
    .cm-modal-body{flex:1;min-height:0;overflow-y:auto;}
    .cm-modal-footer{padding:10px 18px 12px;border-top:1.5px solid var(--border);background:var(--surface2);flex-shrink:0;border-radius:0 0 var(--radius) var(--radius);}
    .cm-modal-hint{font-size:12px;color:var(--text-muted);}


    /* Model selected toast */
    .model-toast{position:fixed;bottom:max(28px,env(safe-area-inset-bottom));right:max(28px,env(safe-area-inset-right));background:var(--surface);border:1.5px solid var(--accent);border-radius:var(--radius-sm);padding:10px 18px;font-size:16px;font-weight:600;color:var(--accent);box-shadow:0 8px 24px rgba(0,0,0,.35);z-index:9000;opacity:0;transform:translateY(10px);transition:opacity .25s,transform .25s;pointer-events:none;}
    .model-toast.show{opacity:1;transform:translateY(0);}
    /* Over-limit toast */
    .over-limit-toast{position:fixed;top:20px;left:50%;transform:translateX(-50%) translateY(-12px);background:#2a0f0f;border:1.5px solid rgba(248,113,113,.5);border-radius:var(--radius-sm);padding:11px 22px;font-size:16px;font-weight:600;color:var(--error);box-shadow:0 8px 24px rgba(0,0,0,.4);z-index:9100;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none;white-space:nowrap;max-width:calc(100vw - 32px);text-align:center;}
    .over-limit-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
    /* Tooltip wrapper — catches hover even when inner button is :disabled */
    .over-limit-tip-wrap{position:relative;display:inline-flex;}
    .over-limit-tip-wrap[data-tip]::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:#111;color:#f0f0f0;border:1px solid #444;border-radius:8px;padding:8px 13px;font-size:14px;font-weight:400;white-space:normal;width:240px;max-width:min(240px,calc(100vw - 32px));text-align:center;box-shadow:0 4px 16px rgba(0,0,0,.22);pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s;z-index:500;}
    .over-limit-tip-wrap[data-tip]:hover::after{opacity:1;visibility:visible;}



    /* 30-minute refresh reminder banner */
    .refresh-banner{position:fixed;top:0;left:0;right:0;background:#1a2a1a;border-bottom:2px solid var(--accent);padding:10px 20px;font-size:16px;font-weight:600;color:var(--accent);display:none;align-items:center;justify-content:center;gap:10px;z-index:8000;}
    .refresh-banner.visible{display:flex;}
    .refresh-banner-close{background:none;border:none;color:var(--accent);font-size:20px;cursor:pointer;line-height:1;padding:0 4px;margin-left:10px;opacity:.7;transition:opacity .15s;}
    .refresh-banner-close:hover{opacity:1;}

    /* Stats badge (reading level, sentence stats) */
    .stat-badge{font-family:'JetBrains Mono',monospace;font-size:13.5px;color:var(--text-muted);padding:2px 7px;background:var(--surface2);border:1px solid var(--border);border-radius:5px;white-space:nowrap;}
    /* Flesch-Kincaid badge — stacked three-line chip with green background */
    .fk-badge{display:inline-flex;flex-direction:column;align-items:flex-end;gap:0px;padding:4px 9px;background:rgba(34,197,94,.18);border:1.5px solid rgba(34,197,94,.5);border-radius:6px;line-height:1.35;white-space:nowrap;font-family:'JetBrains Mono',monospace;}
    .fk-badge .fk-row{display:flex;align-items:baseline;gap:4px;}
    .fk-badge .fk-label{font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-weight:700;}
    .fk-badge .fk-val{font-size:12px;color:#4ade80;font-weight:700;}
    .fk-badge .fk-level{font-size:10px;color:var(--accent);font-style:italic;margin-top:1px;text-align:right;}
    /* colour tinting by reading difficulty */
    .fk-badge.fk-easy .fk-val{color:#4ade80;}
    .fk-badge.fk-mid  .fk-val{color:var(--warn);}
    .fk-badge.fk-hard .fk-val{color:var(--error);}
    /* FK tooltip wrapper — removed; hover hint now on .fk-badge::after (see F9 section) */

    /* ── Reusable Tone Selection Popup ──────────────────────────────────── */
    .tp-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:9500;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s ease;}
    .tp-overlay.visible{opacity:1;pointer-events:all;}
    .tp-popup{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius);width:520px;max-width:calc(100vw - 32px);max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.6);transform:scale(0.96) translateY(6px);opacity:0;transition:transform .22s cubic-bezier(.4,0,.2,1),opacity .18s ease;}
    .tp-overlay.visible .tp-popup{transform:scale(1) translateY(0);opacity:1;}
    .tp-popup-hdr{padding:16px 18px 0;display:flex;flex-direction:column;gap:10px;}
    .tp-popup-title{font-size:14px;font-weight:600;color:var(--text-mid);letter-spacing:.03em;text-transform:uppercase;}
    .tp-popup-tabs{display:flex;gap:6px;}
    .tp-tab-btn{flex:1;padding:7px 0;border:1.5px solid var(--accent);border-radius:var(--radius-sm);background:transparent;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,color .15s;letter-spacing:.02em;}
    .tp-tab-btn:hover{background:var(--accent-lt);}
    .tp-tab-btn.active{background:var(--accent);color:#fff;}
    .tp-popup-list{overflow-y:auto;padding:10px 10px 14px;display:flex;flex-direction:column;gap:3px;}
    .tp-tone-row{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;border:1px solid transparent;transition:background .12s,border-color .12s;gap:10px;}
    .tp-tone-row:hover{background:var(--accent-lt);border-color:var(--accent);}
    .tp-tone-row.greyed{opacity:.38;cursor:not-allowed;pointer-events:none;}
    .tp-tone-label{font-size:14px;color:var(--text);font-weight:500;white-space:nowrap;}
    .tp-tone-params{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px;text-align:right;}
    .tp-popup-footer{padding:10px 14px 14px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:flex-end;}
    .tp-close-btn{background:none;border:1px solid var(--border2);color:var(--text-muted);font-size:12px;padding:5px 14px;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s;}
    .tp-close-btn:hover{background:var(--surface2);}

    /* ── 2-Pass Section ─────────────────────────────────────────────────── */
    .twopass-section{display:none;margin-top:14px;}
    .twopass-section.visible{display:block;}
    .twopass-grid{display:flex;flex-direction:row;align-items:flex-start;gap:16px;}
    .twopass-grid > .panel{flex:1;min-width:0;width:calc(50% - 8px);}
    @media(max-width:860px){.twopass-grid{flex-direction:column;}.twopass-grid > .panel{width:100%;}}
    .tp2-run-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0 6px;}
    .tp2-run-hint{font-size:13px;color:var(--text-muted);}
    .tp2-pass-badge{display:inline-block;font-size:12px;font-weight:700;font-family:'Source Sans 3',sans-serif;padding:4px 12px;border-radius:20px;background:var(--accent-lt);color:var(--accent);border:1.5px solid rgba(34,197,94,.35);letter-spacing:.01em;}
    .tp2-pass-label-row{display:flex;align-items:center;gap:8px;margin-bottom:4px;}
    .tp2-pass-label-row .pass-num{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--text-dim);}

    .tp2-edit-banner{display:none;align-items:center;gap:10px;padding:7px 10px;background:#1a2a1a;border:1px solid var(--accent);border-radius:var(--radius-sm);font-size:13px;color:var(--accent);margin-top:6px;}
    .tp2-edit-banner.visible{display:flex;}
    .tp2-cm-section{margin-top:8px;}
    .twopass-detect{margin-top:10px;max-height:600px;overflow-y:auto;}
    /* Inside 2-pass panels: stack Check AI above Compare Meaning (one column) */
    .twopass-detect .detect-grid{display:flex;flex-direction:column;gap:0;}
    .twopass-detect .detect-card{border-right:none;border-bottom:1.5px solid var(--border);}
    .twopass-detect .detect-card:last-child{border-bottom:none;}
    /* Collapsible sentence breakdown toggle — 2-pass only */
    .tp2-sent-toggle{display:inline-flex;align-items:center;gap:5px;margin-bottom:6px;padding:4px 10px;background:transparent;border:1.5px solid var(--border2);border-radius:14px;font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .15s;font-family:'Source Sans 3',sans-serif;}
    .tp2-sent-toggle:hover{background:var(--surface2);color:var(--text);border-color:var(--accent);}
    .tp2-sent-toggle .tp2-sent-chevron{display:inline-block;transition:transform .2s;font-size:10px;}
    .tp2-sent-toggle.open .tp2-sent-chevron{transform:rotate(180deg);}
    .tp2-sent-body{display:none;}
    .tp2-sent-body.visible{display:block;}

    /* ── 2-Pass Entry Popup ──────────────────────────────────────────────── */
    .tp2e-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:9500;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s ease;}
    .tp2e-overlay.visible{opacity:1;pointer-events:all;}
    .tp2e-popup{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius);width:700px;max-width:calc(100vw - 32px);max-height:88vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.6);transform:scale(0.96) translateY(6px);opacity:0;transition:transform .22s cubic-bezier(.4,0,.2,1),opacity .18s ease;}
    .tp2e-overlay.visible .tp2e-popup{transform:scale(1) translateY(0);opacity:1;}
    .tp2e-hdr{padding:16px 20px 14px;border-bottom:1px solid var(--border);background:var(--surface2);border-radius:var(--radius) var(--radius) 0 0;}
    .tp2e-hdr-title{font-family:'Lora',serif;font-size:1.1rem;font-weight:600;color:var(--text);}
    .tp2e-hdr-sub{font-size:13px;color:var(--text-muted);margin-top:3px;}
    .tp2e-body{display:grid;grid-template-columns:1fr 1fr;gap:0;flex:1;overflow:hidden;}
    @media(max-width:600px){.tp2e-body{grid-template-columns:1fr;}}
    .tp2e-pass-col{display:flex;flex-direction:column;padding:16px 16px 12px;overflow:hidden;}
    .tp2e-pass-col:first-child{border-right:1px solid var(--border);}
    .tp2e-pass-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;}
    .tp2e-selected-badge{display:inline-block;font-size:12px;font-weight:600;padding:3px 10px;border-radius:20px;background:var(--accent-lt);color:var(--accent);border:1px solid var(--accent);margin-bottom:10px;min-height:24px;}
    .tp2e-selected-badge.empty{background:var(--surface2);color:var(--text-dim);border-color:var(--border2);}
    .tp2e-tabs{display:flex;gap:4px;margin-bottom:8px;}
    .tp2e-tab-btn{flex:1;padding:5px 0;border:1.5px solid var(--accent);border-radius:var(--radius-sm);background:transparent;color:var(--accent);font-size:12px;font-weight:600;cursor:pointer;transition:background .15s;}
    .tp2e-tab-btn:hover{background:var(--accent-lt);}
    .tp2e-tab-btn.active{background:var(--accent);color:#fff;}
    .tp2e-list{overflow-y:auto;display:flex;flex-direction:column;gap:2px;flex:1;min-height:180px;}
    .tp2e-tone-row{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;border:1px solid transparent;transition:background .12s,border-color .12s;gap:8px;}
    .tp2e-tone-row:hover{background:var(--accent-lt);border-color:var(--accent);}
    .tp2e-tone-row.selected{background:var(--accent-lt);border-color:var(--accent);}
    .tp2e-tone-row.greyed{opacity:.38;cursor:not-allowed;pointer-events:none;}
    .tp2e-tone-label{font-size:13px;color:var(--text);font-weight:500;white-space:nowrap;}
    .tp2e-tone-params{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px;text-align:right;}
    .tp2e-footer{padding:12px 20px 14px;border-top:1px solid var(--border);background:var(--surface2);border-radius:0 0 var(--radius) var(--radius);display:flex;align-items:center;gap:10px;justify-content:space-between;}
    .tp2e-status{font-size:13px;color:var(--text-muted);flex:1;}
    .tp2e-status.ready{color:var(--accent);font-weight:600;}
    .tp2e-combos{padding:12px 20px 0;border-bottom:1px solid var(--border);}
    .tp2e-combos-label{font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px;}
    .tp2e-combos-row{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:12px;}
    .tp2e-combo-chip{display:flex;flex-direction:column;padding:8px 12px;border:1px solid var(--border2);border-radius:8px;background:var(--bg);cursor:pointer;transition:border-color .15s,background .15s;flex:1;min-width:150px;}
    .tp2e-combo-chip:hover{border-color:var(--accent);background:var(--accent-lt);}
    .tp2e-combo-chip.active{border-color:var(--accent);background:var(--accent-lt);}
    .tp2e-combo-name{font-size:13px;font-weight:600;color:var(--text);letter-spacing:.01em;margin-bottom:3px;}
    .tp2e-combo-chip:hover .tp2e-combo-name,.tp2e-combo-chip.active .tp2e-combo-name{color:var(--accent);}
    .tp2e-combo-desc{font-size:11px;color:var(--text-dim);line-height:1.4;}

    /* ── Advanced Rephrase ──────────────────────────────────────────────── */
    /* Dedicated row below the tone selector */
    .advanced-row{display:flex;align-items:center;gap:10px;padding:6px 16px 8px;border-bottom:1px solid var(--border);}
    .advanced-row-hint{font-size:13px;color:var(--text-muted);font-style:italic;}

    /* Amber-accented button */
    .btn-advanced{background:transparent;color:#f59e0b;border:1.5px solid rgba(245,158,11,.35);gap:6px;}
    .btn-advanced:not(:disabled):hover{background:rgba(245,158,11,.08);border-color:#f59e0b;color:#fcd34d;}
    .btn-advanced:disabled{opacity:.38;cursor:not-allowed;}
    .btn-advanced.adv-loading{opacity:.6;cursor:not-allowed;pointer-events:none;}

    /* Input panel in rephrased state */
    .panel.advanced-rephrased{border-color:#b45309;box-shadow:0 0 0 3px rgba(180,83,9,.12),0 1px 6px rgba(0,0,0,.05);transition:border-color .3s,box-shadow .3s;}
    .panel.advanced-rephrased textarea{background:rgba(180,83,9,.03);}

    /* Persistent amber banner */
    .advanced-banner{display:none;margin:0 0 6px;padding:10px 14px;background:#2a1f0a;border:1.5px solid rgba(180,83,9,.45);border-radius:var(--radius-sm);font-size:14.5px;color:#fcd34d;align-items:flex-start;gap:10px;flex-wrap:wrap;}
    .advanced-banner.visible{display:flex;}
    .advanced-banner-text{flex:1;min-width:180px;line-height:1.5;font-weight:500;}
    .advanced-banner-actions{display:flex;gap:6px;flex-shrink:0;align-items:center;}
    .advanced-banner-btn{padding:4px 12px;border-radius:14px;border:1.5px solid rgba(180,83,9,.5);background:transparent;color:#fcd34d;font-size:13px;font-weight:600;font-family:'Source Sans 3',sans-serif;cursor:pointer;transition:all .15s;white-space:nowrap;}
    .advanced-banner-btn:hover{background:rgba(180,83,9,.25);border-color:#b45309;}
    .advanced-banner-btn.revert{color:var(--error);border-color:rgba(248,113,113,.35);}
    .advanced-banner-btn.revert:hover{background:#2a0f0f;border-color:var(--error);}

    /* View Original side panel */
    .advanced-side-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:6999;display:none;cursor:pointer;}
    .advanced-side-backdrop.open{display:block;}
    .advanced-side-panel{position:fixed;top:0;right:0;width:420px;max-width:90vw;height:100vh;background:var(--surface);border-left:1.5px solid var(--border);box-shadow:-8px 0 32px rgba(0,0,0,.45);z-index:7000;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);}
    .advanced-side-panel.open{transform:translateX(0);}
    .advanced-side-panel-hdr{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1.5px solid var(--border);background:var(--surface2);flex-shrink:0;}
    .advanced-side-panel-title{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-mid);}
    .advanced-side-panel-close{background:none;border:none;font-size:20px;color:var(--text-muted);cursor:pointer;padding:3px 7px;border-radius:5px;line-height:1;transition:all .15s;}
    .advanced-side-panel-close:hover{background:var(--surface2);color:var(--error);}
    .advanced-side-panel-body{flex:1;overflow-y:auto;padding:18px 20px;font-size:16px;line-height:1.7;color:var(--text-mid);white-space:pre-wrap;word-break:break-word;}
    .advanced-side-panel-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:10px;display:block;}
    @media(max-width:700px){.advanced-side-panel{width:100vw;}}
    .tp2-orig-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:6999;display:none;cursor:pointer;}
    .tp2-orig-backdrop.open{display:block;}
    .tp2-orig-panel{position:fixed;top:0;left:0;width:420px;max-width:90vw;height:100vh;background:var(--surface);border-right:1.5px solid var(--border);box-shadow:8px 0 32px rgba(0,0,0,.45);z-index:7000;display:flex;flex-direction:column;transform:translateX(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);}
    .tp2-orig-panel.open{transform:translateX(0);}
    .tp2-orig-panel-hdr{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1.5px solid var(--border);background:var(--surface2);flex-shrink:0;}
    .tp2-orig-panel-title{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-mid);}
    .tp2-orig-panel-body{flex:1;overflow-y:auto;padding:18px 20px;font-size:16px;line-height:1.7;color:var(--text-mid);white-space:pre-wrap;word-break:break-word;}
    @media(max-width:700px){.tp2-orig-panel{width:100vw;}}

    /* ── Product Tour ────────────────────────────────────────────────────── */
    .tour-spotlight{position:fixed;border-radius:8px;box-shadow:0 0 0 4px var(--accent),0 0 0 9999px rgba(0,0,0,.72);z-index:19001;pointer-events:none;transition:top .35s cubic-bezier(.4,0,.2,1),left .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1),height .35s cubic-bezier(.4,0,.2,1);}
    .tour-card{position:fixed;z-index:19002;background:var(--surface);border:1.5px solid var(--accent);border-radius:12px;padding:18px 20px 16px;width:310px;box-shadow:0 8px 32px rgba(0,0,0,.55);transition:top .35s cubic-bezier(.4,0,.2,1),left .35s cubic-bezier(.4,0,.2,1),opacity .2s;}
    .tour-card.hidden{opacity:0;pointer-events:none;}
    .tour-arrow{position:fixed;z-index:19003;width:0;height:0;pointer-events:none;transition:top .35s cubic-bezier(.4,0,.2,1),left .35s cubic-bezier(.4,0,.2,1);}
    .tour-arrow.arrow-top{border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:10px solid var(--accent);}
    .tour-arrow.arrow-bottom{border-left:9px solid transparent;border-right:9px solid transparent;border-top:10px solid var(--accent);}
    .tour-arrow.arrow-left{border-top:9px solid transparent;border-bottom:9px solid transparent;border-right:10px solid var(--accent);}
    .tour-arrow.arrow-right{border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:10px solid var(--accent);}
    .tour-overlay{position:fixed;inset:0;z-index:19000;pointer-events:none;}
    .tour-overlay.active{pointer-events:auto;}
    .tour-overlay.active::before{content:'';position:fixed;inset:0;background:rgba(0,0,0,.72);pointer-events:none;}
    .tour-step-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;}
    .tour-title{font-family:'Lora',serif;font-size:1.05rem;font-weight:600;color:var(--text);margin-bottom:8px;line-height:1.3;}
    .tour-body{font-size:14px;color:var(--text-mid);line-height:1.6;margin-bottom:14px;}
    .tour-footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
    .tour-btn{padding:6px 16px;border-radius:20px;font-size:13px;font-weight:600;font-family:'Source Sans 3',sans-serif;cursor:pointer;transition:all .15s;border:1.5px solid;white-space:nowrap;}
    .tour-btn-next{background:var(--accent);color:#fff;border-color:var(--accent);}
    .tour-btn-next:hover{background:#16a34a;}
    .tour-btn-skip{background:transparent;color:var(--text-muted);border-color:var(--border2);}
    .tour-btn-skip:hover{background:var(--surface2);color:var(--text);}
    .tour-btn-dismiss{background:transparent;color:var(--error);border-color:rgba(248,113,113,.3);font-size:12px;padding:5px 12px;margin-left:auto;}
    .tour-btn-dismiss:hover{background:#2a0f0f;}
    .tour-progress{display:flex;gap:5px;align-items:center;margin-bottom:12px;}
    .tour-dot{width:7px;height:7px;border-radius:50%;background:var(--border2);transition:background .2s;}
    .tour-dot.active{background:var(--accent);}
    .tour-dot.done{background:var(--accent);}
    .tour-launch-btn{background:transparent;border:1.5px solid var(--border2);color:var(--text-muted);border-radius:50%;width:28px;height:28px;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0;}
    .tour-launch-btn:hover{border-color:var(--accent);color:var(--accent);}

    /* ── [F25] Skeleton loading states ──────────────────────────────────── */
    .skeleton-wrap{padding:14px 16px;display:flex;flex-direction:column;gap:10px;}
    .skeleton-line{height:13px;background:linear-gradient(90deg,var(--border) 25%,var(--border2) 50%,var(--border) 75%);background-size:200% 100%;border-radius:6px;animation:skel-shine 1.4s ease-in-out infinite;}
    .skeleton-line:nth-child(1){width:100%;}
    .skeleton-line:nth-child(2){width:88%;}
    .skeleton-line:nth-child(3){width:94%;}
    .skeleton-line:nth-child(4){width:72%;}
    @keyframes skel-shine{0%{background-position:200% 0}100%{background-position:-200% 0}}

    /* ── [F11] Toast notification system ────────────────────────────────── */
    #toastContainer{position:fixed;bottom:max(28px,env(safe-area-inset-bottom));right:max(28px,env(safe-area-inset-right));z-index:9200;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none;}
    .app-toast{padding:10px 18px;border-radius:var(--radius-sm);font-size:15px;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.4);opacity:0;transform:translateY(10px);transition:opacity .25s,transform .25s;pointer-events:auto;max-width:320px;word-break:break-word;}
    .app-toast.at-show{opacity:1;transform:translateY(0);}
    .app-toast.at-success{background:rgba(34,197,94,.08);border:1.5px solid var(--accent);color:var(--accent);}
    .app-toast.at-error{background:#2a0f0f;border:1.5px solid rgba(248,113,113,.5);color:var(--error);}
    .app-toast.at-info{background:var(--info-bg);border:1.5px solid rgba(96,165,250,.4);color:var(--info);}

    /* ── [F9] FK grade explanation popover ──────────────────────────────── */
    .fk-badge{cursor:pointer;position:relative;transition:border-color .15s,box-shadow .15s,transform .12s;}
    .fk-badge:hover{border-color:rgba(74,222,128,.8);box-shadow:0 0 0 3px rgba(34,197,94,.25),0 2px 8px rgba(0,0,0,.2);transform:translateY(-1px);}
    .fk-badge::after{content:"Hover or click to see readability details";position:absolute;bottom:calc(100% + 7px);right:0;background:#111;color:#e8e8e8;border:1px solid #333;border-radius:6px;padding:5px 10px;font-size:11.5px;font-weight:400;font-family:'Source Sans 3',sans-serif;white-space:nowrap;box-shadow:0 3px 14px rgba(0,0,0,.5);pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s;z-index:800;letter-spacing:.01em;}
    .fk-badge:hover::after{opacity:1;visibility:visible;}
    .fk-global-popover{position:fixed;width:260px;background:var(--surface);border:1.5px solid var(--border2);border-radius:var(--radius);padding:14px 16px;box-shadow:0 8px 32px rgba(0,0,0,.5);z-index:9400;opacity:0;pointer-events:none;transition:opacity .15s;}
    .fk-global-popover.fkp-visible{opacity:1;pointer-events:auto;}
    .fkp-grade-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;}
    .fkp-grade-num{font-family:'JetBrains Mono',monospace;font-size:2rem;font-weight:700;color:var(--accent);line-height:1;flex-shrink:0;}
    .fkp-title{font-size:13px;font-weight:700;color:var(--text);margin-bottom:4px;}
    .fkp-body{font-size:12.5px;color:var(--text-mid);line-height:1.55;margin-bottom:8px;}
    .fkp-tip{font-size:12px;color:var(--accent);font-weight:600;padding:5px 9px;background:var(--accent-lt);border-radius:5px;display:block;}

    /* ── [F2] Sentence-level AI detection highlighting ───────────────────── */
    .sent-eye-btn{display:none;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--border2);background:var(--surface2);color:var(--text-mid);cursor:pointer;font-size:17px;transition:all .15s;flex-shrink:0;line-height:1;}
    .sent-eye-btn.seb-visible{display:inline-flex;}
    .sent-eye-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-lt);}
    .sent-eye-btn.seb-active{border-color:var(--accent);color:var(--accent);background:var(--accent-lt);}
    .hl-legend{display:none;align-items:center;gap:6px;padding:5px 14px;border-top:1px solid var(--border);font-size:12px;color:var(--text-muted);flex-shrink:0;}
    .hl-legend.hl-vis{display:flex;}
    .hl-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
    .hl-dot-ai{background:rgba(248,113,113,.9);}
    .hl-dot-mixed{background:rgba(245,158,11,.9);}
    .hl-dot-human{background:rgba(74,222,128,.9);}
    .hl-ai{border-bottom:2.5px solid rgba(248,113,113,.85);}
    .hl-mixed{border-bottom:2.5px solid rgba(245,158,11,.85);}
    .hl-human{border-bottom:2.5px solid rgba(74,222,128,.85);}

    /* ── [F17] 2-Pass mode step indicator ───────────────────────────────── */
    .tp2-step-indicator{display:none;align-items:center;gap:6px;font-size:13px;}
    .tp2-step-indicator.tp2si-visible{display:flex;}
    .tp2-step{padding:3px 12px;border-radius:14px;font-size:12px;font-weight:700;border:1.5px solid var(--border2);color:var(--text-dim);transition:all .2s;letter-spacing:.03em;}
    .tp2-step.stp-active{border-color:var(--info);color:var(--info);background:rgba(96,165,250,.1);}
    .tp2-step.stp-done{border-color:var(--success);color:var(--success);background:rgba(74,222,128,.08);}
    .tp2-step-arr{color:var(--text-dim);font-size:14px;}

    /* ── [FP2] Version comparison panel ────────────────────────────────── */
    .versions-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:6900;display:none;}
    .versions-backdrop.open{display:block;}
    .versions-panel{position:fixed;top:0;right:0;width:460px;max-width:92vw;height:100vh;background:var(--surface);border-left:1.5px solid var(--border);box-shadow:-8px 0 32px rgba(0,0,0,.45);z-index:7000;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);}
    .versions-panel.open{transform:translateX(0);}
    .versions-panel-hdr{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 18px 14px;border-bottom:1.5px solid var(--border);background:var(--surface2);flex-shrink:0;}
    .versions-panel-title{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-mid);}
    .versions-panel-sub{font-size:12px;color:var(--text-muted);margin-top:3px;}
    .versions-panel-close{background:none;border:none;font-size:20px;color:var(--text-muted);cursor:pointer;padding:3px 7px;border-radius:5px;line-height:1;transition:all .15s;flex-shrink:0;}
    .versions-panel-close:hover{background:var(--surface2);color:var(--error);}
    .versions-panel-body{flex:1;min-height:0;overflow-y:auto;padding:14px 14px 8px;display:flex;flex-direction:column;gap:12px;}
    .versions-panel-footer{padding:10px 18px 14px;border-top:1.5px solid var(--border);background:var(--surface2);flex-shrink:0;}
    .versions-best-hint{font-size:13px;color:var(--text-muted);}
    .version-card{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden;transition:border-color .2s;}
    .version-card.is-current{border-color:var(--accent);}
    .version-card.is-best{border-color:var(--success);}
    .version-card-hdr{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 8px;background:var(--surface2);border-bottom:1px solid var(--border);}
    .version-card-label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-mid);}
    .version-card-badges{display:flex;align-items:center;gap:6px;}
    .version-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px;letter-spacing:.05em;text-transform:uppercase;}
    .version-badge.current{background:var(--accent-lt);color:var(--accent);border:1px solid var(--accent);}
    .version-badge.best{background:rgba(22,163,74,.15);color:var(--success);border:1px solid var(--success);}
    /* Auto Gemma meaning-fidelity chip — non-clickable, inline, next to word count */
    .cm-auto-chip{font-size:11px;font-weight:600;padding:2px 7px;border-radius:4px;letter-spacing:.03em;cursor:default;user-select:none;white-space:nowrap;}
    .cm-auto-chip.retain{background:rgba(22,163,74,.13);color:var(--success);border:1px solid rgba(22,163,74,.3);}
    .cm-auto-chip.rewrite{background:rgba(239,68,68,.10);color:#ef4444;border:1px solid rgba(239,68,68,.25);}
    .cm-auto-chip.analyzing{background:var(--surface2);color:var(--text-dim);border:1px solid var(--border);font-style:italic;}
    .version-card-preview{padding:10px 14px;font-size:14px;line-height:1.55;color:var(--text-mid);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;word-break:break-word;min-height:44px;}
    .version-card-preview.generating{color:var(--text-dim);font-style:italic;}
    .version-card-actions{display:flex;align-items:center;gap:8px;padding:8px 14px 10px;border-top:1px solid var(--border);}
    .version-use-btn{flex:1;padding:5px 0;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s;}
    .version-use-btn:hover{opacity:.85;}
    .version-use-btn:disabled{opacity:.35;cursor:not-allowed;}
    .version-copy-btn{padding:5px 12px;background:transparent;color:var(--text-mid);border:1.5px solid var(--border2);border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;}
    .version-copy-btn:hover{background:var(--surface2);color:var(--text);}
    .vcsc{padding:8px 14px 9px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;}
    .vcsc-val{font-family:'JetBrains Mono',monospace;font-size:20px;font-weight:700;min-width:70px;line-height:1;}
    .vcsc-val.human{color:var(--success);}
    .vcsc-val.mixed{color:var(--warn);}
    .vcsc-val.ai{color:var(--error);}
    .vcsc-val.loading{color:var(--text-dim);font-size:14px;font-weight:400;}
    .vcsc-mid{flex:1;display:flex;flex-direction:column;gap:5px;}
    .vcsc-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden;}
    .vcsc-fill{height:100%;width:0%;border-radius:3px;transition:width .5s ease;}
    .vcsc-fill.human{background:var(--success);}
    .vcsc-fill.mixed{background:var(--warn);}
    .vcsc-fill.ai{background:var(--error);}
    .vcsc-sub{font-size:11px;color:var(--text-dim);letter-spacing:.03em;}
    .vcsc-human{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:600;color:var(--text-muted);white-space:nowrap;text-align:right;}
    @media(max-width:860px){.versions-panel{width:min(420px,100vw);}}
    @media(max-width:700px){
      .versions-panel{width:100vw;}
      .versions-panel-body{padding:10px 10px 8px;gap:10px;}
      .version-card-preview{-webkit-line-clamp:3;font-size:13.5px;}
      .vcsc-val{font-size:17px;min-width:62px;}
    }
    @media(max-width:480px){
      .versions-panel-hdr{padding:10px 14px 9px;}
      .versions-panel-body{padding:8px 8px 6px;gap:8px;}
      .version-card-hdr{padding:6px 10px 5px;}
      .vcsc{padding:7px 10px 8px;gap:8px;}
      .vcsc-val{font-size:14px;min-width:52px;}
      .vcsc-human{font-size:11px;}
      .vcsc-sub{font-size:10px;}
      .version-card-preview{padding:7px 10px;font-size:12.5px;-webkit-line-clamp:3;min-height:36px;}
      .version-card-actions{padding:6px 10px 7px;gap:5px;}
      .version-use-btn{font-size:12px;padding:6px 0;}
      .version-copy-btn{font-size:12px;padding:6px 9px;}
      .version-badge{font-size:10px;padding:2px 6px;}
      .versions-best-hint{font-size:11px;}
    }
    @media(max-height:860px){
      .versions-panel-hdr{padding:11px 18px 10px;}
      .versions-panel-body{padding:10px 12px 6px;gap:10px;}
      .version-card-hdr{padding:7px 13px 6px;}
      .vcsc{padding:7px 13px 8px;gap:10px;}
      .vcsc-val{font-size:18px;min-width:64px;}
      .version-card-preview{padding:8px 13px;-webkit-line-clamp:3;font-size:13.5px;min-height:40px;}
      .version-card-actions{padding:6px 13px 8px;}
    }
    @media(max-height:720px){
      .versions-panel-hdr{padding:8px 14px 8px;}
      .versions-panel-body{padding:8px 10px 4px;gap:7px;}
      .versions-panel-title{font-size:12px;}
      .versions-panel-sub{font-size:11px;margin-top:2px;}
      .version-card-hdr{padding:5px 10px 5px;}
      .version-card-label{font-size:11px;}
      .vcsc{padding:6px 10px 6px;gap:8px;}
      .vcsc-val{font-size:16px;min-width:58px;}
      .vcsc-human{font-size:12px;}
      .vcsc-sub{font-size:10px;}
      .vcsc-bar{height:5px;}
      .version-card-preview{padding:6px 10px;font-size:13px;-webkit-line-clamp:2;min-height:32px;}
      .version-card-actions{padding:5px 10px 6px;gap:5px;}
      .version-use-btn{font-size:12px;padding:5px 0;}
      .version-copy-btn{font-size:12px;padding:5px 9px;}
      .versions-best-hint{font-size:11px;}
      .versions-panel-footer{padding:7px 14px 8px;}
    }

  