
    .login.svelte-h34f85{
        background-color: #f8f9fa;
        color: #333333;
        width: 100%;
        height: 100vh;
        display: grid;
        justify-content: center;
    }
    .login_inner.svelte-h34f85{
        padding: 80px 24px;
        width: 415px;
    }
    .logo.svelte-h34f85{
        display: grid;
        justify-content: center;
        gap: 16px;
    }
    .login_title.svelte-h34f85{
        font-size: 24px;
        font-weight: 700;
        margin-top: 48px;
        text-align: center;
    }
    .login_text.svelte-h34f85{
        margin-top: 24px;
        line-height: 2;
    }
    .form.svelte-h34f85{
        display: grid;
        gap: 24px;
        margin-top: 24px;
    }
    .form_item.svelte-h34f85{
        display: grid;
        gap: 4px;
    }
    .form_label.svelte-h34f85{
        font-weight: 700;
    }
    .form_label.required.svelte-h34f85::after{
        content: "*";
        display: inline-block;
        color: #FD5659;
        margin-left: 3px;
    }
    .form_input.svelte-h34f85{
        padding: 4px 8px;
        border: 1px solid #ddd;
        border-radius: 4px;
        background-color: #fff;
        color: #333;
    }
    .form_input.svelte-h34f85::placeholder{
        color: #999;
    }
    .sso_btn.svelte-h34f85{
        display: grid;
        grid-template-columns: 40px 1fr;
        width: 100%;
        color: #fff;
        background-color: #1795CF;
        border: 2px solid #1795CF;
        font-weight: 700;
        text-align: center;
        border-radius: 4px;
        cursor: pointer;
        transition: background-color 0.2s ease;
        overflow: hidden;
    }
    .sso_btn.svelte-h34f85:hover{
        background-color: #0274a8;
        border: 2px solid #0274a8;
    }
    .sso_btn.svelte-h34f85:disabled{
        background-color: #ccc;
        border: 2px solid #ccc;
        cursor: not-allowed;
    }
    .sso_btn_icon.svelte-h34f85{
        background-color: #fff;
        display: grid;
        place-items: center;
    }
    .sso_btn_text.svelte-h34f85{
        padding: 8px;
        text-align: center;
    }
    .login_btn.svelte-h34f85{
        color: #fff;
        background-color: #1795CF;
        font-weight: 700;
        text-align: center;
        padding: 8px;
        border-radius: 4px;
        cursor: pointer;
        transition: background-color 0.2s ease;
    }
    .back_btn.svelte-h34f85{
        width: 100%;
        font-weight: 700;
        text-align: center;
        padding: 8px;
    }
    .login_btn.svelte-h34f85:hover{
        background-color: #0274a8;
    }
    .form_item.svelte-h34f85 + .login_btn:where(.svelte-h34f85),.login_text.svelte-h34f85 + .login_btn:where(.svelte-h34f85){
        margin-top: 24px;
    }
    .link.svelte-h34f85{
        color: #0274a8;
        font-weight: 600;
        transition: color 0.2s ease;
    }
    .link.svelte-h34f85:hover{
        color: #0274a8;
        text-decoration: underline;
    }
    .form_link.svelte-h34f85{
        text-align: right;
    }
    .form_link.svelte-h34f85::after{
        content: "";
        display: inline-block;
        width: 14px;
        height: 14px;
        background: url(/img/icon_formArrow.svg)no-repeat center center / contain;
        margin-left: 4px;
    }
    .profile_header.svelte-h34f85{
        display: grid;
        gap: 16px;
    }
    .profile_complete.svelte-h34f85{
        display: grid;
        grid-template-columns: 19px 1fr;
        gap: 7px;
        align-items: center;
        background-color: #fff;
        border-radius: 2px;
        padding: 12px 16px;
        color: #313131;
        margin-bottom: 24px;
    }


    .header.svelte-oiwvqb {
        background: #313131;
        color: #FFFFFF;
        height: 80px;
        display: flex;
        align-items: center;
        width: 100%;
        box-shadow: 0 6px 24px rgba(0,0,0,0.14);
        position: relative;
        z-index: 10000;
    }

    .header-content.svelte-oiwvqb {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        padding: 0 20px;
    }

    .title.svelte-oiwvqb {
        font-size: 2em;
        font-weight: normal;
    }
    .title.svelte-oiwvqb {
        display: flex;
        align-items: center;
        gap: 12px;
        font-size: 1em;
        font-weight: normal;
    }

    .title.svelte-oiwvqb img:where(.svelte-oiwvqb) {
        max-height: 40px;
        vertical-align: middle;
    }

    .title.svelte-oiwvqb .version:where(.svelte-oiwvqb) {
        font-size: 0.9em;
        color: #777;
        display: inline-block;
        padding: 2px 6px;
        border-radius: 12px;
        background-color: rgba(0, 0, 0, 0.05);
        transition: all 0.3s ease;
    }

    /* ダークモード対応 */
    .dark-mode .title.svelte-oiwvqb .version:where(.svelte-oiwvqb) {
        background-color: rgba(255, 255, 255, 0.1);
        color: #aaa;
    }

