.caption-page{background:var(--page-bg);color:var(--text-strong)}.caption-shell{width:min(1140px,calc(100% - 32px));margin:0 auto;padding:42px 0 56px}.caption-hero{max-width:820px;margin-bottom:22px}.caption-kicker{display:inline-flex;align-items:center;min-height:28px;padding:5px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font:800 .78rem/1 var(--font-display);letter-spacing:.08em;text-transform:uppercase}.caption-hero h1{margin:14px 0 10px;color:var(--text-strong);font:900 2.55rem/1.06 var(--font-display);letter-spacing:0}.caption-hero h1 span{color:var(--accent)}.caption-hero p{margin:0;color:var(--text-soft);font-size:1.05rem;line-height:1.7}.caption-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,350px);gap:18px;align-items:start}.caption-panel{background:var(--panel);border:1px solid var(--header-border);border-radius:8px;box-shadow:var(--shadow);padding:22px;margin-bottom:18px}.caption-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:17px}.caption-panel-head h2,.caption-info h2,.caption-section-title{margin:0 0 5px;color:var(--text-strong);font:900 1.14rem/1.2 var(--font-display)}.caption-panel-head p,.caption-info p{margin:0;color:var(--text-muted);line-height:1.6}.caption-drop{display:grid;place-items:center;gap:6px;min-height:148px;border:2px dashed color-mix(in srgb,var(--accent) 38%,var(--header-border));border-radius:8px;background:var(--panel-soft);color:var(--text-soft);text-align:center;cursor:pointer;transition:border-color .18s ease,background .18s ease}.caption-drop strong{color:var(--text-strong);font:900 1.08rem/1.2 var(--font-display)}.caption-drop span{color:var(--text-muted);font-size:.94rem}.caption-drop.is-drag{border-color:var(--accent);background:var(--accent-soft)}.caption-field{display:grid;gap:8px;margin:0}.caption-wide{margin-top:14px}.caption-field>span,.caption-check span{color:var(--text-muted);font:800 .76rem/1.2 var(--font-display);letter-spacing:.07em;text-transform:uppercase}.caption-field textarea,.caption-field input{width:100%;border:1px solid var(--header-border);border-radius:8px;background:var(--panel-soft);color:var(--text-strong);padding:11px 12px;font:750 .95rem/1.45 var(--font-body);outline:none}.caption-field textarea,.caption-output{font-family:Consolas,'Courier New',monospace}.caption-field textarea:focus,.caption-field input:focus,.caption-output:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.caption-input-wrap{position:relative}.caption-input-wrap input{min-height:48px;padding-right:42px}.caption-input-wrap small{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-weight:900}.caption-segment{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.caption-segment button,.caption-primary-btn,.caption-ghost-btn{min-height:42px;border:1px solid var(--header-border);border-radius:8px;font-family:var(--font-display);font-weight:900;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.caption-segment button{background:var(--panel-soft);color:var(--text-soft)}.caption-segment button.is-active,.caption-primary-btn{background:var(--accent);border-color:var(--accent);color:#06231d}.caption-segment button:hover,.caption-ghost-btn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.caption-primary-btn:hover{background:var(--accent-strong);border-color:var(--accent-strong);transform:translateY(-1px)}.caption-ghost-btn{padding:0 13px;background:var(--panel-soft);color:var(--text-soft)}.caption-check{display:flex;align-items:flex-start;gap:9px;margin:14px 0 0}.caption-check input{width:17px;height:17px;margin-top:1px;accent-color:var(--accent);flex:0 0 auto}.caption-check span{text-transform:none;letter-spacing:0;line-height:1.45}.caption-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.caption-privacy{display:grid;gap:5px;margin-top:16px;padding:13px;border:1px solid var(--header-border);border-radius:8px;background:var(--panel-soft)}.caption-privacy strong{color:var(--accent);font:900 .98rem/1.2 var(--font-display)}.caption-privacy span{color:var(--text-muted);font-size:.9rem;line-height:1.5}.caption-results{display:block}.caption-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.caption-stat{min-height:105px;padding:15px;border:1px solid var(--header-border);border-bottom:3px solid var(--accent);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.caption-stat strong{display:block;color:var(--text-muted);font:800 .74rem/1.2 var(--font-display);letter-spacing:.07em;text-transform:uppercase}.caption-stat b{display:block;margin-top:8px;color:var(--text-strong);font:900 1.25rem/1.15 var(--font-display);overflow-wrap:anywhere}.caption-stat span{display:block;margin-top:6px;color:var(--text-muted);font-size:.88rem;line-height:1.4}.caption-output-head{align-items:center}.caption-toolbar{display:flex;gap:9px;flex-wrap:wrap}.caption-output{width:100%;min-height:360px;border:1px solid var(--header-border);border-radius:8px;background:var(--panel-soft);color:var(--text-strong);padding:14px;font-size:.9rem;line-height:1.55;outline:none;resize:vertical}.caption-two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.caption-list{display:grid;gap:10px}.caption-list-item{display:grid;gap:4px;padding:12px;border:1px solid var(--header-border);border-radius:8px;background:var(--panel-soft);color:var(--text-soft);line-height:1.5}.caption-list-item strong{color:var(--text-strong)}.caption-list-item.is-warn{border-color:color-mix(in srgb,#f59e0b 55%,var(--header-border))}.caption-list-item.is-ok{border-color:color-mix(in srgb,var(--accent) 55%,var(--header-border))}.caption-list-item code{color:var(--accent);font-weight:900}.is-hidden{display:none!important}@media (max-width:980px){.caption-grid,.caption-two-col{grid-template-columns:1fr}.caption-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.caption-shell{width:min(100% - 24px,640px);padding-top:28px}.caption-hero h1{font-size:2rem}.caption-panel{padding:17px}.caption-summary{grid-template-columns:1fr}.caption-output-head{align-items:stretch;flex-direction:column}.caption-actions .caption-primary-btn,.caption-actions .caption-ghost-btn,.caption-toolbar .caption-ghost-btn{width:100%}}
