/* Desktop analysis studio. The mobile analysis surface owns the small-screen layout. */
@media (min-width: 921px) {
    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-main {
        width: min(1360px, calc(100% - 80px));
        padding: 31px 0 42px;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-studio-page {
        --studio-ink: #294552;
        --studio-copy: #6f858e;
        --studio-muted: #94a6ad;
        --studio-line: #e1eaec;
        --studio-soft: #f4f9f8;
        --studio-teal: #4f9292;
        --studio-blue: #668ab8;
        min-width: 0;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-studio-heading {
        position: relative;
        display: block;
        min-height: 80px;
        padding-right: 190px;
        margin: 0 0 17px;
        text-align: left;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-studio-heading h1 {
        margin: 0;
        color: var(--studio-ink);
        font-size: 38px;
        font-weight: 650;
        line-height: 1.22;
        letter-spacing: -.8px;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-studio-heading p {
        max-width: 720px;
        margin: 9px 0 0;
        color: var(--studio-copy);
        font-size: 14px;
        line-height: 1.7;
        text-align: left;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-studio-eyebrow {
        display: block;
        margin: 0 0 9px;
        color: #69999a;
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 1.55px;
        line-height: 1.4;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-history-link {
        position: absolute;
        right: 0;
        bottom: 0;
        min-height: 44px;
        padding: 10px 13px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        border: 1px solid #d8e7e9;
        border-radius: 10px;
        background: rgba(255, 255, 255, .7);
        color: #66838d;
        font-size: 12px;
        font-weight: 550;
        line-height: 1.4;
        text-decoration: none;
        box-shadow: 0 3px 9px rgba(52, 88, 110, .025);
        transition: border-color .18s ease, background .18s ease, color .18s ease;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-history-link:hover {
        border-color: #abd1d1;
        background: #fff;
        color: var(--studio-teal);
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-history-link svg {
        width: 16px;
        height: 16px;
        fill: none;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.5;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-history-link .analysis-history-arrow {
        width: 14px;
        height: 14px;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-studio-note {
        min-height: 32px;
        margin: 0 0 18px;
        display: flex;
        align-items: center;
        gap: 7px;
        color: var(--studio-muted);
        font-size: 11px;
        line-height: 1.6;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-studio-note svg {
        width: 14px;
        height: 14px;
        flex: 0 0 14px;
        fill: none;
        stroke: #79a4a4;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.5;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-home-layout {
        grid-template-columns: minmax(390px, .78fr) minmax(0, 1.22fr);
        gap: 23px;
        margin-top: 0;
        align-items: stretch;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-control-panel {
        min-height: 650px;
        padding: 24px 25px 21px;
        display: flex;
        flex-direction: column;
        border: 1px solid var(--studio-line);
        border-radius: 18px;
        background: rgba(255, 255, 255, .9);
        box-shadow: 0 8px 25px rgba(48, 85, 96, .045);
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-panel-heading {
        display: none;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-control-panel::before {
        content: "01";
        align-self: flex-end;
        margin: -2px 0 4px;
        color: #b2c4ca;
        font-size: 11px;
        font-weight: 600;
        letter-spacing: 1px;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-control-panel::after {
        content: "";
        width: 34px;
        height: 2px;
        order: -1;
        margin: -23px 0 22px;
        border-radius: 2px;
        background: #b8d8d0;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-upload-drop {
        min-height: 148px;
        padding: 18px;
        border-color: #acd2ce;
        border-radius: 12px;
        background: #fbfefd;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-upload-drop:hover,
    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-upload-drop.dragging {
        border-color: var(--studio-teal);
        background: #f5fbf9;
        box-shadow: 0 0 0 3px rgba(79, 146, 146, .07);
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-upload-drop img {
        width: 48px;
        height: 48px;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-upload-drop strong {
        margin-top: 9px;
        color: var(--studio-ink);
        font-size: 14px;
        line-height: 1.5;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-upload-drop em {
        color: var(--studio-teal);
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-upload-drop > span {
        margin-top: 4px;
        color: var(--studio-muted);
        font-size: 11px;
        text-align: center;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-selected-files {
        margin-top: 9px;
        padding: 9px 12px;
        border-color: #d8e9e7;
        border-radius: 9px;
        background: #f6fbfa;
        color: #64828a;
        font-size: 11px;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-selected-files strong {
        color: var(--studio-teal);
        font-weight: 650;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-drop-notes {
        min-height: 51px;
        border-bottom-color: var(--studio-line);
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-drop-notes span {
        gap: 6px;
        color: #80959c;
        font-size: 10px;
        white-space: normal;
        text-align: center;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-drop-notes .analysis-icon {
        width: 17px;
        height: 17px;
        color: #74a1a0;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-form-block {
        margin-top: 18px;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-prompt-title {
        margin-bottom: 8px;
        color: #536f7a;
        font-size: 12px;
        font-weight: 650;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-prompt {
        min-height: 96px;
        max-height: 150px;
        padding: 12px 13px;
        border-color: #dce7eb;
        border-radius: 10px;
        background: #fcfefe;
        color: #56727b;
        font-size: 12px;
        line-height: 1.75;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-prompt:focus {
        border-color: #8fc6cb;
        box-shadow: 0 0 0 3px rgba(0, 140, 153, .055);
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-quick-pills {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 7px;
        margin-top: 10px;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-quick-pills button {
        min-width: 0;
        min-height: 36px;
        padding: 7px 8px;
        justify-content: flex-start;
        gap: 5px;
        border-color: #dce7eb;
        border-radius: 8px;
        color: #739099;
        background: #fff;
        font-size: 10px;
        font-weight: 550;
        line-height: 1.35;
        text-align: left;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-quick-pills button:hover,
    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-quick-pills button.active {
        border-color: #a6d0cf;
        color: #4e898b;
        background: #eff8f5;
        box-shadow: none;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-quick-pills .analysis-icon {
        width: 16px;
        height: 16px;
        flex: 0 0 16px;
        color: #6da3a2;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-home-footer {
        min-height: 0;
        margin-top: auto;
        padding-top: 20px;
        display: grid;
        grid-template-columns: minmax(0, 1fr) 190px;
        align-items: end;
        gap: 18px;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-rights {
        align-items: flex-start;
        gap: 6px;
        color: #9aabb0;
        font-size: 10px;
        line-height: 1.65;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-rights svg {
        width: 16px;
        height: 16px;
        flex: 0 0 16px;
        margin-top: 1px;
        stroke: #82a2a1;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-start-wrap {
        text-align: right;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-primary {
        min-height: 45px;
        padding: 0 14px;
        border-color: #5c9998;
        border-radius: 10px;
        background: #5c9998;
        font-size: 12px;
        font-weight: 600;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-primary:hover {
        background: #477f80;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-primary:disabled {
        border-color: #c8d9d8;
        background: #dbe8e6;
        color: #7e9898;
        opacity: 1;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-primary img {
        width: 18px;
        height: 18px;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-primary-note {
        margin: 6px 0 0;
        color: #9babb0;
        font-size: 9px;
        line-height: 1.5;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-panel {
        min-height: 650px;
        padding: 0;
        overflow: hidden;
        border: 1px solid var(--studio-line);
        border-radius: 18px;
        background: linear-gradient(145deg, #fcfffd, #f8fbfa 68%, #f2f8f8);
        box-shadow: 0 8px 25px rgba(48, 85, 96, .045);
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-topbar {
        min-height: 62px;
        padding: 10px 22px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        border-bottom: 1px solid #e5eeec;
        background: rgba(250, 253, 251, .72);
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-tabs {
        display: flex;
        align-items: center;
        gap: 19px;
        min-width: 0;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-tabs span {
        min-height: 42px;
        padding: 13px 0 10px;
        border-bottom: 2px solid transparent;
        color: #9aaeb3;
        font-size: 11px;
        font-weight: 550;
        white-space: nowrap;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-tabs span.active {
        border-bottom-color: #76a9a4;
        color: #4d7f80;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-status {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        color: #9aabae;
        font-size: 10px;
        white-space: nowrap;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-status i {
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: #8db9a8;
        box-shadow: 0 0 0 3px #e8f3ee;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-copy {
        padding: 27px 32px 0;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-copy .analysis-studio-eyebrow {
        margin-bottom: 8px;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-copy h2 {
        max-width: 550px;
        margin: 0;
        color: #365c61;
        font-size: 25px;
        font-weight: 600;
        letter-spacing: -.5px;
        line-height: 1.35;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-copy p {
        max-width: 560px;
        margin: 9px 0 0;
        color: #8b9fa4;
        font-size: 12px;
        line-height: 1.75;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-insight-board {
        margin: 23px 32px 0;
        padding: 19px 20px 17px;
        border: 1px solid #dfebe7;
        border-radius: 14px;
        background: rgba(255, 255, 255, .76);
        box-shadow: 0 8px 24px rgba(77, 119, 112, .035);
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-board-heading {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        color: #4b6c6e;
        font-size: 12px;
        font-weight: 650;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-board-heading small {
        color: #a0b0b3;
        font-size: 9px;
        font-weight: 450;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-metric-row {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        margin-top: 14px;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-metric-row span {
        padding: 9px 10px;
        border: 1px solid #e8f0ed;
        border-radius: 9px;
        background: #fbfefd;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-metric-row b,
    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-metric-row small {
        display: block;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-metric-row b {
        color: #527c7e;
        font-size: 17px;
        font-weight: 650;
        line-height: 1.1;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-metric-row small {
        margin-top: 4px;
        color: #a0b1b3;
        font-size: 9px;
        line-height: 1.4;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-board-chart {
        position: relative;
        height: 111px;
        margin-top: 20px;
        display: flex;
        align-items: end;
        justify-content: space-around;
        gap: 10px;
        padding: 0 12px 11px;
        border-bottom: 1px solid #e6eeeb;
        background: repeating-linear-gradient(to bottom, transparent 0, transparent 27px, #edf3f0 28px);
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-board-chart > i {
        position: relative;
        z-index: 1;
        width: 11%;
        height: var(--bar-height);
        min-height: 15px;
        border-radius: 5px 5px 2px 2px;
        background: linear-gradient(to top, #b7d9d2, #79aaa3);
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-chart-axis {
        position: absolute;
        inset: auto 12px 10px;
        height: 1px;
        background: #bfd8d2;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-chart-line {
        position: absolute;
        z-index: 2;
        left: 13%;
        right: 13%;
        bottom: 28px;
        height: 38px;
        border-top: 2px solid #d49d72;
        border-radius: 50%;
        transform: rotate(-7deg) skewX(-18deg);
        opacity: .9;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-board-findings {
        display: grid;
        gap: 7px;
        margin-top: 14px;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-board-findings span {
        display: flex;
        align-items: center;
        gap: 7px;
        color: #80969a;
        font-size: 10px;
        line-height: 1.5;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-board-findings i {
        width: 6px;
        height: 6px;
        flex: 0 0 6px;
        border-radius: 50%;
        background: #7eaaa3;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-board-findings i.green { background: #91b994; }
    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-board-findings i.orange { background: #d6a078; }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-panel .analysis-process-intro {
        margin: 24px 32px 12px;
        padding: 0;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-panel .analysis-process-intro h2 {
        margin: 0 0 4px;
        color: #4e7072;
        font-size: 15px;
        font-weight: 600;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-panel .analysis-process-intro p {
        margin: 0;
        color: #91a3a7;
        font-size: 10px;
        line-height: 1.6;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-panel .analysis-process-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        margin: 0 32px;
        border-color: #e0ebe8;
        border-radius: 10px;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-panel .analysis-process-panel article,
    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-panel .analysis-process-grid article {
        min-height: 92px;
        padding: 13px 12px;
        border-color: #e0ebe8;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-panel .analysis-process-grid article > .analysis-icon {
        width: 25px;
        height: 25px;
        margin-bottom: 9px;
        color: #76a6a1;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-panel .analysis-process-grid article h3 {
        margin: 0 0 3px;
        color: #527174;
        font-size: 11px;
        line-height: 1.4;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-panel .analysis-process-grid article strong {
        color: #94a5a8;
        font-size: 9px;
        line-height: 1.5;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-panel .analysis-deeper {
        margin: 16px 32px 0;
        padding: 12px 0 18px;
        border-top-color: #e2ece9;
        color: #93a4a7;
        font-size: 10px;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-panel .analysis-deeper a {
        margin-top: 5px;
        color: #5a9694;
        font-size: 11px;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-section {
        padding: 50px 0 16px;
        scroll-margin-top: 24px;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-heading {
        display: flex;
        align-items: end;
        justify-content: space-between;
        gap: 28px;
        margin-bottom: 24px;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-heading h2 {
        margin: 0;
        color: #3e626a;
        font-size: 25px;
        font-weight: 600;
        letter-spacing: -.5px;
        line-height: 1.35;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-heading p {
        margin: 8px 0 0;
        color: #8ea1a7;
        font-size: 12px;
        line-height: 1.7;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-heading .analysis-studio-eyebrow {
        margin-bottom: 7px;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-search {
        width: 255px;
        min-width: 180px;
        max-width: 100%;
        min-height: 44px;
        padding: 0 12px;
        display: flex;
        align-items: center;
        gap: 8px;
        border: 1px solid #dfe9ea;
        border-radius: 10px;
        background: rgba(255, 255, 255, .75);
        color: #8aa2a5;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-search:focus-within {
        border-color: #9bc8c7;
        box-shadow: 0 0 0 3px rgba(0, 140, 153, .045);
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-search svg {
        width: 16px;
        height: 16px;
        flex: 0 0 16px;
        fill: none;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.5;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-search input {
        width: 100%;
        height: 42px;
        min-width: 0;
        border: 0;
        outline: 0;
        background: transparent;
        color: #5b7880;
        font-size: 12px;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-search input::placeholder { color: #a0b0b5; }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-filters {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        margin-bottom: 18px;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-filter {
        min-height: 37px;
        padding: 8px 13px;
        border: 1px solid #dfe9ea;
        border-radius: 8px;
        background: rgba(255, 255, 255, .72);
        color: #82999e;
        font-size: 11px;
        font-weight: 550;
        line-height: 1.4;
        cursor: pointer;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-filter:hover,
    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-filter.active {
        border-color: #badbd5;
        background: #eaf6f2;
        color: #4d8988;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 15px;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-card {
        --tile-ink: #6a9992;
        --tile-bg: #edf7f3;
        --tile-line: #dcece5;
        min-width: 0;
        border: 1px solid #e0e9eb;
        border-radius: 14px;
        background: rgba(255, 255, 255, .84);
        box-shadow: 0 4px 15px rgba(41, 74, 91, .02);
        overflow: hidden;
        transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-card[data-category="spreadsheet"] { --tile-ink: #698eae; --tile-bg: #eef5fa; --tile-line: #dceaf2; }
    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-card[data-category="reports"] { --tile-ink: #a58e63; --tile-bg: #faf4e9; --tile-line: #f0e6d1; }
    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-card[data-category="planning"] { --tile-ink: #9385b3; --tile-bg: #f3eff9; --tile-line: #e8e1f1; }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-card:hover,
    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-card:focus-within {
        transform: translateY(-3px);
        border-color: #b8d8d6;
        box-shadow: 0 10px 24px rgba(41, 74, 91, .07);
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-card.selected {
        border-color: #91c6c2;
        background: #fbfffd;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-open {
        width: 100%;
        min-height: 214px;
        padding: 20px 18px 16px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        border: 0;
        background: transparent;
        color: inherit;
        text-align: left;
        cursor: pointer;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-icon {
        width: 39px;
        height: 39px;
        margin-bottom: 16px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid var(--tile-line);
        border-radius: 11px;
        background: var(--tile-bg);
        color: var(--tile-ink);
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-icon svg {
        width: 20px;
        height: 20px;
        fill: none;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.5;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-tag {
        position: absolute;
        margin-top: -55px;
        align-self: flex-end;
        max-width: calc(100% - 68px);
        overflow: hidden;
        color: #9aabb0;
        font-size: 9px;
        line-height: 1.5;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-open h3 {
        margin: 0 0 7px;
        color: #466b73;
        font-size: 14px;
        font-weight: 600;
        line-height: 1.45;
        overflow-wrap: anywhere;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-open p {
        min-height: 38px;
        margin: 0 0 18px;
        display: -webkit-box;
        overflow: hidden;
        color: #8fa2a8;
        font-size: 11px;
        line-height: 1.75;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-footer {
        width: 100%;
        margin-top: auto;
        padding-top: 11px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        border-top: 1px solid #edf2f2;
        color: #89a1a7;
        font-size: 10px;
        line-height: 1.5;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-footer svg {
        width: 14px;
        height: 14px;
        fill: none;
        stroke: #7da4a5;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.5;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-empty {
        min-height: 180px;
        padding: 35px 20px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 10px;
        border: 1px dashed #d8e7e8;
        border-radius: 14px;
        background: #f7fbfa;
        color: #8ba3a8;
        text-align: center;
    }

    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-empty[hidden] { display: none; }
    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-empty svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.3; }
    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-empty h3 { margin: 0; color: #5a7b87; font-size: 16px; font-weight: 550; }
    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-empty button { min-height: 34px; padding: 7px 10px; border: 0; background: transparent; color: #568f8e; font-size: 11px; cursor: pointer; }
}

@media (min-width: 921px) and (max-width: 1200px) {
    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-main { width: min(1120px, calc(100% - 56px)); }
    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-home-layout { grid-template-columns: minmax(340px, .82fr) minmax(0, 1.18fr); gap: 17px; }
    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-control-panel { padding-inline: 19px; }
    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-copy,
    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-insight-board { margin-left: 23px; margin-right: 23px; padding-left: 18px; padding-right: 18px; }
    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-panel .analysis-process-intro,
    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-panel .analysis-process-grid,
    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-panel .analysis-deeper { margin-left: 23px; margin-right: 23px; }
    #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 920px) {
    #analysis-app .analysis-studio-page { display: none; }
}

body[data-ui-theme="dark"] #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-studio-page,
body[data-theme="dark"] #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-studio-page {
    --studio-ink: #e5f0ef;
    --studio-copy: #a5bbb9;
    --studio-muted: #91aaa9;
    --studio-line: #354b4d;
    --studio-soft: #233435;
    --studio-teal: #8ac5bd;
    --studio-blue: #9cb8d5;
}

body[data-ui-theme="dark"] #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-control-panel,
body[data-ui-theme="dark"] #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-panel,
body[data-theme="dark"] #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-control-panel,
body[data-theme="dark"] #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-panel { border-color: #354b4d; background: #1d2a2b; box-shadow: 0 8px 25px rgba(0, 0, 0, .15); }

body[data-ui-theme="dark"] #analysis-app:not(.fuuvo-mobile-analysis-active) :is(.analysis-upload-drop, .analysis-prompt, .analysis-template-search, .analysis-template-card, .analysis-template-filter, .analysis-insight-board, .analysis-metric-row span),
body[data-theme="dark"] #analysis-app:not(.fuuvo-mobile-analysis-active) :is(.analysis-upload-drop, .analysis-prompt, .analysis-template-search, .analysis-template-card, .analysis-template-filter, .analysis-insight-board, .analysis-metric-row span) { border-color: #3a5354; background: #213233; color: #c4d7d4; }

body[data-ui-theme="dark"] #analysis-app:not(.fuuvo-mobile-analysis-active) :is(.analysis-studio-heading h1, .analysis-preview-copy h2, .analysis-template-heading h2, .analysis-template-open h3, .analysis-panel-heading h2),
body[data-theme="dark"] #analysis-app:not(.fuuvo-mobile-analysis-active) :is(.analysis-studio-heading h1, .analysis-preview-copy h2, .analysis-template-heading h2, .analysis-template-open h3, .analysis-panel-heading h2) { color: var(--studio-ink); }

body[data-ui-theme="dark"] #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-topbar,
body[data-theme="dark"] #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-preview-topbar { border-color: #354b4d; background: rgba(29, 42, 43, .8); }

body[data-ui-theme="dark"] #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-empty,
body[data-theme="dark"] #analysis-app:not(.fuuvo-mobile-analysis-active) .analysis-template-empty { border-color: #3a5354; background: #213233; }
