/* Text Studio: shared brand tokens, no external fonts or UI dependencies. */
.text-container{max-width:1400px}.text-hero{padding-bottom:58px}.text-hero h1{font-size:clamp(44px,6vw,72px);max-width:850px;line-height:1.03;letter-spacing:-.055em}.text-hero h1 span{color:var(--brand-gold-ink)}.text-hero .lead{max-width:750px;font-size:17px}.text-studio{background:var(--brand-paper);border:1px solid var(--brand-line);border-radius:24px;box-shadow:0 18px 55px rgba(20,32,58,.08);overflow:hidden}.text-studio *{box-sizing:border-box}.text-studio [hidden]{display:none!important}.text-top{display:flex;align-items:center;justify-content:space-between;padding:24px 30px;background:var(--brand-primary);color:#fff;border-top:4px solid var(--brand-accent);gap:20px}.text-top>div{display:flex;align-items:baseline;gap:18px}.text-top strong{font-size:21px;letter-spacing:-.6px}.text-top span{color:#cbd2e0;font-size:12px}.text-top .text-local{font-size:11px;color:var(--brand-accent-light);border:1px solid #ffffff24;border-radius:24px;padding:7px 11px}.text-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--brand-line);padding:24px 30px;background:#fff}.text-metric{padding:0 20px;border-right:1px solid var(--brand-line);min-width:0}.text-metric:first-child{padding-left:0}.text-metric:last-child{border:0}.text-metric span{display:block;font-size:11px;color:var(--brand-muted);margin-bottom:7px}.text-metric strong{font-size:clamp(27px,3vw,42px);font-variant-numeric:tabular-nums;font-weight:650;line-height:1.1;letter-spacing:-1.5px;color:var(--brand-primary);overflow-wrap:anywhere}.text-metric:first-child strong{color:var(--brand-gold-ink)}.text-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:25px;padding:26px 30px;background:#fcfcfd}.text-editor{min-width:0}.text-toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;border:1px solid var(--brand-line);border-radius:14px 14px 0 0;background:#fff;padding:12px 13px}.text-studio button,.text-file-button{font:inherit;font-size:11px;font-weight:650;min-height:38px;padding:9px 12px;background:#fff;border:1px solid var(--brand-line);border-radius:8px;color:var(--brand-ink);cursor:pointer;text-align:center}.text-studio button:hover,.text-file-button:hover{background:var(--brand-soft);border-color:#b9b1a0}.text-studio button:disabled{opacity:.48;cursor:not-allowed}.text-studio button:focus-visible,.text-studio input:focus-visible,.text-studio textarea:focus-visible,.text-studio select:focus-visible,.text-studio summary:focus-visible{outline:3px solid var(--brand-accent);outline-offset:3px}.text-file-button{position:relative;overflow:hidden;background:var(--brand-soft);display:inline-flex;align-items:center}.text-file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.text-file-button:focus-within{outline:3px solid var(--brand-accent);outline-offset:3px}.text-toolbar-divider{flex:1}.text-toolbar .text-clear{color:var(--brand-danger)}.text-editor-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#text-input{display:block;width:100%;min-height:390px;resize:vertical;border:1px solid var(--brand-line);border-top:0;border-bottom:0;padding:24px;background:#fff;font:16px/1.85 ui-sans-serif,system-ui,sans-serif;color:var(--brand-ink);border-radius:0;tab-size:4}#text-input::placeholder{color:#7c8698}#text-input:focus{outline-offset:-3px}.text-editor-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 15px;border:1px solid var(--brand-line);border-radius:0 0 14px 14px;background:#fff;font-size:10px;color:var(--brand-muted)}.text-selection{font-size:11px;color:var(--brand-muted);padding:0 3px;margin:12px 0}.text-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0}.text-studio .text-primary{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.text-studio .text-primary:hover{background:#243451}.text-notice{background:var(--brand-soft);color:var(--brand-primary);border:1px solid #e4dbc5;border-radius:10px;padding:12px 14px;font-size:12px;line-height:1.6;overflow-wrap:anywhere;margin:14px 0}.text-notice.error{background:#fff2f2;border-color:#eed1d4;color:var(--brand-danger)}.text-panel{padding:18px 20px;background:#fff;border:1px solid var(--brand-line);border-radius:13px;margin-top:15px}.text-panel>summary{font-size:14px;font-weight:650;cursor:pointer;color:var(--brand-ink)}.text-panel>summary small{font-weight:400;font-size:10px;color:var(--brand-muted);margin-left:9px}.text-transform-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:17px 0}.text-transform-grid button{font-size:10px;text-align:left}.text-check{display:inline-flex!important;align-items:center;gap:7px;font-size:11px!important;font-weight:400!important;line-height:1.5}.text-check input{width:16px!important;min-height:16px!important;accent-color:var(--brand-primary)}.text-help{font-size:10px;line-height:1.7;color:var(--brand-muted);margin:11px 0 0}.text-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:17px 0 10px}.text-studio label:not(.text-file-button){font-size:10px;font-weight:650;color:var(--brand-muted);display:grid;gap:6px}.text-studio input:not([type=checkbox]):not([type=file]),.text-studio select{width:100%;min-width:0;min-height:39px;border:1px solid var(--brand-line);border-radius:7px;padding:8px 10px;background:#fff;color:var(--brand-ink);font-size:12px}.text-frequency-controls{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:17px 0}.text-frequency-controls .text-check{margin-bottom:10px;flex:1}.text-frequency-controls button{align-self:end}.text-table-wrap{max-height:380px;overflow:auto;border:1px solid var(--brand-line);border-radius:9px}.text-table-wrap table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px}.text-table-wrap th{position:sticky;top:0;text-align:left;font-size:10px;font-weight:650;background:var(--brand-soft);padding:10px 12px;color:var(--brand-primary)}.text-table-wrap td{padding:9px 12px;border-bottom:1px solid var(--brand-line);overflow-wrap:anywhere}.text-table-wrap th:first-child{width:60%}.text-table-wrap td:not(:first-child),.text-table-wrap th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.text-table-wrap tbody tr:last-child td{border-bottom:0}.text-insights{min-width:0}.text-insight-card{padding:22px;background:#fff;border:1px solid var(--brand-line);border-radius:14px;margin-bottom:16px}.text-card-kicker{font-size:9px;letter-spacing:1.5px;font-weight:700;color:var(--brand-gold-ink);margin-bottom:17px}.text-time{display:grid;grid-template-columns:1fr 1fr;gap:16px}.text-time span{display:block;font-size:10px;color:var(--brand-muted);margin-bottom:7px}.text-time strong{font-size:21px;font-weight:600;letter-spacing:-.5px;color:var(--brand-ink)}.text-settings{border-top:1px solid var(--brand-line);padding-top:14px;margin-top:17px}.text-settings>summary{font-size:10px;font-weight:600;cursor:pointer;color:var(--brand-ink);margin-bottom:13px}.text-limit{display:grid;grid-template-columns:1fr 1fr;gap:12px}#text-goal-bar{display:block;width:100%;height:7px;margin:18px 0 8px;appearance:none;border:0;background:var(--brand-soft);border-radius:10px;overflow:hidden}#text-goal-bar::-webkit-progress-bar{background:var(--brand-soft)}#text-goal-bar::-webkit-progress-value{background:var(--brand-primary)}#text-goal-bar::-moz-progress-bar{background:var(--brand-primary)}#text-goal-state{font-size:11px;color:var(--brand-primary);margin:8px 0}#text-goal-state.over{color:var(--brand-danger)}.text-details{margin:0}.text-details>div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--brand-line);font-size:10px}.text-details dt{color:var(--brand-muted)}.text-details dd{margin:0;color:var(--brand-ink);font-weight:650;font-variant-numeric:tabular-nums}.text-longest{padding-top:17px}.text-longest span{display:block;font-size:9px;color:var(--brand-muted);margin-bottom:6px}.text-longest strong{display:block;font-size:12px;font-weight:600;overflow-wrap:anywhere;max-height:85px;overflow:auto}.text-studio-foot{background:var(--brand-soft);border-top:1px solid var(--brand-line);padding:16px 30px;font-size:11px;color:var(--brand-muted);text-align:center}#text-find-count{font-size:11px;color:var(--brand-muted)}
@media(max-width:1100px){.text-layout{grid-template-columns:minmax(0,1fr) 270px;gap:18px;padding:22px}.text-insight-card{padding:18px}.text-metrics{padding:22px}.text-transform-grid{grid-template-columns:1fr 1fr}.text-time{grid-template-columns:1fr;gap:12px}.text-time>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.text-time span{margin:0}}
@media(max-width:800px){.text-layout{grid-template-columns:1fr}.text-insights{display:grid;grid-template-columns:1fr 1fr;gap:14px}.text-insight-card{margin:0}.text-insight-card:last-child{grid-column:1/-1}.text-top .text-local{display:none}.text-top>div{justify-content:space-between;width:100%}.text-metric{padding:0 14px}.text-metric span{font-size:10px}.text-metric strong{font-size:29px}}
@media(max-width:520px){.text-top{padding:18px}.text-top>div span{font-size:10px}.text-top strong{font-size:18px}.text-metrics{grid-template-columns:1fr 1fr;gap:20px;padding:21px 18px}.text-metric:nth-child(3){padding-left:0}.text-metric:nth-child(2){border:0}.text-metric strong{font-size:32px}.text-layout{padding:15px}.text-toolbar{gap:5px;padding:9px}.text-toolbar button,.text-file-button{padding:8px;font-size:10px}.text-toolbar-divider{display:none}.text-toolbar .text-clear{margin-left:auto}#text-input{min-height:330px;padding:17px;font-size:15px}.text-insights{grid-template-columns:1fr}.text-insight-card:last-child{grid-column:auto}.text-panel{padding:15px}.text-panel>summary small{display:block;margin:4px 0 0}.text-form-grid{grid-template-columns:1fr}.text-frequency-controls{align-items:center}.text-frequency-controls .text-check{flex-basis:100%;margin-bottom:0}.text-actions button{flex:1 1 110px}.text-time{grid-template-columns:1fr 1fr}.text-time>div{display:block}.text-time span{margin-bottom:7px}.text-studio-foot{padding:15px}.text-hero{padding-top:40px}.text-hero .lead{font-size:15px}}
@media(prefers-reduced-motion:reduce){.text-studio *{scroll-behavior:auto;transition:none}}

/* v24: readable controls, selection tools and a wider writing view. */
.text-studio button,.text-file-button{min-height:44px;font-size:12px}.text-help{font-size:12px}.text-studio label:not(.text-file-button){font-size:12px}.text-details>div{font-size:12px}.text-details dd{flex-shrink:0}.text-metric span,.text-editor-footer,.text-selection,.text-panel>summary small{font-size:12px}.text-table-wrap table{font-size:13px}.text-table-wrap th{font-size:12px}.text-card-kicker{font-size:11px}.text-time span{font-size:12px}.text-studio input:not([type=checkbox]):not([type=file]),.text-studio select{min-height:44px;font-size:14px}.text-input-help{margin:0;padding:10px 18px;background:var(--brand-soft);border-top:1px solid var(--brand-line)}.text-scope{max-width:260px;margin:16px 0}.text-page-estimate{font-size:24px;color:var(--brand-primary);font-weight:650;margin:16px 0}.text-focus .text-layout{grid-template-columns:1fr}.text-focus .text-insights,.text-focus .text-panel{display:none}.text-focus #text-input{min-height:65vh}.text-studio :focus-visible{outline:3px solid var(--brand-gold-ink);outline-offset:3px}.text-file-button:focus-within{outline:3px solid var(--brand-gold-ink);outline-offset:3px}.text-insights .text-form-grid{grid-template-columns:1fr}.text-studio [hidden]{display:none!important}.text-check{min-height:36px}.text-check input{width:18px;height:18px;flex-shrink:0}.text-table-wrap th:first-child{width:52%}.text-toolbar{flex-wrap:wrap}.text-editor-footer{flex-wrap:wrap;gap:10px}.text-studio[aria-busy=true] .text-metrics{opacity:.65}
@media(max-width:520px){.text-toolbar button,.text-file-button{font-size:12px;padding:9px}.text-metric span{font-size:11px}.text-studio .text-actions button{min-height:44px}.text-transform-grid{gap:8px}.text-table-wrap td,.text-table-wrap th{padding:9px 8px}}

.text-form-grid textarea{width:100%;min-width:0;min-height:76px;resize:vertical;border:1px solid var(--brand-line);border-radius:7px;padding:10px;background:var(--brand-paper);color:var(--brand-ink);font:inherit;font-size:14px;line-height:1.5}