.title.svelte-oiwvqb .version:where(.svelte-oiwvqb):hover {
        transform: translateY(-1px);
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* 履歴ダウンロードボタン（簡易スタイル） */
.history-download-btn.svelte-oiwvqb {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 8px;
    background: transparent;
    color: #fff;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
    margin-right: 12px;
}
.history-download-btn.svelte-oiwvqb img:where(.svelte-oiwvqb) { width: 18px; height: 18px; }
.history-download-btn.svelte-oiwvqb:hover { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.35); }
 .history-download-btn[disabled].svelte-oiwvqb {
     opacity: 0.6;
     cursor: not-allowed;
 }

    /* === Download spinner modal (other_project parity) === */
    .download-overlay.svelte-oiwvqb {
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,0.35);
        z-index: 20000;
        display: grid;
        place-items: center;
        backdrop-filter: blur(1px);
    }
    .download-modal.svelte-oiwvqb {
        background: rgba(40,40,40,0.95);
        color: #fff;
        padding: 20px 24px;
        border-radius: 12px;
        display: grid;
        justify-items: center;
        gap: 10px;
        min-width: 240px;
        box-shadow: 0 18px 36px rgba(0,0,0,0.35);
    }
    .header.light-mode .download-modal.svelte-oiwvqb,
    .download-overlay.light-mode.svelte-oiwvqb .download-modal:where(.svelte-oiwvqb) {
        background: rgba(255,255,255,0.98);
        color: #212529;
        box-shadow: 0 18px 36px rgba(0,0,0,0.15);
    }
    .download-modal.svelte-oiwvqb .spinner:where(.svelte-oiwvqb) {
        width: 36px;
        height: 36px;
        border-radius: 50%;
        border: 3px solid rgba(255,255,255,0.25);
        border-top-color: rgba(255,255,255,0.85);
        animation: svelte-oiwvqb-spin 1s linear infinite;
    }
    .download-overlay.light-mode.svelte-oiwvqb .download-modal:where(.svelte-oiwvqb) .spinner:where(.svelte-oiwvqb) {
        border-color: rgba(0,0,0,0.15);
        border-top-color: rgba(0,0,0,0.6);
    }
    @keyframes svelte-oiwvqb-spin { from { transform: rotate(0deg);} to { transform: rotate(360deg);} }


    .login.svelte-oiwvqb {
        display: flex;
        align-items: center;
    }

    .avatar.svelte-oiwvqb {
        width: 40px;
        height: 40px;
        margin-right: 10px;
    }

    .user-info.svelte-oiwvqb {
        display: flex;
        flex-direction: column;
        align-items: flex-start; /* 開発部を左寄せ */
    }

    .header-right.svelte-oiwvqb{
        display: flex;
        align-items: center;
        gap: 28px;
    }

    .building-selection.open.svelte-oiwvqb .building-selection-content:where(.svelte-oiwvqb){
        display: grid;
    }
    .building-selection-btn.svelte-oiwvqb{
        display: grid;
        grid-template-columns: 24px 1fr;
        padding: 8px;
        border-radius: 4px;
        gap: 4px;
    }
    .building-selection-btn.svelte-oiwvqb:hover{
        background-color: #626263;
    }
    .building-selection-content.svelte-oiwvqb{
        position: absolute;
        background-color: #626263;
        padding: 8px 0;
        min-width: 180px;
        border-radius: 4px;
        display: none;
        z-index: 1001;
    }
    .building-selection-content.svelte-oiwvqb button:where(.svelte-oiwvqb){
        padding: 8px 24px;
    }
    .building-selection-content.svelte-oiwvqb button:where(.svelte-oiwvqb):hover{
        background-color: #939394;
    }

    .model-selection.svelte-oiwvqb {
        display: flex;
        align-items: center;
        margin-right: 20px;
        position: relative;
        gap: 8px;
    }

    .model-selection.svelte-oiwvqb img:where(.svelte-oiwvqb) {
        width: 30px;
        height: 30px;
    }

    .model-selection.svelte-oiwvqb select:where(.svelte-oiwvqb) {
        padding: 6px 8px;
        border: none;
        border-radius: 6px;
        background: transparent;
        color: inherit;
        appearance: none;
    }

    .model-selection.svelte-oiwvqb select:where(.svelte-oiwvqb):focus {
        outline: 2px solid rgba(255,255,255,0.35);
        outline-offset: 2px;
    }

    .model-selection-btn.svelte-oiwvqb {
        display: grid;
        grid-template-columns: 24px 1fr;
        align-items: center;
        gap: 8px;
        padding: 8px 12px;
        border-radius: 8px;
        border: none;
        background: rgba(255,255,255,0.05);
        color: inherit;
        font: inherit;
        cursor: pointer;
        font-size: 0.95rem;
        transition: background-color 0.2s ease;
    }

    .model-selection-btn.svelte-oiwvqb:hover {
        background: rgba(255,255,255,0.12);
    }

    .model-selection.open.svelte-oiwvqb .model-selection-btn:where(.svelte-oiwvqb) {
        background: rgba(255,255,255,0.16);
    }

    .model-selection-content.svelte-oiwvqb {
        display: none;
    }

    .model-selection-mobile-header.svelte-oiwvqb {
        display: none;
    }

    .model-selection-close.svelte-oiwvqb {
        display: none;
    }

    .model-selection.mobile.svelte-oiwvqb .model-selection-content:where(.svelte-oiwvqb) {
        display: none;
    }

    .model-selection.mobile.svelte-oiwvqb .model-selection-content:where(.svelte-oiwvqb) button:where(.svelte-oiwvqb) {
        background: transparent;
        color: inherit;
        padding: 12px 20px;
        font-size: 0.95rem;
        font-weight: 500;
        border: none;
        text-align: left;
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin: 0;
        border-radius: 0;
        min-height: 44px;
        transition: background-color 0.15s ease;
        cursor: pointer;
    }

    .model-selection.mobile.svelte-oiwvqb .model-selection-content:where(.svelte-oiwvqb) button.model-active:where(.svelte-oiwvqb) {
        background: rgba(23,149,207,0.45);
        font-weight: 600;
    }

    .model-selection.mobile.svelte-oiwvqb .model-selection-content:where(.svelte-oiwvqb) button.model-active:where(.svelte-oiwvqb)::after {
        content: '✓';
        font-size: 1.1rem;
    }

    .model-selection.mobile.svelte-oiwvqb .model-selection-content:where(.svelte-oiwvqb) button:where(.svelte-oiwvqb):hover {
        background: rgba(255,255,255,0.12);
    }

    .model-selection.mobile.svelte-oiwvqb .model-selection-content:where(.svelte-oiwvqb) button:where(.svelte-oiwvqb):active {
        background: rgba(255,255,255,0.2);
    }

    @media (max-width: 1024px) {
        .header-content.is-mobile.svelte-oiwvqb .header-right:where(.svelte-oiwvqb) {
            gap: 12px;
        }

        .header-content.is-mobile.svelte-oiwvqb .model-selection:where(.svelte-oiwvqb) {
            margin-right: 0;
        }

        .header-content.is-mobile.svelte-oiwvqb .model-selection-btn:where(.svelte-oiwvqb) span:where(.svelte-oiwvqb) {
            display: none;
        }

        .header-content.is-mobile.svelte-oiwvqb .model-selection-btn:where(.svelte-oiwvqb) {
            width: 36px;
            height: 36px;
            padding: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            border: none;
            background: transparent;
        }

        .header-content.is-mobile.svelte-oiwvqb .model-selection-btn:where(.svelte-oiwvqb) img:where(.svelte-oiwvqb) {
            width: 22px;
            height: 22px;
        }

        .model-selection.mobile.svelte-oiwvqb {
            margin-right: 0;
        }

        .model-selection.mobile.svelte-oiwvqb .model-selection-mobile-header:where(.svelte-oiwvqb) {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 8px 16px;
            font-size: 0.95rem;
            font-weight: 600;
        }

        .model-selection.mobile.svelte-oiwvqb .model-selection-close:where(.svelte-oiwvqb) {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 0;
            border: none;
            background: none;
            color: inherit;
            font: inherit;
            cursor: pointer;
        }

        .model-selection.mobile.open.svelte-oiwvqb .model-selection-content:where(.svelte-oiwvqb) {
            position: absolute;
            top: calc(100% + 8px);
            right: 0;
            width: 200px;
            max-height: 280px;
            display: flex;
            flex-direction: column;
            padding: 8px 0;
            background: #3d3d3d;
            border-radius: 8px;
            box-shadow: 0 8px 24px rgba(0,0,0,0.4);
            z-index: 15000;
            overflow-y: auto;
        }
    }

    @media (max-width: 640px) {
        .header.svelte-oiwvqb {
            height: 64px;
        }

        .header-content.svelte-oiwvqb {
            padding: 0 8px;
            gap: 6px;
        }

        .title.svelte-oiwvqb {
            flex: 0 1 auto;
            min-width: 0;
            gap: 4px;
        }

        .title.svelte-oiwvqb .logo:where(.svelte-oiwvqb) {
            display: block;
            width: 100px;
            min-width: 0;
        }

        .title.svelte-oiwvqb img:where(.svelte-oiwvqb) {
            display: block;
            width: 100%;
            max-height: 30px;
        }

        .title.svelte-oiwvqb .version:where(.svelte-oiwvqb) {
            display: none;
        }

        .header-right.svelte-oiwvqb {
            flex: 0 0 auto;
            min-width: 0;
            gap: 4px;
        }

        .header-content.is-mobile.svelte-oiwvqb .model-selection-btn:where(.svelte-oiwvqb) {
            width: 34px;
            height: 34px;
        }

        .building-selection-btn.svelte-oiwvqb {
            width: 34px;
            height: 34px;
            padding: 6px;
            display: grid;
            place-items: center;
            grid-template-columns: 1fr;
        }

        .building-selection-btn.svelte-oiwvqb span:where(.svelte-oiwvqb) {
            display: none;
        }

        .building-selection-btn.svelte-oiwvqb img:where(.svelte-oiwvqb) {
            width: 22px;
            height: 22px;
        }

        .building-selection-content.svelte-oiwvqb {
            right: 54px;
        }

        .avatar.svelte-oiwvqb {
            width: 30px;
            height: 30px;
            margin-right: 3px;
        }

        .login.svelte-oiwvqb .name:where(.svelte-oiwvqb) button:where(.svelte-oiwvqb) {
            font-size: 0.72rem;
            white-space: nowrap;
        }
    }


    .summary-header.svelte-1gqd250{
        display: grid;
        grid-template-columns: 20% 1fr;
        gap: 24px;
    }
    .summary-header_img.svelte-1gqd250{
        padding: 32px;
    }
    .summary-header_content.svelte-1gqd250{
        display: grid;
        gap: 10px;
    }
    .summary-header_title.svelte-1gqd250{
        font-size: 24px;
        font-weight: 700;
        line-height: 1.3;
    }
    .summary-header_btns.svelte-1gqd250{
        display: flex;
        flex-wrap: wrap;
        gap: 16px;
    }
    .summary-header_btn.svelte-1gqd250{
        font-weight: 600;
        border: 1px solid;
        padding: 4px 8px;
        text-align: center;
        border-radius: 4px;
    }
    .summary-header_btn.is-active.svelte-1gqd250{
        background-color: var(--c-button-main);
        border: none;
    }
    .summary-header_text.svelte-1gqd250{
        line-height: 2;
        font-weight: 400;
    }
    .summary-evaluation.svelte-1gqd250{
        display: flex;
        gap: 24px;
        align-items: center;
    }
    .summary-evaluation_text.svelte-1gqd250{
        font-size: 14px;
    }
    .summary-evaluation_btn.svelte-1gqd250{
        transition: transform 0.2s ease;
    }
    .summary-evaluation_btn.svelte-1gqd250:hover{
        transform: scale(1.2);
    }
    .summary-graph.svelte-1gqd250{
        display: grid;
        grid-template-columns: repeat(4,auto);
        gap: 16px;
        margin-top: 40px;
    }
    .summary-report.svelte-1gqd250{
        margin-top: 64px;
        display: flex;
        gap: 16px;
    }
    .summary-report_btn.svelte-1gqd250{
        border: 1px solid;
        border-radius: 4px;
        padding: 4px 8px;
    }
    .summary-search.svelte-1gqd250{
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 16px;
        margin-top: 40px;
    }
    .summary-search_title.svelte-1gqd250{
        font-size: 20px;
        font-weight: 600;
    }
    .summary-search_btn.svelte-1gqd250{
        border: 1px solid;
        border-radius: 4px;
        padding: 4px 8px;
    }


  /* Container & Header */
  .templates-container.svelte-wcbsnt {
    padding: 32px 40px;
    background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.03), transparent 60%),
                linear-gradient(180deg, rgba(255, 255, 255, 0.02) 0%, rgba(255, 255, 255, 0.01) 100%);
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    margin-bottom: 24px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
    position: relative;
    overflow: hidden;
  }

  /* Subtle mesh gradient effect */
  .templates-container.svelte-wcbsnt::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle at 50% 50%, rgba(23, 149, 207, 0.03), transparent 50%);
    pointer-events: none;
    z-index: 0;
  }

  main.light .templates-container.svelte-wcbsnt {
    background: rgba(255, 255, 255, 0.7);
    border-color: rgba(255, 255, 255, 0.4);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.05);
  }

  .header.svelte-wcbsnt {
    margin-bottom: 28px;
    text-align: center;
    position: relative;
    z-index: 1;
  }

  .title-wrapper.svelte-wcbsnt {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
  }

  .sparkle-icon.svelte-wcbsnt {
    font-size: 22px;
    animation: svelte-wcbsnt-pulse 3s infinite ease-in-out;
    filter: drop-shadow(0 0 8px rgba(255, 215, 0, 0.3));
  }

  .title.svelte-wcbsnt {
    font-size: 18px;
    font-weight: 700;
    margin: 0;
    background: linear-gradient(135deg, #ffffff 0%, #e0e0e0 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.05em;
    text-shadow: 0 2px 4px rgba(0,0,0,0.1);
  }

  main.light .title.svelte-wcbsnt {
    background: linear-gradient(135deg, #1a1a1a 0%, #4a4a4a 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: none;
  }

  /* Grid Layout - Fixed alignment issues */
  .grid.svelte-wcbsnt {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 20px;
    position: relative;
    z-index: 1;
    width: 100%;
    /* Ensure no extra padding causing shift */
    box-sizing: border-box; 
  }

  /* Card Styles */
  .card-wrapper.svelte-wcbsnt {
    position: relative;
    /* Ensure wrapper takes full width of grid cell */
    width: 100%; 
  }

  .card.svelte-wcbsnt {
    width: 100%;
    text-align: left;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 18px;
    padding: 20px;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 140px;
    box-sizing: border-box;
  }

  main.light .card.svelte-wcbsnt {
    background: rgba(255, 255, 255, 0.85);
    border-color: rgba(0, 0, 0, 0.04);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
  }

  .card.svelte-wcbsnt:hover {
    transform: translateY(-6px) scale(1.01);
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(255, 255, 255, 0.2);
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.3);
  }

  main.light .card.svelte-wcbsnt:hover {
    background: #ffffff;
    border-color: rgba(0, 0, 0, 0.08);
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.08);
  }

  .card.selected.svelte-wcbsnt {
    border-color: #1795CF;
    background: rgba(23, 149, 207, 0.08);
    box-shadow: 0 0 0 1px #1795CF, 0 8px 24px rgba(23, 149, 207, 0.15);
  }

  .card-content.svelte-wcbsnt {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  .card-header.svelte-wcbsnt {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
  }

  .category-tag.svelte-wcbsnt {
    font-size: 10px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.7);
    background: rgba(255, 255, 255, 0.08);
    padding: 5px 10px;
    border-radius: 20px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border: 1px solid rgba(255, 255, 255, 0.05);
  }

  main.light .category-tag.svelte-wcbsnt {
    color: rgba(0, 0, 0, 0.6);
    background: rgba(0, 0, 0, 0.04);
    border-color: rgba(0, 0, 0, 0.03);
  }

  .card-title.svelte-wcbsnt {
    font-size: 15px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.95);
    margin: 0 0 auto 0;
    line-height: 1.5;
    letter-spacing: 0.02em;
  }

  main.light .card-title.svelte-wcbsnt {
    color: #222;
  }

  .card-footer.svelte-wcbsnt {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
  }

  main.light .card-footer.svelte-wcbsnt {
    border-top-color: rgba(0, 0, 0, 0.04);
  }

  .format-badge.svelte-wcbsnt {
    font-size: 10px;
    color: #64BFF1;
    background: rgba(23, 149, 207, 0.1);
    padding: 4px 8px;
    border-radius: 6px;
    font-weight: 600;
    letter-spacing: 0.03em;
  }

  main.light .format-badge.svelte-wcbsnt {
    color: #0d7ab8;
    background: rgba(23, 149, 207, 0.06);
  }

  .arrow-icon.svelte-wcbsnt {
    color: rgba(255, 255, 255, 0.3);
    transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), color 0.3s;
    display: flex;
  }

  main.light .arrow-icon.svelte-wcbsnt {
    color: rgba(0, 0, 0, 0.2);
  }

  .card.svelte-wcbsnt:hover .arrow-icon:where(.svelte-wcbsnt) {
    transform: translateX(4px);
    color: #fff;
  }

  main.light .card.svelte-wcbsnt:hover .arrow-icon:where(.svelte-wcbsnt) {
    color: #333;
  }

  /* Animations */
  @keyframes svelte-wcbsnt-pulse {
    0% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.1); opacity: 0.8; }
    100% { transform: scale(1); opacity: 1; }
  }

  @media (max-width: 640px) {
    .templates-container.svelte-wcbsnt {
      padding: 18px 14px;
      border-radius: 16px;
      margin-bottom: 12px;
    }

    .header.svelte-wcbsnt {
      margin-bottom: 16px;
    }

    .title-wrapper.svelte-wcbsnt {
      gap: 8px;
    }

    .title.svelte-wcbsnt {
      font-size: 16px;
    }

    .grid.svelte-wcbsnt {
      grid-template-columns: minmax(0, 1fr);
      gap: 12px;
    }

    .card.svelte-wcbsnt {
      min-height: 118px;
      padding: 16px;
      border-radius: 14px;
    }

    .card.svelte-wcbsnt:hover {
      transform: none;
    }

    .card-header.svelte-wcbsnt {
      margin-bottom: 12px;
    }

    .card-footer.svelte-wcbsnt {
      margin-top: 14px;
      padding-top: 12px;
    }
  }


    .year-review-banner.svelte-11sv8m8 {
        --banner-bg: linear-gradient(135deg, #1a1a1a 0%, #2d1f1f 50%, #1f2d1f 100%);
        --banner-border: rgba(255, 215, 0, 0.3);
        --banner-border-hover: rgba(255, 215, 0, 0.6);
        --title-gradient: linear-gradient(to right, #fff, #ffd700);
        --subtitle-color: #ccc;
        --btn-bg: rgba(196, 30, 58, 0.2);
        --btn-border: rgba(196, 30, 58, 0.5);
        --btn-color: #ff6b6b;
        --btn-hover-bg: #c41e3a;
        --btn-hover-color: #fff;
        
        width: 100%;
        max-width: 800px;
        margin: 0 auto 20px auto;
        background: var(--banner-bg);
        border: 2px solid var(--banner-border);
        border-radius: 16px;
        padding: 20px 24px;
        cursor: pointer;
        position: relative;
        overflow: hidden;
        box-shadow: 0 4px 20px rgba(196, 30, 58, 0.2), 0 0 40px rgba(34, 139, 34, 0.1);
        transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    /* Light mode */
    .year-review-banner.light.svelte-11sv8m8 {
        --banner-bg: linear-gradient(135deg, #fff5f5 0%, #f5fff5 50%, #f5f5ff 100%);
        --banner-border: rgba(196, 30, 58, 0.3);
        --banner-border-hover: rgba(196, 30, 58, 0.6);
        --title-gradient: linear-gradient(to right, #c41e3a, #228b22);
        --subtitle-color: #555;
        --btn-bg: rgba(196, 30, 58, 0.1);
        --btn-border: rgba(196, 30, 58, 0.5);
        --btn-color: #c41e3a;
        --btn-hover-bg: #c41e3a;
        --btn-hover-color: #fff;
        
        box-shadow: 0 4px 20px rgba(196, 30, 58, 0.15), 0 0 40px rgba(34, 139, 34, 0.08);
    }

    .year-review-banner.svelte-11sv8m8:hover {
        transform: translateY(-3px);
        box-shadow: 0 8px 30px rgba(196, 30, 58, 0.3), 0 0 50px rgba(34, 139, 34, 0.15);
        border-color: var(--banner-border-hover);
    }

    /* Mini snow effect */
    .banner-snow.svelte-11sv8m8 {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        overflow: hidden;
        pointer-events: none;
        z-index: 0;
    }

    .mini-snow.svelte-11sv8m8 {
        position: absolute;
        top: -10px;
        left: calc(var(--x) * 1%);
        font-size: 0.6rem;
        color: rgba(255, 255, 255, 0.6);
        animation: svelte-11sv8m8-mini-fall var(--duration) linear var(--delay) infinite;
    }

    .light.svelte-11sv8m8 .mini-snow:where(.svelte-11sv8m8) {
        color: rgba(100, 149, 237, 0.5);
    }

    @keyframes svelte-11sv8m8-mini-fall {
        0% {
            transform: translateY(0) rotate(0deg);
            opacity: 0.8;
        }
        100% {
            transform: translateY(80px) rotate(180deg);
            opacity: 0;
        }
    }

    /* Shine effect */
    .year-review-banner.svelte-11sv8m8::after {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 50%;
        height: 100%;
        background: linear-gradient(
            to right,
            rgba(255, 255, 255, 0) 0%,
            rgba(255, 255, 255, 0.15) 50%,
            rgba(255, 255, 255, 0) 100%
        );
        transform: skewX(-25deg);
        animation: svelte-11sv8m8-shine 6s infinite;
    }

    @keyframes svelte-11sv8m8-shine {
        0% { left: -100%; }
        20% { left: 200%; }
        100% { left: 200%; }
    }

    /* Christmas lights */
    .christmas-lights-banner.svelte-11sv8m8 {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        display: flex;
        justify-content: space-around;
        padding: 0 20px;
        z-index: 1;
    }

    .light-bulb.svelte-11sv8m8 {
        width: 8px;
        height: 8px;
        background: var(--color);
        border-radius: 50%;
        box-shadow: 0 0 8px var(--color), 0 0 15px var(--color);
        animation: svelte-11sv8m8-bulb-blink 1.5s ease-in-out infinite;
        animation-delay: var(--delay);
        margin-top: -4px;
    }

    @keyframes svelte-11sv8m8-bulb-blink {
        0%, 100% { opacity: 1; transform: scale(1); }
        50% { opacity: 0.3; transform: scale(0.7); }
    }

    .banner-content.svelte-11sv8m8 {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        position: relative;
        z-index: 2;
    }

    .icon-container.svelte-11sv8m8 {
        position: relative;
        width: 50px;
        height: 50px;
    }

    .icon.svelte-11sv8m8 {
        font-size: 2rem;
        position: absolute;
    }

    .icon.tree.svelte-11sv8m8 {
        bottom: 0;
        left: 0;
        animation: svelte-11sv8m8-tree-sway 3s ease-in-out infinite;
    }

    .icon.star.svelte-11sv8m8 {
        top: 0;
        right: 0;
        font-size: 1.2rem;
        animation: svelte-11sv8m8-star-twinkle 1.5s ease-in-out infinite;
    }

    @keyframes svelte-11sv8m8-tree-sway {
        0%, 100% { transform: rotate(-3deg); }
        50% { transform: rotate(3deg); }
    }

    @keyframes svelte-11sv8m8-star-twinkle {
        0%, 100% { transform: scale(1); opacity: 1; }
        50% { transform: scale(1.3); opacity: 0.7; }
    }

    .text.svelte-11sv8m8 {
        flex: 1;
        display: flex;
        flex-direction: column;
    }

    .title.svelte-11sv8m8 {
        font-family: 'Outfit', sans-serif;
        font-weight: 700;
        font-size: 1.3rem;
        background: var(--title-gradient);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        letter-spacing: 0.05em;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .santa.svelte-11sv8m8 {
        -webkit-text-fill-color: initial;
        animation: svelte-11sv8m8-santa-bounce 1s ease-in-out infinite;
    }

    .santa.svelte-11sv8m8:last-child {
        animation-delay: 0.5s;
    }

    @keyframes svelte-11sv8m8-santa-bounce {
        0%, 100% { transform: translateY(0); }
        50% { transform: translateY(-3px); }
    }

    .subtitle.svelte-11sv8m8 {
        font-size: 0.9rem;
        color: var(--subtitle-color);
        margin-top: 4px;
    }

    .action-btn.svelte-11sv8m8 {
        background: var(--btn-bg);
        border: 2px solid var(--btn-border);
        color: var(--btn-color);
        padding: 10px 20px;
        border-radius: 25px;
        font-size: 0.9rem;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s ease;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .btn-icon.svelte-11sv8m8 {
        animation: svelte-11sv8m8-gift-shake 1s ease-in-out infinite;
    }

    @keyframes svelte-11sv8m8-gift-shake {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(-10deg); }
        75% { transform: rotate(10deg); }
    }

    .year-review-banner.svelte-11sv8m8:hover .action-btn:where(.svelte-11sv8m8) {
        background: var(--btn-hover-bg);
        color: var(--btn-hover-color);
        border-color: var(--btn-hover-bg);
        transform: scale(1.05);
    }

    @media (max-width: 600px) {
        .year-review-banner.svelte-11sv8m8 {
            padding: 16px;
        }
        
        .icon-container.svelte-11sv8m8 {
            display: none;
        }
        
        .title.svelte-11sv8m8 {
            font-size: 1.1rem;
        }
        
        .subtitle.svelte-11sv8m8 {
            font-size: 0.8rem;
        }
        
        .action-btn.svelte-11sv8m8 {
            padding: 8px 16px;
        }
    }


    .slide_generate_btn.svelte-mwxwki {
        background-color: #f0f0f0;
        color: #333;
        border: 1px solid #ddd;
        border-radius: 20px;
        padding: 6px 16px;
        font-size: 14px;
        display: flex;
        align-items: center;
        gap: 6px;
        cursor: pointer;
        transition: all 0.2s ease;
        position: relative;
    }
    
    .slide_generate_btn.svelte-mwxwki:hover:not(:disabled) {
        background-color: #e0e0e0;
        border-color: #bbb;
        transform: translateY(-1px);
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }
    
    .slide_generate_btn.svelte-mwxwki:active:not(:disabled) {
        transform: translateY(0);
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    }
    
    .slide_generate_btn.is-disabled.svelte-mwxwki {
        opacity: 0.5;
        cursor: not-allowed;
    }
    
    .slide_generate_btn.is-generating.svelte-mwxwki {
        background-color: #1795CF;
        color: white;
        border-color: #1795CF;
        cursor: wait;
    }
    
    @keyframes svelte-mwxwki-pulse-glow {
        0%, 100% { box-shadow: 0 0 10px rgba(23, 149, 207, 0.3); }
        50% { box-shadow: 0 0 25px rgba(23, 149, 207, 0.6); }
    }
    
    .slide_generate_btn.is-generating.svelte-mwxwki {
        animation: svelte-mwxwki-pulse-glow 1.5s ease-in-out infinite;
    }
    
    .slide_generate_btn.svelte-mwxwki svg:where(.svelte-mwxwki) {
        width: 16px;
        height: 16px;
        flex-shrink: 0;
    }
    
    .spinner.svelte-mwxwki {
        width: 14px;
        height: 14px;
        border: 2px solid rgba(255, 255, 255, 0.3);
        border-top-color: white;
        border-radius: 50%;
        animation: svelte-mwxwki-spin 0.8s linear infinite;
    }
    
    @keyframes svelte-mwxwki-spin {
        to { transform: rotate(360deg); }
    }
    
    .slide_tooltip.svelte-mwxwki {
        position: absolute;
        bottom: 100%;
        left: 50%;
        transform: translateX(-50%);
        background-color: #333;
        color: white;
        padding: 6px 12px;
        border-radius: 4px;
        font-size: 12px;
        white-space: nowrap;
        margin-bottom: 8px;
        pointer-events: none;
        z-index: 1000;
        animation: svelte-mwxwki-fadeIn 0.15s ease-out;
    }
    
    @keyframes svelte-mwxwki-fadeIn {
        from { opacity: 0; transform: translateX(-50%) translateY(4px); }
        to { opacity: 1; transform: translateX(-50%) translateY(0); }
    }
    
    .slide_tooltip.svelte-mwxwki::after {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        width: 0;
        height: 0;
        border-left: 6px solid transparent;
        border-right: 6px solid transparent;
        border-top: 6px solid #333;
    }
    
    .slide_show_btn.svelte-mwxwki {
        background-color: #1795CF;
        color: white;
        border: 1px solid #1795CF;
        border-radius: 20px;
        padding: 6px 12px;
        font-size: 13px;
        display: flex;
        align-items: center;
        gap: 4px;
        cursor: pointer;
        transition: all 0.2s ease;
        margin-left: 8px;
    }
    
    .slide_show_btn.svelte-mwxwki:hover {
        background-color: #1283b8;
        border-color: #1283b8;
        transform: translateY(-1px);
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
    }
    
    .slide_show_btn.svelte-mwxwki:active {
        transform: translateY(0);
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    }
    
    .slide_show_btn.svelte-mwxwki svg:where(.svelte-mwxwki) {
        width: 14px;
        height: 14px;
        flex-shrink: 0;
    }


    .ai_input_wrap.svelte-cmazm2 {
        position: sticky;    /* or fixed */
        bottom: 0;
        left: 0;
        right: 0;
        background-color: #313131;
        padding: 24px ;
    }
    .ai_input_wrap.svelte-cmazm2{
        padding: 26px 40px;
    }
    .model-inline-toggle.svelte-cmazm2{
        max-width: 1000px;
        margin: 0 auto 8px;
        width: 100%;
        padding: 0 4px;
    }
    .model-inline-button.svelte-cmazm2{
        background: transparent;
        border: none;
        color: #666;
        font-size: 0.88rem;
        font-weight: 500;
        display: inline-flex;
        align-items: center;
        gap: 10px;
        cursor: pointer;
        padding: 4px 0;
        position: relative;
        transition: color 0.3s ease;
    }
    main:not(.light) .model-inline-button.svelte-cmazm2{
        color: #d6d6d6;
    }
    .model-label-wrapper.svelte-cmazm2{
        display: inline-flex;
        align-items: center;
        gap: 6px;
    }
    .model-inline-button.svelte-cmazm2 .model-label:where(.svelte-cmazm2){
        transition: color 0.3s ease, background 0.3s ease;
    }
    .model-rainbow-lightning.svelte-cmazm2{
        font-size: 1rem;
        line-height: 1;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: linear-gradient(120deg,#FF3D00,#FFBB00,#F7FF00,#00FF85,#00C2FF,#8E2BFF,#FF00C8);
        background-size: 200% 200%;
        -webkit-background-clip: text;
        color: transparent;
        animation: svelte-cmazm2-lightningRainbow 2s linear infinite;
        filter: drop-shadow(0 0 6px rgba(255,255,255,0.25));
    }
    .model-inline-button.off.svelte-cmazm2:hover .model-label:where(.svelte-cmazm2),
    .model-inline-button.off.svelte-cmazm2:focus-visible .model-label:where(.svelte-cmazm2){
        text-decoration: underline;
    }
    .model-inline-button.on.svelte-cmazm2 .model-label:where(.svelte-cmazm2){
        color: #1795CF;
    }
    main:not(.light) .model-inline-button.on.svelte-cmazm2 .model-label:where(.svelte-cmazm2){
        color: #64BFF1;
    }
    .model-state-pill.svelte-cmazm2{
        display: inline-flex;
        align-items: center;
        gap: 4px;
        padding: 2px 8px;
        border-radius: 999px;
        background: rgba(255,255,255,0.2);
        font-size: 0.7rem;
        color: #333;
        border: 1px solid rgba(0,0,0,0.08);
        transition: background 0.3s ease, color 0.3s ease, border 0.3s ease;
    }
    main:not(.light) .model-state-pill.svelte-cmazm2{
        background: rgba(255,255,255,0.08);
        border-color: rgba(255,255,255,0.18);
        color: #f9f9f9;
    }
    .model-inline-button.on.svelte-cmazm2 .model-state-pill:where(.svelte-cmazm2){
        background: rgba(255,255,255,0.85);
        border-color: rgba(255,255,255,0.0);
        color: #1f1f1f;
    }
    main:not(.light) .model-inline-button.on.svelte-cmazm2 .model-state-pill:where(.svelte-cmazm2){
        background: rgba(20,20,20,0.75);
        color: #f8f8f8;
    }
    .model-state-icon.svelte-cmazm2{
        font-size: 0.7rem;
    }
    .model-state-off.svelte-cmazm2{
        font-size: 0.75rem;
        color: #9b9b9b;
    }
    main:not(.light) .model-state-off.svelte-cmazm2{
        color: #b9b9b9;
    }
    .model-inline-button.glow.svelte-cmazm2::after{
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        bottom: -2px;
        height: 2px;
        background: linear-gradient(120deg, #FF0000, #FF7F00, #FFFF00, #00FF00, #0000FF, #4B0082, #9400D3);
        opacity: 0;
        animation: svelte-cmazm2-modelGlowUnderline 0.5s ease-in-out forwards;
        pointer-events: none;
    }
    @keyframes svelte-cmazm2-modelGlowUnderline {
        0% {
            opacity: 0;
            transform: translateY(4px);
        }
        40% {
            opacity: 1;
            transform: translateY(0);
        }
        100% {
            opacity: 0;
            transform: translateY(-2px);
        }
    }
    @keyframes svelte-cmazm2-lightningRainbow{
        0%{
            background-position: 0% 50%;
        }
        100%{
            background-position: 200% 50%;
        }
    }
    @media (max-width: 640px) {
        .model-inline-button.svelte-cmazm2{
            font-size: 0.84rem;
            flex-wrap: wrap;
            gap: 6px;
        }
        .model-state-pill.svelte-cmazm2{
            font-size: 0.68rem;
        }
    }
    .year-review-wrapper.svelte-cmazm2{
        max-width: 1000px;
        margin: 0 auto 24px;
        position: relative;
        z-index: 2;
    }
    .templates-wrapper.svelte-cmazm2{
        max-width: 1000px;
        margin: 0 auto 20px; /* テンプレートと入力欄の間隔を広げる */
        position: relative;
        z-index: 1;
    }
    .templates-divider.svelte-cmazm2{
        height: 1px;
        background: rgba(255,255,255,0.18);
        max-width: 1000px;
        margin: 0 auto 12px; /* ライン下に余白 */
    }
    main.light .templates-divider.svelte-cmazm2{
        background: #E6E6E6;
    }
    .ai_input_wrap.with-templates.svelte-cmazm2 .ai_input_box:where(.svelte-cmazm2){
        margin-top: 8px; /* さらに少しだけ余白を追加して窮屈さを軽減 */
    }
    .ai_input_box.svelte-cmazm2{
        display: flex;
        flex-direction: column;
        background-color: #fff;
        color: #000;
        padding: 8px;
        border-radius: 8px;
        position: relative;
        max-width: 1000px;
        margin: auto;
        gap: 8px;
    }
    .textarea-wrapper.svelte-cmazm2 {
        width: 100%;
    }
    .ai_input_box.svelte-cmazm2 textarea:where(.svelte-cmazm2){
        flex-grow: 1;
        max-height: 40vh;
        min-height: 24px;
        width: 100%;
        padding: 8px;
    }
    .button-wrapper.svelte-cmazm2 {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        width: 100%;
        gap: 8px; /* ボタン間のスペース */
    }
    .ai_input.svelte-cmazm2::placeholder{
        color: #939394;
    }
    .ai_btn.svelte-cmazm2{
        border-radius: 4px;
        height: 40px;
        width: 40px;
        display: grid;
        place-content: center;
        position: relative;
    }
    .ai_btn.stop.svelte-cmazm2{
        background-color: #1795CF;
        border-radius: 50%;
        transition: opacity 0.2s ease-in-out, background-color 0.2s ease-in-out;
    }
    .ai_btn.stop.svelte-cmazm2:disabled{
        background-color: #9E9E9E;
        cursor: not-allowed;
        opacity: 0.6;
    }
    .ai_btn-text.svelte-cmazm2{
        opacity: 0;
        position: absolute;
        top: -8px;
        left: 50%;
        background-color: #fff;
        transform: translate(-50%, -100%);
        width: 54px;
        text-align: center;
        padding: 4px 8px;
        border-radius: 4px;
        transition: opacity 0.2s ease-in-out, top 0.2s ease-in-out;
    }
    .ai_btn-text.svelte-cmazm2::after{
        content: "";
        display: block;
        width: 6px;
        height: 4px;
        clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
        background-color: #fff;
        position: absolute;
        bottom: -4px;
        left: 50%;
        transform: translateX(-50%);
    }
    .ai_btn.svelte-cmazm2:hover .ai_btn-text:where(.svelte-cmazm2){
        opacity: 1;
        top: -16px;
    }

    @property --ring-angle {
        syntax: '<angle>';
        inherits: false;
        initial-value: 0deg;
    }

    @property --ring-alpha {
        syntax: '<number>';
        inherits: false;
        initial-value: 0;
    }

    @property --ring-inset {
        syntax: '<length>';
        inherits: false;
        initial-value: 4px;
    }

    .ultrafast_toggle_btn.svelte-cmazm2 {
        --ultra-fill: #f0f0f0;
        --ring-inset: 4px;
        --ring-angle: 0deg;
        --ring-alpha: 0;
        background-color: transparent;
        color: #333;
        border: 2px solid #d0d0d0;
        border-radius: 20px;
        padding: 7px 18px;
        font-size: 14px;
        display: flex;
        align-items: center;
        gap: 6px;
        cursor: pointer;
        transition: color 0.2s ease, background 0.2s ease, transform 0.2s ease, border-color 0.45s ease, box-shadow 0.45s ease;
        position: relative;
        overflow: hidden;
        isolation: isolate;
        background-origin: border-box;
        box-shadow: inset 0 0 0 rgba(255,255,255,0), 0 0 0 rgba(0,0,0,0.08);
    }

    .ultrafast_toggle_btn.svelte-cmazm2::before,
    .ultrafast_toggle_btn.svelte-cmazm2::after {
        content: '';
        position: absolute;
        border-radius: inherit;
        pointer-events: none;
    }

    .ultrafast_toggle_btn.svelte-cmazm2::before {
        inset: 2px;
        background: var(--ultra-fill);
        z-index: -1;
        transition: background 0.2s ease;
    }

    .ultrafast_toggle_btn.svelte-cmazm2::after {
        inset: var(--ring-inset);
        border-radius: inherit;
        background: conic-gradient(
            from calc(var(--ring-angle) - 90deg),
            rgba(255,255,255,0) 0deg 18deg,
            rgba(255,61,0, calc(var(--ring-alpha) * 0.85)) 18deg 26deg,
            rgba(255,187,0, calc(var(--ring-alpha) * 0.85)) 26deg 34deg,
            rgba(247,255,0, calc(var(--ring-alpha) * 0.85)) 34deg 42deg,
            rgba(0,255,133, calc(var(--ring-alpha) * 0.85)) 42deg 50deg,
            rgba(0,194,255, calc(var(--ring-alpha) * 0.85)) 50deg 58deg,
            rgba(142,43,255, calc(var(--ring-alpha) * 0.85)) 58deg 66deg,
            rgba(255,0,200, calc(var(--ring-alpha) * 0.85)) 66deg 74deg,
            rgba(255,255,255, calc(var(--ring-alpha) * 0.2)) 74deg 90deg,
            rgba(255,255,255,0) 90deg 198deg,
            rgba(255,61,0, calc(var(--ring-alpha) * 0.85)) 198deg 206deg,
            rgba(255,187,0, calc(var(--ring-alpha) * 0.85)) 206deg 214deg,
            rgba(247,255,0, calc(var(--ring-alpha) * 0.85)) 214deg 222deg,
            rgba(0,255,133, calc(var(--ring-alpha) * 0.85)) 222deg 230deg,
            rgba(0,194,255, calc(var(--ring-alpha) * 0.85)) 230deg 238deg,
            rgba(142,43,255, calc(var(--ring-alpha) * 0.85)) 238deg 246deg,
            rgba(255,0,200, calc(var(--ring-alpha) * 0.85)) 246deg 254deg,
            rgba(255,255,255, calc(var(--ring-alpha) * 0.2)) 254deg 270deg,
            rgba(255,255,255,0) 270deg 360deg
        );
        mask: radial-gradient(farthest-side, transparent calc(100% - 4px), #000 calc(100% - 2px));
        -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 4px), #000 calc(100% - 2px));
        opacity: var(--ring-alpha);
        z-index: -2;
        pointer-events: none;
        filter: drop-shadow(0 0 6px rgba(255,255,255, calc(var(--ring-alpha) * 0.35)));
        transition: opacity 0.45s ease, filter 0.45s ease, inset 0.45s ease;
        animation: svelte-cmazm2-rainbowOrbit 3s linear infinite;
        animation-play-state: paused;
    }

    .ultrafast_toggle_btn.svelte-cmazm2:hover {
        background-color: #e0e0e0;
        border-color: #bbb;
        transform: translateY(-1px);
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }

    .ultrafast_toggle_btn.svelte-cmazm2:active {
        transform: translateY(0);
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    }

    .ultrafast_toggle_btn.is-active.svelte-cmazm2 {
        --ultra-fill: #1795CF;
        background-color: #1795CF;
        color: #fff;
        border-color: #1795CF;
        box-shadow: inset 0 0 0 rgba(255,255,255,0.3), 0 0 12px rgba(23,149,207,0.45);
    }

    .ultrafast_toggle_btn.rainbow.svelte-cmazm2 {
        --ring-inset: -3px;
        --ring-alpha: 1;
        border-color: transparent;
        box-shadow: inset 0 0 0 rgba(255,255,255,0.4), 0 0 18px rgba(255,99,0,0.35);
    }

    .ultrafast_toggle_btn.is-active.rainbow.svelte-cmazm2 {
        background: linear-gradient(#1795CF,#1795CF) padding-box,
                    linear-gradient(120deg,#FF3D00,#FFBB00,#F7FF00,#00FF85,#00C2FF,#8E2BFF,#FF00C8) border-box;
        box-shadow: inset 0 0 0 rgba(255,255,255,0.5), 0 0 22px rgba(255,99,0,0.45);
    }

    .ultrafast_toggle_btn.rainbow.svelte-cmazm2::after {
        opacity: 1;
        animation-play-state: running;
    }

    .ultrafast-icon.svelte-cmazm2 {
        font-size: 1rem;
        line-height: 1;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #7a7a7a;
        transition: color 0.2s ease, filter 0.2s ease, transform 0.2s ease;
    }

    .ultrafast-icon.on.svelte-cmazm2 {
        background: linear-gradient(120deg,#FF3D00,#FFBB00,#F7FF00,#00FF85,#00C2FF,#8E2BFF,#FF00C8);
        background-size: 200% 200%;
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        filter: drop-shadow(0 0 6px rgba(255,255,255,0.8));
        animation: svelte-cmazm2-rainbowShift 2s linear infinite;
    }

    @keyframes svelte-cmazm2-ultrafastPulse {
        0% { transform: scale(0.9); filter: drop-shadow(0 0 2px rgba(255,255,255,0.6)); }
        60% { transform: scale(1.15); filter: drop-shadow(0 0 12px rgba(255,255,255,0.9)); }
        100% { transform: scale(1); filter: drop-shadow(0 0 5px rgba(255,255,255,0.6)); }
    }

    @keyframes svelte-cmazm2-rainbowShift {
        0% { background-position: 0% 50%; }
        100% { background-position: 200% 50%; }
    }

    .ultrafast-icon.on.pulse.svelte-cmazm2 {
        animation: svelte-cmazm2-rainbowShift 2s linear infinite, svelte-cmazm2-ultrafastPulse 0.5s ease-out;
    }

    @keyframes svelte-cmazm2-rainbowOrbit {
        0% { --ring-angle: 0deg; }
        100% { --ring-angle: 360deg; }
    }

    /* ナレッジサーチボタンのスタイル */
    .knowledge_search_btn.svelte-cmazm2 {
        background-color: #f0f0f0;
        color: #333;
        border: 1px solid #ddd;
        border-radius: 20px; /* ピル型の丸み */
        padding: 6px 16px;
        font-size: 14px;
        display: flex;
        align-items: center;
        gap: 6px;
        cursor: pointer;
        transition: all 0.2s ease;
        position: relative;
    }
    
    .knowledge_search_btn.svelte-cmazm2:hover {
        background-color: #e0e0e0;
        border-color: #bbb;
        transform: translateY(-1px);
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }
    
    .knowledge_search_btn.svelte-cmazm2:active {
        transform: translateY(0);
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    }

    .knowledge_search_btn.is-active.svelte-cmazm2 {
        background-color: #1795CF; /* アクティブ時の背景色 */
        color: white; /* アクティブ時のテキスト色 */
        border-color: #1795CF;
    }
    
    .knowledge_search_btn.svelte-cmazm2 svg:where(.svelte-cmazm2) {
        width: 16px;
        height: 16px;
    }

    .web_search_btn.svelte-cmazm2 {
        background-color: #f0f0f0;
        color: #333;
        border: 1px solid #ddd;
        border-radius: 20px;
        padding: 6px 16px;
        font-size: 14px;
        display: flex;
        align-items: center;
        gap: 6px;
        cursor: pointer;
        transition: all 0.2s ease;
    }

    .web_search_btn.svelte-cmazm2:hover {
        background-color: #e0e0e0;
        border-color: #bbb;
        transform: translateY(-1px);
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }

    .web_search_btn.svelte-cmazm2:active {
        transform: translateY(0);
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    }

    .web_search_btn.is-active.svelte-cmazm2 {
        background-color: #1795CF;
        color: white;
        border-color: #1795CF;
    }

    .web_search_btn.svelte-cmazm2 svg:where(.svelte-cmazm2) {
        width: 16px;
        height: 16px;
    }

    .visualizer_btn.svelte-cmazm2 {
        background-color: #f0f0f0;
        color: #333;
        border: 1px solid #ddd;
        border-radius: 20px;
        padding: 6px 16px;
        font-size: 14px;
        display: flex;
        align-items: center;
        gap: 6px;
        cursor: pointer;
        transition: all 0.2s ease;
    }

    .visualizer_btn.svelte-cmazm2:hover {
        background-color: #e0e0e0;
        border-color: #bbb;
        transform: translateY(-1px);
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }

    .visualizer_btn.svelte-cmazm2:active {
        transform: translateY(0);
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    }

    .visualizer_btn.is-active.svelte-cmazm2 {
        background-color: #1795CF;
        color: white;
        border-color: #1795CF;
    }

    .visualizer_btn.svelte-cmazm2 svg:where(.svelte-cmazm2) {
        width: 16px;
        height: 16px;
    }
    /* ツールチップのスタイル */
    .knowledge_tooltip.svelte-cmazm2 {
        position: absolute;
        bottom: 100%;
        left: 50%;
        transform: translateX(-50%);
        background-color: #333;
        color: white;
        padding: 6px 12px;
        border-radius: 4px;
        font-size: 12px;
        white-space: nowrap;
        margin-bottom: 8px;
        pointer-events: none;
    }
    
    .knowledge_tooltip.svelte-cmazm2::after {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        width: 0;
        height: 0;
        border-left: 6px solid transparent;
        border-right: 6px solid transparent;
        border-top: 6px solid #333;
    }
    
    /* textareaのパディングを調整して、ボタンと重ならないようにする */
    /* (empty) .ai_input {
        /* padding-left: 140px; を削除 *\/
    }*/
    /* Sparkle Animations */
    .sparkle-container.svelte-cmazm2 {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
        z-index: 10;
        overflow: visible;
    }

    .sparkle.svelte-cmazm2 {
        position: absolute;
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: radial-gradient(circle, #fff 30%, transparent 70%);
        box-shadow: 0 0 4px #fff, 0 0 8px #64BFF1;
        opacity: 0;
        animation: svelte-cmazm2-sparkle-burst 0.6s ease-out forwards;
        top: 50%;
        left: 50%;
    }

    /* Distribute sparkles randomly-ish using CSS vars */
    .sparkle.svelte-cmazm2:nth-child(1) { --x: -40px; --y: -30px; animation-delay: 0.0s; }
    .sparkle.svelte-cmazm2:nth-child(2) { --x: 40px; --y: -20px; animation-delay: 0.1s; }
    .sparkle.svelte-cmazm2:nth-child(3) { --x: -20px; --y: 30px; animation-delay: 0.05s; }
    .sparkle.svelte-cmazm2:nth-child(4) { --x: 30px; --y: 20px; animation-delay: 0.15s; }
    .sparkle.svelte-cmazm2:nth-child(5) { --x: 0px; --y: -40px; animation-delay: 0.1s; }
    .sparkle.svelte-cmazm2:nth-child(6) { --x: -30px; --y: 0px; animation-delay: 0.2s; }

    @keyframes svelte-cmazm2-sparkle-burst {
        0% {
            transform: translate(0, 0) scale(0);
            opacity: 1;
        }
        50% {
            opacity: 1;
        }
        100% {
            transform: translate(var(--x), var(--y)) scale(1.5);
            opacity: 0;
        }
    }

    /* Smooth Transitions for TextArea */
    .ai_input.svelte-cmazm2 {
        transition: height 0.1s ease-out; /* Faster for typing */
        will-change: height;
    }

    @media (max-width: 640px) {
        .ai_input_wrap.svelte-cmazm2,
        .ai_input_wrap.with-templates.svelte-cmazm2 {
            padding: 12px;
        }

        .templates-wrapper.svelte-cmazm2,
        .year-review-wrapper.svelte-cmazm2 {
            margin-bottom: 12px;
        }

        .model-inline-toggle.svelte-cmazm2 {
            padding: 0;
        }

        .ai_input_box.svelte-cmazm2 {
            padding: 8px;
            gap: 6px;
        }

        .button-wrapper.svelte-cmazm2 {
            flex-wrap: wrap;
            gap: 6px;
        }

        .knowledge_btn.svelte-cmazm2,
        .web_search_btn.svelte-cmazm2,
        .visualizer_btn.svelte-cmazm2,
        .ultrafast_toggle_btn.svelte-cmazm2 {
            padding: 6px 10px;
            font-size: 12px;
        }

        .ai_btn.svelte-cmazm2 {
            flex: 0 0 36px;
            width: 36px;
            height: 36px;
        }
    }





    .response_parser.svelte-1spxwlg {
        width: 99%;
    }

    .response_parser {
        line-height: 1.7;
        font-size: 15px;
        color: #f5f6f7;
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    /* Light mode overrides keep AI responses legible on white backgrounds */
    main.light .response_parser {
        color: #1f2328;
    }

    main.light .response_parser h1,
    main.light .response_parser h2,
    main.light .response_parser h3,
    main.light .response_parser h4,
    main.light .response_parser h5,
    main.light .response_parser h6 {
        color: #101828;
    }

    main.light .response_parser :not(pre) > code {
        background: rgba(15, 23, 42, 0.08);
        color: #0f172a;
    }

    main.light .response_parser pre code {
        color: #0f172a;
    }

    main.light .response_parser pre {
        background: #f1f4f9;
        color: #0f172a;
        border: 1px solid #d0d5dd;
    }

    main.light .response_parser blockquote {
        border-left-color: #d0d5dd;
        color: #344054;
        background: #f8f9fb;
    }

    main.light .response_parser th,
    main.light .response_parser td {
        border: 1px solid #e4e7ec;
        color: #1d2939;
    }

    main.light .response_parser th {
        background: #edf1f7;
    }

    main.light .response_parser tr:nth-child(odd) {
        background: #f9fafb;
    }

    main.light .response_parser hr {
        border-top: 1px solid #e4e7ec;
    }

    /* Light-mode table polish (override any dark/zebra defaults) */
    main.light .response_parser table {
        background: #ffffff;
        border: none;
        border-radius: 10px;
        overflow: hidden;
        box-shadow: 0 0 0 1px #d6dae2;
    }

    main.light .response_parser tbody tr {
        background: transparent !important;
    }

    main.light .response_parser thead tr {
        background: transparent !important;
    }

    main.light .response_parser th,
    main.light .response_parser td {
        border: none;
        border-bottom: 1px solid #d6dae2;
        border-right: 1px solid #d6dae2;
        color: #1d2939;
        background: transparent;
        border-radius: 0 !important;
    }

    /* Remove right border on last column */
    main.light .response_parser th:last-child,
    main.light .response_parser td:last-child {
        border-right: none;
    }

    /* Remove bottom border on last row */
    main.light .response_parser tbody tr:last-child td {
        border-bottom: none;
    }

    main.light .response_parser th {
        background: #edf1f7;
    }

    main.light .response_parser tbody tr:nth-child(odd) td {
        background: #f9fafb;
    }

    main.light .response_parser tbody tr:nth-child(even) td {
        background: #ffffff;
    }

    .response_parser > *:last-child {
        margin-bottom: 0;
    }

    .response_parser p,
    .response_parser ul,
    .response_parser ol,
    .response_parser pre,
    .response_parser table,
    .response_parser blockquote {
        margin: 0 0 16px;
    }

    .response_parser p {
        white-space: pre-line;
    }

    .response_parser h1,
    .response_parser h2,
    .response_parser h3,
    .response_parser h4,
    .response_parser h5,
    .response_parser h6 {
        margin: 24px 0 12px;
        font-weight: 600;
        line-height: 1.4;
        color: #ffffff;
    }

    .response_parser h1 { font-size: 1.6rem; }
    .response_parser h2 { font-size: 1.35rem; }
    .response_parser h3 { font-size: 1.2rem; }

    .response_parser ul,
    .response_parser ol {
        padding-left: 22px;
    }

    .response_parser li + li {
        margin-top: 6px;
    }

    .response_parser :not(pre) > code {
        background: rgba(255, 255, 255, 0.08);
        border-radius: 4px;
        padding: 2px 6px;
        font-size: 0.95em;
        font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
    }

    .response_parser pre code {
        font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
        color: inherit;
        background: none;
        padding: 0;
    }

    .response_parser pre {
        background: rgba(0, 0, 0, 0.4);
        border-radius: 8px;
        padding: 14px 16px;
        overflow-x: auto;
        font-size: 0.9em;
    }

    .response_parser blockquote {
        border-left: 4px solid rgba(255, 255, 255, 0.2);
        padding-left: 16px;
        color: #d7dadd;
        background: rgba(255, 255, 255, 0.05);
        border-radius: 0 8px 8px 0;
    }

    .response_parser table {
        width: 100%;
        border-collapse: separate;
        border-spacing: 0;
        overflow: hidden;
        border-radius: 10px;
        font-size: 0.95em;
        border: none;
        box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.15);
    }

    .response_parser th,
    .response_parser td {
        border: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.15);
        border-right: 1px solid rgba(255, 255, 255, 0.15);
        padding: 8px 10px;
        text-align: left;
        border-radius: 0 !important;
        background: transparent;
    }

    /* Remove right border on last column */
    .response_parser th:last-child,
    .response_parser td:last-child {
        border-right: none;
    }

    /* Remove bottom border on last row */
    .response_parser tbody tr:last-child td {
        border-bottom: none;
    }

    /* Rounded outer corners - only on table itself, not cells */
    .response_parser thead tr:first-child th:first-child { border-top-left-radius: 10px; }
    .response_parser thead tr:first-child th:last-child { border-top-right-radius: 10px; }
    .response_parser tbody tr:last-child td:first-child { border-bottom-left-radius: 10px; }
    .response_parser tbody tr:last-child td:last-child { border-bottom-right-radius: 10px; }

    .response_parser th {
        background: rgba(255, 255, 255, 0.15);
        font-weight: 600;
    }

    .response_parser tbody tr:nth-child(odd) td {
        background: rgba(255, 255, 255, 0.06);
    }

    .response_parser tbody tr:nth-child(even) td {
        background: rgba(255, 255, 255, 0.02);
    }

    .response_parser hr {
        border: none;
        border-top: 1px solid rgba(255, 255, 255, 0.2);
        margin: 20px 0;
    }

    .response_parser a.response-link {
        color: inherit;
        text-decoration: underline;
        text-underline-offset: 2px;
        word-break: break-word;
    }

    .response_parser a.response-link:hover {
        opacity: 0.85;
    }

    .response_parser .katex-display {
        margin: 18px 0;
        overflow-x: auto;
    }

    .response_parser .katex {
        font-size: 1.05em;
    }

    /* チャート生成中のクラス */
    .chart-loading {
        display: flex !important;
        flex-direction: row;
        align-items: center;
        gap: 20px;
        min-height: 60px !important;
        max-height: 60px !important;
        height: 60px !important;
        padding: 14px 20px !important;
    }

    .chart-loading p {
        margin-bottom: 0 !important;
    }

    .red {
        color: mediumvioletred;
        padding: 10px;
    }

    .chart-loading {
        display: flex !important;
        align-items: center;
        justify-content: center;
        min-height: 80px !important;
        max-height: 80px !important;
        height: 80px !important;
        padding: 20px !important;
        background-color: rgba(0, 0, 0, 0.05);
        border-radius: 8px;
        margin: 10px 0;
    }

    .loading-spinner {
        --tw-text-opacity: 1;
        color: hsl(var(--p) / var(--tw-text-opacity));
    }


    .thinking-log.svelte-1co1fqy {
        box-sizing: border-box;
        width: 100%;
        margin: 0 0 14px;
        padding: 9px 12px;
        border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
        border-radius: 9px;
        background: color-mix(in srgb, currentColor 4%, transparent);
        color: inherit;
        font-size: 13px;
        line-height: 1.55;
    }

    .thinking-log.live.svelte-1co1fqy {
        border-color: color-mix(in srgb, #6f95ff 58%, transparent);
        background: color-mix(in srgb, #6f95ff 8%, transparent);
    }

    summary.svelte-1co1fqy {
        display: flex;
        align-items: center;
        gap: 8px;
        min-width: 0;
        cursor: pointer;
        list-style: none;
        user-select: none;
    }

    summary.svelte-1co1fqy::-webkit-details-marker {
        display: none;
    }

    .chevron.svelte-1co1fqy {
        flex: none;
        width: 10px;
        height: 10px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
        opacity: 0.55;
        transition: transform 0.15s ease;
    }

    details[open].svelte-1co1fqy > summary:where(.svelte-1co1fqy) .chevron:where(.svelte-1co1fqy) {
        transform: rotate(90deg);
    }

    .icon-chip.svelte-1co1fqy {
        box-sizing: border-box;
        display: flex;
        flex: none;
        align-items: center;
        justify-content: center;
        width: 20px;
        height: 20px;
        border: 1px solid color-mix(in srgb, currentColor 26%, transparent);
        border-radius: 50%;
    }

    .icon.svelte-1co1fqy {
        display: block;
        width: 12px;
        height: 12px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.6;
        stroke-linecap: round;
        stroke-linejoin: round;
        opacity: 0.78;
    }

    .summary-title.svelte-1co1fqy {
        min-width: 0;
        font-weight: 600;
    }

    .live.svelte-1co1fqy .summary-title:where(.svelte-1co1fqy) {
        flex: none;
        white-space: nowrap;
    }

    .summary-latest.svelte-1co1fqy {
        flex: 1;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        opacity: 0.72;
    }

    .pulse-dot.svelte-1co1fqy {
        flex: none;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #6f95ff;
        animation: svelte-1co1fqy-thinking-pulse 1.2s ease-in-out infinite;
    }

    .steps.svelte-1co1fqy {
        display: flex;
        flex-direction: column;
        max-height: min(320px, 40vh);
        margin: 10px 0 2px;
        padding: 0 2px;
        overflow-y: auto;
        list-style: none;
        overscroll-behavior: contain;
    }

    .step.svelte-1co1fqy {
        position: relative;
        display: flex;
        gap: 10px;
        align-items: flex-start;
        padding-bottom: 10px;
    }

    .step.svelte-1co1fqy:last-child {
        padding-bottom: 2px;
    }

    /* ステップのチップ同士をつなぐタイムラインの縦線 */
    .step.svelte-1co1fqy:not(:last-child)::before {
        content: '';
        position: absolute;
        top: 21px;
        bottom: 1px;
        left: 9.5px;
        width: 1px;
        background: color-mix(in srgb, currentColor 16%, transparent);
    }

    .line.svelte-1co1fqy {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .step.error.svelte-1co1fqy .icon-chip:where(.svelte-1co1fqy) {
        color: #df6558;
    }

    .step.error.svelte-1co1fqy .icon:where(.svelte-1co1fqy) {
        opacity: 1;
    }

    .step.error.svelte-1co1fqy .line:where(.svelte-1co1fqy) {
        color: #df6558;
    }

    .step.muted.svelte-1co1fqy .line:where(.svelte-1co1fqy) {
        opacity: 0.84;
    }

    @keyframes svelte-1co1fqy-thinking-pulse {
        0%, 100% { opacity: 0.35; transform: scale(0.85); }
        50% { opacity: 1; transform: scale(1.1); }
    }

    @media (prefers-reduced-motion: reduce) {
        .chevron.svelte-1co1fqy,
        .pulse-dot.svelte-1co1fqy {
            animation: none;
            transition: none;
        }
    }

    @media (max-width: 560px) {
        .thinking-log.svelte-1co1fqy {
            padding: 8px 10px;
        }

        .summary-title.svelte-1co1fqy {
            font-size: 12px;
        }
    }


    .downloads.svelte-qy75ba {
        display: flex;
        justify-content: flex-end;
        gap: 24px;
    }

    .download-img.svelte-qy75ba, .download-csv.svelte-qy75ba {
        display: grid;
        grid-template-columns: 24px auto;
        gap: 8px;
        transition: opacity 0.2s ease;
    }

    .download-img.svelte-qy75ba:hover, .download-csv.svelte-qy75ba:hover {
        opacity: 0.5;
    }

    .download-img.svelte-qy75ba::before {
        content: "";
        display: block;
        width: 24px;
        height: 24px;
        background: url(../img/icon_image.svg) no-repeat center center / contain;
    }

    .download-csv.svelte-qy75ba::before {
        content: "";
        display: block;
        width: 24px;
        height: 24px;
        background: url(../img/icon_csv.svg) no-repeat center center / contain;
    }


.report.svelte-1l1rjep{
    width: min(100%,1000px);
    margin: 40px auto;
    border: 1px solid #757575;
}
.report_content.svelte-1l1rjep{
    padding: 32px;
    display: grid;
    gap: 64px;
}
.report_chart.svelte-1l1rjep{
    padding: 32px;
    background-color: #3f3f3f;
    border-radius: 4px;
}
.report_title.svelte-1l1rjep{
    font-size: 32px;
    font-weight: bold;
    padding: 32px;
    border-bottom: 1px solid #757575;
}
.report-block_title.svelte-1l1rjep{
    font-size: 24px;
    font-weight: bold;
    display: grid;
    grid-template-columns: 1em 1fr;
    gap: 8px;
    margin-bottom: 24px;
    padding-bottom: 8px;
    border-bottom: 2px solid #757575;
}
.report-block_title.svelte-1l1rjep::before{
    content: "";
    display: block;
    width: 0.8em;
    height: 0.8em;
    background-color: #fff;
    border-radius: 2px;
    margin: calc((0.8em * 0.25) + 0.2em) 0;
}


    .downloads.svelte-1id7h4a {
        display: flex;
        justify-content: flex-end;
        gap: 24px;
    }

    .download-img.svelte-1id7h4a, .download-csv.svelte-1id7h4a {
        display: grid;
        grid-template-columns: 24px auto;
        gap: 8px;
        transition: opacity 0.2s ease;
    }

    .download-img.svelte-1id7h4a:hover, .download-csv.svelte-1id7h4a:hover {
        opacity: 0.5;
    }

    .download-img.svelte-1id7h4a::before {
        content: "";
        display: block;
        width: 24px;
        height: 24px;
        background: url(../img/icon_image.svg) no-repeat center center / contain;
    }

    .download-csv.svelte-1id7h4a::before {
        content: "";
        display: block;
        width: 24px;
        height: 24px;
        background: url(../img/icon_csv.svg) no-repeat center center / contain;
    }


    table.svelte-qusz4c {
        background: #313131;
        width: 100%;
        color: #FFFFFF;
        border: 1px solid #ccc;
        border-radius: 8px;
        overflow: hidden;
    }

    .hline.svelte-qusz4c tr:where(.svelte-qusz4c):not(:last-child) :where(.svelte-qusz4c){
        border-bottom: 1px solid #ccc;
    }
    .vline.svelte-qusz4c tr:where(.svelte-qusz4c) :where(.svelte-qusz4c):not(:last-child){
        border-right: 1px solid #ccc;
    }

    thead.svelte-qusz4c{
        font-weight: bold;
    }

    th.svelte-qusz4c, td.svelte-qusz4c {
        text-align: left;
        padding: 8px;
    }

    tbody.svelte-qusz4c tr:where(.svelte-qusz4c):nth-child(odd){
        background: #626263;
    }
    tbody.svelte-qusz4c tr:where(.svelte-qusz4c):nth-child(even) {
        background: #717172;
    }

    table.svelte-qusz4c tr:where(.svelte-qusz4c):last-child td:where(.svelte-qusz4c) {
        border-bottom: none;
    }



.report.svelte-1hip3vw{
    width: min(100%,1000px);
    margin: 40px auto;
    border: 1px solid #757575;
}
.report_content.svelte-1hip3vw{
    padding: 32px;
    display: grid;
    gap: 64px;
}
.report_chart.svelte-1hip3vw{
    padding: 32px;
    background-color: #3f3f3f;
    border-radius: 4px;
}
.report_title.svelte-1hip3vw{
    font-size: 32px;
    font-weight: bold;
    padding: 32px;
    border-bottom: 1px solid #757575;
}
.report-block_title.svelte-1hip3vw{
    font-size: 24px;
    font-weight: bold;
    display: grid;
    grid-template-columns: 1em 1fr;
    gap: 8px;
    margin-bottom: 24px;
    padding-bottom: 8px;
    border-bottom: 2px solid #757575;
}
.report-block_title.svelte-1hip3vw::before{
    content: "";
    display: block;
    width: 0.8em;
    height: 0.8em;
    background-color: #fff;
    border-radius: 2px;
    margin: calc((0.8em * 0.25) + 0.2em) 0;
}


.report.svelte-k3n1vz{
    width: min(100%,1000px);
    margin: 40px auto;
    border: 1px solid #757575;
}
.report_content.svelte-k3n1vz{
    padding: 32px;
    display: grid;
    gap: 64px;
}
.report_chart.svelte-k3n1vz{
    padding: 32px;
    background-color: #3f3f3f;
    border-radius: 4px;
}
.report_title.svelte-k3n1vz{
    font-size: 32px;
    font-weight: bold;
    padding: 32px;
    border-bottom: 1px solid #757575;
}
.report-block_title.svelte-k3n1vz{
    font-size: 24px;
    font-weight: bold;
    display: grid;
    grid-template-columns: 1em 1fr;
    gap: 8px;
    margin-bottom: 24px;
    padding-bottom: 8px;
    border-bottom: 2px solid #757575;
}
.report-block_title.svelte-k3n1vz::before{
    content: "";
    display: block;
    width: 0.8em;
    height: 0.8em;
    background-color: #fff;
    border-radius: 2px;
    margin: calc((0.8em * 0.25) + 0.2em) 0;
}


.report.svelte-rdd6y2{
    width: min(100%,1000px);
    margin: 40px auto;
    border: 1px solid #757575;
}
.report_content.svelte-rdd6y2{
    padding: 32px;
    display: grid;
    gap: 64px;
}
.report_chart.svelte-rdd6y2{
    padding: 32px;
    background-color: #3f3f3f;
    border-radius: 4px;
}
.report_title.svelte-rdd6y2{
    font-size: 32px;
    font-weight: bold;
    padding: 32px;
    border-bottom: 1px solid #757575;
}
.report-block_title.svelte-rdd6y2{
    font-size: 24px;
    font-weight: bold;
    display: grid;
    grid-template-columns: 1em 1fr;
    gap: 8px;
    margin-bottom: 24px;
    padding-bottom: 8px;
    border-bottom: 2px solid #757575;
}
.report-block_title.svelte-rdd6y2::before{
    content: "";
    display: block;
    width: 0.8em;
    height: 0.8em;
    background-color: #fff;
    border-radius: 2px;
    margin: calc((0.8em * 0.25) + 0.2em) 0;
}


.report.svelte-yyknel{
    width: min(100%,1000px);
    margin: 40px auto;
    border: 1px solid #757575;
}
.report_content.svelte-yyknel{
    padding: 32px;
    display: grid;
    gap: 64px;
}
.report_chart.svelte-yyknel{
    padding: 32px;
    background-color: #3f3f3f;
    border-radius: 4px;
}
.report_title.svelte-yyknel{
    font-size: 32px;
    font-weight: bold;
    padding: 32px;
    border-bottom: 1px solid #757575;
}
.report-block_title.svelte-yyknel{
    font-size: 24px;
    font-weight: bold;
    display: grid;
    grid-template-columns: 1em 1fr;
    gap: 8px;
    margin-bottom: 24px;
    padding-bottom: 8px;
    border-bottom: 2px solid #757575;
}
.report-block_title.svelte-yyknel::before{
    content: "";
    display: block;
    width: 0.8em;
    height: 0.8em;
    background-color: #fff;
    border-radius: 2px;
    margin: calc((0.8em * 0.25) + 0.2em) 0;
}
.report_subtitle.svelte-yyknel{
    font-size: 20px;
    font-weight: bold;
    display: grid;
    grid-template-columns: 1em 1fr;
    gap: 8px;
    margin-top: 32px;
}
.report_subtitle.svelte-yyknel::before{
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    background-color: #fff;
    border-radius: 50%;
    margin: calc(1em * 0.25) 0;
}
.report_textarea.svelte-yyknel p:where(.svelte-yyknel){
    color: #ddd;
}
.report_textarea.svelte-yyknel strong:where(.svelte-yyknel){
    display: inline-block;
    color: #ddd;
    font-weight: bold;
    padding: 8px;
    border: 1px solid;
}
.report_textarea.svelte-yyknel p:where(.svelte-yyknel):not(:first-child), .report_textarea.svelte-yyknel strong:where(.svelte-yyknel):not(:first-child){
    margin-top: 16px;
}


.report.svelte-10af2x4{
    width: min(100%,1000px);
    margin: 40px auto;
    border: 1px solid #757575;
}
.report_content.svelte-10af2x4{
    padding: 32px;
    display: grid;
    gap: 64px;
}
.report_chart.svelte-10af2x4{
    padding: 32px;
    background-color: #3f3f3f;
    border-radius: 4px;
}
.report_title.svelte-10af2x4{
    font-size: 32px;
    font-weight: bold;
    padding: 32px;
    border-bottom: 1px solid #757575;
}
.report-block_title.svelte-10af2x4{
    font-size: 24px;
    font-weight: bold;
    display: grid;
    grid-template-columns: 1em 1fr;
    gap: 8px;
    margin-bottom: 24px;
    padding-bottom: 8px;
    border-bottom: 2px solid #757575;
}
.report-block_title.svelte-10af2x4::before{
    content: "";
    display: block;
    width: 0.8em;
    height: 0.8em;
    background-color: #fff;
    border-radius: 2px;
    margin: calc((0.8em * 0.25) + 0.2em) 0;
}
.report_textarea.svelte-10af2x4{
    display: grid;
    align-items: center;
}
.report_aitext.svelte-10af2x4{
    display: grid;
    grid-template-columns: 49px 1fr;
    gap: 24px;
}
.report_aitext.svelte-10af2x4::before{
    content: "";
    display: block;
    width: 49px;
    height: 66px;
    background: url(../img/icon_ai.svg)no-repeat center center /contain;
}
.report_textarea.svelte-10af2x4 p:where(.svelte-10af2x4){
    color: #ddd;
}
.report_textarea.svelte-10af2x4 p:where(.svelte-10af2x4):not(:first-child){
    margin-top: 16px;
}


.report.svelte-ci7pvv{
    width: min(100%,1000px);
    margin: 40px auto;
    border: 1px solid #757575;
}
.report_content.svelte-ci7pvv{
    padding: 32px;
    display: grid;
    gap: 64px;
}
.report_chart.svelte-ci7pvv{
    padding: 32px;
    background-color: #3f3f3f;
    border-radius: 4px;
}
.report_title.svelte-ci7pvv{
    font-size: 32px;
    font-weight: bold;
    padding: 32px;
    border-bottom: 1px solid #757575;
}
.report-block_title.svelte-ci7pvv{
    font-size: 24px;
    font-weight: bold;
    display: grid;
    grid-template-columns: 1em 1fr;
    gap: 8px;
    margin-bottom: 24px;
    padding-bottom: 8px;
    border-bottom: 2px solid #757575;
}
.report-block_title.svelte-ci7pvv::before{
    content: "";
    display: block;
    width: 0.8em;
    height: 0.8em;
    background-color: #fff;
    border-radius: 2px;
    margin: calc((0.8em * 0.25) + 0.2em) 0;
}


    canvas.svelte-qn9n6i {
        background-color: transparent !important;
    }

    .downloads.svelte-qn9n6i {
        display: flex;
        justify-content: flex-end;
        gap: 24px;
    }

    .download-img.svelte-qn9n6i, .download-csv.svelte-qn9n6i {
        display: grid;
        grid-template-columns: 24px auto;
        gap: 8px;
        transition: opacity 0.2s ease;
    }

    .download-img.svelte-qn9n6i:hover, .download-csv.svelte-qn9n6i:hover {
        opacity: 0.5;
    }

    .download-img.svelte-qn9n6i::before {
        content: "";
        display: block;
        width: 24px;
        height: 24px;
        background: url(../img/icon_image.svg) no-repeat center center / contain;
    }

    .download-csv.svelte-qn9n6i::before {
        content: "";
        display: block;
        width: 24px;
        height: 24px;
        background: url(../img/icon_csv.svg) no-repeat center center / contain;
    }


.report.svelte-1mt1386{
    width: min(100%,1000px);
    margin: 40px auto;
    border: 1px solid #757575;
}
.report_content.svelte-1mt1386{
    padding: 32px;
    display: grid;
    gap: 64px;
}
.report_chart.svelte-1mt1386{
    padding: 32px;
    background-color: #3f3f3f;
    border-radius: 4px;
}
.report_title.svelte-1mt1386{
    font-size: 32px;
    font-weight: bold;
    padding: 32px;
    border-bottom: 1px solid #757575;
}
.report-block_title.svelte-1mt1386{
    font-size: 24px;
    font-weight: bold;
    display: grid;
    grid-template-columns: 1em 1fr;
    gap: 8px;
    margin-bottom: 24px;
    padding-bottom: 8px;
    border-bottom: 2px solid #757575;
}
.report-block_title.svelte-1mt1386::before{
    content: "";
    display: block;
    width: 0.8em;
    height: 0.8em;
    background-color: #fff;
    border-radius: 2px;
    margin: calc((0.8em * 0.25) + 0.2em) 0;
}


.report.svelte-dngsg9{
    width: min(100%,1000px);
    margin: 40px auto;
    border: 1px solid #757575;
}
.report_content.svelte-dngsg9{
    padding: 32px;
    display: grid;
    gap: 64px;
}
.report_chart.svelte-dngsg9{
    padding: 32px;
    background-color: #3f3f3f;
    border-radius: 4px;
}
.report_title.svelte-dngsg9{
    font-size: 32px;
    font-weight: bold;
    padding: 32px;
    border-bottom: 1px solid #757575;
}
.report-block_title.svelte-dngsg9{
    font-size: 24px;
    font-weight: bold;
    display: grid;
    grid-template-columns: 1em 1fr;
    gap: 8px;
    margin-bottom: 24px;
    padding-bottom: 8px;
    border-bottom: 2px solid #757575;
}
.report-block_title.svelte-dngsg9::before{
    content: "";
    display: block;
    width: 0.8em;
    height: 0.8em;
    background-color: #fff;
    border-radius: 2px;
    margin: calc((0.8em * 0.25) + 0.2em) 0;
}


    canvas.svelte-oyfhaw {
        background-color: transparent !important;
    }
    .downloads.svelte-oyfhaw {
        display: flex;
        justify-content: flex-end;
        gap: 24px;
        position: absolute;
        right: 0;
        bottom: -36px;
    }

    .download-img.svelte-oyfhaw, .download-csv.svelte-oyfhaw {
        display: grid;
        grid-template-columns: 24px auto;
        gap: 8px;
        transition: opacity 0.2s ease;
    }

    .download-img.svelte-oyfhaw:hover, .download-csv.svelte-oyfhaw:hover {
        opacity: 0.5;
    }

    .download-img.svelte-oyfhaw::before {
        content: "";
        display: block;
        width: 24px;
        height: 24px;
        background: url(../img/icon_image.svg) no-repeat center center / contain;
    }

    .download-csv.svelte-oyfhaw::before {
        content: "";
        display: block;
        width: 24px;
        height: 24px;
        background: url(../img/icon_csv.svg) no-repeat center center / contain;
    }


.report.svelte-f2o0ch{
    width: min(100%,1000px);
    margin: 40px auto;
    border: 1px solid #757575;
}
.report_content.svelte-f2o0ch{
    padding: 32px;
    display: grid;
    gap: 64px;
}
.report_chart.svelte-f2o0ch{
    padding: 32px;
    background-color: #3f3f3f;
    border-radius: 4px;
}
.report_title.svelte-f2o0ch{
    font-size: 32px;
    font-weight: bold;
    padding: 32px;
    border-bottom: 1px solid #757575;
}
.report-block_title.svelte-f2o0ch{
    font-size: 24px;
    font-weight: bold;
    display: grid;
    grid-template-columns: 1em 1fr;
    gap: 8px;
    margin-bottom: 24px;
    padding-bottom: 8px;
    border-bottom: 2px solid #757575;
}
.report-block_title.svelte-f2o0ch::before{
    content: "";
    display: block;
    width: 0.8em;
    height: 0.8em;
    background-color: #fff;
    border-radius: 2px;
    margin: calc((0.8em * 0.25) + 0.2em) 0;
}
.report_textarea.svelte-f2o0ch{
    display: grid;
    align-items: center;
}
.report_aitext.svelte-f2o0ch{
    display: grid;
    grid-template-columns: 49px 1fr;
    gap: 24px;
}
.report_aitext.svelte-f2o0ch::before{
    content: "";
    display: block;
    width: 49px;
    height: 66px;
    background: url(../img/icon_ai.svg)no-repeat center center /contain;
}
.report_textarea.svelte-f2o0ch p:where(.svelte-f2o0ch){
    color: #ddd;
}
.report_textarea.svelte-f2o0ch p:where(.svelte-f2o0ch):not(:first-child){
    margin-top: 16px;
}
/* マークダウンスタイルの調整 */
.report_textarea h1 {
    font-size: 1.5em;
    margin-top: 1em;
}
.report_textarea h2 {
    font-size: 1.3em;
    margin-top: 0.8em;
}
.report_textarea p {
    margin-bottom: 0.5em;
}
.report_textarea ul, .report_textarea ol {
    margin-left: 1.5em;
    margin-bottom: 0.5em;
}
.report_textarea code {
    background-color: #f0f0f0;
    padding: 0.2em 0.4em;
    border-radius: 3px;
}


        .report.svelte-7xt0w{
            width: min(100%,1000px);
            margin: 40px auto;
            border: 1px solid #757575;
        }
        .report_content.svelte-7xt0w{
            padding: 32px;
            display: grid;
            gap: 64px;
        }
        .report_chart.svelte-7xt0w{
            padding: 32px;
            background-color: #3f3f3f;
            border-radius: 4px;
        }
        .report_title.svelte-7xt0w{
            font-size: 32px;
            font-weight: bold;
            padding: 32px;
            border-bottom: 1px solid #757575;
        }
        .report-block_title.svelte-7xt0w{
            font-size: 24px;
            font-weight: bold;
            display: grid;
            grid-template-columns: 1em 1fr;
            gap: 8px;
            margin-bottom: 24px;
            padding-bottom: 8px;
            border-bottom: 2px solid #757575;
        }
        .report-block_title.svelte-7xt0w::before{
            content: "";
            display: block;
            width: 0.8em;
            height: 0.8em;
            background-color: #fff;
            border-radius: 2px;
            margin: calc((0.8em * 0.25) + 0.2em) 0;
        }
        .report_textarea.svelte-7xt0w{
            display: grid;
            align-items: center;
        }
        .report_aitext.svelte-7xt0w{
            display: grid;
            grid-template-columns: 49px 1fr;
            gap: 24px;
        }
        .report_aitext.svelte-7xt0w::before{
            content: "";
            display: block;
            width: 49px;
            height: 66px;
            background: url(../img/icon_ai.svg)no-repeat center center /contain;
        }
        .report_textarea.svelte-7xt0w p:where(.svelte-7xt0w){
            color: #ddd;
        }
        .report_textarea.svelte-7xt0w p:where(.svelte-7xt0w):not(:first-child){
            margin-top: 16px;
        }
        /* マークダウンスタイルの調整 */
        .report_textarea h1 {
            font-size: 1.5em;
            margin-top: 1em;
        }
        .report_textarea h2 {
            font-size: 1.3em;
            margin-top: 0.8em;
        }
        .report_textarea p {
            margin-bottom: 0.5em;
        }
        .report_textarea ul, .report_textarea ol {
            margin-left: 1.5em;
            margin-bottom: 0.5em;
        }
        .report_textarea code {
            background-color: #f0f0f0;
            padding: 0.2em 0.4em;
            border-radius: 3px;
        }
        

    .report.svelte-djew9f{
        width: min(100%,1000px);
        margin: 40px auto;
        border: 1px solid #757575;
    }
    .report_content.svelte-djew9f{
        padding: 32px;
        display: grid;
        gap: 64px;
    }
    .report_chart.svelte-djew9f{
        padding: 32px;
        background-color: #3f3f3f;
        border-radius: 4px;
    }
    .report-block_title.svelte-djew9f{
        font-size: 24px;
        font-weight: bold;
        display: grid;
        grid-template-columns: 1em 1fr;
        gap: 8px;
        margin-bottom: 24px;
        padding-bottom: 8px;
        border-bottom: 2px solid #757575;
    }
    .report-block_title.svelte-djew9f::before{
        content: "";
        display: block;
        width: 0.8em;
        height: 0.8em;
        background-color: #fff;
        border-radius: 2px;
        margin: calc((0.8em * 0.25) + 0.2em) 0;
    }
    /* マークダウンスタイルの調整 */


    .report.svelte-1l0roya{
        width: min(100%,1000px);
        margin: 40px auto;
        border: 1px solid #757575;
    }
    .report_content.svelte-1l0roya{
        padding: 32px;
        display: grid;
        gap: 64px;
    }
    .report_chart.svelte-1l0roya{
        padding: 32px;
        background-color: #3f3f3f;
        border-radius: 4px;
    }
    .report_title.svelte-1l0roya{
        font-size: 32px;
        font-weight: bold;
        padding: 32px;
        border-bottom: 1px solid #757575;
    }
    .report-block_title.svelte-1l0roya{
        font-size: 24px;
        font-weight: bold;
        display: grid;
        grid-template-columns: 1em 1fr;
        gap: 8px;
        margin-bottom: 24px;
        padding-bottom: 8px;
        border-bottom: 2px solid #757575;
    }
    .report-block_title.svelte-1l0roya::before{
        content: "";
        display: block;
        width: 0.8em;
        height: 0.8em;
        background-color: #fff;
        border-radius: 2px;
        margin: calc((0.8em * 0.25) + 0.2em) 0;
    }
    

    .report.svelte-5nggxx{
        width: min(100%,1000px);
        margin: 40px auto;
        border: 1px solid #757575;
    }
    .report_content.svelte-5nggxx{
        padding: 32px;
        display: grid;
        gap: 64px;
    }
    .report_chart.svelte-5nggxx{
        padding: 32px;
        background-color: #3f3f3f;
        border-radius: 4px;
    }
    .report_title.svelte-5nggxx{
        font-size: 32px;
        font-weight: bold;
        padding: 32px;
        border-bottom: 1px solid #757575;
    }
    .report-block_title.svelte-5nggxx{
        font-size: 24px;
        font-weight: bold;
        display: grid;
        grid-template-columns: 1em 1fr;
        gap: 8px;
        margin-bottom: 24px;
        padding-bottom: 8px;
        border-bottom: 2px solid #757575;
    }
    .report-block_title.svelte-5nggxx::before{
        content: "";
        display: block;
        width: 0.8em;
        height: 0.8em;
        background-color: #fff;
        border-radius: 2px;
        margin: calc((0.8em * 0.25) + 0.2em) 0;
    }
    /* マークダウンスタイルの調整 */
    

    .report.svelte-eud1tg{
        width: min(100%,1000px);
        margin: 40px auto;
        border: 1px solid #757575;
    }
    .report_content.svelte-eud1tg{
        padding: 32px;
        display: grid;
        gap: 64px;
    }
    .report_chart.svelte-eud1tg{
        padding: 32px;
        background-color: #3f3f3f;
        border-radius: 4px;
    }
    .report_title.svelte-eud1tg{
        font-size: 32px;
        font-weight: bold;
        padding: 32px;
        border-bottom: 1px solid #757575;
    }
    .report-block_title.svelte-eud1tg{
        font-size: 24px;
        font-weight: bold;
        display: grid;
        grid-template-columns: 1em 1fr;
        gap: 8px;
        margin-bottom: 24px;
        padding-bottom: 8px;
        border-bottom: 2px solid #757575;
    }
    .report-block_title.svelte-eud1tg::before{
        content: "";
        display: block;
        width: 0.8em;
        height: 0.8em;
        background-color: #fff;
        border-radius: 2px;
        margin: calc((0.8em * 0.25) + 0.2em) 0;
    }
    /* マークダウンスタイルの調整 */
    

    .ai-response.svelte-1bmb9fj {
        display: flex;
        flex-direction: column;
        gap: 20px;
        padding: 0;
        background-color: inherit;
        border-radius: 8px;
        color: black;
    }
    .chat-item.svelte-1bmb9fj {
        padding: 0;
        background-color: inherit;
        display: flex;
        flex-flow: column;
        align-items: flex-start;
        gap: 32px;
    }
    .generated-response.svelte-1bmb9fj {
        background: #313131;
        /*display: flex;*/
        /*flex-wrap: wrap;*/
        /*grid-template-columns: 50px 1fr;*/
        /*gap: 24px;*/
        color: #fff;
        width: 100%;
    }
    /* (empty) .generated-response.AIactive::before{
        /*content: "";*\/
        /*display: block;*\/
        /*width: 50px;*\/
        /*height: 64px;*\/
        /*background: url(/img/ai_icon.png)no-repeat center center / contain;*\/
    }*/
    /* (empty) .generated-response.AIfix::before{
        /*content: "";*\/
        /*display: block;*\/
        /*width: 50px;*\/
        /*height: 64px;*\/
        /*background: url(/img/icon_ai.svg)no-repeat center center / contain;*\/
    }*/
    .generated-response_content.svelte-1bmb9fj{
        place-content: center;
        min-height: 50px;
    }
    .generated-response_content.svelte-1bmb9fj p:where(.svelte-1bmb9fj){
        margin: 0;
    }
    .user-prompt.svelte-1bmb9fj{
        color: white;
        padding: 1rem;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        background: #626263;
        font-size: 1.2em;
        display: inline-block;
        border-radius: 8px;
    }
    .user-prompt_text.svelte-1bmb9fj{
        display: grid;
        grid-template-columns: 32px auto;
        gap: 14px;
    }
    .user-prompt_text.svelte-1bmb9fj::before{
        content: "";
        display: inline-block;
        width: 32px;
        height: 32px;
        background: url(../img/icon_comment.svg) no-repeat center center;
    }
    .loading_icon.svelte-1bmb9fj{
        opacity: 0;
        animation: svelte-1bmb9fj-loading-in 0.8s forwards;
    }
    .loading_text.svelte-1bmb9fj{
        opacity: 0;
        animation: svelte-1bmb9fj-loading-in 0.8s 0.2s forwards;
    }
    @keyframes svelte-1bmb9fj-loading-in{
        0%{
            opacity: 0;
            transform: translateY(20px);
        }
        100%{
            opacity: 1;
            transform: translateY(0);
        }
    }
    @keyframes svelte-1bmb9fj-loading-out{
        0%{
            opacity: 1;
            transform: translateY(0);
        }
        100%{
            opacity: 0;
            transform: translateY(-20px);
        }
    }
    .user-prompt_text.svelte-1bmb9fj{
        margin: 0;
    }
    .summary-evaluation.svelte-1bmb9fj {
        display: flex;
        gap: 20px;
        justify-content: flex-end; /* 右寄せにする */
        margin-left: 0; /* 左マージンは不要になるので削除 */
        margin-top: 15px; /* 上部に少し余白を追加（オプション） */
        margin-right: 10px; /* 右側に少し余白を追加（オプション） */
    }
    
    /* ローディングの中央寄せ */
    .loading-indicator.svelte-1bmb9fj {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 40px 0;
        width: 100%;
        text-align: center;
    }
    /* AIResponse.svelte のスタイル部分に追加 */
    .feedback-completed.svelte-1bmb9fj {
        background-color: rgba(76, 175, 80, 0.1);  /* 薄い緑色の背景 */
        border-radius: 4px;
        padding: 8px 12px;
        justify-content: center;  /* 中央揃え */
    }

    .feedback-icon.svelte-1bmb9fj {
        color: #4CAF50;  /* 緑色のチェックマーク */
        font-size: 16px;
        margin-left: 8px;
    }

    /* ダークモード対応 */
    .dark-mode .feedback-completed.svelte-1bmb9fj {
        background-color: rgba(76, 175, 80, 0.2);
    }

    /* コピーボタンのスタイル */
    .copy-btn.svelte-1bmb9fj {
        position: relative;
        transition: opacity 0.2s ease;
    }

    .copy-btn.svelte-1bmb9fj:hover {
        opacity: 0.7;
    }

    .copy-btn.svelte-1bmb9fj img:where(.svelte-1bmb9fj) {
        width: 20px;
        height: 20px;
    }

    /* (empty) .copy-success-icon {
        /* チェックアイコンはそのまま使用（青色: #1795CF） *\/
    }*/

    /* PPTXボタンのスタイル */
    .pptx-btn.svelte-1bmb9fj {
        position: relative;
        transition: opacity 0.2s ease;
    }

    .pptx-btn.svelte-1bmb9fj:hover {
        opacity: 0.7;
    }

    .pptx-btn.svelte-1bmb9fj img:where(.svelte-1bmb9fj) {
        width: 20px;
        height: 20px;
    }

    .pptx-icon.svelte-1bmb9fj {
        width: 20px;
        height: 20px;
        color: #fff;
    }

    /* (empty) .pptx-success-icon {
        /* チェックアイコンはそのまま使用 *\/
    }*/

    /* ライトモード対応 */
    .light-mode .pptx-icon.svelte-1bmb9fj,
    main.light .pptx-icon.svelte-1bmb9fj {
        color: #333;
    }

    .summary-evaluation_btn.svelte-1bmb9fj {
        background: none;
        border: none;
        cursor: pointer;
        padding: 4px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 4px;
        transition: background-color 0.2s ease;
    }

    .summary-evaluation_btn.svelte-1bmb9fj:hover {
        background-color: rgba(255, 255, 255, 0.1);
    }

    /* ライトモード対応 */
    .light-mode .summary-evaluation_btn.svelte-1bmb9fj:hover {
        background-color: rgba(0, 0, 0, 0.1);
    }


    .spinner.svelte-1pe5tg4 {
        display: inline-block;
    }
    .spinner.svelte-1pe5tg4 > div:where(.svelte-1pe5tg4) {
        width: 14%;
        height: 14%;
        background-color: #333;
        border-radius: 100%;
        display: inline-block;
        animation: svelte-1pe5tg4-sk-bouncedelay 1.4s infinite ease-in-out both;
    }
    .spinner.svelte-1pe5tg4 .bounce1:where(.svelte-1pe5tg4) {
        animation-delay: -0.32s;
    }
    .spinner.svelte-1pe5tg4 .bounce2:where(.svelte-1pe5tg4) {
        animation-delay: -0.16s;
    }
    @keyframes svelte-1pe5tg4-sk-bouncedelay {
        0%, 80%, 100% { transform: scale(0); }
        40% { transform: scale(1.0); }
    }


    .modal-overlay.svelte-11bxetl {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1000;
    }

    .modal.svelte-11bxetl {
        background: #2d2d2d;
        border-radius: 8px;
        padding: 20px;
        width: 90%;
        max-width: 400px;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    }

    h2.svelte-11bxetl {
        margin: 0 0 20px;
        color: #e0e0e0;
        font-size: 18px;
    }

    .modal-content.svelte-11bxetl {
        margin-bottom: 20px;
    }

    input.svelte-11bxetl {
        width: 94%;
        padding: 8px 12px;
        border: 1px solid #444;
        border-radius: 4px;
        background: #1e1e1e;
        color: #e0e0e0;
        font-size: 14px;
    }

    input.svelte-11bxetl:focus {
        outline: none;
        border-color: #1795CF;
    }

    .modal-footer.svelte-11bxetl {
        display: flex;
        justify-content: flex-end;
        gap: 12px;
    }

    button.svelte-11bxetl {
        padding: 8px 16px;
        border-radius: 4px;
        font-size: 14px;
        cursor: pointer;
        border: none;
        transition: background-color 0.2s;
    }

    .btn-cancel.svelte-11bxetl {
        background: #3a3a3a;
        color: #e0e0e0;
    }

    .btn-save.svelte-11bxetl {
        background: #1795CF;
        color: white;
    }

    .btn-cancel.svelte-11bxetl:hover {
        background: #4a4a4a;
    }

    .btn-save.svelte-11bxetl:hover {
        background: #1576a3;
    }


.history_loading.svelte-1dc7h7v {
    display: flex;
    align-items: baseline;
    justify-content: center;
    padding-top: 10px;
    margin-left: -20px;
    color: #888;
    font-size: 14px;
}

.menu.svelte-1dc7h7v{
    background-color: #000;
    width: 60px; /* 閉じているときの幅 */
    max-width: 208px;  /* 開いているときの最大幅 */
    /*transition: width 0.3s ease; !* 幅の変更にだけトランジションを適用 *!*/
    flex-direction: column;
    overflow: hidden;
    height: calc(100vh - 80px);
}
.menu.active.svelte-1dc7h7v {
    width: 100%; /* activeクラスが付いたら最大幅まで広がる */
}
.menu_inner.svelte-1dc7h7v{
    width: 208px; /* メニューの最大幅と同じ */
    height: 100%;
    overflow: hidden;
    padding: 16px 0;
    display: flex;
    flex-direction: column;
    flex-grow: 1; /* 残りのスペースを埋める */
}

.menu_inner.svelte-1dc7h7v::-webkit-scrollbar {
    background: #000;
    width: 5px;
    height: 5px;
}
.menu_inner.svelte-1dc7h7v::-webkit-scrollbar-thumb {
    background-color: white;
    border: 2px solid white;
    border-radius: 20px;
}
.menu_inner.svelte-1dc7h7v::-webkit-scrollbar-thumb:hover {
    background-color: white;
}


.menu_content.svelte-1dc7h7v {
    display: flex;
    flex-direction: column;
    flex: 1 1 0; /* flex-grow: 1, flex-shrink: 1, flex-basis: 0 */
    min-height: 0; /* これが重要！オーバーフローを正しく機能させる */
    overflow: hidden;
}
.menu_btns.svelte-1dc7h7v{
    display: grid;
    gap: 10px;
    flex: 0 0 auto; /* flex-grow: 0, flex-shrink: 0, flex-basis: auto */
    padding: 10px;
    background-color: inherit;
    z-index: 1;
}
.menu_btns.svelte-1dc7h7v button:where(.svelte-1dc7h7v){
    display: flex;
    align-items: center;
}
.menu_btns.svelte-1dc7h7v button:where(.svelte-1dc7h7v){
    width: 100%;
    white-space: nowrap; /* テキストを1行に */
    overflow: hidden;
    text-overflow: ellipsis; /* はみ出たテキストを...で表示 */
    padding-left: 8px;
}
.menu_btns.svelte-1dc7h7v .agents-entry:where(.svelte-1dc7h7v) {
    position: relative;
    color: inherit;
}
.menu_btns.svelte-1dc7h7v .agents-entry:where(.svelte-1dc7h7v)::before {
    position: absolute;
    top: 5px;
    bottom: 5px;
    left: -10px;
    width: 3px;
    content: '';
    background: transparent;
    border-radius: 0 3px 3px 0;
}
.menu_btns.svelte-1dc7h7v .agents-entry.is-active:where(.svelte-1dc7h7v) {
    color: var(--agt-primary);
    background: var(--agt-primary-tint);
}
.menu_btns.svelte-1dc7h7v .agents-entry.is-active:where(.svelte-1dc7h7v)::before {
    background: currentColor;
}
.agents-entry-icon.svelte-1dc7h7v {
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    stroke: currentColor;
    stroke-width: 1.55;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.menu_btns.svelte-1dc7h7v button:where(.svelte-1dc7h7v) span:where(.svelte-1dc7h7v),
.dark-mode-switch.svelte-1dc7h7v span:where(.svelte-1dc7h7v) {
    opacity: 0;
    transition: opacity 0.2s ease 0.1s; /* 少し遅らせてフェードイン */
}
.menu_btns.svelte-1dc7h7v button:where(.svelte-1dc7h7v) span:where(.svelte-1dc7h7v) {
    opacity: 0;
    width: 0;
    overflow: hidden;
    /*transition: all 0.8s ease;*/
}
.menu.active.svelte-1dc7h7v .menu_btns:where(.svelte-1dc7h7v) button:where(.svelte-1dc7h7v) span:where(.svelte-1dc7h7v) {
    opacity: 1;
    width: auto;
    margin-left: 12px;
}

.history.svelte-1dc7h7v{
    flex: 1 1 0; /* flex-grow: 1, flex-shrink: 1, flex-basis: 0 */
    min-height: 0; /* これも重要！ */
    overflow: hidden;
    /*transition: grid-template-columns 0.2s ease;*/
    display: grid;
    gap: 24px;
    margin: 24px 0;
    grid-template-columns: 0fr;
    padding: 0 16px;
}
.history_inner.svelte-1dc7h7v {
    overflow-y: auto;
    overflow-x: hidden;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}

/* WebKit ブラウザ (Chrome, Safari) 用 */
.history_inner.svelte-1dc7h7v::-webkit-scrollbar {
    width: 0;
    background: transparent;
    transition: width 0.3s;
}

.history_inner.svelte-1dc7h7v:hover::-webkit-scrollbar {
    width: 5px;
    background: #000;
}

.history_inner.svelte-1dc7h7v::-webkit-scrollbar-thumb {
    background-color: transparent;
    border: 2px solid transparent;
    border-radius: 20px;
    transition: background-color 0.3s, border 0.3s;
}

.history_inner.svelte-1dc7h7v:hover::-webkit-scrollbar-thumb {
    background-color: white;
    border: 2px solid white;
}

.history_inner.svelte-1dc7h7v:hover::-webkit-scrollbar-thumb:hover {
    background-color: #ccc; /* ホバー時に少し色を変える */
}

.active.svelte-1dc7h7v .history:where(.svelte-1dc7h7v){
    grid-template-columns: 1fr;
    height: auto;
}
.history_period.svelte-1dc7h7v{
    color: #939394;
    font-size: 14px;
    padding: 0 8px;
    margin-bottom: 4px;
}
.history_titles.svelte-1dc7h7v{
    display: grid;
    gap: 2px;
}
.history_title.svelte-1dc7h7v{
    padding: 8px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    gap: 7px;
    /*white-space: nowrap;*/
    overflow: hidden;
    /*text-overflow: ellipsis;*/
}
.history_title.svelte-1dc7h7v > span:where(.svelte-1dc7h7v) {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.history-agent-icon.svelte-1dc7h7v {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    color: var(--agt-primary);
    stroke: currentColor;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.history_title.svelte-1dc7h7v:hover{
    background-color: #1795CF;
    color: #fff;
}

:root {
    --menu-width: 60px;
    --menu-expanded-width: 208px;
}


/* ダークモードの切り替えスイッチ */
.dark-mode-switch.svelte-1dc7h7v {
    display: flex;
    flex: 0 0 auto; /* flex-grow: 0, flex-shrink: 0, flex-basis: auto */
    background-color: #000000; /* メニューの背景色と同じに */
    align-items: center;
    gap: 8px;
    padding: 14px;
    border-top: 1px solid #ccc;
    padding-top: 16px;
    padding-bottom: 34px;
    align-items: center;
}


.switch.svelte-1dc7h7v {
    position: relative;
    display: inline-block;
    width: 30px;
    height: 16px;
}

.switch.svelte-1dc7h7v input:where(.svelte-1dc7h7v) {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider.svelte-1dc7h7v {
    display: inline-block;
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    transition: .4s;
    width: 100%;
    height: 100%;
    border-radius: 4px;
}
.slider.svelte-1dc7h7v:before {
    position: absolute;
    content: "";
    height: 12px;
    width: 12px;
    left: 2px;
    bottom: 2px;
    background-color: white;
    transition: .4s;
    border-radius: 4px;
}

input.svelte-1dc7h7v:checked + .slider:where(.svelte-1dc7h7v) {
    background-color: #2196F3;
}

input.svelte-1dc7h7v:checked + .slider:where(.svelte-1dc7h7v):before {
    transform: translateX(14px);
}

.switch-text.svelte-1dc7h7v{
    font-size: 14px;
}

.menu.active.svelte-1dc7h7v .menu_btns:where(.svelte-1dc7h7v) button:where(.svelte-1dc7h7v) span:where(.svelte-1dc7h7v),
.menu.active.svelte-1dc7h7v .dark-mode-switch:where(.svelte-1dc7h7v) span:where(.svelte-1dc7h7v) {
    opacity: 1;
}

.bookmark.svelte-1dc7h7v{
    overflow: hidden;
    transition: grid-template-columns 0.2s ease;
    display: grid;
    gap: 24px;
    grid-template-columns: 0fr;
    height: 0;
    padding: 10px;
}
.bookmarkOpen.bookmark.svelte-1dc7h7v{
    overflow: visible;
    grid-template-columns: 1fr;
    height: auto;
    margin: 24px 0;
}
.bookmark_headline.svelte-1dc7h7v{
    overflow: hidden;
    display: grid;
    grid-template-columns: 24px 1fr 24px;
    padding: 8px 0;
    border-bottom: 1px solid #EEEEF0;
    gap: 8px;
}
.bookmark_content.svelte-1dc7h7v{
    position: relative;
    overflow: auto !important;
    height: calc(100vh - 410px);
}
.bookmark_content.svelte-1dc7h7v::-webkit-scrollbar {
    background: #000;
    width: 5px;
    height: 5px;
}
.bookmark_content.svelte-1dc7h7v::-webkit-scrollbar-thumb {
    background-color: white;
    border: 2px solid white;
    border-radius: 20px;
}
.bookmark_content.svelte-1dc7h7v::-webkit-scrollbar-thumb:hover {
    background-color: white;
}

.bookmarkOpen.svelte-1dc7h7v .bookmark_content:where(.svelte-1dc7h7v){
    overflow: visible;
}
.bookmark_item.svelte-1dc7h7v{
    font-size: 14px;
    font-weight: 600;
    position: relative;
    display: grid;
    grid-template-columns: 1fr 24px;
}
.bookmark_item.svelte-1dc7h7v:hover{
    background-color: #1795CF;
}
.bookmark_menu.svelte-1dc7h7v{
    position: absolute;
    top: 0;
    left: 0;
    background-color: #626263;
    padding: 8px 0;
    border-radius: 4px;
    z-index: 10;
    width: 250px;
    display: none;
}

.bookmark_menu.OpenMenu.svelte-1dc7h7v{
    display: block;
    left: var(--menu-expanded-width);
}

.bookmark_menuItem.svelte-1dc7h7v{
    display: grid;
    grid-template-columns: 24px 1fr;
    padding: 8px 24px;
    width: calc(100% - 48px);
}
.bookmark_menuItem.svelte-1dc7h7v:hover{
    background-color: #939394;
}

.history_title_wrap.svelte-1dc7h7v{
    font-size: 14px;
    font-weight: 600;
    position: relative;
    display: grid;
    grid-template-columns: 1fr 24px;
}
.toast.svelte-1dc7h7v {
    position: fixed;
    top: 160px;
    left: 200px;
    background-color: #636363;
    color: white;
    padding: 12px 24px;
    border-radius: 8px;
    z-index: 1000;
}

@media (max-width: 640px) {
    .menu.svelte-1dc7h7v {
        height: calc(100vh - 64px);
    }

    .menu.active.svelte-1dc7h7v {
        position: fixed;
        top: 64px;
        bottom: 0;
        left: 0;
        width: 208px;
        height: auto;
        z-index: 9500;
        box-shadow: 8px 0 24px rgba(0, 0, 0, 0.35);
    }
}


    .login.svelte-19w22c9{
        width: 100%;
        display: grid;
        justify-content: center;
    }
    .login_inner.svelte-19w22c9{
        padding: 80px 24px;
        width: 415px;
    }
    .logo.svelte-19w22c9{
        display: grid;
        justify-content: center;
        gap: 16px;
    }
    .form.svelte-19w22c9{
        display: grid;
        gap: 24px;
        margin-top: 24px;
    }
    .form_item.svelte-19w22c9{
        display: grid;
        gap: 4px;
    }
    .form_label.svelte-19w22c9{
        font-weight: 700;
    }
    .form_label.required.svelte-19w22c9::after{
        content: "*";
        display: inline-block;
        color: #FD5659;
        margin-left: 3px;
    }
    .form_input.svelte-19w22c9{
        padding: 4px 8px;
        border: 1px solid #F5F7F9;
        border-radius: 4px;
    }
    .form_input.svelte-19w22c9::placeholder{
        color: #F5F7F9;
    }
    .login_btn.svelte-19w22c9{
        color: #fff;
        background-color: #1795CF;
        font-weight: 700;
        text-align: center;
        padding: 8px;
        border-radius: 4px;
        cursor: pointer;
        transition: background-color 0.2s ease;
    }
    .back_btn.svelte-19w22c9{
        width: 100%;
        font-weight: 700;
        text-align: center;
        padding: 8px;
    }
    .login_btn.svelte-19w22c9:hover{
        background-color: #0274a8;
    }
    .ai_radio.svelte-19w22c9{
        margin-top: 8px;
        padding-top: 16px;
        border-top: 1px solid #E3E2E2;
    }
    .radio_wrap.svelte-19w22c9{
        display: grid;
        gap: 8px;
        margin-top: 16px;
    }
    .radio.svelte-19w22c9{
        display: grid;
        gap: 8px;
    }
    .radio.svelte-19w22c9 label:where(.svelte-19w22c9) {
      position: relative;
      margin-right: 1em;
      padding-left: 1.5em;
      cursor: pointer;
    }
    .radio.svelte-19w22c9 label:where(.svelte-19w22c9)::before {
      position: absolute;
      top: 2px;
      left: 0;
      display: block;
      width: 16px;
      height: 16px;
      content: '';
      border-radius: 50%;
      background: #eee;
      border: 1px solid #CCCCCC;
    }
    .radio.svelte-19w22c9 input:where(.svelte-19w22c9):checked+label:where(.svelte-19w22c9)::before {
      background: #eee;
      border: 4px solid #0274a8;
    }
    .textarea.svelte-19w22c9{
        color: #313131;
        background-color: #fff;
        border: 1px solid #939394;
        border-radius: 4px;
        height: 90px;
        padding: 7px 10px;
    }
    .textarea.svelte-19w22c9::placeholder{
        color: #939394;
    }
    .link.svelte-19w22c9{
        color: #0274a8;
        font-weight: 600;
        transition: color 0.2s ease;
    }
    .link.svelte-19w22c9:hover{
        color: #0274a8;
        text-decoration: underline;
    }
    .form_link.svelte-19w22c9{
        text-align: right;
    }
    .form_link.svelte-19w22c9::after{
        content: "";
        display: inline-block;
        width: 14px;
        height: 14px;
        background: url(/img/icon_formArrow.svg)no-repeat center center / contain;
        margin-left: 4px;
    }
    .profile_header.svelte-19w22c9{
        display: grid;
        gap: 16px;
    }
    .profile_complete.svelte-19w22c9{
        display: grid;
        grid-template-columns: 19px 1fr;
        gap: 7px;
        align-items: center;
        background-color: #fff;
        border-radius: 2px;
        padding: 12px 16px;
        color: #313131;
        margin-bottom: 24px;
    }


.menu.svelte-1efuxc3{
    margin: 40px;
    background-color: #626263;
    padding: 24px;
    border-radius: 8px;
    overflow: auto;
}
.menu_btn.svelte-1efuxc3{
    display: flex;
    gap: 8px;
    font-size: 24px;
    font-weight: bold;
    align-items: center;
    width: 100%;
}
.menu_btn.svelte-1efuxc3::before{
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background: url('../img/icon_MenuBlock.svg') no-repeat center center / contain;
}
.menu_btn.svelte-1efuxc3::after{
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background: url(../img/icon_arrow.svg) no-repeat center center / contain;
    transform: rotate(180deg);
}
.active.svelte-1efuxc3 .menu_btn:where(.svelte-1efuxc3)::after{
    transform: rotate(0deg);
}
.menu_content.svelte-1efuxc3{
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.2s ease;
    overflow: hidden;
}
.active.svelte-1efuxc3 .menu_content:where(.svelte-1efuxc3){
    grid-template-rows: 1fr;
    margin-top: 24px;
}
.report-list.svelte-1efuxc3{
    overflow: hidden;
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(320px,1fr));
    font-weight: bold;
    list-style: none;
}
.report-list_category-title.svelte-1efuxc3{
    font-size: 20px;
}
.report-list_items.svelte-1efuxc3{
    padding-left: 12px;
    border-left: 4px solid #1795CF;
    list-style: none;
    display: grid;
    gap: 24px;
    margin-top: 24px;
}
.report-list_item.svelte-1efuxc3{
    padding: 4px 8px;
    border-radius: 4px;
}
.report-list_item.svelte-1efuxc3:hover{
    background-color: #51AFDB;
    color: #fff;
}


  .slide-viewer.svelte-143nkqj {
    width: 100%;
    opacity: 0;
    transition: opacity .18s ease;
  }
  .slide-viewer.is-visible.svelte-143nkqj {
    opacity: 1;
  }
  .slide-iframe.svelte-143nkqj {
    width: 100%;
    border: none;
    background: white; /* スライド想定の背景 */
    /* 高さは onLoad/autoResize で制御 */
  }


    .report-card.svelte-fl8gqj {
        background-color: #2C2B28;
        border-color: white;
        border-radius: 8px;
        padding: 16px;
        margin: 16px 0;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    }
    
    .report-card.light.svelte-fl8gqj {
        background-color: #FFFFFF;
        border-color: #E6E6E6;
    }
    
    .slide-header.svelte-fl8gqj {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 12px;
        padding-bottom: 12px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }
    
    .light.svelte-fl8gqj .slide-header:where(.svelte-fl8gqj) {
        border-bottom-color: #E6E6E6;
    }
    
    .slide-title.svelte-fl8gqj {
        margin: 0;
        font-size: 14px;
        font-weight: 500;
        color: #FFFFFF;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        flex: 1;
        margin-right: 12px;
    }
    
    .light.svelte-fl8gqj .slide-title:where(.svelte-fl8gqj) {
        color: #313131;
    }
    
    .slide-actions.svelte-fl8gqj {
        display: flex;
        gap: 6px;
        flex-shrink: 0;
    }
    
    .slide-action-btn.svelte-fl8gqj {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        background: rgba(255, 255, 255, 0.1);
        border: 1px solid rgba(255, 255, 255, 0.15);
        border-radius: 6px;
        color: #CCC;
        cursor: pointer;
        transition: all 0.2s ease;
    }

    .slide-action-btn.nav-btn.svelte-fl8gqj:disabled {
        opacity: 0.35;
        cursor: not-allowed;
    }

    .artifact-nav-counter.svelte-fl8gqj {
        font-size: 0.75rem;
        color: #AAA;
        min-width: 36px;
        text-align: center;
        align-self: center;
    }

    .light.svelte-fl8gqj .artifact-nav-counter:where(.svelte-fl8gqj) {
        color: #666;
    }

    .slide-action-btn.svelte-fl8gqj:disabled {
        opacity: 0.35;
        cursor: not-allowed;
    }

    .slide-action-btn.nav-btn.svelte-fl8gqj {
        width: 28px;
        height: 28px;
    }

    .artifact-nav-counter.svelte-fl8gqj {
        font-size: 0.78rem;
        color: #AAA;
        min-width: 38px;
        text-align: center;
        user-select: none;
    }

    .light.svelte-fl8gqj .artifact-nav-counter:where(.svelte-fl8gqj) {
        color: #666;
    }
    
    .light.svelte-fl8gqj .slide-action-btn:where(.svelte-fl8gqj) {
        background: #F5F5F5;
        border-color: #E0E0E0;
        color: #666;
    }

    .slide-action-btn.nav-btn.svelte-fl8gqj:disabled {
        opacity: 0.35;
        cursor: not-allowed;
    }
    .artifact-nav-counter.svelte-fl8gqj {
        font-size: 0.75rem;
        color: #CCC;
        align-self: center;
        padding: 0 2px;
        min-width: 32px;
        text-align: center;
    }
    .light.svelte-fl8gqj .artifact-nav-counter:where(.svelte-fl8gqj) {
        color: #666;
    }

    .slide-action-btn.nav-btn.svelte-fl8gqj:disabled {
        opacity: 0.35;
        cursor: not-allowed;
    }

    .artifact-nav-counter.svelte-fl8gqj {
        font-size: 0.75rem;
        color: #CCC;
        padding: 0 4px;
        user-select: none;
    }
    .light.svelte-fl8gqj .artifact-nav-counter:where(.svelte-fl8gqj) {
        color: #666;
    }
    
    .slide-action-btn.svelte-fl8gqj:hover {
        background: rgba(255, 255, 255, 0.2);
        border-color: rgba(255, 255, 255, 0.25);
        color: #FFF;
    }
    
    .light.svelte-fl8gqj .slide-action-btn:where(.svelte-fl8gqj):hover {
        background: #EBEBEB;
        border-color: #D0D0D0;
        color: #333;
    }
    
    .slide-action-btn.regenerate-btn.svelte-fl8gqj:hover {
        background: rgba(23, 149, 207, 0.2);
        border-color: rgba(23, 149, 207, 0.4);
        color: #64BFF1;
    }
    
    .light.svelte-fl8gqj .slide-action-btn.regenerate-btn:where(.svelte-fl8gqj):hover {
        background: rgba(23, 149, 207, 0.1);
        border-color: #1795CF;
        color: #1795CF;
    }
    
    .slide-action-btn.close-btn.svelte-fl8gqj:hover {
        background: rgba(239, 68, 68, 0.2);
        border-color: rgba(239, 68, 68, 0.4);
        color: #EF4444;
    }
    
    .light.svelte-fl8gqj .slide-action-btn.close-btn:where(.svelte-fl8gqj):hover {
        background: rgba(239, 68, 68, 0.1);
        border-color: #EF4444;
        color: #EF4444;
    }

    .artifact-body.svelte-fl8gqj {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-height: 240px;
        width: 100%;
    }
    .artifact-loading.svelte-fl8gqj {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
        color: #CCC;
        padding: 32px 8px;
    }
    .artifact-loading.svelte-fl8gqj img:where(.svelte-fl8gqj) {
        width: 48px;
        height: 48px;
        animation: svelte-fl8gqj-artifactSpin 1.1s linear infinite;
    }
    @keyframes svelte-fl8gqj-artifactSpin {
        from { transform: rotate(0deg); }
        to { transform: rotate(360deg); }
    }
    .light.svelte-fl8gqj .artifact-loading:where(.svelte-fl8gqj) {
        color: #666;
    }

    /* 生成進捗ステータスバー */
    .artifact-progress.svelte-fl8gqj {
        display: flex;
        flex-direction: column;
        gap: 6px;
        width: min(100%, 320px);
        margin-top: 4px;
    }
    .artifact-progress-bar-row.svelte-fl8gqj {
        display: flex;
        align-items: center;
        gap: 10px;
    }
    .artifact-progress-track.svelte-fl8gqj {
        position: relative;
        flex: 1;
        height: 8px;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.1);
        overflow: hidden;
    }
    .light.svelte-fl8gqj .artifact-progress-track:where(.svelte-fl8gqj) {
        background: #E4E7EB;
    }
    .artifact-progress-fill.svelte-fl8gqj {
        position: relative;
        height: 100%;
        border-radius: 999px;
        background: linear-gradient(90deg, #1FA7E0, #0F7AB0);
        transition: width 0.18s linear;
        overflow: hidden;
    }
    .artifact-progress-shimmer.svelte-fl8gqj {
        position: absolute;
        inset: 0;
        background: linear-gradient(
            100deg,
            transparent 20%,
            rgba(255, 255, 255, 0.35) 50%,
            transparent 80%
        );
        transform: translateX(-100%);
        animation: svelte-fl8gqj-artifactShimmer 1.6s ease-in-out infinite;
    }
    @keyframes svelte-fl8gqj-artifactShimmer {
        to { transform: translateX(100%); }
    }
    .artifact-progress-percent.svelte-fl8gqj {
        flex-shrink: 0;
        min-width: 38px;
        text-align: right;
        font-size: 0.82rem;
        font-weight: 600;
        font-variant-numeric: tabular-nums;
        color: #E6EBEF;
    }
    .light.svelte-fl8gqj .artifact-progress-percent:where(.svelte-fl8gqj) {
        color: #313131;
    }
    .artifact-progress-meta.svelte-fl8gqj {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        font-size: 0.74rem;
        color: #9AA4AD;
    }
    .light.svelte-fl8gqj .artifact-progress-meta:where(.svelte-fl8gqj) {
        color: #8A939C;
    }
    .artifact-progress-eta.svelte-fl8gqj {
        font-variant-numeric: tabular-nums;
    }
    .artifact-error.svelte-fl8gqj {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 6px;
        color: #EF4444;
        text-align: center;
        padding: 24px 8px;
    }
    .artifact-error-detail.svelte-fl8gqj {
        font-size: 0.8rem;
        opacity: 0.8;
        word-break: break-word;
    }
    .artifact-retry-btn.svelte-fl8gqj {
        margin-top: 8px;
        background: #1795CF;
        color: #fff;
        border: none;
        border-radius: 6px;
        padding: 6px 16px;
        cursor: pointer;
        font-size: 0.85rem;
    }
    .artifact-retry-btn.svelte-fl8gqj:hover {
        background: #0f7ab0;
    }
    .artifact-image.svelte-fl8gqj {
        width: 100%;
        height: auto;
        border-radius: 6px;
        box-shadow: 0 2px 8px rgba(0,0,0,0.25);
    }
    .artifact-placeholder.svelte-fl8gqj {
        color: #999;
        padding: 48px 8px;
        text-align: center;
    }
    .light.svelte-fl8gqj .artifact-placeholder:where(.svelte-fl8gqj) {
        color: #AAA;
    }

    /* ダウンロード形式選択メニュー */
    .download-menu-wrap.svelte-fl8gqj {
        position: relative;
        display: flex;
    }
    .download-menu.svelte-fl8gqj {
        position: absolute;
        top: 36px;
        right: 0;
        display: flex;
        flex-direction: column;
        min-width: 128px;
        background: #3A3936;
        border: 1px solid rgba(255, 255, 255, 0.18);
        border-radius: 6px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
        overflow: hidden;
        z-index: 20;
    }
    .light.svelte-fl8gqj .download-menu:where(.svelte-fl8gqj) {
        background: #FFFFFF;
        border-color: #E0E0E0;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    }
    .download-menu-item.svelte-fl8gqj {
        background: none;
        border: none;
        color: #EEE;
        font-size: 0.82rem;
        text-align: left;
        padding: 8px 12px;
        cursor: pointer;
        transition: background 0.15s ease;
        white-space: nowrap;
    }
    .download-menu-item.svelte-fl8gqj:hover {
        background: rgba(255, 255, 255, 0.12);
    }
    .download-menu-item.svelte-fl8gqj:disabled {
        opacity: 0.5;
        cursor: wait;
    }
    .light.svelte-fl8gqj .download-menu-item:where(.svelte-fl8gqj) {
        color: #333;
    }
    .light.svelte-fl8gqj .download-menu-item:where(.svelte-fl8gqj):hover {
        background: #F0F0F0;
    }

    /* 図解の修正指示バー */
    .artifact-edit-bar.svelte-fl8gqj {
        width: 100%;
        margin-top: 12px;
    }

    /* 入力欄・モード切替・送信ボタンをまとめたコンポーザーカード */
    .artifact-edit-composer.svelte-fl8gqj {
        display: flex;
        flex-direction: column;
        gap: 8px;
        width: 100%;
        padding: 10px 10px 8px;
        background: rgba(255, 255, 255, 0.05);
        border: 1px solid rgba(255, 255, 255, 0.14);
        border-radius: 14px;
        transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    }
    .artifact-edit-composer.svelte-fl8gqj:focus-within {
        border-color: rgba(23, 149, 207, 0.65);
        box-shadow: 0 0 0 3px rgba(23, 149, 207, 0.15);
        background: rgba(255, 255, 255, 0.07);
    }
    .light.svelte-fl8gqj .artifact-edit-composer:where(.svelte-fl8gqj) {
        background: #F7F8FA;
        border-color: #E2E5E9;
    }
    .light.svelte-fl8gqj .artifact-edit-composer:where(.svelte-fl8gqj):focus-within {
        background: #FFFFFF;
        border-color: rgba(23, 149, 207, 0.55);
        box-shadow: 0 0 0 3px rgba(23, 149, 207, 0.12);
    }

    .artifact-edit-input.svelte-fl8gqj {
        width: 100%;
        min-width: 0;
        background: transparent;
        border: none;
        color: #FFF;
        font-size: 0.85rem;
        line-height: 1.5;
        padding: 2px 4px;
        outline: none;
    }
    .artifact-edit-input.svelte-fl8gqj::placeholder {
        color: #8A939C;
    }
    .light.svelte-fl8gqj .artifact-edit-input:where(.svelte-fl8gqj) {
        color: #313131;
    }
    .light.svelte-fl8gqj .artifact-edit-input:where(.svelte-fl8gqj)::placeholder {
        color: #A5ADB5;
    }

    .artifact-edit-footer.svelte-fl8gqj {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
    }

    /* スライド式のモード切替（セグメントコントロール） */
    .artifact-edit-mode-toggle.svelte-fl8gqj {
        position: relative;
        display: grid;
        grid-template-columns: 1fr 1fr;
        flex: 0 1 auto;
        min-width: 0;
        padding: 3px;
        border-radius: 999px;
        background: rgba(0, 0, 0, 0.28);
        border: 1px solid rgba(255, 255, 255, 0.1);
    }
    .light.svelte-fl8gqj .artifact-edit-mode-toggle:where(.svelte-fl8gqj) {
        background: #ECEEF1;
        border-color: #E0E3E7;
    }
    .artifact-edit-mode-thumb.svelte-fl8gqj {
        position: absolute;
        top: 3px;
        bottom: 3px;
        left: 3px;
        width: calc(50% - 3px);
        border-radius: 999px;
        background: linear-gradient(135deg, #1FA7E0, #0F7AB0);
        box-shadow: 0 2px 6px rgba(23, 149, 207, 0.35);
        transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .artifact-edit-mode-toggle.mode-right.svelte-fl8gqj .artifact-edit-mode-thumb:where(.svelte-fl8gqj) {
        transform: translateX(100%);
    }
    .artifact-edit-mode-toggle.svelte-fl8gqj button:where(.svelte-fl8gqj) {
        position: relative;
        z-index: 1;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 5px;
        min-width: 0;
        border: none;
        border-radius: 999px;
        background: transparent;
        color: #A8B3BD;
        font-size: 0.75rem;
        font-weight: 600;
        line-height: 1.2;
        padding: 5px 12px;
        cursor: pointer;
        white-space: nowrap;
        transition: color 0.2s ease;
    }
    .artifact-edit-mode-toggle.svelte-fl8gqj button:where(.svelte-fl8gqj):hover:not(.active) {
        color: #E6EBEF;
    }
    .artifact-edit-mode-toggle.svelte-fl8gqj button.active:where(.svelte-fl8gqj) {
        color: #FFF;
    }
    .light.svelte-fl8gqj .artifact-edit-mode-toggle:where(.svelte-fl8gqj) button:where(.svelte-fl8gqj) {
        color: #667079;
    }
    .light.svelte-fl8gqj .artifact-edit-mode-toggle:where(.svelte-fl8gqj) button:where(.svelte-fl8gqj):hover:not(.active) {
        color: #333;
    }
    .light.svelte-fl8gqj .artifact-edit-mode-toggle:where(.svelte-fl8gqj) button.active:where(.svelte-fl8gqj) {
        color: #FFF;
    }
    .artifact-edit-mode-toggle.svelte-fl8gqj .mode-emoji:where(.svelte-fl8gqj) {
        font-size: 0.85em;
        filter: grayscale(1);
        opacity: 0.7;
        transition: filter 0.2s ease, opacity 0.2s ease;
    }
    .artifact-edit-mode-toggle.svelte-fl8gqj button.active:where(.svelte-fl8gqj) .mode-emoji:where(.svelte-fl8gqj) {
        filter: none;
        opacity: 1;
    }
    .artifact-edit-mode-toggle.svelte-fl8gqj .mode-text:where(.svelte-fl8gqj) {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* 円形の送信ボタン */
    .artifact-edit-btn.svelte-fl8gqj {
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 34px;
        height: 34px;
        border: none;
        border-radius: 50%;
        background: linear-gradient(135deg, #1FA7E0, #0F7AB0);
        color: #FFF;
        cursor: pointer;
        box-shadow: 0 2px 8px rgba(23, 149, 207, 0.35);
        transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, color 0.15s ease;
    }
    .artifact-edit-btn.svelte-fl8gqj:hover:not(:disabled) {
        transform: translateY(-1px);
        box-shadow: 0 4px 12px rgba(23, 149, 207, 0.45);
    }
    .artifact-edit-btn.svelte-fl8gqj:active:not(:disabled) {
        transform: translateY(0);
        box-shadow: 0 2px 6px rgba(23, 149, 207, 0.3);
    }
    .artifact-edit-btn.svelte-fl8gqj:disabled {
        background: rgba(255, 255, 255, 0.12);
        color: rgba(255, 255, 255, 0.38);
        box-shadow: none;
        cursor: not-allowed;
    }
    .light.svelte-fl8gqj .artifact-edit-btn:where(.svelte-fl8gqj):disabled {
        background: #E5E7EA;
        color: #AAB2BA;
    }


    .feedback.svelte-1cb1453 {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        z-index: 10000;
    }
    .feedback.svelte-1cb1453::before{
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background-color: #000000;
        opacity: 0.5;
    }
    .feedback_content.svelte-1cb1453{
        background-color: #313131;
        width: 500px;
        padding: 40px;
        border-radius: 16px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        box-shadow: 0 6px 24px 0 #00000024;
    }
    .feedback_close.svelte-1cb1453{
        position: absolute;
        top: 24px;
        right: 20px;
    }
    .feedback_title.svelte-1cb1453{
        font-size: 20px;
        font-weight: 600;
    }
    .feedback_subtitle.svelte-1cb1453{
        font-size: 16px;
        margin-bottom: 7px;
    }
    .feedback_textarea.svelte-1cb1453{
        color: #313131;
        background-color: #fff;
        border: 1px solid #939394;
        border-radius: 4px;
        height: 90px;
        padding: 7px 10px;
        width: 100%;
    }
    .feedback_textarea.svelte-1cb1453::placeholder{
        color: #939394;
    }
    .feedback_text.svelte-1cb1453{
        font-size: 14px;
        margin-top: 5px;
    }
    .feedback_btnWrap.svelte-1cb1453{
        margin-top: 10px;
        display: flex;
        justify-content: flex-end;
        gap: 4px;
    }
    .feedback_btn.svelte-1cb1453{
        background-color: #1795CF;
        border-radius: 4px;
        padding: 8px 24px;
        font-size: 18px;
        font-weight: 600;
    }
    .feedback_radio.svelte-1cb1453{
        font-size: 12px;
        font-weight: 600;
        margin: 16px 0 30px;
    }
    .radio_wrap.svelte-1cb1453{
        display: flex;
        gap: 8px;
        margin-top: 4px;
    }
    .radio.svelte-1cb1453{
        font-size: 12px;
        font-weight: 400;
    }
    .radio.svelte-1cb1453 label:where(.svelte-1cb1453) {
      position: relative;
      margin-right: 1em;
      padding-left: 1.25em;
      cursor: pointer;
    }
    .radio.svelte-1cb1453 label:where(.svelte-1cb1453)::before {
      position: absolute;
      top: 2px;
      left: 0;
      display: block;
      width: 12px;
      height: 12px;
      content: '';
      border-radius: 50%;
      background: #eee;
      border: 1px solid #CCCCCC;
    }
    .radio.svelte-1cb1453 input:where(.svelte-1cb1453):checked+label:where(.svelte-1cb1453)::before {
      background: #eee;
      border: 3px solid #0274a8;
    }


    .modal-backdrop.svelte-j6fajd {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.6);
        backdrop-filter: blur(8px);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 10000;
        animation: svelte-j6fajd-fadeIn 0.2s ease-out;
    }
    
    .modal-backdrop.light.svelte-j6fajd {
        background: rgba(0, 0, 0, 0.4);
    }
    
    @keyframes svelte-j6fajd-fadeIn {
        from { opacity: 0; }
        to { opacity: 1; }
    }
    
    .modal-content.svelte-j6fajd {
        background: #2C2B28;
        border-radius: 12px;
        width: 90%;
        max-width: 420px;
        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
        animation: svelte-j6fajd-slideUp 0.3s ease-out;
        border: 1px solid rgba(255, 255, 255, 0.1);
    }
    
    .modal-content.light.svelte-j6fajd {
        background: #FFFFFF;
        border-color: #E6E6E6;
        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
    }
    
    @keyframes svelte-j6fajd-slideUp {
        from { 
            opacity: 0; 
            transform: translateY(20px); 
        }
        to { 
            opacity: 1; 
            transform: translateY(0); 
        }
    }
    
    .modal-header.svelte-j6fajd {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 20px 24px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }
    
    .light.svelte-j6fajd .modal-header:where(.svelte-j6fajd) {
        border-bottom-color: #E6E6E6;
    }
    
    .modal-header.svelte-j6fajd h2:where(.svelte-j6fajd) {
        margin: 0;
        font-size: 18px;
        font-weight: 600;
        color: #FFFFFF;
        display: flex;
        align-items: center;
        gap: 10px;
    }
    
    .light.svelte-j6fajd .modal-header:where(.svelte-j6fajd) h2:where(.svelte-j6fajd) {
        color: #313131;
    }
    
    .close-btn.svelte-j6fajd {
        background: transparent;
        border: none;
        color: #999;
        cursor: pointer;
        padding: 4px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 4px;
        transition: all 0.2s ease;
    }
    
    .close-btn.svelte-j6fajd:hover:not(:disabled) {
        background: rgba(255, 255, 255, 0.1);
        color: #FFF;
    }
    
    .light.svelte-j6fajd .close-btn:where(.svelte-j6fajd):hover:not(:disabled) {
        background: rgba(0, 0, 0, 0.05);
        color: #333;
    }
    
    .close-btn.svelte-j6fajd:disabled {
        opacity: 0.3;
        cursor: not-allowed;
    }
    
    .modal-body.svelte-j6fajd {
        padding: 24px;
    }
    
    .description.svelte-j6fajd {
        margin: 0 0 20px;
        color: #CCC;
        font-size: 14px;
        line-height: 1.6;
    }
    
    .light.svelte-j6fajd .description:where(.svelte-j6fajd) {
        color: #666;
    }
    
    .option-group.svelte-j6fajd {
        margin-bottom: 16px;
    }
    
    .option-label.svelte-j6fajd {
        display: block;
        font-size: 13px;
        font-weight: 500;
        color: #AAA;
        margin-bottom: 10px;
    }
    
    .light.svelte-j6fajd .option-label:where(.svelte-j6fajd) {
        color: #666;
    }
    
    .turn-options.svelte-j6fajd {
        display: flex;
        gap: 8px;
    }
    
    .turn-option.svelte-j6fajd {
        flex: 1;
        padding: 10px 12px;
        border: 1px solid rgba(255, 255, 255, 0.18);
        background: rgba(255, 255, 255, 0.05);
        color: #CCC;
        border-radius: 8px;
        font-size: 13px;
        cursor: pointer;
        transition: all 0.2s ease;
    }
    
    .light.svelte-j6fajd .turn-option:where(.svelte-j6fajd) {
        border-color: #E0E0E0;
        background: #F5F5F5;
        color: #666;
    }
    
    .turn-option.svelte-j6fajd:hover:not(:disabled) {
        border-color: rgba(23, 149, 207, 0.5);
        background: rgba(23, 149, 207, 0.1);
    }
    
    .turn-option.selected.svelte-j6fajd {
        border-color: #1795CF;
        background: rgba(23, 149, 207, 0.2);
        color: #64BFF1;
    }
    
    .light.svelte-j6fajd .turn-option.selected:where(.svelte-j6fajd) {
        border-color: #1795CF;
        background: rgba(23, 149, 207, 0.1);
        color: #1795CF;
    }
    
    .turn-option.svelte-j6fajd:disabled {
        opacity: 0.5;
        cursor: not-allowed;
    }
    
    .custom-input-row.svelte-j6fajd {
        display: flex;
        align-items: center;
        gap: 8px;
        margin-top: 12px;
    }
    
    .custom-label.svelte-j6fajd {
        font-size: 12px;
        color: #888;
    }
    
    .light.svelte-j6fajd .custom-label:where(.svelte-j6fajd) {
        color: #999;
    }
    
    .custom-input.svelte-j6fajd {
        width: 80px;
        padding: 8px 12px;
        border: 1px solid rgba(255, 255, 255, 0.18);
        background: rgba(255, 255, 255, 0.05);
        color: #CCC;
        border-radius: 6px;
        font-size: 13px;
        text-align: center;
        transition: all 0.2s ease;
    }
    
    .light.svelte-j6fajd .custom-input:where(.svelte-j6fajd) {
        border-color: #E0E0E0;
        background: #F5F5F5;
        color: #333;
    }
    
    .custom-input.svelte-j6fajd:focus {
        outline: none;
        border-color: rgba(23, 149, 207, 0.5);
        background: rgba(23, 149, 207, 0.1);
    }
    
    .custom-input.active.svelte-j6fajd {
        border-color: #1795CF;
        background: rgba(23, 149, 207, 0.15);
        color: #64BFF1;
    }
    
    .light.svelte-j6fajd .custom-input.active:where(.svelte-j6fajd) {
        border-color: #1795CF;
        background: rgba(23, 149, 207, 0.1);
        color: #1795CF;
    }
    
    .custom-input.svelte-j6fajd:disabled {
        opacity: 0.5;
        cursor: not-allowed;
    }
    
    .custom-input.svelte-j6fajd::-webkit-inner-spin-button,
    .custom-input.svelte-j6fajd::-webkit-outer-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }
    
    .custom-input[type="number"].svelte-j6fajd {
        -moz-appearance: textfield;
    }
    
    .custom-suffix.svelte-j6fajd {
        font-size: 13px;
        color: #888;
    }
    
    .light.svelte-j6fajd .custom-suffix:where(.svelte-j6fajd) {
        color: #666;
    }
    
    .option-hint.svelte-j6fajd {
        margin: 12px 0 0;
        font-size: 12px;
        color: #888;
    }
    
    .light.svelte-j6fajd .option-hint:where(.svelte-j6fajd) {
        color: #999;
    }
    
    .error-message.svelte-j6fajd {
        display: flex;
        align-items: flex-start;
        gap: 8px;
        padding: 12px;
        background: rgba(220, 53, 69, 0.15);
        border: 1px solid rgba(220, 53, 69, 0.3);
        border-radius: 8px;
        color: #FF6B6B;
        font-size: 13px;
        margin-top: 16px;
    }
    
    .error-message.svelte-j6fajd svg:where(.svelte-j6fajd) {
        flex-shrink: 0;
        margin-top: 1px;
    }
    
    .modal-footer.svelte-j6fajd {
        display: flex;
        justify-content: flex-end;
        gap: 12px;
        padding: 16px 24px 20px;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
    }
    
    .light.svelte-j6fajd .modal-footer:where(.svelte-j6fajd) {
        border-top-color: #E6E6E6;
    }
    
    .cancel-btn.svelte-j6fajd {
        padding: 10px 20px;
        background: transparent;
        border: 1px solid rgba(255, 255, 255, 0.2);
        color: #CCC;
        border-radius: 8px;
        font-size: 14px;
        cursor: pointer;
        transition: all 0.2s ease;
    }
    
    .light.svelte-j6fajd .cancel-btn:where(.svelte-j6fajd) {
        border-color: #DDD;
        color: #666;
    }
    
    .cancel-btn.svelte-j6fajd:hover:not(:disabled) {
        border-color: rgba(255, 255, 255, 0.4);
        background: rgba(255, 255, 255, 0.05);
    }
    
    .light.svelte-j6fajd .cancel-btn:where(.svelte-j6fajd):hover:not(:disabled) {
        border-color: #CCC;
        background: #F5F5F5;
    }
    
    .cancel-btn.svelte-j6fajd:disabled {
        opacity: 0.5;
        cursor: not-allowed;
    }
    
    .generate-btn.svelte-j6fajd {
        padding: 10px 24px;
        background: #1795CF;
        border: none;
        color: white;
        border-radius: 8px;
        font-size: 14px;
        font-weight: 500;
        cursor: pointer;
        transition: all 0.2s ease;
        display: flex;
        align-items: center;
        gap: 8px;
        min-width: 120px;
        justify-content: center;
    }
    
    .generate-btn.svelte-j6fajd:hover:not(:disabled) {
        background: #1585B8;
        transform: translateY(-1px);
        box-shadow: 0 4px 12px rgba(23, 149, 207, 0.4);
    }
    
    .generate-btn.svelte-j6fajd:active:not(:disabled) {
        transform: translateY(0);
    }
    
    .generate-btn.svelte-j6fajd:disabled {
        opacity: 0.6;
        cursor: not-allowed;
        transform: none;
        box-shadow: none;
    }
    
    .spinner.svelte-j6fajd {
        width: 14px;
        height: 14px;
        border: 2px solid rgba(255, 255, 255, 0.3);
        border-top-color: white;
        border-radius: 50%;
        animation: svelte-j6fajd-spin 0.8s linear infinite;
    }
    
    @keyframes svelte-j6fajd-spin {
        to { transform: rotate(360deg); }
    }


    .fullscreen-backdrop.svelte-33ixhb {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.9);
        backdrop-filter: blur(12px);
        display: flex;
        flex-direction: column;
        z-index: 20000;
        animation: svelte-33ixhb-fadeIn 0.25s ease-out;
    }
    
    .fullscreen-backdrop.light.svelte-33ixhb {
        background: rgba(255, 255, 255, 0.95);
    }
    
    @keyframes svelte-33ixhb-fadeIn {
        from { opacity: 0; }
        to { opacity: 1; }
    }
    
    .fullscreen-header.svelte-33ixhb {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 16px 24px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        flex-shrink: 0;
    }
    
    .light.svelte-33ixhb .fullscreen-header:where(.svelte-33ixhb) {
        border-bottom-color: #E6E6E6;
    }
    
    .slide-title.svelte-33ixhb {
        margin: 0;
        font-size: 16px;
        font-weight: 500;
        color: #FFFFFF;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    
    .light.svelte-33ixhb .slide-title:where(.svelte-33ixhb) {
        color: #313131;
    }
    
    .header-actions.svelte-33ixhb {
        display: flex;
        align-items: center;
        gap: 12px;
    }
    
    .action-btn.svelte-33ixhb {
        display: flex;
        align-items: center;
        gap: 6px;
        padding: 8px 16px;
        background: rgba(255, 255, 255, 0.1);
        border: 1px solid rgba(255, 255, 255, 0.2);
        color: #FFFFFF;
        border-radius: 8px;
        font-size: 13px;
        cursor: pointer;
        transition: all 0.2s ease;
    }
    
    .light.svelte-33ixhb .action-btn:where(.svelte-33ixhb) {
        background: #F5F5F5;
        border-color: #E0E0E0;
        color: #333;
    }
    
    .action-btn.svelte-33ixhb:hover {
        background: rgba(255, 255, 255, 0.2);
        border-color: rgba(255, 255, 255, 0.3);
    }
    
    .light.svelte-33ixhb .action-btn:where(.svelte-33ixhb):hover {
        background: #EBEBEB;
        border-color: #D0D0D0;
    }
    
    .download-btn.svelte-33ixhb:hover {
        background: rgba(23, 149, 207, 0.3);
        border-color: rgba(23, 149, 207, 0.5);
    }
    
    .light.svelte-33ixhb .download-btn:where(.svelte-33ixhb):hover {
        background: rgba(23, 149, 207, 0.1);
        border-color: #1795CF;
        color: #1795CF;
    }
    
    .close-btn.svelte-33ixhb {
        padding: 8px;
    }
    
    .close-btn.svelte-33ixhb:hover {
        background: rgba(220, 53, 69, 0.3);
        border-color: rgba(220, 53, 69, 0.5);
    }
    
    .light.svelte-33ixhb .close-btn:where(.svelte-33ixhb):hover {
        background: rgba(220, 53, 69, 0.1);
        border-color: #DC3545;
        color: #DC3545;
    }
    
    .fullscreen-content.svelte-33ixhb {
        flex: 1;
        overflow: auto;
        padding: 24px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .slide-container.svelte-33ixhb {
        width: 100%;
        max-width: 1200px;
        background: #FFFFFF;
        border-radius: 8px;
        box-shadow: 0 20px 80px rgba(0, 0, 0, 0.5);
        overflow: hidden;
    }
    
    .light.svelte-33ixhb .slide-container:where(.svelte-33ixhb) {
        box-shadow: 0 20px 80px rgba(0, 0, 0, 0.15);
        border: 1px solid #E6E6E6;
    }
    
    .fullscreen-footer.svelte-33ixhb {
        display: flex;
        justify-content: center;
        padding: 12px;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        flex-shrink: 0;
    }
    
    .light.svelte-33ixhb .fullscreen-footer:where(.svelte-33ixhb) {
        border-top-color: #E6E6E6;
    }
    
    .hint-text.svelte-33ixhb {
        font-size: 12px;
        color: rgba(255, 255, 255, 0.5);
    }
    
    .light.svelte-33ixhb .hint-text:where(.svelte-33ixhb) {
        color: #999;
    }


    /* Premium Dark/Gold Theme with Christmas touches */
    .modal-backdrop.svelte-4ys6fy {
        --yr-bg: #0f0f11;
        --yr-card-bg: #1a1a1c;
        --yr-text: #ffffff;
        --yr-text-secondary: #888;
        --yr-text-muted: #666;
        --yr-gold: #ffd700;
        --yr-gold-dim: rgba(255, 215, 0, 0.2);
        --yr-accent: #ff4d4d;
        --yr-christmas-red: #c41e3a;
        --yr-christmas-green: #228b22;
        --yr-border: #333;
        --yr-progress-bg: #444;
        --yr-scrollbar: #333;
        --yr-close-btn: #666;
        --yr-close-btn-hover: #fff;
    }

    /* Light mode variables */
    .modal-backdrop.light.svelte-4ys6fy {
        --yr-bg: #f5f5f5;
        --yr-card-bg: #ffffff;
        --yr-text: #1a1a1a;
        --yr-text-secondary: #555;
        --yr-text-muted: #777;
        --yr-gold: #d4a000;
        --yr-gold-dim: rgba(212, 160, 0, 0.2);
        --yr-accent: #c41e3a;
        --yr-christmas-red: #c41e3a;
        --yr-christmas-green: #228b22;
        --yr-border: #ddd;
        --yr-progress-bg: #e0e0e0;
        --yr-scrollbar: #ccc;
        --yr-close-btn: #999;
        --yr-close-btn-hover: #333;
    }

    .modal-backdrop.svelte-4ys6fy {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background: rgba(0, 0, 0, 0.85);
        backdrop-filter: blur(8px);
        z-index: 9999;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 20px;
    }

    .modal-backdrop.light.svelte-4ys6fy {
        background: rgba(0, 0, 0, 0.45);
    }

    /* Snow Effect */
    .snow-container.svelte-4ys6fy {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        overflow: hidden;
        pointer-events: none;
        z-index: 0;
    }

    .snowflake.svelte-4ys6fy {
        position: absolute;
        top: -20px;
        left: calc(var(--x) * 1%);
        font-size: var(--size);
        color: rgba(255, 255, 255, 0.8);
        animation: svelte-4ys6fy-fall var(--duration) linear var(--delay) infinite;
        opacity: 0.8;
        text-shadow: 0 0 5px rgba(255, 255, 255, 0.5);
    }

    .light.svelte-4ys6fy .snowflake:where(.svelte-4ys6fy) {
        color: rgba(100, 150, 200, 0.7);
        text-shadow: 0 0 5px rgba(50, 100, 150, 0.4);
    }

    @keyframes svelte-4ys6fy-fall {
        0% {
            transform: translateY(0) rotate(0deg);
            opacity: 1;
        }
        100% {
            transform: translateY(100vh) rotate(360deg);
            opacity: 0.3;
        }
    }

    .modal-content.svelte-4ys6fy {
        width: 100%;
        max-width: 900px;
        height: 90vh;
        background: var(--yr-bg);
        border: 1px solid var(--yr-border);
        border-radius: 24px;
        box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
        position: relative;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        z-index: 1;
    }

    .modal-content.light.svelte-4ys6fy {
        box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
    }

    .close-btn.svelte-4ys6fy {
        position: absolute;
        top: 20px;
        right: 20px;
        background: none;
        border: none;
        color: var(--yr-close-btn);
        font-size: 2rem;
        cursor: pointer;
        z-index: 10;
        transition: color 0.2s;
    }
    .close-btn.svelte-4ys6fy:hover {
        color: var(--yr-close-btn-hover);
    }

	    /* Christmas Lights */
	    .christmas-lights.svelte-4ys6fy {
	        display: flex;
	        justify-content: center;
	        gap: 20px;
	        margin-bottom: 20px;
	    }

	    .christmas-lights.svelte-4ys6fy .light:where(.svelte-4ys6fy) {
	        width: 12px;
	        height: 12px;
	        background: var(--color);
	        border-radius: 50%;
	        box-shadow: 0 0 10px var(--color), 0 0 20px var(--color);
	        animation: svelte-4ys6fy-blink 1s ease-in-out infinite;
	        animation-delay: var(--delay);
	    }

    @keyframes svelte-4ys6fy-blink {
        0%, 100% { opacity: 1; transform: scale(1); }
        50% { opacity: 0.4; transform: scale(0.8); }
    }

    /* Hero */
    .hero-section.svelte-4ys6fy {
        text-align: center;
        margin-bottom: 60px;
        position: relative;
    }

    .hero-decorations.svelte-4ys6fy {
        position: relative;
        height: 60px;
        margin-bottom: 10px;
    }

    .deco-star.svelte-4ys6fy {
        font-size: 2.5rem;
        animation: svelte-4ys6fy-twinkle 2s ease-in-out infinite;
    }

    .deco-tree.svelte-4ys6fy {
        position: absolute;
        font-size: 2rem;
        top: 20px;
    }

    .deco-tree.left.svelte-4ys6fy { left: 20%; }
    .deco-tree.right.svelte-4ys6fy { right: 20%; }

    @keyframes svelte-4ys6fy-twinkle {
        0%, 100% { transform: scale(1) rotate(0deg); opacity: 1; }
        50% { transform: scale(1.2) rotate(10deg); opacity: 0.8; }
    }

    .main-title.svelte-4ys6fy {
        font-size: 3.5rem;
        font-weight: 800;
        margin: 0;
        letter-spacing: -0.02em;
        line-height: 1.1;
        color: var(--yr-text);
    }
    .gold-text.svelte-4ys6fy {
        background: linear-gradient(to right, #ffd700, #ffaa00);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }

    .light.svelte-4ys6fy .gold-text:where(.svelte-4ys6fy) {
        background: linear-gradient(to right, #b8860b, #cc7a00);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }
    .subtitle.svelte-4ys6fy {
        font-size: 1.2rem;
        color: var(--yr-text-secondary);
        margin-top: 10px;
    }

    .sparkle-container.svelte-4ys6fy {
        display: flex;
        justify-content: center;
        gap: 30px;
        margin-top: 20px;
    }

    .sparkle-deco.svelte-4ys6fy {
        font-size: 2rem;
        animation: svelte-4ys6fy-float 3s ease-in-out infinite;
    }

    .sparkle-deco.delay-1.svelte-4ys6fy {
        animation-delay: 0.5s;
    }

    .sparkle-deco.delay-2.svelte-4ys6fy {
        animation-delay: 1s;
    }

    @keyframes svelte-4ys6fy-float {
        0%, 100% { transform: translateY(0); }
        50% { transform: translateY(-10px); }
    }

    /* Stats */
    .stat-block.svelte-4ys6fy {
        margin-bottom: 40px;
        text-align: center;
    }
    .big-stat.svelte-4ys6fy .stat-value:where(.svelte-4ys6fy) {
        font-size: 6rem;
        font-weight: 900;
        color: var(--yr-text);
        line-height: 1;
        text-shadow: 0 0 30px rgba(255, 215, 0, 0.3);
    }
    .big-stat.svelte-4ys6fy .stat-label:where(.svelte-4ys6fy) {
        font-size: 1rem;
        text-transform: uppercase;
        letter-spacing: 0.2em;
        color: var(--yr-text-muted);
        margin-bottom: 10px;
    }
    .big-stat.svelte-4ys6fy .stat-desc:where(.svelte-4ys6fy) {
        color: var(--yr-text-secondary);
        margin-top: 10px;
    }

    /* Lists */
    .list-row.svelte-4ys6fy {
        display: flex;
        align-items: center;
        margin-bottom: 16px;
    }
    .rank.svelte-4ys6fy {
        width: 24px;
        height: 24px;
        background: var(--yr-border);
        color: var(--yr-text);
        border-radius: 50%;
        text-align: center;
        line-height: 24px;
        font-size: 0.8rem;
        margin-right: 12px;
        font-weight: bold;
    }
    .list-row.svelte-4ys6fy:nth-child(1) .rank:where(.svelte-4ys6fy) { background: var(--yr-gold); color: #000; }
    .list-row.svelte-4ys6fy:nth-child(2) .rank:where(.svelte-4ys6fy) { background: #c0c0c0; color: #000; }
    .list-row.svelte-4ys6fy:nth-child(3) .rank:where(.svelte-4ys6fy) { background: #cd7f32; color: #000; }

    .bar-container.svelte-4ys6fy {
        flex: 1;
    }
    .bar-label.svelte-4ys6fy {
        display: flex;
        justify-content: space-between;
        margin-bottom: 4px;
        font-size: 0.95rem;
        color: var(--yr-text);
    }

    .cat-name.svelte-4ys6fy {
        color: var(--yr-text);
    }

    .cat-count.svelte-4ys6fy {
        color: var(--yr-text-secondary);
    }

    .progress-bg.svelte-4ys6fy {
        height: 6px;
        background: var(--yr-progress-bg);
        border-radius: 3px;
        overflow: hidden;
    }
    .progress-fill.svelte-4ys6fy {
        height: 100%;
        background: linear-gradient(90deg, var(--yr-christmas-red), var(--yr-christmas-green));
        border-radius: 3px;
    }

    .ranking-summary.svelte-4ys6fy {
        margin: 22px 0 0;
        padding-top: 14px;
        border-top: 1px dashed var(--yr-border);
        color: var(--yr-text-secondary);
        font-size: 0.95rem;
        text-align: center;
        line-height: 1.6;
    }

    .ranking-summary-highlight.svelte-4ys6fy {
        color: var(--yr-gold);
        font-weight: 800;
    }

    .summary-text.svelte-4ys6fy {
        margin: 0;
        color: var(--yr-text);
        font-size: 1rem;
        line-height: 1.6;
        white-space: pre-wrap;
    }

    /* Closing */
    .closing-section.svelte-4ys6fy {
        text-align: center;
        margin-top: 60px;
        padding: 40px;
        background: radial-gradient(circle, rgba(196, 30, 58, 0.1) 0%, transparent 70%);
        border-radius: 20px;
        position: relative;
    }

    .closing-decorations.svelte-4ys6fy {
        display: flex;
        justify-content: center;
        gap: 20px;
        margin-bottom: 20px;
    }

    .gift.svelte-4ys6fy {
        font-size: 2rem;
        animation: svelte-4ys6fy-bounce 1s ease-in-out infinite;
    }

    .gift.delay-1.svelte-4ys6fy { animation-delay: 0.2s; }
    .gift.delay-2.svelte-4ys6fy { animation-delay: 0.4s; }

    @keyframes svelte-4ys6fy-bounce {
        0%, 100% { transform: translateY(0); }
        50% { transform: translateY(-10px); }
    }

    .closing-msg.svelte-4ys6fy {
        font-size: 1.1rem;
        line-height: 1.8;
        margin-bottom: 30px;
        color: var(--yr-text);
    }

    .holly.svelte-4ys6fy {
        color: var(--yr-christmas-green);
    }

    .decoration-bottom.svelte-4ys6fy {
        font-size: 2rem;
        margin-top: 30px;
        display: flex;
        justify-content: center;
        gap: 15px;
    }

    .decoration-bottom.svelte-4ys6fy span:where(.svelte-4ys6fy) {
        animation: svelte-4ys6fy-sway 2s ease-in-out infinite;
    }

    .decoration-bottom.svelte-4ys6fy span:where(.svelte-4ys6fy):nth-child(odd) {
        animation-direction: reverse;
    }

    @keyframes svelte-4ys6fy-sway {
        0%, 100% { transform: rotate(-5deg); }
        50% { transform: rotate(5deg); }
    }

    /* Utility */
    .empty-msg.svelte-4ys6fy { 
        color: var(--yr-text-muted); 
        font-style: italic; 
        font-size: 0.9rem; 
        margin: 10px 0;
        text-align: center;
    }
    
    .loading-state.svelte-4ys6fy {
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        color: var(--yr-text-secondary);
    }
    .spinner.svelte-4ys6fy {
        width: 40px;
        height: 40px;
        border: 3px solid rgba(255,255,255,0.1);
        border-top-color: var(--yr-christmas-red);
        border-radius: 50%;
        animation: svelte-4ys6fy-spin 1s linear infinite;
        margin-bottom: 16px;
    }

    .light.svelte-4ys6fy .spinner:where(.svelte-4ys6fy) {
        border: 3px solid rgba(0,0,0,0.1);
        border-top-color: var(--yr-christmas-red);
    }
    @keyframes svelte-4ys6fy-spin { to { transform: rotate(360deg); } }

    /* Typing Indicator */
    .typing-indicator.svelte-4ys6fy {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 12px 0;
    }

    .typing-indicator.svelte-4ys6fy .dot:where(.svelte-4ys6fy) {
        width: 8px;
        height: 8px;
        background: var(--yr-christmas-red);
        border-radius: 50%;
        animation: svelte-4ys6fy-typing-dot 1.4s ease-in-out infinite;
    }

    .typing-indicator.svelte-4ys6fy .dot:where(.svelte-4ys6fy):nth-child(2) {
        animation-delay: 0.2s;
    }

    .typing-indicator.svelte-4ys6fy .dot:where(.svelte-4ys6fy):nth-child(3) {
        animation-delay: 0.4s;
    }

    .typing-indicator.svelte-4ys6fy .dot:where(.svelte-4ys6fy):nth-child(4) {
        animation-delay: 0.6s;
    }

    @keyframes svelte-4ys6fy-typing-dot {
        0%, 60%, 100% { transform: translateY(0); opacity: 0.4; }
        30% { transform: translateY(-8px); opacity: 1; }
    }

    /* Typewriter Effect */
    .typewriter.svelte-4ys6fy {
        font-size: 1.1rem;
        line-height: 1.8;
    }

    .cursor.svelte-4ys6fy {
        color: var(--yr-christmas-red);
        font-weight: bold;
        animation: svelte-4ys6fy-cursor-blink 0.7s ease-in-out infinite;
    }

    @keyframes svelte-4ys6fy-cursor-blink {
        0%, 100% { opacity: 1; }
        50% { opacity: 0; }
    }

    .monthly-list.svelte-4ys6fy {
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    .month-detail-card.svelte-4ys6fy {
        background: var(--yr-bg);
        border: 1px solid var(--yr-border);
        border-radius: 12px;
        padding: 16px;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .month-detail-card.svelte-4ys6fy:hover {
        border-color: var(--yr-christmas-green);
        box-shadow: 0 4px 12px rgba(34, 139, 34, 0.1);
    }

    .month-header.svelte-4ys6fy {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-bottom: 12px;
    }

    .month-badge.svelte-4ys6fy {
        background: linear-gradient(135deg, var(--yr-christmas-red), #ff6b6b);
        color: white;
        padding: 4px 12px;
        border-radius: 20px;
        font-size: 0.85rem;
        font-weight: bold;
    }

    .month-category.svelte-4ys6fy {
        flex: 1;
        font-weight: bold;
        color: var(--yr-christmas-green);
        font-size: 1rem;
    }

    .month-count-badge.svelte-4ys6fy {
        background: var(--yr-gold-dim);
        color: var(--yr-gold);
        padding: 4px 10px;
        border-radius: 12px;
        font-size: 0.8rem;
        font-weight: bold;
    }

    .sample-requests.svelte-4ys6fy {
        margin-top: 8px;
        padding-top: 12px;
        border-top: 1px dashed var(--yr-border);
    }

    .requests-label.svelte-4ys6fy {
        font-size: 0.85rem;
        color: var(--yr-text-muted);
        margin-bottom: 8px;
    }

    .request-list.svelte-4ys6fy {
        margin: 0;
        padding-left: 20px;
        list-style-type: none;
    }

    .request-item.svelte-4ys6fy {
        position: relative;
        font-size: 0.9rem;
        color: var(--yr-text-secondary);
        line-height: 1.6;
        margin-bottom: 6px;
        padding-left: 16px;
    }

    .request-item.svelte-4ys6fy::before {
        content: '📝';
        position: absolute;
        left: -8px;
        font-size: 0.8rem;
    }

    .request-item.svelte-4ys6fy:last-child {
        margin-bottom: 0;
    }

    /* ========== Page Container & Navigation Styles ========== */
    .page-container.svelte-4ys6fy {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        position: relative;
        min-height: 0;
    }

    .page-stage.svelte-4ys6fy {
        flex: 1;
        position: relative;
        overflow: hidden;
        min-height: 0;
    }

    .page-content.svelte-4ys6fy {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 40px;
        overflow: hidden;
        /* Ensure confetti is positioned relative to this */
    }

    .page-content.scrollable.svelte-4ys6fy {
        overflow-y: auto;
        justify-content: flex-start;
    }

    .page-content.scrollable.svelte-4ys6fy::-webkit-scrollbar {
        width: 8px;
    }

    .page-content.scrollable.svelte-4ys6fy::-webkit-scrollbar-thumb {
        background: var(--yr-scrollbar);
        border-radius: 4px;
    }

    .full-page.svelte-4ys6fy {
        width: 100%;
        max-width: 700px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .card-page.svelte-4ys6fy {
        background: var(--yr-card-bg);
        border-radius: 20px;
        padding: 40px;
        border: 1px solid var(--yr-border);
        width: 100%;
        max-width: 700px;
    }

    .page-title.svelte-4ys6fy {
        font-size: 1.8rem;
        color: var(--yr-text);
        margin: 0 0 30px 0;
        text-align: center;
    }

    /* Navigation */
    .page-navigation.svelte-4ys6fy {
        padding: 20px 40px;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 16px;
        background: linear-gradient(to top, var(--yr-bg), transparent);
    }

    .page-dots.svelte-4ys6fy {
        display: flex;
        gap: 10px;
    }

    .page-dot.svelte-4ys6fy {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background: var(--yr-border);
        border: none;
        cursor: pointer;
        transition: all 0.3s ease;
        padding: 0;
    }

    .page-dot.active.svelte-4ys6fy {
        background: var(--yr-christmas-red);
        transform: scale(1.3);
        box-shadow: 0 0 10px rgba(196, 30, 58, 0.5);
    }

    .page-dot.svelte-4ys6fy:hover:not(.active) {
        background: var(--yr-text-muted);
    }

    .nav-buttons.svelte-4ys6fy {
        display: flex;
        gap: 16px;
    }

    .nav-btn.svelte-4ys6fy {
        padding: 12px 32px;
        border: none;
        border-radius: 30px;
        font-size: 1rem;
        font-weight: bold;
        cursor: pointer;
        transition: all 0.3s ease;
    }

    .prev-btn.svelte-4ys6fy {
        background: var(--yr-card-bg);
        color: var(--yr-text);
        border: 1px solid var(--yr-border);
    }

    .prev-btn.svelte-4ys6fy:hover {
        background: var(--yr-border);
    }

    .next-btn.svelte-4ys6fy {
        background: linear-gradient(135deg, var(--yr-christmas-red), #ff6b6b);
        color: white;
    }

    .next-btn.svelte-4ys6fy:hover {
        transform: scale(1.05);
        box-shadow: 0 0 20px rgba(196, 30, 58, 0.4);
    }

    .close-btn-bottom.svelte-4ys6fy {
        background: linear-gradient(135deg, var(--yr-christmas-green), #2ecc71);
        color: white;
    }

    .close-btn-bottom.svelte-4ys6fy:hover {
        transform: scale(1.05);
        box-shadow: 0 0 20px rgba(34, 139, 34, 0.4);
    }

    /* ========== Enhanced Page Styles ========== */
    
    /* Page 2: Big Stats */
    .big-stat.full-page.svelte-4ys6fy .stat-value:where(.svelte-4ys6fy) {
        font-size: 8rem;
    }

    .animated-number.svelte-4ys6fy {
        background: linear-gradient(135deg, var(--yr-gold), #ffaa00);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }

    .light.svelte-4ys6fy .animated-number:where(.svelte-4ys6fy) {
        background: linear-gradient(135deg, #996600, #cc7a00);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }
    /* Confetti Celebration Effect - Enhanced */
    .confetti-container.svelte-4ys6fy {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
        overflow: hidden;
        z-index: 10;
    }

    .confetti-emoji.svelte-4ys6fy {
        position: absolute;
        font-size: 2.5rem;
        bottom: -20px;
        opacity: 0;
        /* improved timing structure handled in keyframes */
        animation: svelte-4ys6fy-confetti-firework 3s linear forwards; 
        animation-delay: var(--delay);
    }

    .confetti-emoji.left.svelte-4ys6fy {
        left: 5%;
        /* Angle is positive (aiming right) */
    }

    .confetti-emoji.right.svelte-4ys6fy {
        left: auto;
        right: 5%;
        /* Angle is negative (aiming left) */
    }

    /* Animation: Parabolic flight (Up then Down) */
    @keyframes svelte-4ys6fy-confetti-firework {
        0% {
            opacity: 1;
            transform: translateX(0) translateY(0) scale(0.5) rotate(0deg);
            animation-timing-function: cubic-bezier(0.2, 0.6, 0.3, 1.0); /* Fast start, decelerate */
        }
        45% {
            opacity: 1;
            transform: 
                translateX(calc(sin(var(--angle)) * 40vw)) 
                translateY(-70vh) /* High peak */
                scale(1.2) 
                rotate(90deg);
            animation-timing-function: cubic-bezier(0.6, 0.0, 0.8, 0.3); /* Start falling slowly */
        }
        70% {
            opacity: 1;
            transform: 
                translateX(calc(sin(var(--angle)) * 50vw)) 
                translateY(-60vh) /* Starting to drop */
                scale(1.1) 
                rotate(180deg);
        }
        100% {
            opacity: 0; /* Fade out */
            transform: 
                translateX(calc(sin(var(--angle)) * 60vw)) 
                translateY(0vh) /* Fallen down */
                scale(0.8) 
                rotate(360deg);
        }
    }



    /* Page 3: Large List */
    .large-list.svelte-4ys6fy {
        width: 100%;
    }

    .large-list.svelte-4ys6fy .list-row:where(.svelte-4ys6fy) {
        margin-bottom: 20px;
    }

    .large-list.svelte-4ys6fy .rank:where(.svelte-4ys6fy) {
        width: 36px;
        height: 36px;
        line-height: 36px;
        font-size: 1rem;
        margin-right: 16px;
    }

    .large-list.svelte-4ys6fy .cat-name:where(.svelte-4ys6fy) {
        font-size: 1.1rem;
    }

    .large-list.svelte-4ys6fy .cat-count:where(.svelte-4ys6fy) {
        font-size: 1rem;
    }

    .large-list.svelte-4ys6fy .progress-bg:where(.svelte-4ys6fy) {
        height: 10px;
    }

    .animated-bar.svelte-4ys6fy {
        width: 0;
        animation: svelte-4ys6fy-growBar 0.8s ease-out forwards;
    }

    @keyframes svelte-4ys6fy-growBar {
        to {
            width: var(--target-width);
        }
    }

    /* Page 4: Model Grid */
    .model-grid.svelte-4ys6fy {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
        gap: 16px;
        width: 100%;
    }

    .model-card-wrapper.svelte-4ys6fy {
        height: 100%;
        transition: transform 0.3s ease;
    }

    .model-card-wrapper.svelte-4ys6fy:hover {
        transform: translateY(-4px);
    }

    .model-card.svelte-4ys6fy {
        background: var(--yr-bg);
        border: 1px solid var(--yr-border);
        border-radius: 16px;
        padding: 18px;
        text-align: center;
        transition: border-color 0.3s ease, box-shadow 0.3s ease;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    /* Trigger styles on wrapper hover to ensure consistency */
    .model-card-wrapper.svelte-4ys6fy:hover .model-card:where(.svelte-4ys6fy) {
        border-color: var(--yr-christmas-green);
        box-shadow: 0 8px 24px rgba(34, 139, 34, 0.2);
    }

    .model-icon.svelte-4ys6fy {
        font-size: 2.6rem;
        margin-bottom: 10px;
    }

    .model-name.svelte-4ys6fy {
        font-size: 0.95rem;
        font-weight: bold;
        color: var(--yr-text);
        margin-bottom: 6px;
        word-break: break-word;
    }

    .model-count.svelte-4ys6fy {
        font-size: 1.05rem;
        color: var(--yr-christmas-green);
        font-weight: bold;
    }

    /* Page 6: Santa Page */
    .santa-page.svelte-4ys6fy {
        text-align: center;
    }

    .santa-large-icon.svelte-4ys6fy {
        font-size: 6rem;
        margin-bottom: 20px;
        animation: svelte-4ys6fy-santa-float 3s ease-in-out infinite;
    }

    @keyframes svelte-4ys6fy-santa-float {
        0%, 100% { transform: translateY(0) rotate(-5deg); }
        50% { transform: translateY(-15px) rotate(5deg); }
    }

    /* Sway Animation for Model Cards (Ding-Dong effect) */
    .sway-animation.svelte-4ys6fy {
        animation: svelte-4ys6fy-bell-sway 3s ease-in-out infinite;
        transform-origin: top center;
    }

    @keyframes svelte-4ys6fy-bell-sway {
        0%, 100% { transform: rotate(0deg); }
        20% { transform: rotate(2deg); }
        40% { transform: rotate(-2deg); }
        60% { transform: rotate(1deg); }
        80% { transform: rotate(-1deg); }
    }

    .santa-title.svelte-4ys6fy {
        color: var(--yr-christmas-red);
        margin-bottom: 24px;
    }

    .santa-message-box.svelte-4ys6fy {
        background: var(--yr-card-bg);
        border: 2px solid var(--yr-christmas-red);
        border-radius: 20px;
        padding: 30px;
        text-align: left;
        max-width: 600px;
        width: 100%;
        min-height: 150px;
        max-height: 50vh;
        overflow-y: auto;
        position: relative;
    }

    .santa-message-box.svelte-4ys6fy::-webkit-scrollbar {
        width: 8px;
    }

    .santa-message-box.svelte-4ys6fy::-webkit-scrollbar-thumb {
        background: var(--yr-christmas-red);
        border-radius: 4px;
    }

    .santa-message-box.svelte-4ys6fy::-webkit-scrollbar-track {
        background: var(--yr-border);
        border-radius: 4px;
    }

    .santa-message-box.svelte-4ys6fy::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 4px;
        background: linear-gradient(90deg, var(--yr-christmas-red), var(--yr-christmas-green), var(--yr-gold));
        border-radius: 20px 20px 0 0;
    }

    .typing-indicator.large.svelte-4ys6fy {
        justify-content: center;
        padding: 20px 0;
    }

    .typing-indicator.large.svelte-4ys6fy .dot:where(.svelte-4ys6fy) {
        width: 12px;
        height: 12px;
    }

    .loading-hint.svelte-4ys6fy {
        color: var(--yr-text-muted);
        font-size: 0.9rem;
        margin-top: 12px;
        text-align: center;
    }

    /* Page 7: Closing Enhanced */
    .closing-section.full-page.svelte-4ys6fy {
        margin-top: 0;
    }

    .closing-msg.large.svelte-4ys6fy {
        font-size: 2rem;
        margin-bottom: 16px;
    }

    .closing-sub.svelte-4ys6fy {
        font-size: 1.2rem;
        color: var(--yr-text-secondary);
        margin-bottom: 30px;
    }

    .closing-decorations.svelte-4ys6fy {
        margin-bottom: 30px;
    }

    .closing-decorations.svelte-4ys6fy .gift:where(.svelte-4ys6fy) {
        font-size: 3rem;
    }

    /* Responsive adjustments */
	    @media (max-width: 768px) {
	        .page-content.svelte-4ys6fy {
	            padding: 20px;
	        }

        .card-page.svelte-4ys6fy {
            padding: 24px;
        }

        .page-title.svelte-4ys6fy {
            font-size: 1.4rem;
        }

        .main-title.svelte-4ys6fy {
            font-size: 2.5rem;
        }

        .big-stat.full-page.svelte-4ys6fy .stat-value:where(.svelte-4ys6fy) {
            font-size: 5rem;
        }

	        .model-grid.svelte-4ys6fy {
	            grid-template-columns: repeat(2, 1fr);
	            gap: 12px;
	        }
	
	        .model-card.svelte-4ys6fy {
	            padding: 14px;
	        }
	
	        .model-icon.svelte-4ys6fy {
	            font-size: 2.3rem;
	            margin-bottom: 8px;
	        }
	
	        .model-name.svelte-4ys6fy {
	            font-size: 0.9rem;
	        }
	
	        .model-count.svelte-4ys6fy {
	            font-size: 1rem;
	        }
	
	        .ranking-summary.svelte-4ys6fy {
	            font-size: 0.9rem;
	            margin-top: 18px;
	        }

	        .santa-large-icon.svelte-4ys6fy {
	            font-size: 4rem;
	        }
	
	        .santa-message-box.svelte-4ys6fy {
	            padding: 20px;
	            max-height: 60vh;
	        }

	        .closing-msg.large.svelte-4ys6fy {
	            font-size: 1.5rem;
	        }

        .nav-btn.svelte-4ys6fy {
            padding: 10px 24px;
            font-size: 0.9rem;
        }
    }



    .tile.svelte-1197sqj {
        width: var(--tile-size);
        height: var(--tile-size);
        flex: 0 0 var(--tile-size);
        display: grid;
        place-items: center;
        color: var(--agt-icon-ink);
        border: 1px solid color-mix(in srgb, currentColor 14%, transparent);
        border-radius: var(--agt-radius-control);
        background: var(--agt-icon-blueprint);
    }
    .tile.svelte-1197sqj svg:where(.svelte-1197sqj) {
        width: 56%;
        height: 56%;
        stroke: currentColor;
        stroke-width: 1.55;
        stroke-linecap: round;
        stroke-linejoin: round;
    }
    .icon-calculator.svelte-1197sqj { background: var(--agt-icon-calculator); }
    .icon-compare.svelte-1197sqj { background: var(--agt-icon-compare); }
    .icon-document.svelte-1197sqj { background: var(--agt-icon-document); }
    .icon-spreadsheet.svelte-1197sqj { background: var(--agt-icon-calculator); }
    .icon-search.svelte-1197sqj { background: var(--agt-icon-search); }
    .icon-shield.svelte-1197sqj { background: var(--agt-icon-shield); }



    .content-wrapper.svelte-vnyxcj {
        display: flex;
        flex: 1;
        overflow: hidden;
    }
    /*.menu{*/
    /*    grid-area: menu;*/
    /*}*/
    .menu.svelte-vnyxcj {
        flex-shrink: 0;
        display: flex;
        flex-direction: column;
    }

    /*.content{*/
    /*    grid-area: content;*/
    /*    overflow-y: auto;*/
    /*    overflow-x: hidden;*/
    /*    height: calc(100vh - 80px);*/
    /*}*/
    .content.svelte-vnyxcj {
        flex: 1;
        min-width: 0;
        min-height: 0;
        overflow-y: auto;
        overflow-x: hidden;
        transition: width 0.3s ease;
    }
    .content.svelte-vnyxcj::-webkit-scrollbar{
        width: 8px;
        background-color: #181818;
    }
    .content.svelte-vnyxcj::-webkit-scrollbar-thumb{
        background-color: #4b4b4b;
        border-radius: 3px;
    }
    .agent-context.svelte-vnyxcj {
        position: sticky;
        z-index: 1200;
        top: 0;
        min-height: 52px;
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 8px clamp(16px, 4vw, 40px);
        color: var(--agt-ink);
        background: var(--agt-surface-dim);
        border-bottom: 1px solid var(--agt-border);
    }
    .agent-context-copy.svelte-vnyxcj {
        min-width: 0;
        flex: 1;
        display: grid;
        line-height: 1.2;
    }
    .agent-context-copy.svelte-vnyxcj strong:where(.svelte-vnyxcj) {
        overflow: hidden;
        font: var(--agt-type-card);
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .agent-context-eyebrow.svelte-vnyxcj {
        color: var(--agt-primary);
        font: var(--agt-type-overline);
        letter-spacing: .08em;
        text-transform: uppercase;
    }
    .agent-context-knowledge.svelte-vnyxcj {
        color: var(--agt-ink-3);
        font: var(--agt-type-meta);
        white-space: nowrap;
    }
    .agent-context-action.svelte-vnyxcj {
        width: 34px;
        height: 34px;
        display: grid;
        flex: 0 0 34px;
        place-items: center;
        color: var(--agt-ink-2);
        border: 1px solid transparent;
        border-radius: var(--agt-radius-control);
    }
    .agent-context-action.svelte-vnyxcj:hover {
        color: var(--agt-ink);
        background: var(--agt-surface);
        border-color: var(--agt-border);
    }
    .agent-context-action.svelte-vnyxcj:focus-visible {
        outline: 2px solid var(--agt-primary);
        outline-offset: 2px;
    }
    .agent-context-action.svelte-vnyxcj svg:where(.svelte-vnyxcj) {
        width: 18px;
        height: 18px;
        stroke: currentColor;
        stroke-width: 1.55;
        stroke-linecap: round;
        stroke-linejoin: round;
    }
    .content_inner.svelte-vnyxcj{
        max-width: 1000px;
        display: grid;
        gap: 40px;
        grid-auto-columns: 100%;
        margin: auto;
        padding-top: 30px;
        padding-bottom: 30px;
        padding-left: 40px;
        padding-right: 40px;
    }

    .resizer.svelte-vnyxcj{
        width: 6px;
        padding: 0;
        border: 0;
        cursor: col-resize;
        background-color: rgba(255,255,255,0.08);
        flex-shrink: 0;
        height: calc(100vh - 80px); /* ヘッダーの高さを引いた全画面高さ */
        align-self: stretch;
        z-index: 1000;
    }
    .resizer.svelte-vnyxcj:hover{
        background-color: rgba(23,149,207,0.35);
    }
    .resizer.svelte-vnyxcj:active{
        background-color: rgba(23,149,207,0.55);
    }

    .side-panel.svelte-vnyxcj {
        /*position: fixed;*/
        /*top: 80px; !* ヘッダーの高さに合わせて調整 *!*/
        /*right: 0;*/
        width: auto;
        flex-shrink: 0;
        height: calc(100vh - 80px); /* ヘッダーの高さを引いた全画面高さ */
        background-color: #2C2B28;
        padding: 20px;
        box-shadow: -2px 0 5px rgba(0,0,0,0.1);
        overflow-y: auto;
        z-index: 1000; /* 他の要素の上に表示されるように */
    }

    .side-panel-reopen.svelte-vnyxcj {
        position: fixed;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        flex-shrink: 0;
        width: 42px;
        min-height: 112px;
        background-color: #2C2B28;
        border: none;
        border-radius: 8px 0 0 8px;
        border-left: 1px solid rgba(255,255,255,0.08);
        color: #CCC;
        cursor: pointer;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 6px;
        padding: 12px 4px;
        z-index: 1000;
        box-shadow: -2px 0 6px rgba(0,0,0,0.25);
        transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
    }
    .side-panel-reopen.svelte-vnyxcj:hover {
        background-color: #3a3935;
        color: #FFF;
    }
    main.light .side-panel-reopen.svelte-vnyxcj {
        background-color: #F5F7F9;
        border-left-color: #E6E6E6;
        color: #666;
    }
    main.light .side-panel-reopen.svelte-vnyxcj:hover {
        background-color: #E6EAEF;
        color: #333;
    }
    .side-panel-reopen.svelte-vnyxcj svg:where(.svelte-vnyxcj) {
        flex: none;
        width: 18px;
        height: 18px;
    }
    .side-panel-reopen-label.svelte-vnyxcj {
        writing-mode: vertical-rl;
        text-orientation: mixed;
        font-size: 0.82rem;
        letter-spacing: 0.1em;
        line-height: 1;
    }
    .side-panel-reopen-count.svelte-vnyxcj {
        flex: none;
        background: #1795CF;
        color: #fff;
        border-radius: 999px;
        min-width: 20px;
        height: 20px;
        padding: 0 6px;
        font-size: 0.72rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    .global-spinner.svelte-vnyxcj{
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        color: white;
        z-index: 9999;
    }
    .global-spinner-inner.svelte-vnyxcj{
        margin-top: -100px;
    }
    .global-spinner-inner.svelte-vnyxcj img:where(.svelte-vnyxcj){
        margin: auto;
        margin-bottom: 15px;
    }

    @media (max-width: 640px) {
        .agent-context.svelte-vnyxcj {
            padding-inline: 12px;
        }
        .agent-context-knowledge.svelte-vnyxcj {
            display: none;
        }
        .content_inner.svelte-vnyxcj {
            max-width: 100%;
            gap: 20px;
            padding: 16px 12px 20px;
        }

        .resizer.svelte-vnyxcj {
            display: none;
        }

        .side-panel.svelte-vnyxcj {
            position: fixed;
            inset: 64px 0 0 60px;
            width: auto !important;
            height: auto;
            padding: 12px;
            z-index: 9000;
        }

        .side-panel-reopen.svelte-vnyxcj {
            min-height: 96px;
        }
    }



    .sso-callback.svelte-huiuwc {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100vh;
        background-color: #f5f5f5;
    }
    
    .loading.svelte-huiuwc {
        text-align: center;
        padding: 2rem;
        background: white;
        border-radius: 8px;
        box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    }
    
    .spinner.svelte-huiuwc {
        width: 40px;
        height: 40px;
        margin: 1rem auto;
        border: 4px solid #f3f3f3;
        border-top: 4px solid #3498db;
        border-radius: 50%;
        animation: svelte-huiuwc-spin 1s linear infinite;
    }
    
    @keyframes svelte-huiuwc-spin {
        0% { transform: rotate(0deg); }
        100% { transform: rotate(360deg); }
    }


  .tree-node.svelte-19soedn {
    margin-left: 20px;
  }
  .node-list.svelte-19soedn {
    list-style: none;
    padding-left: 0;
    margin: 0;
  }
  .node-list.svelte-19soedn > li:where(.svelte-19soedn) {
    margin: 4px 0;
  }
  details.svelte-19soedn {
    margin-bottom: 5px;
  }
  summary.svelte-19soedn {
    cursor: pointer;
    font-weight: bold;
    list-style: none;
    color: #000;
    display: flex;
    align-items: center;
    gap: 6px;
  }
  summary.svelte-19soedn .icon:where(.svelte-19soedn)::before {
    content: '📁';
    margin-right: 8px;
    margin-left: 4px;
  }
  details[open].svelte-19soedn > summary:where(.svelte-19soedn) .icon:where(.svelte-19soedn)::before {
    content: '📂';
  }
  .status.svelte-19soedn {
    font-size: 12px;
    color: #666;
  }
  label.svelte-19soedn {
    display: flex;
    align-items: center;
    cursor: pointer;
    color: #000;
  }
  input[type="checkbox"].svelte-19soedn {
    margin-right: 8px;
    opacity: 1 !important;
    position: static !important;
    -webkit-appearance: checkbox !important;
    -moz-appearance: checkbox !important;
    appearance: checkbox !important;
    width: 1.2em !important;
    height: 1.2em !important;
  }
  .dir-loading.svelte-19soedn,
  .dir-placeholder.svelte-19soedn {
    padding: 8px 12px;
    font-size: 14px;
    color: #555;
  }
  .dir-error.svelte-19soedn {
    padding: 8px 12px;
    font-size: 14px;
    color: #c00;
  }


    .modal-container.svelte-1nxaypb {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 13000;
    }

    .modal-overlay.svelte-1nxaypb {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        backdrop-filter: blur(2px);
        border: 0;
        padding: 0;
    }

    .modal-content.svelte-1nxaypb {
        position: relative;
        width: 80vw;
        max-width: 1200px;
        height: 75vh;
        color: var(--agt-ink, #f4f7f9);
        background: var(--agt-surface, #202a30);
        border: 1px solid var(--agt-border, rgba(255,255,255,.12));
        border-radius: var(--agt-radius-modal, 14px);
        box-shadow: var(--agt-shadow-2, 0 18px 56px rgba(0,0,0,.35));
        display: flex;
        flex-direction: column;
        animation: svelte-1nxaypb-modalSlideIn 0.3s ease-out;
        overflow: hidden;
    }

    @keyframes svelte-1nxaypb-modalSlideIn {
        from {
            transform: scale(0.95);
            opacity: 0;
        }
        to {
            transform: scale(1);
            opacity: 1;
        }
    }
    
    .modal-header.svelte-1nxaypb {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 20px;
        border-bottom: 1px solid var(--agt-border, rgba(255,255,255,.12));
    }

    .modal-header.svelte-1nxaypb h2:where(.svelte-1nxaypb) {
        margin: 0;
        font-size: 18px;
        color: var(--agt-ink, #f4f7f9);
    }

    .close-button.svelte-1nxaypb {
        width: 40px;
        height: 40px;
        background: none;
        border: none;
        color: var(--agt-ink-2, #d6dde1);
        font-size: 24px;
        cursor: pointer;
    }
    .close-button.svelte-1nxaypb:hover {
        color: var(--agt-ink, #fff);
    }

    .modal-body.svelte-1nxaypb {
        padding: 20px;
        background-color: var(--agt-surface-dim, #182126);
        flex-grow: 1;
        overflow-y: hidden;
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .action-row.svelte-1nxaypb {
        display: flex;
        gap: 8px;
    }

    .utility-button.svelte-1nxaypb {
        min-height: 40px;
        border: 1px solid var(--agt-border-strong, rgba(255,255,255,.2));
        background: var(--agt-surface, #202a30);
        color: var(--agt-ink-2, #d6dde1);
        padding: 6px 12px;
        border-radius: var(--agt-radius-control, 8px);
        font-size: 13px;
        cursor: pointer;
        transition: background 0.2s ease, color 0.2s ease;
    }

    .utility-button.svelte-1nxaypb:hover {
        background: var(--agt-primary, #27b7ff);
        color: #fff;
    }

    .gcs-tree-container.svelte-1nxaypb {
        flex-grow: 1;
        overflow-y: auto;
        background-color: white;
        color: #111;
        border-radius: var(--agt-radius-control, 8px);
        border: 1px solid var(--agt-border, rgba(255,255,255,.12));
        padding: 10px;
        position: relative;
    }

    .error-message.svelte-1nxaypb {
        color: #c00;
    }
    
    .modal-footer.svelte-1nxaypb {
        display: flex;
        justify-content: flex-end; /* ボタンを右揃えに */
        padding: 20px;
        border-top: 1px solid var(--agt-border, rgba(255,255,255,.12));
        background-color: var(--agt-surface, #202a30);
    }

    .action-button.svelte-1nxaypb {
        min-width: 80px;
        height: 40px;
        margin: 0 4px;
        border-radius: var(--agt-radius-control, 8px);
        font-size: 14px;
        cursor: pointer;
        transition: all 0.2s ease;
        padding: 0 12px;
        display: inline-flex; /* テキストを中央揃えにするため */
        align-items: center;   /* テキストを中央揃えにするため */
        justify-content: center; /* テキストを中央揃えにするため */
    }

    .action-button.selected.svelte-1nxaypb {
        background: var(--agt-primary, #27b7ff);
        color: #fff;
        border: 1px solid var(--agt-primary, #27b7ff);
    }

    .action-button.default.svelte-1nxaypb {
        background: transparent;
        color: var(--agt-ink-2, #d6dde1);
        border: 1px solid var(--agt-border-strong, rgba(255,255,255,.2));
    }

    .loading-overlay.svelte-1nxaypb {
        position: absolute;
        inset: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 12px;
        background: rgba(255, 255, 255, 0.9);
    }

    .loading-content.svelte-1nxaypb img:where(.svelte-1nxaypb) {
        width: 48px;
        height: 48px;
    }

    .loading-content.svelte-1nxaypb span:where(.svelte-1nxaypb) {
        color: #333;
        font-size: 14px;
    }
    button.svelte-1nxaypb:focus-visible {
        outline: 2px solid var(--agt-primary, #27b7ff);
        outline-offset: 2px;
    }
    @media (max-width: 720px) {
        .modal-content.svelte-1nxaypb {
            width: calc(100vw - 24px);
            height: calc(100vh - 48px);
        }
        .modal-header.svelte-1nxaypb,
        .modal-footer.svelte-1nxaypb {
            padding: 14px 16px;
        }
        .modal-body.svelte-1nxaypb {
            padding: 14px;
        }
    }


    .application-card.svelte-1djhsp8 {
        min-width: 0;
        min-height: 230px;
        display: flex;
        flex-direction: column;
        gap: 16px;
        padding: 22px;
        color: var(--agt-ink);
        background:
            linear-gradient(135deg, var(--agt-primary-tint), transparent 42%),
            var(--agt-surface);
        border: 1px solid var(--agt-border);
        border-radius: var(--agt-radius-card);
        box-shadow: var(--agt-shadow-1);
        animation: svelte-1djhsp8-card-enter var(--agt-dur-enter) var(--agt-ease-enter) both;
        animation-delay: var(--enter-delay);
        transition:
            transform var(--agt-dur-micro) ease-out,
            border-color var(--agt-dur-micro) ease-out,
            box-shadow var(--agt-dur-micro) ease-out;
    }
    .application-card.svelte-1djhsp8:hover {
        transform: translateY(-2px);
        border-color: var(--agt-border-strong);
        box-shadow: var(--agt-shadow-2);
    }
    .head.svelte-1djhsp8 {
        display: flex;
        align-items: center;
        gap: 12px;
    }
    .identity.svelte-1djhsp8 { min-width: 0; flex: 1; }
    .eyebrow.svelte-1djhsp8 {
        display: block;
        margin-bottom: 2px;
        color: var(--agt-primary);
        font: var(--agt-type-overline);
        letter-spacing: .06em;
        text-transform: uppercase;
    }
    h3.svelte-1djhsp8 {
        overflow: hidden;
        margin: 0;
        color: var(--agt-ink);
        font: var(--agt-type-card);
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .available.svelte-1djhsp8 {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        color: var(--agt-succeeded);
        font: var(--agt-type-meta);
        white-space: nowrap;
    }
    .available.svelte-1djhsp8 i:where(.svelte-1djhsp8) {
        width: 7px;
        height: 7px;
        background: currentColor;
        border-radius: 999px;
        box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 14%, transparent);
    }
    .description.svelte-1djhsp8 {
        margin: 0;
        color: var(--agt-ink-2);
        font: var(--agt-type-sub);
    }
    dl.svelte-1djhsp8 {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin: 0;
    }
    dl.svelte-1djhsp8 div:where(.svelte-1djhsp8) {
        min-width: 0;
        padding: 10px 12px;
        background: color-mix(in srgb, var(--agt-surface) 72%, transparent);
        border: 1px solid var(--agt-border);
        border-radius: var(--agt-radius-control);
    }
    dt.svelte-1djhsp8 {
        margin-bottom: 3px;
        color: var(--agt-ink-3);
        font: var(--agt-type-overline);
    }
    dd.svelte-1djhsp8 {
        margin: 0;
        color: var(--agt-ink-2);
        font: var(--agt-type-meta);
        overflow-wrap: anywhere;
        white-space: normal;
    }
    .footer.svelte-1djhsp8 {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        margin-top: auto;
        padding-top: 14px;
        border-top: 1px solid var(--agt-border);
    }
    .footer.svelte-1djhsp8 > span:where(.svelte-1djhsp8) {
        color: var(--agt-ink-3);
        font: var(--agt-type-meta);
    }
    button.svelte-1djhsp8 {
        min-height: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        padding: 0 16px;
        color: var(--agt-on-primary);
        background: var(--agt-primary);
        border-radius: var(--agt-radius-control);
        font: var(--agt-type-sub);
        font-weight: 600;
        transition:
            transform var(--agt-dur-micro) ease-out,
            opacity var(--agt-dur-micro) ease-out;
    }
    button.svelte-1djhsp8:hover:not(:disabled) { transform: translateY(-1px); }
    button.svelte-1djhsp8:active:not(:disabled) { transform: translateY(0); }
    button.svelte-1djhsp8:focus-visible {
        outline: 2px solid var(--agt-primary);
        outline-offset: 2px;
    }
    button.svelte-1djhsp8:disabled { opacity: .65; cursor: wait; }
    button.svelte-1djhsp8 svg:where(.svelte-1djhsp8) {
        width: 18px;
        height: 18px;
        stroke: currentColor;
        stroke-width: 1.7;
        stroke-linecap: round;
        stroke-linejoin: round;
    }
    .spinner.svelte-1djhsp8 {
        width: 14px;
        height: 14px;
        border: 2px solid color-mix(in srgb, currentColor 35%, transparent);
        border-top-color: currentColor;
        border-radius: 999px;
        animation: svelte-1djhsp8-spin .7s linear infinite;
    }
    @keyframes svelte-1djhsp8-card-enter {
        from { opacity: 0; transform: translateY(8px); }
        to { opacity: 1; transform: translateY(0); }
    }
    @keyframes svelte-1djhsp8-spin { to { transform: rotate(360deg); } }
    @media (max-width: 640px) {
        .application-card.svelte-1djhsp8 { min-height: 0; padding: 18px; }
        .available.svelte-1djhsp8 { display: none; }
        dl.svelte-1djhsp8 { grid-template-columns: 1fr; }
        .footer.svelte-1djhsp8 { align-items: stretch; flex-direction: column; }
        .footer.svelte-1djhsp8 > span:where(.svelte-1djhsp8) { display: none; }
        button.svelte-1djhsp8 { width: 100%; }
    }
    @media (prefers-reduced-motion: reduce) {
        .application-card.svelte-1djhsp8 { animation: none; }
        .spinner.svelte-1djhsp8 { animation-duration: 1.4s; }
    }


    button.svelte-19nmhxw {
        min-height: 40px;
        min-width: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 8px 14px;
        color: var(--agt-ink);
        background: transparent;
        border: 1px solid var(--agt-border-strong);
        border-radius: var(--agt-radius-control);
        font: var(--agt-type-sub);
        font-weight: 600;
        cursor: pointer;
        transition:
            background var(--agt-dur-micro) ease-out,
            border-color var(--agt-dur-micro) ease-out,
            transform var(--agt-dur-micro) ease-out;
    }
    button.svelte-19nmhxw:hover:not(:disabled) {
        border-color: var(--agt-ink-3);
        background: var(--agt-surface-dim);
    }
    button.svelte-19nmhxw:active:not(:disabled) { transform: translateY(1px); }
    button.svelte-19nmhxw:focus-visible {
        outline: 2px solid var(--agt-primary);
        outline-offset: 2px;
    }
    button.primary.svelte-19nmhxw {
        color: var(--agt-cta-ink);
        background: var(--agt-cta-bg);
        border-color: var(--agt-cta-bg);
    }
    button.primary.svelte-19nmhxw:hover:not(:disabled) {
        background: color-mix(in srgb, var(--agt-cta-bg) 88%, var(--agt-canvas));
    }
    button.danger.svelte-19nmhxw {
        color: var(--agt-on-failed);
        background: var(--agt-failed);
        border-color: var(--agt-failed);
    }
    button.ghost.svelte-19nmhxw {
        border-color: transparent;
        color: var(--agt-ink-2);
    }
    button.svelte-19nmhxw:disabled {
        cursor: not-allowed;
        opacity: .46;
    }


    span.svelte-1w75wt8 {
        height: 22px;
        display: inline-flex;
        align-items: center;
        padding: 2px 8px;
        color: var(--agt-ink-2);
        background: var(--agt-surface-dim);
        border-radius: var(--agt-radius-pill);
        font: var(--agt-type-meta);
        white-space: nowrap;
    }
    span.shared.svelte-1w75wt8 {
        color: var(--agt-primary);
        background: var(--agt-primary-tint);
    }


    .card.svelte-9yl1a2 {
        position: relative;
        min-width: 0;
        min-height: 180px;
        display: flex;
        flex-direction: column;
        gap: 14px;
        padding: 20px;
        color: var(--agt-ink);
        background: var(--agt-surface);
        border: 1px solid var(--agt-border);
        border-radius: var(--agt-radius-card);
        box-shadow: var(--agt-shadow-1);
        cursor: pointer;
        animation: svelte-9yl1a2-card-enter var(--agt-dur-enter) var(--agt-ease-enter) both;
        animation-delay: var(--enter-delay);
        transition:
            transform var(--agt-dur-micro) ease-out,
            border-color var(--agt-dur-micro) ease-out,
            box-shadow var(--agt-dur-micro) ease-out;
    }
    .card.svelte-9yl1a2:hover,
    .card.svelte-9yl1a2:focus-visible {
        transform: translateY(-2px);
        border-color: var(--agt-border-strong);
        box-shadow: var(--agt-shadow-2);
    }
    .card.svelte-9yl1a2:active { transform: translateY(0); }
    .card.svelte-9yl1a2:focus-visible {
        outline: 2px solid var(--agt-primary);
        outline-offset: 2px;
    }
    .card-open.svelte-9yl1a2 {
        position: absolute;
        z-index: 1;
        inset: 0;
        border-radius: inherit;
    }
    .card-open.svelte-9yl1a2:focus-visible {
        outline: 2px solid var(--agt-primary);
        outline-offset: 2px;
    }
    .head.svelte-9yl1a2 {
        display: flex;
        align-items: center;
        gap: 12px;
    }
    .identity.svelte-9yl1a2 { min-width: 0; flex: 1; }
    h3.svelte-9yl1a2 {
        overflow: hidden;
        margin: 0;
        color: var(--agt-ink);
        font: var(--agt-type-card);
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .identity.svelte-9yl1a2 span:where(.svelte-9yl1a2) {
        color: var(--agt-ink-3);
        font: var(--agt-type-meta);
    }
    .run.svelte-9yl1a2 {
        position: relative;
        z-index: 2;
        width: 40px;
        height: 40px;
        display: grid;
        place-items: center;
        opacity: 0;
        color: var(--agt-ink);
        background: var(--agt-surface-dim);
        border: 1px solid var(--agt-border);
        border-radius: var(--agt-radius-control);
        transition: opacity var(--agt-dur-micro) ease-out;
    }
    .card.svelte-9yl1a2:hover .run:where(.svelte-9yl1a2),
    .run.svelte-9yl1a2:focus-visible { opacity: 1; }
    .run.svelte-9yl1a2:focus-visible {
        outline: 2px solid var(--agt-primary);
        outline-offset: 2px;
    }
    .description.svelte-9yl1a2 {
        min-height: 40px;
        display: -webkit-box;
        overflow: hidden;
        margin: 0;
        color: var(--agt-ink-2);
        font: var(--agt-type-sub);
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }
    .footer.svelte-9yl1a2 {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 10px;
        margin-top: auto;
        padding-top: 12px;
        border-top: 1px solid var(--agt-border);
    }
    .meta.svelte-9yl1a2 {
        min-width: 0;
        overflow: hidden;
        color: var(--agt-ink-3);
        font: var(--agt-type-meta);
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    @keyframes svelte-9yl1a2-card-enter {
        from { opacity: 0; transform: translateY(8px); }
        to { opacity: 1; transform: translateY(0); }
    }
    @media (prefers-reduced-motion: reduce) {
        .card.svelte-9yl1a2 { animation: none; }
    }


    .agent-shell.svelte-1ia4pjm {
        height: 100%;
        min-height: 0;
        display: flex;
        flex-direction: column;
        color: var(--agt-ink);
        background: var(--agt-canvas);
    }
    .agent-shell.svelte-1ia4pjm,
    .agent-shell.svelte-1ia4pjm *,
    .agent-shell.svelte-1ia4pjm *::before,
    .agent-shell.svelte-1ia4pjm *::after {
        box-sizing: border-box;
    }
    .app-header.svelte-1ia4pjm { flex: 0 0 auto; }
    .workspace.svelte-1ia4pjm { min-height: 0; flex: 1; display: flex; }
    .sidebar.svelte-1ia4pjm { flex: 0 0 auto; display: flex; }
    .page.svelte-1ia4pjm {
        min-width: 0;
        min-height: 0;
        flex: 1;
        overflow: auto;
        scrollbar-color: var(--agt-border-strong) transparent;
    }


    .empty.svelte-1hhmwtp {
        display: grid;
        place-items: center;
        padding: 48px 24px;
        text-align: center;
        color: var(--agt-ink);
        background: var(--agt-surface);
        border: 1px dashed var(--agt-border-strong);
        border-radius: var(--agt-radius-card);
    }
    .illustration.svelte-1hhmwtp {
        width: 72px;
        height: 72px;
        display: grid;
        place-items: center;
        margin-bottom: 12px;
        color: var(--agt-primary);
        background: var(--agt-primary-tint);
        border-radius: 20px;
    }
    svg.svelte-1hhmwtp { width: 44px; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; }
    h2.svelte-1hhmwtp { margin: 0; font: var(--agt-type-section); }
    p.svelte-1hhmwtp { max-width: 440px; margin: 6px 0 18px; color: var(--agt-ink-2); font: var(--agt-type-sub); }
    .actions.svelte-1hhmwtp { display: flex; gap: 10px; }


    .backdrop.svelte-1xms159 {
        position: fixed;
        inset: 0;
        z-index: 10000;
        display: grid;
        place-items: center;
        padding: 24px;
        background: var(--agt-overlay);
        backdrop-filter: blur(4px);
        animation: svelte-1xms159-fade-in var(--agt-dur-enter) var(--agt-ease-enter);
    }
    .panel.svelte-1xms159 {
        width: min(var(--modal-width), calc(100vw - 32px));
        max-height: min(800px, calc(100vh - 48px));
        display: flex;
        flex-direction: column;
        color: var(--agt-ink);
        background: var(--agt-surface);
        border: 1px solid var(--agt-border);
        border-radius: var(--agt-radius-modal);
        box-shadow: var(--agt-shadow-2);
        animation: svelte-1xms159-panel-in var(--agt-dur-enter) var(--agt-ease-enter);
    }
    header.svelte-1xms159 {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 20px;
        padding: 20px 24px 16px;
        border-bottom: 1px solid var(--agt-border);
    }
    h2.svelte-1xms159 { margin: 0; font: var(--agt-type-section); }
    p.svelte-1xms159 { margin: 4px 0 0; color: var(--agt-ink-2); font: var(--agt-type-sub); }
    .close.svelte-1xms159 {
        width: 40px;
        height: 40px;
        display: grid;
        place-items: center;
        color: var(--agt-ink-2);
        border-radius: var(--agt-radius-control);
        font: var(--agt-type-title);
    }
    .close.svelte-1xms159:hover { color: var(--agt-ink); background: var(--agt-surface-dim); }
    .close.svelte-1xms159:focus-visible {
        outline: 2px solid var(--agt-primary);
        outline-offset: 2px;
    }
    .body.svelte-1xms159 { min-height: 0; overflow-y: auto; padding: 22px 24px; }
    footer.svelte-1xms159 {
        display: flex;
        justify-content: flex-end;
        gap: 10px;
        padding: 16px 24px 20px;
        border-top: 1px solid var(--agt-border);
    }
    @keyframes svelte-1xms159-fade-in { from { opacity: 0; } }
    @keyframes svelte-1xms159-panel-in { from { opacity: 0; transform: scale(.98) translateY(6px); } }
    @media (max-width: 640px) {
        .backdrop.svelte-1xms159 { align-items: end; padding: 0; }
        .panel.svelte-1xms159 {
            width: 100vw;
            max-height: 92vh;
            border-radius: var(--agt-radius-modal) var(--agt-radius-modal) 0 0;
        }
    }


    .form.svelte-1leqccz { display: grid; gap: 24px; }
    section.svelte-1leqccz { display: grid; gap: 9px; }
    .field-head.svelte-1leqccz { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
    label.svelte-1leqccz,
    .field-label.svelte-1leqccz { color: var(--agt-ink); font: var(--agt-type-sub); font-weight: 600; }
    .field-label.svelte-1leqccz span:where(.svelte-1leqccz) {
        margin-left: 6px;
        padding: 2px 7px;
        color: var(--agt-failed);
        background: var(--agt-failed-tint);
        border-radius: var(--agt-radius-pill);
        font: var(--agt-type-meta);
    }
    label.svelte-1leqccz em:where(.svelte-1leqccz) { color: var(--agt-ink-3); font: var(--agt-type-meta); font-style: normal; }
    small.svelte-1leqccz { color: var(--agt-ink-3); font: var(--agt-type-meta); }
    .select.svelte-1leqccz {
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        color: var(--agt-primary);
        border: 1px dashed var(--agt-primary);
        border-radius: var(--agt-radius-control);
        font: var(--agt-type-sub);
        font-weight: 600;
    }
    .select.svelte-1leqccz:hover { background: var(--agt-primary-tint); }
    .select.svelte-1leqccz:focus-visible,
    textarea.svelte-1leqccz:focus-visible { outline: 2px solid var(--agt-primary); outline-offset: 2px; }
    .plus.svelte-1leqccz { font-size: 18px; }
    .chips.svelte-1leqccz { display: flex; flex-wrap: wrap; gap: 8px; }
    .chip.svelte-1leqccz {
        max-width: 100%;
        height: 30px;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 3px 4px 3px 9px;
        color: var(--agt-ink-2);
        background: var(--agt-surface-dim);
        border: 1px solid var(--agt-border);
        border-radius: var(--agt-radius-pill);
        font: var(--agt-type-meta);
    }
    .chip.svelte-1leqccz > span:where(.svelte-1leqccz) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .chip.svelte-1leqccz button:where(.svelte-1leqccz) { width: 24px; height: 24px; color: var(--agt-ink-3); border-radius: 50%; }
    .chip.svelte-1leqccz button:where(.svelte-1leqccz):hover { color: var(--agt-ink); background: var(--agt-border); }
    textarea.svelte-1leqccz {
        width: 100%;
        min-height: 96px;
        padding: 10px 12px;
        color: var(--agt-ink);
        background: var(--agt-surface-dim);
        border: 1px solid var(--agt-border);
        border-radius: var(--agt-radius-control);
        font: var(--agt-type-body);
        resize: vertical;
    }
    textarea.svelte-1leqccz::placeholder { color: var(--agt-ink-3); }
    .hint.svelte-1leqccz { margin: 0; color: var(--agt-ink-3); font: var(--agt-type-meta); }
    aside.svelte-1leqccz {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        padding: 12px 14px;
        color: var(--agt-ai);
        background: var(--agt-ai-tint);
        border-radius: var(--agt-radius-control);
    }
    aside.svelte-1leqccz p:where(.svelte-1leqccz) { margin: 0; color: var(--agt-ink-2); font: var(--agt-type-meta); }
    .error.svelte-1leqccz { margin: 0; color: var(--agt-failed); font: var(--agt-type-sub); }


    .skeleton.svelte-um8f7c {
        position: relative;
        overflow: hidden;
        min-height: 174px;
        display: grid;
        grid-template-columns: 48px 1fr;
        grid-template-rows: 26px 24px 1fr;
        gap: 10px 12px;
        padding: 20px;
        border: 1px solid var(--agt-border);
        border-radius: var(--agt-radius-card);
        background: var(--agt-surface);
    }
    .skeleton.svelte-um8f7c::after {
        content: '';
        position: absolute;
        inset: 0;
        transform: translateX(-100%);
        background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--agt-ink) 7%, transparent), transparent);
        animation: svelte-um8f7c-shimmer 1.6s infinite;
    }
    .icon.svelte-um8f7c,
    .line.svelte-um8f7c {
        display: block;
        border-radius: 8px;
        background: var(--agt-surface-dim);
    }
    .icon.svelte-um8f7c { width: 44px; height: 44px; grid-row: span 2; }
    .line.svelte-um8f7c { height: 13px; align-self: center; }
    .wide.svelte-um8f7c { width: 78%; }
    .short.svelte-um8f7c { width: 48%; grid-column: 1 / -1; align-self: end; }
    .row.svelte-um8f7c {
        min-height: 84px;
        grid-template-rows: 20px 18px;
        padding: 12px;
    }
    .row.svelte-um8f7c .short:where(.svelte-um8f7c) { display: none; }
    @keyframes svelte-um8f7c-shimmer { to { transform: translateX(100%); } }
    @media (prefers-reduced-motion: reduce) {
        .skeleton.svelte-um8f7c::after { animation: none; }
    }


    .hub.svelte-1j5ud5o {
        width: min(1280px, 100%);
        margin: 0 auto;
        padding: 32px;
        color: var(--agt-ink);
    }
    .hero.svelte-1j5ud5o {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 24px;
        margin-bottom: 24px;
    }
    h1.svelte-1j5ud5o { margin: 0; font: var(--agt-type-title); }
    .hero.svelte-1j5ud5o p:where(.svelte-1j5ud5o) { margin: 2px 0 0; color: var(--agt-ink-2); font: var(--agt-type-sub); }
    .toolbar.svelte-1j5ud5o {
        display: grid;
        grid-template-columns: minmax(240px, 1fr) auto auto auto;
        align-items: center;
        gap: 12px;
        margin-top: 32px;
        margin-bottom: 32px;
        padding: 12px;
        background: var(--agt-surface);
        border: 1px solid var(--agt-border);
        border-radius: var(--agt-radius-card);
    }
    .toolbar.svelte-1j5ud5o label:where(.svelte-1j5ud5o) {
        min-width: 0;
        min-height: 40px;
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 0 12px;
        background: var(--agt-surface-dim);
        border: 1px solid transparent;
        border-radius: var(--agt-radius-control);
        color: var(--agt-ink-3);
        font: var(--agt-type-meta);
    }
    .toolbar.svelte-1j5ud5o label:where(.svelte-1j5ud5o):focus-within { border-color: var(--agt-primary); }
    .search.svelte-1j5ud5o svg:where(.svelte-1j5ud5o) { width: 18px; stroke: currentColor; stroke-width: 1.6; }
    input.svelte-1j5ud5o,
    select.svelte-1j5ud5o {
        min-width: 0;
        color: var(--agt-ink);
        font: var(--agt-type-body);
    }
    input.svelte-1j5ud5o { min-width: 0; flex: 1; width: 0; }
    input.svelte-1j5ud5o::placeholder { color: var(--agt-ink-3); }
    select.svelte-1j5ud5o { min-width: 112px; cursor: pointer; }
    .count.svelte-1j5ud5o { color: var(--agt-ink-3); font: var(--agt-type-meta); white-space: nowrap; }
    .group.svelte-1j5ud5o { margin-top: 32px; }
    .applications.svelte-1j5ud5o { margin-top: 0; }
    .section-heading.svelte-1j5ud5o {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 16px;
        margin-bottom: 12px;
    }
    .section-heading.svelte-1j5ud5o .section-title:where(.svelte-1j5ud5o) { margin-bottom: 0; }
    .section-heading.svelte-1j5ud5o > p:where(.svelte-1j5ud5o) {
        margin: 0;
        color: var(--agt-ink-3);
        font: var(--agt-type-meta);
    }
    .section-title.svelte-1j5ud5o {
        display: flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 12px;
    }
    .section-title.svelte-1j5ud5o h2:where(.svelte-1j5ud5o) {
        margin: 0;
        color: var(--agt-ink-2);
        font: var(--agt-type-overline);
        letter-spacing: .06em;
        text-transform: uppercase;
    }
    .section-title.svelte-1j5ud5o span:where(.svelte-1j5ud5o) {
        color: var(--agt-ink-3);
        font: var(--agt-type-meta);
    }
    .grid.svelte-1j5ud5o {
        display: grid;
        grid-template-columns: repeat(3, minmax(280px, 1fr));
        gap: 16px;
    }
    .application-grid.svelte-1j5ud5o {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .create-card.svelte-1j5ud5o {
        min-height: 180px;
        display: grid;
        place-items: center;
        align-content: center;
        gap: 4px;
        color: var(--agt-ink-2);
        border: 1px dashed var(--agt-border-strong);
        border-radius: var(--agt-radius-card);
    }
    .create-card.svelte-1j5ud5o:hover { color: var(--agt-primary); border-color: var(--agt-primary); background: var(--agt-primary-tint); }
    .create-card.svelte-1j5ud5o:focus-visible { outline: 2px solid var(--agt-primary); outline-offset: 2px; }
    .create-card.svelte-1j5ud5o span:where(.svelte-1j5ud5o) { font-size: 26px; line-height: 30px; }
    .create-card.svelte-1j5ud5o strong:where(.svelte-1j5ud5o) { font: var(--agt-type-card); }
    .create-card.svelte-1j5ud5o small:where(.svelte-1j5ud5o) { color: var(--agt-ink-3); font: var(--agt-type-meta); }
    .error.svelte-1j5ud5o {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        margin-bottom: 24px;
        padding: 14px 16px;
        color: var(--agt-failed);
        background: var(--agt-failed-tint);
        border-radius: var(--agt-radius-control);
        font: var(--agt-type-sub);
    }
    .error.compact.svelte-1j5ud5o { margin-bottom: 0; }
    .floating-error.svelte-1j5ud5o {
        position: fixed;
        z-index: 12000;
        left: 50%;
        bottom: 24px;
        transform: translateX(-50%);
        padding: 12px 16px;
        color: var(--agt-failed);
        background: var(--agt-surface);
        border: 1px solid var(--agt-failed);
        border-radius: var(--agt-radius-card);
        box-shadow: var(--agt-shadow-2);
        font: var(--agt-type-sub);
    }
    @media (max-width: 1080px) {
        .grid.svelte-1j5ud5o { grid-template-columns: repeat(2, minmax(260px, 1fr)); }
        .application-grid.svelte-1j5ud5o { grid-template-columns: minmax(0, 1fr); }
    }
    @media (max-width: 760px) {
        .hub.svelte-1j5ud5o { padding: 24px 20px; }
        .toolbar.svelte-1j5ud5o { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .search.svelte-1j5ud5o { grid-column: 1 / -1; }
        .toolbar.svelte-1j5ud5o select:where(.svelte-1j5ud5o) { min-width: 0; flex: 1; width: 0; }
        .count.svelte-1j5ud5o { justify-self: end; }
    }
    @media (max-width: 640px) {
        .hub.svelte-1j5ud5o { padding: 20px 16px; }
        .hero.svelte-1j5ud5o { align-items: stretch; flex-direction: column; }
        .grid.svelte-1j5ud5o { grid-template-columns: 1fr; }
        .section-heading.svelte-1j5ud5o {
            align-items: flex-start;
            flex-direction: column;
            gap: 4px;
        }
    }


    .admin-page.svelte-ujyjtp {
        width: min(1440px, 100%);
        margin: 0 auto;
        padding: 28px 32px 56px;
        color: var(--agt-ink);
    }
    .page-header.svelte-ujyjtp { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 22px; }
    .page-header.svelte-ujyjtp .back:where(.svelte-ujyjtp) {
        width: 42px; height: 42px; flex: 0 0 auto;
        color: var(--agt-ink-2); background: var(--agt-surface);
        border: 1px solid var(--agt-border); border-radius: var(--agt-radius-control);
    }
    .page-header.svelte-ujyjtp span:where(.svelte-ujyjtp) { color: var(--agt-primary); font: var(--agt-type-overline); letter-spacing: .06em; }
    .page-header.svelte-ujyjtp h1:where(.svelte-ujyjtp) { margin: 3px 0 0; font: var(--agt-type-title); }
    .page-header.svelte-ujyjtp p:where(.svelte-ujyjtp) { margin: 4px 0 0; color: var(--agt-ink-2); font: var(--agt-type-sub); }
    main.svelte-ujyjtp { display: grid; gap: 20px; }
    .access-gate.svelte-ujyjtp { width: min(680px, 100%); margin: 64px auto 0; }
    .toolbar.svelte-ujyjtp {
        display: grid; grid-template-columns: 180px minmax(260px, 1fr) auto auto;
        align-items: end; gap: 12px; padding: 16px;
        background: var(--agt-surface); border: 1px solid var(--agt-border);
        border-radius: var(--agt-radius-card); box-shadow: var(--agt-shadow-1);
    }
    label.svelte-ujyjtp { min-width: 0; display: grid; gap: 6px; }
    label.svelte-ujyjtp > span:where(.svelte-ujyjtp) { color: var(--agt-ink-2); font: var(--agt-type-meta); font-weight: 600; }
    input.svelte-ujyjtp, select.svelte-ujyjtp, textarea.svelte-ujyjtp {
        width: 100%; min-width: 0; padding: 9px 11px; color: var(--agt-ink);
        background: var(--agt-surface-dim); border: 1px solid var(--agt-border);
        border-radius: var(--agt-radius-control); outline: none; font: var(--agt-type-body);
    }
    textarea.svelte-ujyjtp { resize: vertical; line-height: 1.55; }
    input.svelte-ujyjtp:focus, select.svelte-ujyjtp:focus, textarea.svelte-ujyjtp:focus {
        border-color: var(--agt-primary); box-shadow: 0 0 0 2px var(--agt-primary-tint);
    }
    .transport.svelte-ujyjtp {
        min-height: 40px; display: inline-flex; align-items: center; gap: 7px; padding: 0 12px;
        color: var(--agt-ink-2); background: var(--agt-surface-dim);
        border: 1px solid var(--agt-border); border-radius: var(--agt-radius-control);
        font: var(--agt-type-meta); white-space: nowrap;
    }
    .transport.svelte-ujyjtp i:where(.svelte-ujyjtp) { width: 8px; height: 8px; background: var(--agt-failed); border-radius: 50%; }
    .transport.ready.svelte-ujyjtp i:where(.svelte-ujyjtp) { background: var(--agt-succeeded); }
    .request-list.svelte-ujyjtp { display: grid; gap: 18px; }
    .request-card.svelte-ujyjtp {
        padding: 22px; background: var(--agt-surface); border: 1px solid var(--agt-border);
        border-radius: var(--agt-radius-card); box-shadow: var(--agt-shadow-1);
    }
    .request-card.focused.svelte-ujyjtp {
        border-color: var(--agt-primary);
        box-shadow: 0 0 0 3px var(--agt-primary-tint), var(--agt-shadow-2);
    }
    .card-head.svelte-ujyjtp {
        display: flex; justify-content: space-between; gap: 24px;
        padding-bottom: 18px; border-bottom: 1px solid var(--agt-border);
    }
    .eyebrow.svelte-ujyjtp { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 8px; }
    .status.svelte-ujyjtp, .delivery.svelte-ujyjtp {
        display: inline-flex; align-items: center; min-height: 24px; padding: 3px 8px;
        border-radius: 999px; font: var(--agt-type-meta); font-weight: 600;
    }
    .status.svelte-ujyjtp { color: var(--agt-primary); background: var(--agt-primary-tint); }
    .status-completed.svelte-ujyjtp { color: var(--agt-succeeded); background: var(--agt-succeeded-tint); }
    .status-needs_info.svelte-ujyjtp { color: var(--agt-waiting); background: var(--agt-waiting-tint); }
    .status-declined.svelte-ujyjtp { color: var(--agt-ink-2); background: var(--agt-surface-dim); }
    .delivery.svelte-ujyjtp { color: var(--agt-ink-2); background: var(--agt-surface-dim); }
    .delivery-failed.svelte-ujyjtp { color: var(--agt-failed); background: var(--agt-failed-tint); }
    .delivery-sent.svelte-ujyjtp, .delivery-linked.svelte-ujyjtp { color: var(--agt-succeeded); background: var(--agt-succeeded-tint); }
    .card-head.svelte-ujyjtp h2:where(.svelte-ujyjtp) { margin: 0; font: var(--agt-type-section); }
    .card-head.svelte-ujyjtp p:where(.svelte-ujyjtp) { margin: 5px 0 0; color: var(--agt-ink-2); font: var(--agt-type-sub); }
    .dates.svelte-ujyjtp { display: grid; justify-items: end; align-content: start; gap: 3px; color: var(--agt-ink-3); font: var(--agt-type-meta); }
    .dates.svelte-ujyjtp code:where(.svelte-ujyjtp) { max-width: 300px; overflow: hidden; text-overflow: ellipsis; }
    .detail-grid.svelte-ujyjtp {
        display: grid; grid-template-columns: minmax(0, 1fr) 340px;
        gap: 22px; padding: 20px 0;
    }
    h3.svelte-ujyjtp { margin: 0 0 12px; font: var(--agt-type-card); }
    h3.svelte-ujyjtp span:where(.svelte-ujyjtp) { color: var(--agt-ink-3); font: var(--agt-type-meta); }
    .requirements.svelte-ujyjtp > dl:where(.svelte-ujyjtp) {
        display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px; margin: 0;
    }
    .requirements.svelte-ujyjtp > dl:where(.svelte-ujyjtp) > div:where(.svelte-ujyjtp) {
        min-width: 0; padding: 11px 12px; background: var(--agt-surface-dim);
        border-radius: var(--agt-radius-control);
    }
    .requirements.svelte-ujyjtp > dl:where(.svelte-ujyjtp) .wide:where(.svelte-ujyjtp) { grid-column: 1 / -1; }
    dt.svelte-ujyjtp { color: var(--agt-ink-3); font: var(--agt-type-meta); }
    dd.svelte-ujyjtp { margin: 4px 0 0; color: var(--agt-ink); font: var(--agt-type-body); white-space: pre-wrap; overflow-wrap: anywhere; }
    .attachments.svelte-ujyjtp { margin-top: 18px; }
    .attachments.svelte-ujyjtp ul:where(.svelte-ujyjtp) { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
    .attachments.svelte-ujyjtp li:where(.svelte-ujyjtp) {
        display: flex; align-items: center; justify-content: space-between; gap: 12px;
        padding: 10px 12px; background: var(--agt-surface-dim);
        border-radius: var(--agt-radius-control);
    }
    .attachments.svelte-ujyjtp li:where(.svelte-ujyjtp) div:where(.svelte-ujyjtp) { min-width: 0; display: grid; gap: 2px; }
    .attachments.svelte-ujyjtp strong:where(.svelte-ujyjtp) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: var(--agt-type-sub); }
    .attachments.svelte-ujyjtp small:where(.svelte-ujyjtp), .muted.svelte-ujyjtp { color: var(--agt-ink-3); font: var(--agt-type-meta); }
    .operations.svelte-ujyjtp { display: grid; align-content: start; gap: 12px; }
    .operations.svelte-ujyjtp section:where(.svelte-ujyjtp) {
        display: grid; gap: 11px; padding: 16px; background: var(--agt-surface-dim);
        border: 1px solid var(--agt-border); border-radius: var(--agt-radius-card);
    }
    em.svelte-ujyjtp {
        margin-left: 4px; padding: 2px 5px; color: var(--agt-failed);
        background: var(--agt-failed-tint); border-radius: 4px;
        font-style: normal; font-size: 10px;
    }
    .slack.svelte-ujyjtp dl:where(.svelte-ujyjtp) { display: grid; gap: 7px; margin: 0; }
    .slack.svelte-ujyjtp dl:where(.svelte-ujyjtp) div:where(.svelte-ujyjtp) { display: flex; justify-content: space-between; gap: 14px; }
    .slack.svelte-ujyjtp dl:where(.svelte-ujyjtp) dd:where(.svelte-ujyjtp) { margin: 0; text-align: right; font: var(--agt-type-meta); }
    .slack-error.svelte-ujyjtp {
        margin: 0; padding: 9px; color: var(--agt-failed);
        background: var(--agt-failed-tint); border-radius: var(--agt-radius-control);
        font: var(--agt-type-meta); overflow-wrap: anywhere;
    }
    details.svelte-ujyjtp { padding-top: 14px; border-top: 1px solid var(--agt-border); }
    summary.svelte-ujyjtp { color: var(--agt-ink-2); cursor: pointer; font: var(--agt-type-sub); font-weight: 600; }
    details.svelte-ujyjtp ol:where(.svelte-ujyjtp) { display: grid; gap: 9px; margin: 12px 0 0; padding: 0; list-style: none; }
    details.svelte-ujyjtp li:where(.svelte-ujyjtp) { display: grid; grid-template-columns: 140px 1fr; gap: 12px; }
    details.svelte-ujyjtp time:where(.svelte-ujyjtp), details.svelte-ujyjtp small:where(.svelte-ujyjtp) { color: var(--agt-ink-3); font: var(--agt-type-meta); }
    details.svelte-ujyjtp strong:where(.svelte-ujyjtp) { font: var(--agt-type-sub); }
    details.svelte-ujyjtp p:where(.svelte-ujyjtp) { margin: 3px 0; white-space: pre-wrap; font: var(--agt-type-body); }
    .action-message.svelte-ujyjtp { margin: 12px 0 0; padding: 10px 12px; border-radius: var(--agt-radius-control); font: var(--agt-type-sub); }
    .action-message.success.svelte-ujyjtp { color: var(--agt-succeeded); background: var(--agt-succeeded-tint); }
    .action-message.error.svelte-ujyjtp { color: var(--agt-failed); background: var(--agt-failed-tint); }
    .fatal.svelte-ujyjtp, .empty.svelte-ujyjtp {
        padding: 32px; text-align: center; background: var(--agt-surface);
        border: 1px solid var(--agt-border); border-radius: var(--agt-radius-card);
    }
    .fatal.svelte-ujyjtp p:where(.svelte-ujyjtp), .empty.svelte-ujyjtp p:where(.svelte-ujyjtp) { color: var(--agt-ink-2); }
    @media (max-width: 1040px) {
        .toolbar.svelte-ujyjtp { grid-template-columns: 180px 1fr auto; }
        .transport.svelte-ujyjtp { grid-column: 1 / -1; justify-self: start; }
        .detail-grid.svelte-ujyjtp { grid-template-columns: 1fr; }
        .operations.svelte-ujyjtp { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    @media (max-width: 720px) {
        .admin-page.svelte-ujyjtp { padding: 20px 14px 40px; }
        .toolbar.svelte-ujyjtp { grid-template-columns: 1fr; align-items: stretch; }
        .transport.svelte-ujyjtp { grid-column: auto; }
        .card-head.svelte-ujyjtp { display: grid; }
        .dates.svelte-ujyjtp { justify-items: start; }
        .requirements.svelte-ujyjtp > dl:where(.svelte-ujyjtp) { grid-template-columns: 1fr; }
        .requirements.svelte-ujyjtp > dl:where(.svelte-ujyjtp) .wide:where(.svelte-ujyjtp) { grid-column: auto; }
        .operations.svelte-ujyjtp { grid-template-columns: 1fr; }
        details.svelte-ujyjtp li:where(.svelte-ujyjtp) { grid-template-columns: 1fr; gap: 3px; }
    }


    .build-page.svelte-irop8r {
        width: min(1080px, 100%);
        margin: 0 auto;
        padding: 28px 32px 48px;
        color: var(--agt-ink);
    }
    .page-header.svelte-irop8r {
        display: flex;
        align-items: center;
        gap: 14px;
        margin-bottom: 24px;
    }
    .back.svelte-irop8r,
    .header-icon.svelte-irop8r {
        width: 42px;
        height: 42px;
        flex: 0 0 auto;
        display: grid;
        place-items: center;
        border-radius: var(--agt-radius-control);
    }
    .back.svelte-irop8r {
        color: var(--agt-ink-2);
        border: 1px solid var(--agt-border);
        background: var(--agt-surface);
    }
    .back.svelte-irop8r:hover { color: var(--agt-primary); border-color: var(--agt-primary); }
    .back.svelte-irop8r:focus-visible { outline: 2px solid var(--agt-primary); outline-offset: 2px; }
    .back.svelte-irop8r svg:where(.svelte-irop8r) { width: 20px; stroke: currentColor; stroke-width: 1.8; }
    .header-icon.svelte-irop8r { color: var(--agt-primary); background: var(--agt-primary-tint); }
    .header-icon.svelte-irop8r svg:where(.svelte-irop8r) { width: 24px; stroke: currentColor; stroke-width: 1.6; }
    .page-header.svelte-irop8r h1:where(.svelte-irop8r) { margin: 0; font: var(--agt-type-title); }
    .page-header.svelte-irop8r p:where(.svelte-irop8r) { margin: 2px 0 0; color: var(--agt-ink-2); font: var(--agt-type-sub); }
    main.svelte-irop8r { display: grid; gap: 32px; }
    .request-form-card.svelte-irop8r,
    .request-card.svelte-irop8r {
        background: var(--agt-surface);
        border: 1px solid var(--agt-border);
        border-radius: var(--agt-radius-card);
        box-shadow: var(--agt-shadow-1);
    }
    .request-form-card.svelte-irop8r { padding: 24px; }
    .section-heading.svelte-irop8r,
    .requests-heading.svelte-irop8r {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 20px;
    }
    .overline.svelte-irop8r {
        display: block;
        margin-bottom: 4px;
        color: var(--agt-primary);
        font: var(--agt-type-overline);
        letter-spacing: .06em;
    }
    h2.svelte-irop8r { margin: 0; font: var(--agt-type-section); }
    .intro.svelte-irop8r {
        margin: 10px 0 20px;
        max-width: 760px;
        color: var(--agt-ink-2);
        font: var(--agt-type-sub);
    }
    .flow.svelte-irop8r {
        display: flex;
        align-items: center;
        gap: 8px;
        margin: 0;
        padding: 0;
        list-style: none;
        color: var(--agt-ink-3);
        font: var(--agt-type-meta);
    }
    .flow.svelte-irop8r li:where(.svelte-irop8r) { display: flex; align-items: center; gap: 5px; white-space: nowrap; }
    .flow.svelte-irop8r li:where(.svelte-irop8r):not(:last-child)::after { content: '—'; margin-left: 3px; color: var(--agt-border-strong); }
    .flow.svelte-irop8r span:where(.svelte-irop8r) {
        width: 20px;
        height: 20px;
        display: grid;
        place-items: center;
        color: var(--agt-primary);
        background: var(--agt-primary-tint);
        border-radius: 50%;
        font: var(--agt-type-meta);
    }
    .fields.svelte-irop8r {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }
    .fields.svelte-irop8r label:where(.svelte-irop8r) { min-width: 0; display: grid; gap: 7px; }
    .fields.svelte-irop8r .wide:where(.svelte-irop8r) { grid-column: 1 / -1; }
    .fields.svelte-irop8r label:where(.svelte-irop8r) > span:where(.svelte-irop8r),
    .message-action.svelte-irop8r label:where(.svelte-irop8r) {
        color: var(--agt-ink-2);
        font: var(--agt-type-meta);
        font-weight: 600;
    }
    em.svelte-irop8r {
        margin-left: 4px;
        padding: 2px 5px;
        color: var(--agt-failed);
        background: var(--agt-failed-tint);
        border-radius: 4px;
        font-style: normal;
        font-size: 10px;
    }
    input.svelte-irop8r,
    textarea.svelte-irop8r {
        width: 100%;
        min-width: 0;
        padding: 10px 12px;
        color: var(--agt-ink);
        background: var(--agt-surface-dim);
        border: 1px solid var(--agt-border);
        border-radius: var(--agt-radius-control);
        outline: none;
        font: var(--agt-type-body);
        line-height: 1.55;
    }
    textarea.svelte-irop8r { resize: vertical; }
    input.svelte-irop8r:focus,
    textarea.svelte-irop8r:focus { border-color: var(--agt-primary); box-shadow: 0 0 0 2px var(--agt-primary-tint); }
    input.svelte-irop8r::placeholder,
    textarea.svelte-irop8r::placeholder { color: var(--agt-ink-3); }
    .drop-zone.svelte-irop8r {
        position: relative;
        margin-top: 18px;
        border: 1px dashed var(--agt-border-strong);
        border-radius: var(--agt-radius-card);
        background: var(--agt-surface-dim);
    }
    .drop-zone.svelte-irop8r:hover { border-color: var(--agt-primary); background: var(--agt-primary-tint); }
    .drop-zone.svelte-irop8r input:where(.svelte-irop8r) { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
    .drop-zone.svelte-irop8r label:where(.svelte-irop8r) {
        min-height: 134px;
        display: grid;
        place-items: center;
        align-content: center;
        gap: 3px;
        padding: 20px;
        cursor: pointer;
        text-align: center;
    }
    .drop-zone.svelte-irop8r svg:where(.svelte-irop8r) { width: 28px; margin-bottom: 3px; stroke: var(--agt-primary); stroke-width: 1.5; }
    .drop-zone.svelte-irop8r strong:where(.svelte-irop8r) { font: var(--agt-type-card); }
    .drop-zone.svelte-irop8r span:where(.svelte-irop8r) { color: var(--agt-ink-2); font: var(--agt-type-sub); }
    .drop-zone.svelte-irop8r small:where(.svelte-irop8r) { color: var(--agt-ink-3); font: var(--agt-type-meta); }
    .selected-files.svelte-irop8r,
    .attachments.svelte-irop8r ul:where(.svelte-irop8r),
    .file-drafts.svelte-irop8r {
        display: grid;
        gap: 6px;
        margin: 10px 0 0;
        padding: 0;
        list-style: none;
    }
    .selected-files.svelte-irop8r li:where(.svelte-irop8r),
    .attachments.svelte-irop8r li:where(.svelte-irop8r),
    .file-drafts.svelte-irop8r li:where(.svelte-irop8r) {
        min-width: 0;
        display: flex;
        align-items: center;
        gap: 9px;
        padding: 8px 10px;
        background: var(--agt-surface-dim);
        border: 1px solid var(--agt-border);
        border-radius: 8px;
        font: var(--agt-type-sub);
    }
    .file-icon.svelte-irop8r { color: var(--agt-primary); }
    .file-name.svelte-irop8r,
    .attachments.svelte-irop8r li:where(.svelte-irop8r) > span:where(.svelte-irop8r),
    .file-drafts.svelte-irop8r li:where(.svelte-irop8r) > span:where(.svelte-irop8r) {
        min-width: 0;
        flex: 1;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .selected-files.svelte-irop8r small:where(.svelte-irop8r),
    .attachments.svelte-irop8r small:where(.svelte-irop8r),
    .file-drafts.svelte-irop8r small:where(.svelte-irop8r) { color: var(--agt-ink-3); font: var(--agt-type-meta); white-space: nowrap; }
    .selected-files.svelte-irop8r button:where(.svelte-irop8r),
    .file-drafts.svelte-irop8r button:where(.svelte-irop8r) {
        width: 26px;
        height: 26px;
        color: var(--agt-ink-3);
        border-radius: 50%;
    }
    .selected-files.svelte-irop8r button:where(.svelte-irop8r):hover,
    .file-drafts.svelte-irop8r button:where(.svelte-irop8r):hover { color: var(--agt-failed); background: var(--agt-failed-tint); }
    .submit-row.svelte-irop8r {
        display: flex;
        align-items: center;
        gap: 14px;
        margin-top: 18px;
    }
    .submit-row.svelte-irop8r > span:where(.svelte-irop8r) { color: var(--agt-ink-3); font: var(--agt-type-meta); }
    .message.svelte-irop8r { margin: 10px 0 0; font: var(--agt-type-sub); }
    .message.error.svelte-irop8r { color: var(--agt-failed); }
    .message.success.svelte-irop8r { color: var(--agt-succeeded); }
    .requests-section.svelte-irop8r { min-width: 0; }
    .requests-heading.svelte-irop8r { align-items: center; margin-bottom: 12px; }
    .request-list.svelte-irop8r { display: grid; gap: 14px; }
    .request-card.svelte-irop8r { padding: 20px; }
    .request-top.svelte-irop8r {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 14px;
    }
    .request-top.svelte-irop8r > div:where(.svelte-irop8r) { min-width: 0; }
    .request-top.svelte-irop8r h3:where(.svelte-irop8r) {
        margin: 0;
        overflow-wrap: anywhere;
        font: var(--agt-type-card);
    }
    .request-top.svelte-irop8r small:where(.svelte-irop8r) { color: var(--agt-ink-3); font: var(--agt-type-meta); }
    .status.svelte-irop8r {
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 5px 9px;
        color: var(--agt-primary);
        background: var(--agt-primary-tint);
        border: 1px solid color-mix(in srgb, var(--agt-primary) 28%, transparent);
        border-radius: 999px;
        font: var(--agt-type-meta);
        font-weight: 600;
    }
    .status.svelte-irop8r i:where(.svelte-irop8r) { width: 14px; height: 14px; display: grid; place-items: center; font-style: normal; }
    .status.success.svelte-irop8r { color: var(--agt-succeeded); background: var(--agt-succeeded-tint); border-color: var(--agt-succeeded); }
    .status.question.svelte-irop8r { color: var(--agt-waiting); background: var(--agt-waiting-tint); border-color: var(--agt-waiting); }
    .status.muted.svelte-irop8r { color: var(--agt-ink-3); background: var(--agt-surface-dim); border-color: var(--agt-border); }
    .spin.svelte-irop8r { animation: svelte-irop8r-rotate 1.4s linear infinite; }
    @keyframes svelte-irop8r-rotate { to { transform: rotate(360deg); } }
    .purpose.svelte-irop8r { margin: 12px 0 0; color: var(--agt-ink-2); font: var(--agt-type-body); white-space: pre-wrap; }
    .notice.svelte-irop8r {
        margin-top: 14px;
        padding: 12px 14px;
        border-radius: var(--agt-radius-control);
        font: var(--agt-type-sub);
    }
    .notice.svelte-irop8r strong:where(.svelte-irop8r) { display: block; margin-bottom: 3px; }
    .notice.svelte-irop8r p:where(.svelte-irop8r) { margin: 0; white-space: pre-wrap; }
    .question-notice.svelte-irop8r { color: var(--agt-waiting); background: var(--agt-waiting-tint); }
    .completed-notice.svelte-irop8r { color: var(--agt-succeeded); background: var(--agt-succeeded-tint); }
    .declined-notice.svelte-irop8r { color: var(--agt-ink-2); background: var(--agt-surface-dim); }
    details.svelte-irop8r { margin-top: 14px; border-top: 1px solid var(--agt-border); }
    summary.svelte-irop8r {
        padding: 12px 0 0;
        color: var(--agt-ink-2);
        cursor: pointer;
        font: var(--agt-type-meta);
        font-weight: 600;
    }
    dl.svelte-irop8r {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px 20px;
        margin: 12px 0 0;
        padding: 14px;
        background: var(--agt-surface-dim);
        border-radius: var(--agt-radius-control);
    }
    dt.svelte-irop8r { color: var(--agt-ink-3); font: var(--agt-type-meta); }
    dd.svelte-irop8r { margin: 3px 0 0; color: var(--agt-ink-2); font: var(--agt-type-sub); white-space: pre-wrap; overflow-wrap: anywhere; }
    .attachments.svelte-irop8r,
    .add-files.svelte-irop8r,
    .message-action.svelte-irop8r,
    .timeline.svelte-irop8r {
        margin-top: 14px;
        padding-top: 14px;
        border-top: 1px solid var(--agt-border);
    }
    .attachments.svelte-irop8r > strong:where(.svelte-irop8r) { color: var(--agt-ink-2); font: var(--agt-type-meta); }
    .attachments.svelte-irop8r button:where(.svelte-irop8r) {
        color: var(--agt-primary);
        font: var(--agt-type-meta);
        font-weight: 600;
    }
    .attachments.svelte-irop8r button:where(.svelte-irop8r):hover { text-decoration: underline; }
    .add-files.svelte-irop8r > label:where(.svelte-irop8r) {
        display: inline-flex;
        align-items: center;
        color: var(--agt-primary);
        cursor: pointer;
        font: var(--agt-type-meta);
        font-weight: 600;
    }
    .add-files.svelte-irop8r > label:where(.svelte-irop8r) input:where(.svelte-irop8r) { position: absolute; width: 1px; height: 1px; opacity: 0; }
    .add-files.svelte-irop8r .agent-button { margin-top: 8px; }
    .timeline.svelte-irop8r { margin-bottom: 0; padding-left: 0; list-style: none; }
    .timeline.svelte-irop8r li:where(.svelte-irop8r) { display: flex; gap: 10px; }
    .timeline.svelte-irop8r li:where(.svelte-irop8r) + li:where(.svelte-irop8r) { margin-top: 9px; }
    .timeline.svelte-irop8r li:where(.svelte-irop8r) > span:where(.svelte-irop8r) { width: 7px; height: 7px; flex: 0 0 auto; margin-top: 6px; background: var(--agt-border-strong); border-radius: 50%; }
    .timeline.svelte-irop8r small:where(.svelte-irop8r) { color: var(--agt-ink-3); font: var(--agt-type-meta); }
    .timeline.svelte-irop8r p:where(.svelte-irop8r) { margin: 1px 0 0; color: var(--agt-ink-2); font: var(--agt-type-sub); white-space: pre-wrap; }
    .message-action.svelte-irop8r {
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: end;
        gap: 8px;
    }
    .message-action.svelte-irop8r label:where(.svelte-irop8r) { grid-column: 1 / -1; }
    .message-action.svelte-irop8r textarea:where(.svelte-irop8r) { min-height: 66px; }
    .empty.svelte-irop8r,
    .load-error.svelte-irop8r {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        min-height: 180px;
        padding: 28px;
        background: var(--agt-surface);
        border: 1px dashed var(--agt-border-strong);
        border-radius: var(--agt-radius-card);
        text-align: center;
    }
    .empty.svelte-irop8r { flex-direction: column; }
    .empty.svelte-irop8r > span:where(.svelte-irop8r) { width: 38px; height: 38px; display: grid; place-items: center; color: var(--agt-primary); background: var(--agt-primary-tint); border-radius: 50%; font-size: 24px; }
    .empty.svelte-irop8r strong:where(.svelte-irop8r) { font: var(--agt-type-card); }
    .empty.svelte-irop8r p:where(.svelte-irop8r) { max-width: 480px; margin: 0; color: var(--agt-ink-3); font: var(--agt-type-sub); }
    .load-error.svelte-irop8r { color: var(--agt-failed); }
    @media (prefers-reduced-motion: reduce) {
        .spin.svelte-irop8r { animation: none; }
    }
    @media (max-width: 760px) {
        .build-page.svelte-irop8r { padding: 22px 20px 40px; }
        .section-heading.svelte-irop8r { flex-direction: column; }
        .fields.svelte-irop8r { grid-template-columns: 1fr; }
        .fields.svelte-irop8r .wide:where(.svelte-irop8r) { grid-column: auto; }
        .flow.svelte-irop8r { width: 100%; justify-content: flex-start; overflow-x: auto; }
        dl.svelte-irop8r { grid-template-columns: 1fr; }
    }
    @media (max-width: 520px) {
        .build-page.svelte-irop8r { padding: 18px 14px 32px; }
        .page-header.svelte-irop8r { align-items: flex-start; }
        .header-icon.svelte-irop8r { display: none; }
        .request-form-card.svelte-irop8r,
        .request-card.svelte-irop8r { padding: 16px; }
        .section-heading.svelte-irop8r,
        .requests-heading.svelte-irop8r,
        .request-top.svelte-irop8r,
        .submit-row.svelte-irop8r { align-items: stretch; flex-direction: column; }
        .request-top.svelte-irop8r .status:where(.svelte-irop8r) { align-self: flex-start; }
        .message-action.svelte-irop8r { grid-template-columns: 1fr; }
        .message-action.svelte-irop8r label:where(.svelte-irop8r) { grid-column: auto; }
        .attachments.svelte-irop8r li:where(.svelte-irop8r) { align-items: flex-start; flex-wrap: wrap; }
        .attachments.svelte-irop8r li:where(.svelte-irop8r) > span:where(.svelte-irop8r) { flex-basis: calc(100% - 80px); }
    }


    .choices.svelte-11ivoif { display: grid; gap: 12px; }
    label.svelte-11ivoif {
        min-height: 86px;
        display: flex;
        align-items: flex-start;
        gap: 12px;
        padding: 16px;
        color: var(--agt-ink);
        border: 1px solid var(--agt-border);
        border-radius: var(--agt-radius-control);
        cursor: pointer;
    }
    label.selected.svelte-11ivoif { border-color: var(--agt-primary); background: var(--agt-primary-tint); }
    label.svelte-11ivoif:focus-within { outline: 2px solid var(--agt-primary); outline-offset: 2px; }
    input.svelte-11ivoif { position: absolute; opacity: 0; pointer-events: none; }
    .radio.svelte-11ivoif {
        width: 18px;
        height: 18px;
        flex: 0 0 auto;
        display: grid;
        place-items: center;
        margin-top: 2px;
        border: 1px solid var(--agt-border-strong);
        border-radius: 50%;
    }
    label.selected.svelte-11ivoif .radio:where(.svelte-11ivoif) { border: 5px solid var(--agt-primary); background: var(--agt-surface); }
    label.svelte-11ivoif > span:where(.svelte-11ivoif):last-child { display: grid; gap: 3px; }
    strong.svelte-11ivoif { font: var(--agt-type-card); }
    small.svelte-11ivoif { color: var(--agt-ink-2); font: var(--agt-type-sub); }
    .audit.svelte-11ivoif,
    .warning.svelte-11ivoif { margin: 4px 0 0; color: var(--agt-ink-3); font: var(--agt-type-meta); }
    .warning.svelte-11ivoif {
        padding: 10px 12px;
        color: var(--agt-waiting);
        background: var(--agt-waiting-tint);
        border-radius: var(--agt-radius-control);
    }


    .pill.svelte-1ynusw2 {
        height: 24px;
        display: inline-flex;
        align-items: center;
        gap: 5px;
        padding: 2px 9px;
        border-radius: var(--agt-radius-pill);
        font: var(--agt-type-meta);
        white-space: nowrap;
        color: var(--agt-queued);
        background: var(--agt-queued-tint);
    }
    .status-running.svelte-1ynusw2 { color: var(--agt-running); background: var(--agt-running-tint); }
    .status-waiting.svelte-1ynusw2,
    .status-retry.svelte-1ynusw2 { color: var(--agt-waiting); background: var(--agt-waiting-tint); }
    .status-succeeded.svelte-1ynusw2 { color: var(--agt-succeeded); background: var(--agt-succeeded-tint); }
    .status-failed.svelte-1ynusw2 { color: var(--agt-failed); background: var(--agt-failed-tint); }
    @keyframes svelte-1ynusw2-spin { to { transform: rotate(360deg); } }
    .spin.svelte-1ynusw2 { animation: svelte-1ynusw2-spin 1s linear infinite; }
    @media (prefers-reduced-motion: reduce) {
        .spin.svelte-1ynusw2 { animation: none; }
    }


    .detail-page.svelte-1yqu2bz { width: min(1280px, 100%); margin: 0 auto; padding: 28px 32px 96px; color: var(--agt-ink); }
    .back.svelte-1yqu2bz { min-height: 40px; margin-bottom: 8px; color: var(--agt-ink-2); font: var(--agt-type-sub); }
    .back.svelte-1yqu2bz:hover { color: var(--agt-primary); }
    .detail-header.svelte-1yqu2bz { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-bottom: 22px; }
    .identity.svelte-1yqu2bz,
    .name-row.svelte-1yqu2bz,
    .actions.svelte-1yqu2bz { display: flex; align-items: center; gap: 12px; }
    .identity.svelte-1yqu2bz > div:where(.svelte-1yqu2bz):last-child { min-width: 0; }
    h1.svelte-1yqu2bz { margin: 0; font: var(--agt-type-title); }
    .identity.svelte-1yqu2bz p:where(.svelte-1yqu2bz) { margin: 3px 0 0; color: var(--agt-ink-3); font: var(--agt-type-meta); }
    .tabs.svelte-1yqu2bz { display: flex; gap: 24px; border-bottom: 1px solid var(--agt-border); }
    .tabs.svelte-1yqu2bz button:where(.svelte-1yqu2bz) { position: relative; min-height: 44px; color: var(--agt-ink-2); font: var(--agt-type-sub); font-weight: 600; }
    .tabs.svelte-1yqu2bz button:where(.svelte-1yqu2bz)::after { content: ''; position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; transform: scaleX(0); background: var(--agt-primary); transition: transform var(--agt-dur-standard) ease-out; }
    .tabs.svelte-1yqu2bz button.active:where(.svelte-1yqu2bz) { color: var(--agt-primary); }
    .tabs.svelte-1yqu2bz button.active:where(.svelte-1yqu2bz)::after { transform: scaleX(1); }
    .tabs.svelte-1yqu2bz button:where(.svelte-1yqu2bz):focus-visible,
    button.svelte-1yqu2bz:focus-visible,
    input.svelte-1yqu2bz:focus-visible,
    textarea.svelte-1yqu2bz:focus-visible { outline: 2px solid var(--agt-primary); outline-offset: 2px; }
    .inline-error.svelte-1yqu2bz { display: flex; justify-content: space-between; gap: 12px; margin-top: 16px; padding: 12px 14px; color: var(--agt-failed); background: var(--agt-failed-tint); border-radius: var(--agt-radius-control); font: var(--agt-type-sub); }
    .inline-error.svelte-1yqu2bz button:where(.svelte-1yqu2bz) { width: 28px; }
    .settings-layout.svelte-1yqu2bz { display: grid; grid-template-columns: minmax(0, 1fr) 380px; align-items: start; gap: 20px; padding-top: 22px; }
    .settings.svelte-1yqu2bz,
    .test.svelte-1yqu2bz,
    .table-card.svelte-1yqu2bz,
    .trend.svelte-1yqu2bz {
        background: var(--agt-surface);
        border: 1px solid var(--agt-border);
        border-radius: var(--agt-radius-card);
    }
    .settings.svelte-1yqu2bz { padding: 24px 28px; }
    .readonly.svelte-1yqu2bz { margin-bottom: 18px; padding: 12px 14px; color: var(--agt-primary); background: var(--agt-primary-tint); border-radius: var(--agt-radius-control); font: var(--agt-type-sub); }
    fieldset.svelte-1yqu2bz { display: grid; gap: 15px; margin: 0; padding: 20px 0; border-top: 1px solid var(--agt-border); }
    fieldset.svelte-1yqu2bz:first-of-type { border-top: 0; }
    fieldset.svelte-1yqu2bz:disabled { opacity: .72; }
    legend.svelte-1yqu2bz { margin-bottom: 8px; font: var(--agt-type-section); }
    label.svelte-1yqu2bz { display: grid; gap: 6px; }
    label.svelte-1yqu2bz > span:where(.svelte-1yqu2bz) { font: var(--agt-type-sub); font-weight: 600; }
    label.svelte-1yqu2bz em:where(.svelte-1yqu2bz) { margin-left: 6px; color: var(--agt-failed); font: var(--agt-type-meta); font-style: normal; }
    label.svelte-1yqu2bz small:where(.svelte-1yqu2bz) { color: var(--agt-ink-3); font: var(--agt-type-meta); }
    input.svelte-1yqu2bz,
    textarea.svelte-1yqu2bz {
        width: 100%;
        padding: 9px 11px;
        color: var(--agt-ink);
        background: var(--agt-surface-dim);
        border: 1px solid var(--agt-border);
        border-radius: var(--agt-radius-control);
        font: var(--agt-type-body);
    }
    textarea.svelte-1yqu2bz { min-height: 92px; resize: vertical; }
    .knowledge.svelte-1yqu2bz { min-height: 44px; color: var(--agt-primary); border: 1px dashed var(--agt-primary); border-radius: var(--agt-radius-control); font: var(--agt-type-sub); font-weight: 600; }
    .docs.svelte-1yqu2bz { display: flex; flex-wrap: wrap; gap: 7px; }
    .docs.svelte-1yqu2bz > span:where(.svelte-1yqu2bz) { max-width: 100%; display: flex; gap: 7px; padding: 5px 8px; color: var(--agt-ink-2); background: var(--agt-surface-dim); border-radius: var(--agt-radius-pill); font: var(--agt-type-meta); }
    .models.svelte-1yqu2bz { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    .models.svelte-1yqu2bz label:where(.svelte-1yqu2bz) { display: flex; align-items: flex-start; gap: 9px; padding: 12px; border: 1px solid var(--agt-border); border-radius: var(--agt-radius-control); }
    .models.svelte-1yqu2bz label.selected:where(.svelte-1yqu2bz) { border-color: var(--agt-primary); background: var(--agt-primary-tint); }
    .models.svelte-1yqu2bz input:where(.svelte-1yqu2bz) { width: 16px; margin-top: 2px; accent-color: var(--agt-primary); }
    .models.svelte-1yqu2bz label:where(.svelte-1yqu2bz) span:where(.svelte-1yqu2bz) { display: grid; }
    .models.svelte-1yqu2bz strong:where(.svelte-1yqu2bz) { font: var(--agt-type-card); }
    .test.svelte-1yqu2bz { position: sticky; top: 22px; padding: 22px; }
    .ai-label.svelte-1yqu2bz { color: var(--agt-ai); font: var(--agt-type-overline); letter-spacing: .06em; }
    .test.svelte-1yqu2bz h2:where(.svelte-1yqu2bz) { margin: 4px 0 0; font: var(--agt-type-section); }
    .test.svelte-1yqu2bz > p:where(.svelte-1yqu2bz) { margin: 2px 0 14px; color: var(--agt-ink-3); font: var(--agt-type-meta); }
    .test.svelte-1yqu2bz textarea:where(.svelte-1yqu2bz) { margin-bottom: 10px; }
    .response.svelte-1yqu2bz { min-height: 130px; margin-top: 14px; padding: 12px; color: var(--agt-ink-2); background: var(--agt-surface-dim); border-radius: var(--agt-radius-control); font: var(--agt-type-sub); }
    .save-bar.svelte-1yqu2bz { position: fixed; z-index: 8000; right: 32px; bottom: 24px; display: flex; align-items: center; gap: 10px; padding: 10px 12px 10px 16px; color: var(--agt-ink); background: var(--agt-glass-bg); border: 1px solid var(--agt-border); border-radius: var(--agt-radius-card); box-shadow: var(--agt-shadow-2); backdrop-filter: blur(20px); font: var(--agt-type-sub); animation: svelte-1yqu2bz-save-in var(--agt-dur-exit) ease-out; }
    @keyframes svelte-1yqu2bz-save-in { from { opacity: 0; transform: translateY(10px); } }
    .table-card.svelte-1yqu2bz { margin-top: 22px; overflow: hidden; }
    table.svelte-1yqu2bz { width: 100%; border-collapse: collapse; font: var(--agt-type-sub); }
    th.svelte-1yqu2bz { padding: 11px 14px; color: var(--agt-ink-3); background: var(--agt-surface-dim); text-align: left; font: var(--agt-type-meta); font-weight: 600; }
    td.svelte-1yqu2bz { padding: 13px 14px; color: var(--agt-ink-2); border-top: 1px solid var(--agt-border); }
    tbody.svelte-1yqu2bz tr:where(.svelte-1yqu2bz) { cursor: pointer; }
    tbody.svelte-1yqu2bz tr:where(.svelte-1yqu2bz):hover { background: var(--agt-primary-tint); }
    tbody.svelte-1yqu2bz tr:where(.svelte-1yqu2bz):focus-visible { outline: 2px solid var(--agt-primary); outline-offset: -2px; }
    .table-loading.svelte-1yqu2bz,
    .empty-history.svelte-1yqu2bz { padding: 48px 24px; text-align: center; color: var(--agt-ink-2); font: var(--agt-type-sub); }
    .empty-history.svelte-1yqu2bz h2:where(.svelte-1yqu2bz) { margin: 0; color: var(--agt-ink); font: var(--agt-type-section); }
    .empty-history.svelte-1yqu2bz p:where(.svelte-1yqu2bz) { margin: 4px 0 16px; }
    .stats-section.svelte-1yqu2bz { padding-top: 22px; }
    .stats-grid.svelte-1yqu2bz { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
    .stats-grid.svelte-1yqu2bz article:where(.svelte-1yqu2bz) { min-height: 132px; display: grid; align-content: center; gap: 2px; padding: 20px; background: var(--agt-surface); border: 1px solid var(--agt-border); border-radius: var(--agt-radius-card); }
    .stats-grid.svelte-1yqu2bz article:where(.svelte-1yqu2bz) span:where(.svelte-1yqu2bz),
    .stats-grid.svelte-1yqu2bz article:where(.svelte-1yqu2bz) small:where(.svelte-1yqu2bz) { color: var(--agt-ink-3); font: var(--agt-type-meta); }
    .stats-grid.svelte-1yqu2bz article:where(.svelte-1yqu2bz) strong:where(.svelte-1yqu2bz) { color: var(--agt-ink); font: var(--agt-type-title); }
    .trend.svelte-1yqu2bz { margin-top: 16px; padding: 20px; }
    .trend.svelte-1yqu2bz > div:where(.svelte-1yqu2bz):first-child { display: flex; justify-content: space-between; }
    .trend.svelte-1yqu2bz h2:where(.svelte-1yqu2bz) { margin: 0; font: var(--agt-type-section); }
    .trend.svelte-1yqu2bz > div:where(.svelte-1yqu2bz):first-child span:where(.svelte-1yqu2bz) { color: var(--agt-ink-3); font: var(--agt-type-meta); }
    .bars.svelte-1yqu2bz { height: 180px; display: flex; align-items: end; gap: 6px; margin-top: 18px; padding-top: 12px; border-bottom: 1px solid var(--agt-border); }
    .bars.svelte-1yqu2bz span:where(.svelte-1yqu2bz) { min-width: 8px; flex: 1; max-width: 28px; background: var(--agt-primary); border-radius: 4px 4px 0 0; }
    .loading-page.svelte-1yqu2bz { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; padding: 32px; }
    .fatal.svelte-1yqu2bz { width: min(560px, calc(100% - 32px)); margin: 80px auto; padding: 28px; color: var(--agt-ink); background: var(--agt-surface); border: 1px solid var(--agt-border); border-radius: var(--agt-radius-card); }
    .fatal.svelte-1yqu2bz h1:where(.svelte-1yqu2bz) { font: var(--agt-type-section); }
    .fatal.svelte-1yqu2bz p:where(.svelte-1yqu2bz) { color: var(--agt-ink-2); font: var(--agt-type-sub); }
    @media (max-width: 1040px) {
        .detail-header.svelte-1yqu2bz { align-items: flex-start; flex-direction: column; }
        .settings-layout.svelte-1yqu2bz { grid-template-columns: 1fr; }
        .test.svelte-1yqu2bz { position: static; }
        .stats-grid.svelte-1yqu2bz { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 720px) {
        .detail-page.svelte-1yqu2bz { padding: 20px 16px 96px; }
        .actions.svelte-1yqu2bz { flex-wrap: wrap; }
        .tabs.svelte-1yqu2bz { gap: 18px; }
        .models.svelte-1yqu2bz { grid-template-columns: 1fr; }
        .table-card.svelte-1yqu2bz { overflow-x: auto; }
        table.svelte-1yqu2bz { min-width: 780px; }
    }
    @media (max-width: 520px) {
        .name-row.svelte-1yqu2bz { align-items: flex-start; flex-direction: column; gap: 4px; }
        .stats-grid.svelte-1yqu2bz { grid-template-columns: 1fr; }
        .save-bar.svelte-1yqu2bz { right: 12px; bottom: 12px; left: 12px; flex-wrap: wrap; }
    }


    dl.svelte-11ezrr4 { display: grid; gap: 0; margin: 0; }
    dl.svelte-11ezrr4 div:where(.svelte-11ezrr4) {
        display: grid;
        grid-template-columns: 116px 1fr;
        gap: 16px;
        padding: 14px 0;
        border-top: 1px solid var(--agt-border);
    }
    dl.svelte-11ezrr4 div:where(.svelte-11ezrr4):first-child { border-top: 0; padding-top: 0; }
    dt.svelte-11ezrr4 { color: var(--agt-ink-3); font: var(--agt-type-meta); font-weight: 600; }
    dd.svelte-11ezrr4 { margin: 0; color: var(--agt-ink); font: var(--agt-type-body); white-space: pre-wrap; }
    .source.svelte-11ezrr4 dd:where(.svelte-11ezrr4) { color: var(--agt-ai); }
    .source.svelte-11ezrr4 dd:where(.svelte-11ezrr4) span:where(.svelte-11ezrr4) { margin-right: 5px; }
    aside.svelte-11ezrr4 {
        margin-top: 16px;
        padding: 11px 12px;
        color: var(--agt-ai);
        background: var(--agt-ai-tint);
        border-radius: var(--agt-radius-control);
        font: var(--agt-type-meta);
    }
    @media (max-width: 620px) {
        dl.svelte-11ezrr4 div:where(.svelte-11ezrr4) { grid-template-columns: 1fr; gap: 4px; }
    }


    section.svelte-1mttxfb { padding-top: 18px; border-top: 1px solid var(--agt-border); }
    h3.svelte-1mttxfb { margin: 0 0 10px; font: var(--agt-type-card); }
    .choices.svelte-1mttxfb { display: flex; flex-wrap: wrap; gap: 8px; }
    .choices.svelte-1mttxfb button:where(.svelte-1mttxfb) {
        min-height: 40px;
        padding: 8px 14px;
        color: var(--agt-ink);
        border: 1px solid var(--agt-border-strong);
        border-radius: var(--agt-radius-control);
        font: var(--agt-type-sub);
        font-weight: 600;
    }
    .choices.svelte-1mttxfb button:where(.svelte-1mttxfb):hover { background: var(--agt-surface-dim); }
    .choices.svelte-1mttxfb button.selected:where(.svelte-1mttxfb) {
        color: var(--agt-cta-ink);
        background: var(--agt-cta-bg);
        border-color: var(--agt-cta-bg);
    }
    button.svelte-1mttxfb:focus-visible,
    textarea.svelte-1mttxfb:focus-visible { outline: 2px solid var(--agt-primary); outline-offset: 2px; }
    button.svelte-1mttxfb:disabled { opacity: .55; cursor: wait; }
    label.svelte-1mttxfb { display: grid; gap: 5px; margin-top: 12px; }
    label.svelte-1mttxfb span:where(.svelte-1mttxfb) { color: var(--agt-ink-3); font: var(--agt-type-meta); }
    textarea.svelte-1mttxfb {
        width: 100%;
        min-height: 66px;
        padding: 8px 10px;
        color: var(--agt-ink);
        background: var(--agt-surface-dim);
        border: 1px solid var(--agt-border);
        border-radius: var(--agt-radius-control);
        font: var(--agt-type-sub);
        resize: vertical;
    }
    textarea.svelte-1mttxfb::placeholder { color: var(--agt-ink-3); }
    .history.svelte-1mttxfb { display: grid; gap: 6px; margin-top: 14px; }
    .history.svelte-1mttxfb strong:where(.svelte-1mttxfb) { color: var(--agt-ink-3); font: var(--agt-type-meta); }
    .history.svelte-1mttxfb p:where(.svelte-1mttxfb) {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 4px 8px;
        margin: 0;
        color: var(--agt-ink-2);
        font: var(--agt-type-meta);
    }
    .history.svelte-1mttxfb p:where(.svelte-1mttxfb) > span:where(.svelte-1mttxfb) { color: var(--agt-ink-3); }
    .history.svelte-1mttxfb small:where(.svelte-1mttxfb) { grid-column: 2; color: var(--agt-ink-3); font: inherit; }


    .chip.svelte-h01kem {
        height: 24px;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 2px 9px 2px 7px;
        border-radius: var(--agt-radius-pill);
        font: var(--agt-type-meta);
        font-weight: 600;
        color: var(--agt-question);
        background: var(--agt-question-tint);
        white-space: nowrap;
    }
    .bar.svelte-h01kem {
        width: 3px;
        height: 12px;
        border-radius: 2px;
        background: currentColor;
    }
    .severity-critical.svelte-h01kem { color: var(--agt-critical); background: var(--agt-critical-tint); }
    .severity-major.svelte-h01kem { color: var(--agt-major); background: var(--agt-major-tint); }
    .severity-minor.svelte-h01kem { color: var(--agt-minor); background: var(--agt-minor-tint); }


    .run-page.svelte-s25v70 { width: min(1380px, 100%); margin: 0 auto; padding: 26px 32px 96px; color: var(--agt-ink); }
    header.svelte-s25v70 { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-bottom: 18px; }
    .back.svelte-s25v70 { min-height: 34px; color: var(--agt-ink-2); font: var(--agt-type-sub); }
    .back.svelte-s25v70:hover { color: var(--agt-primary); }
    h1.svelte-s25v70 { margin: 2px 0 0; font: var(--agt-type-title); }
    .status-row.svelte-s25v70 { display: flex; align-items: center; gap: 10px; }
    .elapsed.svelte-s25v70 { color: var(--agt-ink-2); font: var(--agt-type-meta); }
    button.svelte-s25v70:focus-visible,
    input.svelte-s25v70:focus-visible,
    select.svelte-s25v70:focus-visible { outline: 2px solid var(--agt-primary); outline-offset: 2px; }
    .inline-error.svelte-s25v70 { display: flex; justify-content: space-between; margin-bottom: 14px; padding: 11px 14px; color: var(--agt-failed); background: var(--agt-failed-tint); border-radius: var(--agt-radius-control); font: var(--agt-type-sub); }
    .progress-card.svelte-s25v70,
    .failure.svelte-s25v70,
    .summary-band.svelte-s25v70,
    .filters.svelte-s25v70,
    .workbench.svelte-s25v70,
    .no-results.svelte-s25v70 {
        background: var(--agt-surface);
        border: 1px solid var(--agt-border);
        border-radius: var(--agt-radius-card);
    }
    .progress-card.svelte-s25v70 { width: min(840px, 100%); margin: 32px auto; padding: 28px; }
    .progress-head.svelte-s25v70 { display: flex; justify-content: space-between; align-items: end; }
    .ai.svelte-s25v70 { color: var(--agt-ai); font: var(--agt-type-overline); letter-spacing: .06em; }
    .progress-head.svelte-s25v70 h2:where(.svelte-s25v70) { margin: 3px 0 0; font: var(--agt-type-section); }
    .progress-head.svelte-s25v70 strong:where(.svelte-s25v70) { color: var(--agt-primary); font: var(--agt-type-title); }
    .track.svelte-s25v70 { height: 6px; overflow: hidden; margin: 18px 0 24px; background: var(--agt-surface-dim); border-radius: var(--agt-radius-pill); }
    .track.svelte-s25v70 span:where(.svelte-s25v70) { height: 100%; display: block; background: var(--agt-primary); border-radius: inherit; transition: width 600ms ease-out; }
    ol.svelte-s25v70 { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
    ol.svelte-s25v70 li:where(.svelte-s25v70) { display: grid; grid-template-columns: 24px 1fr auto; gap: 8px; padding: 10px 0; color: var(--agt-ink-2); border-top: 1px solid var(--agt-border); }
    ol.svelte-s25v70 li.current:where(.svelte-s25v70) { color: var(--agt-primary); background: linear-gradient(90deg, var(--agt-primary-tint), transparent); }
    ol.svelte-s25v70 li:where(.svelte-s25v70) > span:where(.svelte-s25v70) { text-align: center; }
    ol.svelte-s25v70 p:where(.svelte-s25v70) { margin: 0; font: var(--agt-type-sub); }
    ol.svelte-s25v70 time:where(.svelte-s25v70) { color: var(--agt-ink-3); font: var(--agt-type-meta); }
    .leave-note.svelte-s25v70 { margin: 18px 0 0; color: var(--agt-ink-3); font: var(--agt-type-meta); }
    .failure.svelte-s25v70 { display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 18px; margin-top: 24px; padding: 22px; }
    .failure.svelte-s25v70 > span:where(.svelte-s25v70) { width: 44px; height: 44px; display: grid; place-items: center; color: var(--agt-failed); background: var(--agt-failed-tint); border-radius: 50%; font: var(--agt-type-title); }
    .failure.svelte-s25v70 h2:where(.svelte-s25v70) { margin: 0; font: var(--agt-type-section); }
    .failure.svelte-s25v70 p:where(.svelte-s25v70) { margin: 2px 0 0; color: var(--agt-ink-2); font: var(--agt-type-sub); }
    .summary-band.svelte-s25v70 { overflow: hidden; margin-bottom: 14px; }
    .summary-top.svelte-s25v70 { display: flex; align-items: center; gap: 18px; padding: 16px 18px; }
    .summary-top.svelte-s25v70 > div:where(.svelte-s25v70):first-child { display: flex; align-items: baseline; gap: 8px; }
    .summary-top.svelte-s25v70 > div:where(.svelte-s25v70):first-child span:where(.svelte-s25v70) { color: var(--agt-ink-3); font: var(--agt-type-meta); }
    .summary-top.svelte-s25v70 > div:where(.svelte-s25v70):first-child strong:where(.svelte-s25v70) { font: var(--agt-type-section); }
    .severity-summary.svelte-s25v70 { flex: 1; display: flex; flex-wrap: wrap; gap: 7px; }
    .limitations.svelte-s25v70 { padding: 10px 18px; color: var(--agt-waiting); background: var(--agt-waiting-tint); }
    .limitations.svelte-s25v70 p:where(.svelte-s25v70) { margin: 3px 0; font: var(--agt-type-meta); }
    .filters.svelte-s25v70 { display: grid; grid-template-columns: minmax(240px, 1fr) auto auto auto; align-items: center; gap: 10px; margin-bottom: 14px; padding: 10px; }
    .filters.svelte-s25v70 label:where(.svelte-s25v70) { min-width: 0; min-height: 40px; display: flex; align-items: center; gap: 7px; padding: 0 10px; color: var(--agt-ink-3); background: var(--agt-surface-dim); border-radius: var(--agt-radius-control); font: var(--agt-type-meta); }
    .filters.svelte-s25v70 input:where(.svelte-s25v70),
    .filters.svelte-s25v70 select:where(.svelte-s25v70) { min-width: 0; color: var(--agt-ink); font: var(--agt-type-body); }
    .filters.svelte-s25v70 input:where(.svelte-s25v70) { flex: 1; width: 0; }
    .filters.svelte-s25v70 input:where(.svelte-s25v70)::placeholder { color: var(--agt-ink-3); }
    .result-count.svelte-s25v70 { color: var(--agt-ink-3); font: var(--agt-type-meta); }
    .workbench.svelte-s25v70 { min-height: 560px; display: grid; grid-template-columns: minmax(320px, 44%) minmax(0, 56%); overflow: hidden; }
    .finding-list.svelte-s25v70 { max-height: calc(100vh - 330px); min-height: 560px; overflow-y: auto; border-right: 1px solid var(--agt-border); }
    .finding-list.svelte-s25v70 > button:where(.svelte-s25v70) { position: relative; width: 100%; display: grid; gap: 7px; padding: 16px 18px; text-align: left; border-bottom: 1px solid var(--agt-border); }
    .finding-list.svelte-s25v70 > button:where(.svelte-s25v70)::before { content: ''; position: absolute; inset: 7px auto 7px 0; width: 3px; opacity: 0; background: var(--agt-primary); }
    .finding-list.svelte-s25v70 > button:where(.svelte-s25v70):hover { background: var(--agt-surface-dim); }
    .finding-list.svelte-s25v70 > button.selected:where(.svelte-s25v70) { background: var(--agt-primary-tint); }
    .finding-list.svelte-s25v70 > button.selected:where(.svelte-s25v70)::before { opacity: 1; }
    .finding-list.svelte-s25v70 button:where(.svelte-s25v70) > div:where(.svelte-s25v70) { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
    .finding-list.svelte-s25v70 strong:where(.svelte-s25v70) { color: var(--agt-ink); font: var(--agt-type-card); }
    .finding-list.svelte-s25v70 p:where(.svelte-s25v70) { display: -webkit-box; overflow: hidden; margin: 0; color: var(--agt-ink-2); font: var(--agt-type-sub); -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
    .finding-list.svelte-s25v70 small:where(.svelte-s25v70) { color: var(--agt-succeeded); font: var(--agt-type-meta); }
    .confidence.svelte-s25v70 { color: var(--agt-ink-3); font: var(--agt-type-meta); }
    .evidence.svelte-s25v70 { max-height: calc(100vh - 330px); min-height: 560px; overflow-y: auto; padding: 22px 24px; }
    .evidence-head.svelte-s25v70 { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 8px; margin-bottom: 18px; }
    .evidence-head.svelte-s25v70 .confidence:where(.svelte-s25v70) { justify-self: end; }
    .evidence-head.svelte-s25v70 h2:where(.svelte-s25v70) { grid-column: 1 / -1; margin: 4px 0 0; font: var(--agt-type-section); }
    footer.svelte-s25v70 { position: sticky; bottom: -96px; display: flex; align-items: center; justify-content: flex-end; gap: 14px; margin-top: 12px; padding: 10px 12px; background: var(--agt-glass-bg); border: 1px solid var(--agt-border); border-radius: var(--agt-radius-card); backdrop-filter: blur(20px); }
    footer.svelte-s25v70 > span:where(.svelte-s25v70) { color: var(--agt-ink-2); font: var(--agt-type-meta); }
    .no-results.svelte-s25v70 { padding: 48px 24px; text-align: center; color: var(--agt-ink-2); font: var(--agt-type-sub); }
    .center.svelte-s25v70 { display: grid; place-items: center; min-height: 420px; color: var(--agt-ink-2); font: var(--agt-type-sub); }
    .fatal.svelte-s25v70 { align-content: center; }
    .fatal.svelte-s25v70 h1:where(.svelte-s25v70) { margin: 0; color: var(--agt-ink); font: var(--agt-type-section); }
    .fatal.svelte-s25v70 p:where(.svelte-s25v70) { margin: 4px 0 16px; }
    @media (max-width: 920px) {
        .summary-top.svelte-s25v70 { align-items: flex-start; flex-wrap: wrap; }
        .severity-summary.svelte-s25v70 { order: 3; flex-basis: 100%; }
        .filters.svelte-s25v70 { grid-template-columns: 1fr 1fr; }
        .search.svelte-s25v70 { grid-column: 1 / -1; }
        .workbench.svelte-s25v70 { grid-template-columns: 1fr; }
        .finding-list.svelte-s25v70 { min-height: 240px; max-height: 340px; border-right: 0; border-bottom: 1px solid var(--agt-border); }
        .evidence.svelte-s25v70 { max-height: none; }
    }
    @media (max-width: 640px) {
        .run-page.svelte-s25v70 { padding: 20px 16px 80px; }
        header.svelte-s25v70 { align-items: flex-start; flex-direction: column; }
        .failure.svelte-s25v70 { grid-template-columns: 44px 1fr; }
        .failure.svelte-s25v70 button { grid-column: 1 / -1; }
        .filters.svelte-s25v70 { grid-template-columns: 1fr; }
        .search.svelte-s25v70 { grid-column: auto; }
        .summary-top.svelte-s25v70 > button { width: 100%; }
    }


    .toast.svelte-51hb4z {
        position: fixed;
        z-index: 11000;
        top: 16px;
        left: 50%;
        width: max-content;
        max-width: min(560px, calc(100vw - 32px));
        min-height: 48px;
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 10px 12px 10px 16px;
        transform: translateX(-50%);
        color: var(--agt-ink);
        background: var(--agt-glass-bg);
        border: 1px solid var(--agt-border);
        border-top: 3px solid var(--agt-primary);
        border-radius: var(--agt-radius-card);
        box-shadow: var(--agt-shadow-2);
        backdrop-filter: blur(20px);
        font: var(--agt-type-sub);
        animation: svelte-51hb4z-toast-in var(--agt-dur-enter) var(--agt-ease-enter);
    }
    .tone-success.svelte-51hb4z { border-top-color: var(--agt-succeeded); }
    .tone-error.svelte-51hb4z { border-top-color: var(--agt-failed); }
    span.svelte-51hb4z { flex: 1; }
    button.svelte-51hb4z {
        min-height: 32px;
        padding: 4px 8px;
        color: var(--agt-primary);
        border-radius: 8px;
        font: var(--agt-type-meta);
        font-weight: 600;
    }
    button.svelte-51hb4z:hover { background: var(--agt-primary-tint); }
    .close.svelte-51hb4z { width: 32px; color: var(--agt-ink-2); font-size: 18px; }
    @keyframes svelte-51hb4z-toast-in {
        from { opacity: 0; transform: translate(-50%, -16px); }
    }


    .float.svelte-everna {
        position: fixed;
        z-index: 9000;
        right: 24px;
        bottom: 24px;
        width: min(340px, calc(100vw - 32px));
        overflow: hidden;
        color: var(--agt-ink);
        background: var(--agt-glass-bg);
        border: 1px solid var(--agt-border);
        border-radius: var(--agt-radius-card);
        box-shadow: var(--agt-shadow-2);
        backdrop-filter: blur(20px);
        animation: svelte-everna-float-in var(--agt-dur-enter) var(--agt-ease-enter);
    }
    .run.svelte-everna {
        position: relative;
        border-bottom: 1px solid var(--agt-border);
    }
    .run.svelte-everna:last-child { border-bottom: 0; }
    .open.svelte-everna {
        width: 100%;
        display: grid;
        gap: 10px;
        padding: 14px 16px;
        text-align: left;
    }
    .run.svelte-everna:has(.dismiss:where(.svelte-everna)) .open:where(.svelte-everna) { padding-right: 48px; }
    .open.svelte-everna:hover { background: var(--agt-primary-tint); }
    button.svelte-everna:focus-visible { outline: 2px solid var(--agt-primary); outline-offset: -3px; }
    .dismiss.svelte-everna {
        position: absolute;
        top: 8px;
        right: 8px;
        width: 32px;
        height: 32px;
        color: var(--agt-ink-2);
        border-radius: var(--agt-radius-control);
        font-size: 18px;
    }
    .dismiss.svelte-everna:hover { color: var(--agt-ink); background: var(--agt-surface-dim); }
    .row.svelte-everna,
    .progress-row.svelte-everna { display: flex; align-items: center; gap: 12px; }
    .name.svelte-everna {
        min-width: 0;
        flex: 1;
        overflow: hidden;
        color: var(--agt-ink);
        font: var(--agt-type-card);
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .track.svelte-everna {
        height: 4px;
        flex: 1;
        overflow: hidden;
        background: var(--agt-surface-dim);
        border-radius: var(--agt-radius-pill);
    }
    .track.svelte-everna span:where(.svelte-everna) {
        height: 100%;
        display: block;
        background: var(--agt-primary);
        border-radius: inherit;
        transition: width 600ms ease-out;
    }
    .time.svelte-everna { color: var(--agt-ink-3); font: var(--agt-type-meta); }
    @keyframes svelte-everna-float-in { from { opacity: 0; transform: translateY(12px); } }
    @media (max-width: 640px) {
        .float.svelte-everna { right: 16px; bottom: 16px; }
    }


    /*main {*/
    /*    padding: 0;*/
    /*    margin: 0 auto;*/
    /*    display: grid;*/
    /*    grid-template-areas: 'head head'*/
    /*                         'menu content';*/
    /*    height: 100vh;*/
    /*    overflow: hidden;*/
    /*}*/
    .app-wrapper.svelte-1n46o8q {
        position: relative;
        height: 100vh;
        width: 100vw;
    }
    .auth-loading.svelte-1n46o8q {
        display: grid;
        place-items: center;
        width: 100vw;
        height: 100vh;
        background: #f8f9fa;
        color: #333;
        font-family: 'Noto Sans', 'Noto Sans JP', sans-serif;
    }
    main.svelte-1n46o8q {
        display: flex;
        flex-direction: column;
        height: 100vh;
        overflow: hidden;
    }
    :root{
        --c-button-main: #1795CF;
    }

    body {
        font-family: 'Noto Sans','Noto Sans JP', sans-serif;
        background-color: #313131;
        color: #FFFFFF;
        padding: 0;
    }


    body *:not(iframe):not(canvas):not(img):not(svg):not(video):not(audio):not(svg *):not(symbol *):not(hr) {
        all: unset;
        display: revert;
    }


    *,
    *::before,
    *::after {
        box-sizing: border-box;
    }

    a, button {
        cursor: pointer !important;
    }


    summary {
        display: block;
        list-style: none;
    }
    summary::-webkit-details-marker {
        display:none;
    }
    ol, ul, menu {
        list-style: none;
    }
    img {
        display: block;
        max-inline-size: 100%;
        max-block-size: 100%;
        height: auto;
    }
    table {
        border-collapse: collapse;
    }
    input, textarea {
        user-select: auto;
        -webkit-user-select: auto;
    }
    meter {
        -webkit-appearance: revert;
        appearance: revert;
    }
    :where(pre) {
        all: revert;
    }
    ::placeholder {
        color: unset;
    }
    ::marker {
        content: initial;
    }
    :where([hidden]) {
        display: none;
    }
    :where([contenteditable]:not([contenteditable="false"])) {
        -moz-user-modify: read-write;
        -webkit-user-modify: read-write;
        overflow-wrap: break-word;
        line-break: auto;
        -webkit-line-break: after-white-space;
        user-select: auto;
        -webkit-user-select: auto;
    }
    :where([draggable="true"]) {
        -webkit-user-drag: element;
    }
    /*noinspection CssInvalidPseudoSelector*/
    :where(dialog:modal) {
        all: revert;
    }

    body {
        transition: background-color 0.3s, color 0.3s;
    }


    /* ライトモード */
    main.light {
        background-color: #fff !important;
        color: #000 !important;
        min-height: 100vh;
    }
    /* ログインページ専用ライトモード */
    main.login-light {
        background-color: #f8f9fa !important;
        color: #000 !important;
        min-height: 100vh;
    }
    main.light .content::-webkit-scrollbar{
        background-color: #F5F7F9 !important;
    }
    main.light .content::-webkit-scrollbar-thumb{
        background-color: #ccc !important;
    }

    main.light .ai_input_wrap {
        background-color: #fff !important;
        color: #333;
    }


    main.light .ai_input_box {
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
        border-radius: 8px; /* 角を少し丸くして柔らかい印象に */
        /*overflow: hidden; /* 子要素が角丸からはみ出ないように */
    }

    main.light .ai_btn-text{
        background-color: #F5F7F9 !important;
    }

    main.light .ai_btn-text::after{
        background-color: #F5F7F9 !important;
    }

    main.light .ai_input {
        border: none; /* 元々のボーダーを消して */
        outline: none; /* フォーカス時の青い枠線も消しちゃおう */
    }

    main.light .ai_btn {
        border: none; /* ボタンの境界線も消して一体感を出す */
    }

    main.light .menu {
        background: #F5F7F9 !important;
        color: #000 !important;
    }

    main.light .report_chart {
        background: #FFF !important;
        color: #000 !important;
    }

    main.light .report_textarea p {
        background: #FFF !important;
        color: #000 !important;
    }

    main.light .dark-mode-switch {
        background: #FFF !important;
        color: #000 !important;
    }

    main.light .header {
        background: #FFF !important;
        color: #000 !important;
        z-index: 999;
    }

    main.light .department {
        background: #FFF !important;
        color: #000 !important;
    }

    main.light .download-img::before {
        background-image: url('../img/icon_image_black.svg');
    }

    main.light .download-csv::before {
        background-image: url('../img/icon_csv_black.svg');
    }

    main.light .menu_btn::before {
        background-image: url('../img/icon_MenuBlock_black.svg') !important;
    }

    li > ul {
        padding-left: 40px !important;
        margin-bottom: 30px !important;
    }
    li > ol {
        padding-left: 40px !important;
        margin-bottom: 30px !important;
    }
    .myreport{
        border: solid 1px white;
        display: block;
        padding: 8px;
        margin-bottom: 20px;
        border-radius: 4px;
    }
    .myreport:hover{
        background-color: #2d2d2d; /* ホバー時の背景色を少し暗く */
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* ホバー時に影をつけて立体感を出す */
        transform: translateY(-2px); /* ホバー時に少し上に浮かせる */
        cursor: pointer;
    }
    main.light .myreport:hover{
        background-color: #ffffff !important;
    }
    .myreport:active{
        background-color: #3e8e41; /* クリック時の背景色 */
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); /* クリック時は影を小さく */
        transform: translateY(0); /* クリック時は元の位置に戻す */
    }
    main.light .bookmark_item:hover{
        background-color: #C5E4F3 !important;
    }
    main.light .bookmark_menu{
        background-color: #FFFFFF !important;
        box-shadow: 0px 4px 16px 0px #0000001F;
    }
    main.light .bookmark_menuItem:hover{
        background-color: #C5E4F3 !important;
    }
    main.light .report_menu::after{
        background-color: #F5F7F9 !important;
    }
    main.light .side-panel{
        background-color: #F5F7F9 !important;
    }
    main.light .report-card{
        background-color: transparent !important;
    }
    main.light .building-selection-btn:hover{
        background-color: #C5E4F3 !important;
    }
    main.light .building-selection-content{
        background-color: #F5F7F9 !important;
    }
    main.light .building-selection-content button:hover{
        background-color: #C5E4F3 !important;
    }
    main.light .feedback_content{
        background-color: #fff !important;
    }
    main.light .feedback_btn{
        color: #fff !important;
    }
    main.light .summary-header_btn{
        color: #1795CF;
    }
    main.light .summary-header_btn.is-active{
        color: #fff;
    }
    main.light .summary-search_btn{
        color: #1795CF;
    }
    main.light .summary-report_btn{
        color: #1795CF;
    }
    main.light .profile_complete{
        background-color: #F5F7F9 !important;
    }
    main.light .form_input{
        border-color: #939394 !important;
    }
    main.light .form_input::placeholder{
        color: #939394 !important;
    }
    main.light .back_btn{
        color:#1795CF !important;
    }
    canvas{
        background: transparent !important;
    }
    main.light .user-prompt{
        color: #313131 !important;
        background: #F5F7F9 !important;
    }
    main.light .user-prompt_text::before{
        background: url(../img/icon_comment_light.svg) no-repeat center center !important;
    }
    main.light .generated-response{
        background: #fff !important;
        color: #313131 !important;
    }
    .response_parser > ul {
     margin-left: 30px !important;
    }

    .response_parser > ol {
        margin-left: 30px !important;
        list-style: decimal !important;
        list-style-position: outside !important;  /* 数字をリストの外側に配置 */
        padding-left: 20px !important;  /* 数字とテキストの間隔調整 */
    }
    main.light .form_mail{
        color: #939394;
    }
    main.light .report-list::-webkit-scrollbar{
        background-color: #e5e6ec !important;
    }
    main.light .report-list::-webkit-scrollbar-thumb{
        background-color: #ccc !important;
    }
    main.light .newchat{
        background-color: #f5f7f9 !important;
    }
    main.light .newchat_open:hover{
        background-color: #dbdee0 !important;
    }


    @media (min-width: 640px) {
        main.svelte-1n46o8q {
            max-width: none;
        }
    }



@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Main-Bold.woff2) format("woff2"),url(fonts/KaTeX_Main-Bold.woff) format("woff"),url(fonts/KaTeX_Main-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Main-Italic.woff2) format("woff2"),url(fonts/KaTeX_Main-Italic.woff) format("woff"),url(fonts/KaTeX_Main-Italic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Main-Regular.woff2) format("woff2"),url(fonts/KaTeX_Main-Regular.woff) format("woff"),url(fonts/KaTeX_Main-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Math-Italic.woff2) format("woff2"),url(fonts/KaTeX_Math-Italic.woff) format("woff"),url(fonts/KaTeX_Math-Italic.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Script-Regular.woff2) format("woff2"),url(fonts/KaTeX_Script-Regular.woff) format("woff"),url(fonts/KaTeX_Script-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/KaTeX_Size1-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size2-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size2-Regular.woff) format("woff"),url(fonts/KaTeX_Size2-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size3-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size3-Regular.woff) format("woff"),url(fonts/KaTeX_Size3-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size4-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size4-Regular.woff) format("woff"),url(fonts/KaTeX_Size4-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(fonts/KaTeX_Typewriter-Regular.woff) format("woff"),url(fonts/KaTeX_Typewriter-Regular.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.25"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}

