:root {
    color-scheme: light;
    --tb-background: #f5f6f8;
    --tb-surface: #ffffff;
    --tb-text: #33251f;
    --tb-muted: #745f55;
    --tb-accent: #d84a2f;
    --tb-accent-soft: #fff0e6;
    --tb-border: #ead8cb;
    --tb-shadow: 0 8px 24px rgba(45, 35, 30, 0.07);
}

* {
    box-sizing: border-box;
}

html {
    background: var(--tb-background);
    color: var(--tb-text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
    line-height: 1.7;
}

body {
    margin: 0;
}

a {
    color: var(--tb-accent);
}

.tb-hero-bookmarklet-link { background:#fff; border:1px solid var(--tb-border); border-radius:999px; color:var(--tb-accent); display:inline-flex; font-weight:700; margin-top:10px; padding:10px 16px; text-decoration:none; }
.tb-hero-bookmarklet-link:hover, .tb-hero-bookmarklet-link:focus-visible { background:var(--tb-accent-soft); }
.tb-bookmarklet-guide { display:grid; gap:20px; }
.tb-bookmarklet-guide-hero, .tb-bookmarklet-register, .tb-bookmarklet-card { background:#fff; border:1px solid var(--tb-border); border-radius:16px; padding:28px; }
.tb-bookmarklet-guide-hero { background:linear-gradient(135deg,var(--tb-accent-soft),#fff); }
.tb-bookmarklet-guide h1, .tb-bookmarklet-guide h2 { margin-top:0; }
.tb-bookmarklet-register { background:#fffaf3; text-align:center; }
.tb-bookmarklet-drag-link { align-items:center; background:var(--tb-accent); border-radius:12px; color:#fff; cursor:grab; display:inline-flex; font-size:1.05rem; font-weight:700; justify-content:center; min-height:54px; padding:0 26px; text-decoration:none; }
.tb-bookmarklet-drag-link:hover, .tb-bookmarklet-drag-link:focus-visible { color:#fff; filter:brightness(.92); }
.tb-bookmarklet-detail-body { margin-top:18px; }
.tb-bookmarklet-privacy { border-left:5px solid #438a50; }
.tb-manual { display:grid; gap:20px; }
.tb-manual-hero, .tb-manual-toc, .tb-manual-section { background:#fff; border:1px solid var(--tb-border); border-radius:16px; padding:clamp(22px,4vw,38px); }
.tb-manual-hero { background:linear-gradient(135deg,var(--tb-accent-soft),#fff); }
.tb-manual h1 { font-size:clamp(2rem,5vw,3rem); line-height:1.3; margin:.15em 0 .5em; }
.tb-manual h2 { margin-top:0; }
.tb-manual-toc ol { columns:2; margin-bottom:0; padding-left:1.4em; }
.tb-manual-toc li { break-inside:avoid; margin-bottom:7px; }
.tb-step-number { color:var(--tb-accent); font-size:.8rem; font-weight:800; letter-spacing:.12em; margin:0 0 5px; }
.tb-guide-important { background:#fffaf3; border-left:5px solid #b78a0d; }

.tb-page {
    min-height: 100vh;
    margin: 0 auto;
    max-width: 1080px;
    padding: 24px 16px 48px;
}

.tb-header {
    align-items: center;
    background: #fff;
    border-radius: 14px;
    box-shadow: var(--tb-shadow);
    display: flex;
    gap: 28px;
    margin-bottom: 18px;
    padding: 16px 20px;
}

.tb-header-brand { align-items:center; display:flex; flex:0 0 auto; gap:10px; }

.tb-brand {
    align-items: center;
    color: var(--tb-text);
    display: inline-flex;
    font-size: 1.35rem;
    font-weight: 800;
    gap: 10px;
    text-decoration: none;
}

.tb-brand img { display:block; height:auto; width:250px; }

.tb-brand-mark {
    align-items: center;
    background: var(--tb-accent);
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    height: 36px;
    justify-content: center;
    width: 36px;
}

.tb-version,
.tb-eyebrow {
    color: var(--tb-muted);
    font-size: 0.86rem;
}

.tb-main {
    margin: 0;
    max-width: none;
    padding: 0;
}

.tb-hero,
.tb-section {
    background: var(--tb-surface);
    border: 1px solid #eef0f3;
    border-radius: 14px;
    box-shadow: var(--tb-shadow);
    padding: 24px;
}

.tb-hero {
    background:linear-gradient(135deg,#fff 0%,#fffaf8 100%);
    overflow:hidden;
    padding:34px 32px;
    position:relative;
}

.tb-hero::after { background:var(--tb-accent); border-radius:999px; box-shadow:19px 7px 0 -3px var(--tb-accent); content:""; height:9px; opacity:.6; position:absolute; right:31px; top:22px; transform:rotate(-12deg); width:9px; }
.tb-hero-inner { align-items:center; display:grid; gap:30px; grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr); margin:0 auto; max-width:1180px; position:relative; z-index:1; }
.tb-hero-copy { min-width:0; }
.tb-hero-visual { aspect-ratio:1.62 / 1; border-radius:12px; overflow:hidden; }
.tb-hero-image { display:block; height:100%; object-fit:cover; object-position:right center; width:100%; }
.tb-hero-links { align-items:center; display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.tb-hero-links .tb-hero-bookmarklet-link { margin-top:0; }

.tb-hero h1 {
    font-size: clamp(1.9rem, 3.15vw, 2.55rem);
    letter-spacing: -0.02em;
    line-height: 1.35;
    margin: 0.15em 0 0.45em;
}

.tb-eyebrow {
    color: var(--tb-accent);
    font-weight: 700;
    letter-spacing: 0.08em;
    margin: 0;
}

.tb-section {
    margin-top: 18px;
}

.tb-section h2 {
    border-bottom:1px solid #eee;
    font-size:1.35rem;
    margin:0 0 18px;
    padding-bottom:9px;
}

.tb-check-list {
    margin-bottom: 0;
    padding-left: 1.4em;
}

.tb-check-list li + li {
    margin-top: 0.45em;
}

.tb-search-form { display: grid; gap: 18px; }
.tb-search-modes { border: 0; display: flex; flex-wrap: wrap; gap: 12px 24px; margin: 0; padding: 0; }
.tb-search-modes legend, .tb-field span { display: block; font-weight: 700; margin-bottom: 6px; }
.tb-field input, .tb-field textarea, .tb-form-row select { background: #fff; border: 1px solid #bda99d; border-radius: 10px; color: var(--tb-text); font: inherit; padding: 12px 14px; width: 100%; }
.tb-field-heading { align-items:baseline; display:flex; flex-wrap:wrap; font-weight:700; gap:6px 14px; justify-content:space-between; margin-bottom:6px; }
.tb-field-heading a { font-size:.82rem; font-weight:600; }
.tb-field textarea { display:block; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:0.78rem; line-height:1.5; resize:vertical; }
.tb-field input:focus, .tb-field textarea:focus, .tb-form-row select:focus { border-color: var(--tb-accent); box-shadow: 0 0 0 3px rgba(216, 74, 47, 0.16); outline: 0; }
.tb-button { align-items: center; background: var(--tb-accent); border: 0; border-radius: 9px; box-shadow:0 3px 8px rgba(216,74,47,.15); color: #fff; cursor: pointer; display: inline-flex; font: inherit; font-weight: 700; justify-content: center; min-height:46px; padding: 10px 22px; text-decoration: none; width: fit-content; }
.tb-button:hover { filter: brightness(0.92); }
.tb-button:disabled { cursor:not-allowed; filter:none; opacity:.5; }
.tb-button-small { font-size: 0.9rem; padding: 8px 14px; }
.tb-results { border-top: 1px solid var(--tb-border); margin-top: 32px; padding-top: 28px; }
.tb-result-count, .tb-shop-meta, .tb-shop-id, .tb-shop-genre, .tb-image-credit, .tb-credit { color: var(--tb-muted); font-size: 0.88rem; }
.tb-notice { background: var(--tb-accent-soft); border-left: 4px solid var(--tb-accent); border-radius: 8px; margin-bottom: 0; padding: 14px 16px; }
.tb-notice-error { background: #fff1ef; }
.tb-shop-list { display: grid; gap: 16px; }
.tb-shop { border: 1px solid var(--tb-border); border-radius: 14px; display: flex; gap: 20px; overflow: hidden; padding: 18px; }
.tb-shop-image { aspect-ratio: 4 / 3; border-radius: 9px; flex: 0 0 168px; object-fit: cover; }
.tb-shop-body { min-width: 0; }
.tb-shop h4, .tb-shop p { margin: 0 0 6px; }
.tb-shop h4 { font-size: 1.15rem; }
.tb-shop-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 10px 14px; padding-top: 6px; }
.tb-image-credit { margin-bottom: 0; text-align: right; }
.tb-credit { padding: 22px 10px 0; text-align: center; }
.tb-card-preview { background:#fff; border:1px dashed #cdb7a9; border-radius:12px; min-height:160px; overflow:auto; padding:20px; }
.tb-output-list { display:grid; gap:20px; margin-top:26px; }
.tb-output-item { border-top:1px solid var(--tb-border); min-width:0; padding-top:18px; }
.tb-output-item h3 { margin-top:0; }
.tb-standalone-preview { background:#fff; border:1px dashed #cdb7a9; border-radius:9px; margin-bottom:12px; min-height:64px; overflow:auto; overflow-wrap:anywhere; padding:16px; }
.tb-standalone-preview[hidden] { display:none; }
.tb-standalone-image-preview { min-height:180px; }
.tb-standalone-image-preview img { display:block; height:auto; max-width:100%; }
.tb-output-item textarea { background:#fff; border:1px solid #bda99d; border-radius:9px; display:block; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:0.8rem; line-height:1.5; margin-bottom:10px; max-width:100%; min-width:0; padding:12px; resize:vertical; width:100%; }
.tb-copy-status { color:var(--tb-accent); font-weight:700; min-height:1.7em; }
.tb-affiliate-settings { background:#fffaf3; border:1px solid var(--tb-border); border-radius:14px; margin:24px 0; padding:20px; }
.tb-affiliate-settings h3 { margin-top:0; }
.tb-affiliate-grid { display:grid; gap:18px; margin:18px 0; }
.tb-affiliate-status { color:var(--tb-muted); display:block; margin-top:5px; }
.tb-affiliate-status.is-valid { color:#287a43; font-weight:700; }
.tb-button-secondary { background:#fff; border:1px solid #d8dce2; box-shadow:none; color:var(--tb-text); }
.tb-settings-box { display:grid; gap:20px; margin-top:20px; }
.tb-settings-toolbar { align-items:end; display:flex; flex-wrap:wrap; gap:12px 18px; }
.tb-settings-toolbar .tb-form-row { flex:1 1 260px; }
.tb-form-actions { display:flex; flex-wrap:wrap; gap:10px; }
.tb-form-row { display:block; min-width:0; }
.tb-form-label { display:block; font-weight:700; margin-bottom:6px; }
.tb-inline-options { align-items:center; display:flex; flex-wrap:wrap; gap:8px 18px; min-height:48px; }
.tb-inline-options label { align-items:center; display:inline-flex; gap:5px; }
.tb-form-row small, .tb-field small, .tb-field-help { color:var(--tb-muted); display:block; font-size:.82rem; margin-top:5px; }
.tb-field-help[hidden] { display:none; }
.tb-settings-save-status { color:var(--tb-accent); font-weight:700; min-height:1.7em; }
.tb-preview-heading { align-items:end; display:flex; justify-content:space-between; gap:20px; margin-top:28px; }
.tb-preview-heading h3, .tb-preview-heading p { margin:0; }
.tb-preview-switch { background:#f1e8e1; border-radius:999px; display:inline-flex; padding:4px; }
.tb-preview-switch-button { background:transparent; border:0; border-radius:999px; color:var(--tb-muted); cursor:pointer; font:inherit; font-weight:700; padding:8px 15px; }
.tb-preview-switch-button.is-active { background:#fff; box-shadow:0 2px 8px rgba(83,48,31,.12); color:var(--tb-accent); }
.tb-device-previews { margin-top:14px; }
.tb-device-preview[hidden] { display:none; }
.tb-device-preview-mobile { background:#ece9e7; border-radius:16px; overflow:auto; padding:24px; }
.tb-mobile-frame-shell { background:#fff; border:8px solid #33251f; border-radius:30px; box-shadow:0 14px 30px rgba(83,48,31,.18); margin:0 auto; max-width:390px; overflow:hidden; padding:12px 0; }
.tb-mobile-frame-shell iframe { border:0; display:block; height:560px; width:100%; }
.tb-generate-form { margin-top:28px; }
.tb-display-settings { border:1px solid var(--tb-border); border-radius:14px; margin:0; padding:22px; }
.tb-display-settings legend { font-size:1.15rem; font-weight:800; padding:0 8px; }
.tb-display-primary-grid { display:grid; gap:18px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.tb-display-settings-grid { display:grid; gap:18px; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:20px; }
.tb-output-item[hidden] { display:none; }
.tb-history-heading { align-items:flex-start; display:flex; gap:20px; justify-content:space-between; }
.tb-history-heading h2, .tb-history-heading p { margin-top:0; }
.tb-history-summary { align-items:center; display:flex; flex:0 0 auto; gap:12px; }
.tb-history-summary span { color:var(--tb-muted); font-weight:700; white-space:nowrap; }
.tb-history-empty { background:var(--tb-accent-soft); border-radius:10px; color:var(--tb-muted); margin-bottom:0; padding:16px; }
.tb-link-history-list { display:grid; gap:14px; margin-top:20px; }
.tb-link-history-list[hidden] { display:none; }
.tb-link-history-item { align-items:flex-start; border:1px solid var(--tb-border); border-radius:14px; display:flex; gap:18px; padding:16px; }
.tb-link-history-image { aspect-ratio:4 / 3; border-radius:9px; flex:0 0 128px; height:96px; object-fit:cover; width:128px; }
.tb-link-history-content { min-width:0; }
.tb-link-history-content h3 { font-size:1.05rem; margin:0 0 5px; }
.tb-link-history-keyword, .tb-link-history-meta { color:var(--tb-muted); font-size:.88rem; margin:0 0 5px; overflow-wrap:anywhere; }
.tb-link-history-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.tb-legacy-review-notice, .tb-legacy-detect-box, .tb-legacy-preview, .tb-legacy-restore { background:var(--tb-accent-soft); border:1px solid var(--tb-border); border-radius:12px; padding:18px; }
.tb-legacy-review-notice p, .tb-legacy-detect-box p { margin:6px 0 12px; }
.tb-legacy-manual-box { border:1px solid var(--tb-border); border-radius:12px; margin-top:18px; padding:16px 18px; }
.tb-legacy-manual-box summary { cursor:pointer; font-weight:700; }
.tb-legacy-manual-box .tb-field { display:block; margin:16px 0; }
.tb-legacy-preview, .tb-legacy-restore { margin-top:18px; }
.tb-legacy-preview h3 { margin-top:0; }
.tb-legacy-preview-list { display:grid; gap:10px; margin-bottom:16px; }
.tb-legacy-preview-card { background:#fff; border:1px solid var(--tb-border); border-radius:10px; display:grid; gap:4px; padding:13px 15px; }
.tb-legacy-preview-card span { color:var(--tb-muted); font-size:.88rem; }
.tb-legacy-restore { align-items:center; display:flex; flex-wrap:wrap; gap:12px 18px; justify-content:space-between; }
.tb-legacy-review-notice[hidden], .tb-legacy-preview[hidden], .tb-legacy-restore[hidden] { display:none; }
.tb-settings-diagnostic-result { background:#fffaf3; border:1px solid var(--tb-border); border-radius:14px; margin-top:22px; padding:20px; }
.tb-settings-diagnostic-result[hidden] { display:none; }
.tb-settings-diagnostic-result.is-stale { opacity:.62; }
.tb-settings-diagnostic-result.is-stale::before { color:var(--tb-accent); content:'入力内容が変わりました。もう一度診断してください。'; display:block; font-weight:700; margin-bottom:10px; }
.tb-settings-diagnostic-heading { align-items:flex-start; display:flex; gap:16px; justify-content:space-between; }
.tb-settings-diagnostic-heading h3 { margin:2px 0 0; }
.tb-settings-diagnostic-close { background:transparent; border:0; color:var(--tb-muted); cursor:pointer; font-size:1.8rem; line-height:1; }
.tb-settings-diagnostic-summary { display:grid; gap:10px; grid-template-columns:repeat(4,minmax(0,1fr)); margin:18px 0; }
.tb-settings-diagnostic-count { background:#fff; border:1px solid var(--tb-border); border-radius:10px; display:grid; padding:10px 12px; }
.tb-settings-diagnostic-count span { color:var(--tb-muted); font-size:.78rem; }
.tb-settings-diagnostic-count.is-ok strong { color:#287a43; }
.tb-settings-diagnostic-count.is-review strong { color:#9b6800; }
.tb-settings-diagnostic-items { display:grid; gap:12px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.tb-settings-diagnostic-item { background:#fff; border:1px solid var(--tb-border); border-left:4px solid #8a939c; border-radius:10px; min-width:0; padding:14px; }
.tb-settings-diagnostic-item.is-ok { border-left-color:#438a50; }
.tb-settings-diagnostic-item.is-review { border-left-color:#b78a0d; }
.tb-settings-diagnostic-item-heading { align-items:flex-start; display:flex; gap:8px; }
.tb-settings-diagnostic-item-heading h4 { font-size:.95rem; margin:1px 0 8px; }
.tb-settings-diagnostic-status { background:#f1e8e1; border-radius:999px; flex:0 0 auto; font-size:.72rem; font-weight:700; padding:2px 7px; }
.tb-settings-diagnostic-item p { font-size:.84rem; margin:0 0 7px; }
.tb-settings-diagnostic-action-text { color:var(--tb-muted); }
.tb-settings-file-input { display:block; margin-top:22px; }
.tb-settings-file-input input { padding:10px; }
.tb-settings-file-panel { background:var(--tb-accent-soft); border:1px solid var(--tb-border); border-radius:12px; margin-top:18px; padding:18px; }
.tb-settings-file-panel[hidden] { display:none; }
.tb-settings-reset-area { border-top:1px solid var(--tb-border); margin-top:24px; padding-top:20px; }
.tb-guide-section { scroll-margin-top:20px; }
.tb-guide-hero { background:linear-gradient(135deg,var(--tb-accent-soft),#fff); border:1px solid var(--tb-border); border-radius:14px; padding:22px 24px; }
.tb-guide-hero h2 { margin:.15em 0 .35em; }
.tb-guide-hero p:last-child { margin-bottom:0; }
.tb-guide-steps { display:grid; gap:16px; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:22px; }
.tb-guide-step { background:#fffaf3; border:1px solid var(--tb-border); border-radius:14px; min-width:0; padding:16px; }
.tb-guide-step > strong { color:var(--tb-accent); display:inline-block; font-size:.8rem; letter-spacing:.1em; }
.tb-guide-step h3 { font-size:1.08rem; margin:.25em 0 .4em; }
.tb-guide-step p { margin-top:0; min-height:5.1em; }
.tb-guide-step img { background:#fff; border:1px solid var(--tb-border); border-radius:9px; display:block; height:auto; width:100%; }
.tb-guide-note { background:#fff8dd; border-left:5px solid #b78a0d; border-radius:9px; margin-top:20px; padding:14px 16px; }
.tb-guide-note p { margin:.3em 0 0; }
.tb-guide-links { display:flex; flex-wrap:wrap; gap:8px 20px; justify-content:space-between; margin:18px 0 0; }

.tb-footer {
    color: var(--tb-muted);
    font-size: 0.86rem;
    padding: 24px 20px 40px;
    text-align: center;
}

.tb-footer-nav, .tb-related-services { display:flex; flex-wrap:wrap; gap:8px 18px; justify-content:center; margin-bottom:10px; }
.tb-related-services { color:var(--tb-muted); font-size:.9rem; }

.tb-visually-hidden { border:0; clip:rect(0 0 0 0); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute; white-space:nowrap; width:1px; }
.tb-header-search { align-items:center; display:flex; flex:1 1 auto; gap:8px; min-width:0; }
.tb-header-search input, .tb-header-search select { background:#fff; border:1px solid #d8dce2; border-radius:9px; color:var(--tb-text); font:inherit; height:46px; }
.tb-header-search input { flex:1 1 auto; min-width:160px; padding:0 14px; }
.tb-header-search select { flex:0 0 130px; padding:0 12px; }
.tb-header-search input:focus, .tb-header-search select:focus { border-color:var(--tb-accent); box-shadow:0 0 0 3px rgba(216,74,47,.14); outline:0; }
.tb-header-search-button { flex:0 0 auto; min-width:82px; }

.tb-related-services-desktop { display:grid; gap:10px; position:fixed; right:0; top:180px; z-index:20; }
.tb-related-service { align-items:center; border:1px solid rgba(70,78,86,.12); border-radius:14px 0 0 14px; border-right:0; box-shadow:0 5px 14px rgba(0,0,0,.08); color:#5b6066; display:flex; font-size:15px; font-weight:800; justify-content:center; letter-spacing:.08em; line-height:1.15; min-height:96px; padding:10px 8px; text-decoration:none; transition:transform .2s ease; width:52px; writing-mode:vertical-rl; }
.tb-related-service:hover, .tb-related-service:focus-visible { color:#363b40; text-decoration:none; transform:translateX(-3px); }
.tb-related-service-kaereba { background:#f7eaf2; }
.tb-related-service-yomereba { background:#ebf1f7; }
.tb-related-service-tomareba { background:#eef4ed; }

.tb-hero-close { align-items:center; background:rgba(76,61,54,.5); border:0; border-radius:999px; color:#fff; cursor:pointer; display:inline-flex; font-size:23px; height:32px; justify-content:center; line-height:1; padding:0; position:absolute; right:12px; top:12px; width:32px; z-index:4; }
.tb-hero-close:hover, .tb-hero-close:focus-visible { background:rgba(76,61,54,.75); outline:none; transform:scale(1.05); }
.tb-hero-reopen { background:rgba(76,61,54,.12); border:1px solid rgba(76,61,54,.2); border-radius:999px; color:rgba(76,61,54,.65); cursor:pointer; display:none; height:32px; margin:0 0 12px auto; padding:0; width:32px; }
.tb-hero-dismissed .tb-hero { display:none; }
.tb-hero-dismissed .tb-hero-reopen { align-items:center; display:flex; justify-content:center; }

.tb-settings-toolbar { align-items:center; justify-content:flex-start; }
.tb-settings-toolbar .tb-form-row { align-items:center; display:grid; flex:1 1 430px; gap:12px; grid-template-columns:auto minmax(240px,1fr); }
.tb-settings-toolbar .tb-form-label { margin:0; white-space:nowrap; }
.tb-affiliate-grid, .tb-settings-box { gap:16px; }
.tb-settings-box > .tb-field { background:#fffaf7; border:1px solid #f0dfd6; border-radius:10px; padding:16px; }
.tb-field input, .tb-field textarea, .tb-form-row select { border-color:#d3c7c0; }

@media (max-width: 600px) {
    .tb-page { padding:12px 10px 32px; }
    .tb-header {
        align-items:stretch;
        flex-direction:column;
        gap:12px;
        padding:16px;
    }

    .tb-header-brand { justify-content:center; }
    .tb-brand img { height:auto; width:225px; }

    .tb-version {
        font-size: 0.74rem;
    }

    .tb-main {
        padding:0;
    }

    .tb-hero,
    .tb-section {
        border-radius: 15px;
        padding: 24px 20px;
    }

    .tb-header-search { display:grid; grid-template-columns:1fr auto; }
    .tb-header-search input { grid-column:1 / -1; min-width:0; width:100%; }
    .tb-header-search select { min-width:0; width:100%; }
    .tb-header-search-button { min-width:96px; width:100%; }
    .tb-related-services-desktop { display:none; }
    .tb-hero { padding:27px 16px 22px; }
    .tb-hero::after { right:22px; top:18px; }
    .tb-hero-inner { display:grid; gap:20px; grid-template-columns:1fr; }
    .tb-hero-copy { text-align:center; }
    .tb-hero-visual { aspect-ratio:1.55 / 1; margin:0 -6px; }
    .tb-hero-image { object-position:right center; }
    .tb-hero h1 { font-size:clamp(1.6rem,6.8vw,1.85rem); }
    .tb-eyebrow { letter-spacing:.04em; }
    .tb-hero-copy > p:not(.tb-eyebrow) { font-size:.92rem; }
    .tb-hero-links .tb-button, .tb-hero-links .tb-hero-bookmarklet-link { justify-content:center; width:100%; }
    .tb-manual-toc ol { columns:1; }

    .tb-shop { display: block; }
    .tb-shop-image { margin-bottom: 14px; width: 100%; }
    .tb-preview-heading { align-items:flex-start; display:grid; }
    .tb-display-primary-grid, .tb-display-settings-grid { grid-template-columns:1fr; }
    .tb-display-settings { padding:18px 16px; }
    .tb-settings-toolbar { align-items:stretch; display:grid; }
    .tb-settings-toolbar .tb-form-row { display:block; }
    .tb-form-actions .tb-button { flex:1 1 160px; }
    .tb-device-preview-mobile { margin-left:-6px; margin-right:-6px; padding:12px 6px; }
    .tb-history-heading { display:grid; }
    .tb-history-summary { justify-content:space-between; width:100%; }
    .tb-link-history-item { display:block; }
    .tb-link-history-image { height:auto; margin-bottom:12px; width:100%; }
    .tb-settings-diagnostic-summary, .tb-settings-diagnostic-items { grid-template-columns:1fr; }
    .tb-guide-steps { grid-template-columns:1fr; }
    .tb-guide-step p { min-height:0; }
    .tb-guide-hero { padding:18px; }
}

@media (min-width: 601px) and (max-width: 900px) {
    .tb-header { align-items:stretch; flex-direction:column; gap:14px; }
    .tb-header-brand { justify-content:center; }
    .tb-hero-inner { gap:22px; grid-template-columns:1fr; }
    .tb-hero-copy { text-align:center; }
    .tb-hero-visual { margin:0 auto; max-width:680px; width:100%; }
}

@media (min-width: 601px) and (max-width: 900px) {
    .tb-guide-steps { grid-template-columns:1fr; }
    .tb-guide-step p { min-height:0; }
}
