    /* ===== ログイン画面 ===== */
    #login-screen {
      position: fixed; top:0; left:0; right:0; bottom:0;
      background: linear-gradient(160deg, #0d1117 0%, #1a1a2e 50%, #16213e 100%);
      display: flex; flex-direction: column;
      align-items: center; justify-content: center;
      z-index: 2000; padding: 24px;
    }
    .login-logo { font-size: 36px; letter-spacing: 10px; color: white; font-weight: 700; margin-bottom: 4px; }
    .login-logo-sub { font-size: 11px; color: rgba(255,255,255,0.35); letter-spacing: 3px; margin-bottom: 40px; }
    .login-card {
      background: white; border-radius: 20px; padding: 32px 24px;
      width: 100%; max-width: 360px; text-align: center;
      box-shadow: 0 20px 60px rgba(0,0,0,0.4);
    }
    .login-card h2 { font-size: 18px; color: #1a1a2e; margin-bottom: 8px; font-weight: 700; }
    .login-card p  { font-size: 16px; color: #1a1a2e; margin-bottom: 28px; line-height: 1.8; }
    .btn-google {
      width: 100%; padding: 16px; border: 2px solid #E8E8E8; border-radius: 14px;
      background: white; font-size: 16px; font-weight: 700; cursor: pointer;
      display: flex; align-items: center; justify-content: center; gap: 10px;
      color: #333; transition: all 0.2s;
    }
    .btn-google:hover { border-color: #0077BB; background: #F0F8FF; }
    .btn-google:active { transform: scale(0.98); }
    .btn-google img { width: 22px; height: 22px; }
    .login-status { font-size: 16px; color: #1a1a2e; margin-top: 16px; min-height: 20px; line-height: 1.6; }
    .login-status.loading { color: #0077BB; }
    .login-status.error   { color: #CC3300; }

    /* ===== セットアップ未完了画面 ===== */
    #setup-screen {
      position: fixed; top:0; left:0; right:0; bottom:0;
      background: linear-gradient(160deg, #0d1117 0%, #1a1a2e 100%);
      display: none; flex-direction: column;
      align-items: center; justify-content: center;
      z-index: 2000; padding: 24px;
    }
    .setup-card {
      background: white; border-radius: 20px; padding: 32px 24px;
      width: 100%; max-width: 360px; text-align: center;
    }
    .setup-card .setup-icon { font-size: 48px; margin-bottom: 16px; }
    .setup-card h2 { font-size: 18px; color: #1a1a2e; margin-bottom: 10px; }
    .setup-card p  { font-size: 16px; color: #1a1a2e; line-height: 1.8; margin-bottom: 24px; }
    .btn-go-setup {
      width: 100%; padding: 16px; border: none; border-radius: 14px;
      background: linear-gradient(135deg, #0077BB, #005599); color: white;
      font-size: 16px; font-weight: 700; cursor: pointer; margin-bottom: 10px;
    }
    .btn-go-logout {
      width: 100%; padding: 14px; border: 1.5px solid #ddd; border-radius: 14px;
      background: white; color: #888; font-size: 14px; cursor: pointer;
    }
    * { box-sizing: border-box; margin: 0; padding: 0; -webkit-tap-highlight-color: transparent; }

    :root {
      --navy: #1a1a2e;
      --site-color: #0077BB;
      --memo-color: #0077BB;
      --audio-color: #AA3377;
      --photo-color: #EE7733;
      --daily-color: #005599;
      --bg: #F0F4F8;
      --bg2: #ffffff;
      --card: #ffffff;
      --text: #1a1a2e;
      --text2: #333;
      --muted: #666;
      --border: #ddd;
      --input-bg: #ffffff;
      --radius: 16px;
    }

    /* ===== ダークモード変数 ===== */
    [data-theme="dark"] {
      --bg: #12121f;
      --border: #3a3a52;
      --danger-bg: #3d1515;
      --warning-bg: #3d2a10;
      --bg2: #1e1e30;
      --card: #2a2a3e;
      --border-light: #3a3a52;
      --text: #e8e8f4;
      --text2: #ccccdd;
      --muted: #9090a8;
      --border: #3a3a52;
      --input-bg: #1e1e30;
    }

    /* ===== ダークモード適用 ===== */
    [data-theme="dark"] body { background: var(--bg); color: var(--text); }
    [data-theme="dark"] .screen { background: var(--bg); }
    [data-theme="dark"] .sub-screen-body { background: var(--bg); }

    /* ★ V3-24: 大規模修繕モード（body.continuous-capture-mode）の表示制御
       !importantで確実にインラインstyleに勝つ */
    body.continuous-capture-mode #photo-placeholder { display: none !important; }
    body.continuous-capture-mode #photo-keika-btn { display: none !important; }
    /* ★ V3-31: 写真の出口を全モードで「撮影を終えてホームに戻る」に統一（✅記録・📋確認後記録は廃止） */
    #photo-saved-buttons { display: none !important; }
    #photo-finish { display: block !important; }
    #photo-finish-hint { display: block !important; }
    body.continuous-capture-mode #photo-fab-change-room { display: flex !important; }
    body.continuous-capture-mode #photo-hierarchy-bar { display: block !important; }
    body.continuous-capture-mode #audio-hierarchy-bar { display: block !important; }
    body.continuous-capture-mode #audio-fab-change-room { display: flex !important; }
    body:not(.continuous-capture-mode) #audio-fab-change-room { display: none !important; }
    /* ★ V3-25：仮登録ボタンは大規模修繕モードでも常に表示（出たり消えたり問題を解消）
       body.continuous-capture-mode #temp-site-section { display: none !important; } */
    body.continuous-capture-mode #site-building-room-section { display: block !important; }
    body:not(.continuous-capture-mode) #photo-fab-change-room { display: none !important; }
    body:not(.continuous-capture-mode) #photo-hierarchy-bar { display: none !important; }
    body:not(.continuous-capture-mode) #site-building-room-section { display: none !important; }

    /* ★ 2026-07-12：daikibo以外の階層現場（自作テンプレ・集合住宅等）でも撮影中に「区画/部屋を変更」できるよう、
       部屋変更FAB＋階層バーだけを出す軽量クラス。連続撮影の他挙動（経過撮影非表示・登録内棟部屋欄等）は付けない。
       ※上の :not(.continuous-capture-mode) の非表示ルールと同一詳細度のため、後段に置いて上書きする。 */
    body.hierarchy-capture #photo-fab-change-room { display: flex !important; }
    body.hierarchy-capture #photo-hierarchy-bar { display: block !important; }
    body.hierarchy-capture #audio-fab-change-room { display: flex !important; }
    body.hierarchy-capture #audio-hierarchy-bar { display: block !important; }
    body.hierarchy-capture #photo-current-site { display: none !important; }

    /* ★2026-07-08 案B：撮影画面の現在の現場名ブロック（通常モードのみ・画面中央あたりに大きく・撮影後も残す） */
    #photo-current-site { display: none; text-align: center; padding: 48px 20px 24px; }  /* 既定none／padding-topで中央あたりへ（実機調整） */
    body:not(.continuous-capture-mode) #photo-current-site { display: block; }            /* 通常モードのみ表示 */
    body.continuous-capture-mode #photo-current-site { display: none !important; }        /* 大規模修繕は出さない（hierarchy-barと二重回避） */
    #photo-current-site .pcs-label { font-size: 15px; color: var(--muted); font-weight: 600; }
    #photo-current-site .pcs-name  { font-size: 30px; font-weight: 800; color: var(--text); margin-top: 6px; word-break: break-all; }
    /* 横持ちは縦が狭いので出さない（既存 finish-hint と同流儀） */
    @media (orientation: landscape) and (max-height: 500px) {
      #photo-current-site { display: none !important; }
    }

    /* ★ 簡単/詳細モード（2026-06-27 ステップ4）：body.simple-mode で詳細項目を隠す。
       !importantでインラインstyle（gps等のJS直代入）に勝つ。デフォルト簡単。 */
    body.simple-mode .detail-only { display: none !important; }
    [data-theme="dark"] .menu-btn { background: var(--card); border-color: #3a3a52; }
    [data-theme="dark"] .menu-btn-label { color: var(--text); }
    [data-theme="dark"] .menu-btn-desc { color: var(--muted); }
    [data-theme="dark"] .site-banner { background: var(--card); border-color: #3a3a52; }
    [data-theme="dark"] .site-banner-label { color: var(--muted); }
    [data-theme="dark"] .site-banner-name { color: var(--text); }
    [data-theme="dark"] .site-banner-name.unset { color: var(--text); }
    [data-theme="dark"] .site-banner-arrow { color: var(--muted); }
    [data-theme="dark"] .pending-banner { background: #2a2000; border-color: #E67E22; }
    [data-theme="dark"] .btn { filter: brightness(0.9); }
    [data-theme="dark"] input,
    [data-theme="dark"] textarea,
    [data-theme="dark"] select {
      background: var(--input-bg) !important;
      color: var(--text) !important;
      border-color: var(--border) !important;
    }
    [data-theme="dark"] .saved-box { background: #1a2a1a !important; border-color: #0055AA !important; }
    [data-theme="dark"] .saved-box-title { color: #7ab4ff !important; }
    [data-theme="dark"] #logout-modal > div { background: #1e1e30 !important; color: var(--text) !important; }
    [data-theme="dark"] #logout-modal h2,
    [data-theme="dark"] #logout-modal .modal-title-text { color: var(--text) !important; }
    [data-theme="dark"] .rec-screen { background: #0a0a1a !important; }
    [data-theme="dark"] .status { color: var(--muted); }
    [data-theme="dark"] .status.success { color: #7ab4ff; }
    [data-theme="dark"] .status.error   { color: #ff8866; }
    [data-theme="dark"] [style*="background:white"],
    [data-theme="dark"] [style*="background: white"] {
      background: var(--card) !important;
      color: var(--text) !important;
    }
    [data-theme="dark"] [style*="background:#f0f4f8"],
    [data-theme="dark"] [style*="background: #f0f4f8"],
    [data-theme="dark"] [style*="background:#F0F4F8"] {
      background: var(--bg) !important;
    }
    [data-theme="dark"] [style*="color:#333"],
    [data-theme="dark"] [style*="color: #333"],
    [data-theme="dark"] [style*="color:#555"],
    [data-theme="dark"] [style*="color:#1a1a"],
    [data-theme="dark"] [style*="color:#1a2e4a"],
    [data-theme="dark"] [style*="color: #1a2e4a"],
    [data-theme="dark"] [style*="color:#1A2E4A"],
    [data-theme="dark"] [style*="color:#444"],
    [data-theme="dark"] [style*="color: #444"],
    [data-theme="dark"] [style*="color:#000"],
    [data-theme="dark"] [style*="color: #000"] {
      color: var(--text2) !important;
    }
    [data-theme="dark"] [style*="color:#888"],
    [data-theme="dark"] [style*="color: #888"],
    [data-theme="dark"] [style*="color:#666"],
    [data-theme="dark"] [style*="color:#aaa"],
    [data-theme="dark"] [style*="color: #aaa"],
    [data-theme="dark"] [style*="color:#bbb"],
    [data-theme="dark"] [style*="color: #bbb"] {
      color: var(--muted) !important;
    }
    /* ★ CUD追加：ライトグレー背景をダークモードで上書き（タブ・ボタン非選択状態） */
    [data-theme="dark"] [style*="background:#e0e0e0"],
    [data-theme="dark"] [style*="background: #e0e0e0"] {
      background: var(--card) !important;
      color: var(--text2) !important;
    }
    [data-theme="dark"] [style*="background:#f0f0f0"],
    [data-theme="dark"] [style*="background: #f0f0f0"] {
      background: var(--card) !important;
      color: var(--text2) !important;
    }
    [data-theme="dark"] [style*="background:#f8faff"],
    [data-theme="dark"] [style*="background: #f8faff"] {
      background: var(--card) !important;
    }
    /* ★ V3-24追加：未対応固定色のダークモード上書き */
    [data-theme="dark"] [style*="background:#f0f7ff"],
    [data-theme="dark"] [style*="background: #f0f7ff"],
    [data-theme="dark"] [style*="background:#eaf4fb"],
    [data-theme="dark"] [style*="background: #eaf4fb"],
    [data-theme="dark"] [style*="background:#f5f5f5"],
    [data-theme="dark"] [style*="background: #f5f5f5"],
    [data-theme="dark"] [style*="background:#fafafa"],
    [data-theme="dark"] [style*="background: #fafafa"],
    [data-theme="dark"] [style*="background:#fff8e6"],
    [data-theme="dark"] [style*="background: #fff8e6"],
    [data-theme="dark"] [style*="background:#fff3cd"],
    [data-theme="dark"] [style*="background: #fff3cd"] {
      background: var(--card) !important;
    }
    /* ライトブルー系ボーダーをダークモードで上書き */
    [data-theme="dark"] [style*="border:1px solid #cce4ff"],
    [data-theme="dark"] [style*="border:1.5px solid #b8d8ed"],
    [data-theme="dark"] [style*="border:1.5px solid #c0c8ee"],
    [data-theme="dark"] [style*="border:1px solid #e0e0e0"],
    [data-theme="dark"] [style*="border-bottom:2px solid #f0f0f0"],
    [data-theme="dark"] [style*="border-top:1px solid #f0f0f0"] {
      border-color: var(--border) !important;
    }
    [data-theme="dark"] [style*="border:1px solid #ddd"],
    [data-theme="dark"] [style*="border: 1px solid #ddd"],
    [data-theme="dark"] [style*="border:1.5px solid #ddd"] {
      border-color: var(--border) !important;
    }

    body {
      font-family: 'Hiragino Sans', 'Noto Sans JP', sans-serif;
      background: var(--bg);
      min-height: 100vh;
      color: var(--text);
    }

    /* ===== ヘッダー =====
       v0418-final: JSで動的生成された .app-header に適用される。
       iOS PWA の描画バグを回避するため、position:fixed + body直下方式。 */
    body {
      /* fixedヘッダー分のスペースを確保 */
      padding-top: calc(56px + env(safe-area-inset-top, 0px));
      /* ★2026-07-07 下部見切れ修正：最下部ボタン(ドライブで見る等)がiPhoneホームインジケータ/セーフエリアで切れないよう下余白を確保。非対応端末はenv=0pxで通常paddingのみ */
      padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
    }
    html {
      background: #1a1a2e; /* navy: Dynamic Island領域の保険 */
    }
    .app-header {
      background: var(--navy);
      color: white;
      padding: calc(14px + env(safe-area-inset-top, 0px)) 16px 12px;
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      width: 100%;
      z-index: 100;
      box-shadow: 0 2px 8px rgba(0,0,0,0.3);
      box-sizing: border-box;
    }

    .header-home {
      display: flex;
      align-items: center;
      justify-content: space-between;
      position: relative;
    }

    .header-logo { font-size: 20px; font-weight: 700; letter-spacing: 3px; }
    .header-sub  { font-size: 10px; opacity: 0.55; letter-spacing: 1px; }

    .header-site-badge {
      background: rgba(255,255,255,0.12);
      border: 1px solid rgba(255,255,255,0.2);
      border-radius: 20px;
      padding: 6px 14px;
      font-size: 13px;
      font-weight: 700;
      color: #fff;
      max-width: 180px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      cursor: pointer;
    }
    .header-site-badge.unset { color: rgba(255,255,255,0.5); font-weight: 400; font-size: 12px; }
    /* ★塊1b追補(2026-07-03) ヘッダー現場バッジ恒久非表示。applyRecordMode(main1.js:8151)が起動時に style.display='' で inline display:none を打ち消すため、idセレクタ+!important で常に非表示にする（要素は残す＝main1.js:961素通り・撤去でない） */
    #header-site-name { display: none !important; }

    /* サブ画面ヘッダー */
    .header-sub-screen {
      display: none;
      align-items: center;
      gap: 12px;
    }

    .btn-back {
      background: rgba(255,255,255,0.22);
      border: 2px solid rgba(255,255,255,0.5);
      color: white;
      font-size: 16px;
      font-weight: 800;
      padding: 10px 20px;
      border-radius: 24px;
      cursor: pointer;
      display: flex;
      align-items: center;
      gap: 6px;
      flex-shrink: 0;
      letter-spacing: 0.5px;
    }
    .btn-back:active { opacity: 0.7; }

    .header-screen-title {
      font-size: 17px;
      font-weight: 700;
      color: white;
    }

    /* ===== コンテンツ ===== */
    .screen { display: none; width: 100%; box-sizing: border-box; }
    .screen.active { display: block; }

    /* ===== ホーム画面 ===== */
    #screen-home {
      padding: 20px 16px;
      max-width: 520px;        /* ★H1（2026-08-18）PC幅ガード：スマホ実寸を保ちつつ 768px超でホームが間延び/崩れしないよう内容を絞る。.send-prompt-box(max-width:420px)/.pwa-card(max-width:420px) の width:100%+max-width 前例に倣う（メディアクエリはホームに前例が無いため採らない）。 */
      margin-inline: auto;
    }

    /* 現場バナー */
    .site-banner { background: var(--card); border-radius: var(--radius); padding: 20px; margin-bottom: 20px; display: flex; align-items: center; justify-content: space-between; box-shadow: 0 2px 12px rgba(0,0,0,0.1); cursor: pointer; border: 2px solid var(--border); transition: border-color 0.2s; }
    .site-banner:active { border-color: var(--site-color); }
    .site-banner.selected { border-color: #0077BB; background: var(--card); }
    .site-banner-left { display: flex; align-items: center; gap: 14px; }
    .site-banner-icon { font-size: 38px; }
    .site-banner-label { font-size: 18px; color: var(--text); font-weight: 800; margin-bottom: 5px; letter-spacing: 1px; }
    .site-banner-name { font-size: 22px; font-weight: 700; color: var(--text); }
    .site-banner-name.unset { font-size: 16px; color: #000; font-weight: 600; }
    .site-banner-arrow { font-size: 22px; color: #555; }

    /* メニューグリッド */
    .menu-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
    }

    .menu-btn {
      background: var(--card);
      border: 2.5px solid var(--border);
      border-radius: var(--radius);
      padding: 28px 16px;
      cursor: pointer;
      text-align: center;
      box-shadow: 0 2px 12px rgba(0,0,0,0.08);
      transition: transform 0.1s, box-shadow 0.1s;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 10px;
      position: relative;
      overflow: hidden;
    }
    .menu-btn:active { transform: scale(0.96); box-shadow: 0 1px 4px rgba(0,0,0,0.1); }

    .menu-btn::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 4px;
      border-radius: var(--radius) var(--radius) 0 0;
    }

    .menu-btn.site::before  { background: var(--site-color); }
    .menu-btn.memo::before  { background: var(--memo-color); }
    .menu-btn.audio::before { background: var(--audio-color); }
    .menu-btn.photo::before { background: var(--photo-color); }
    .menu-btn.daily::before { background: var(--daily-color); }

    .menu-btn.memo  { border-color: #b3e0d8; }
    .menu-btn.audio { border-color: #e8c0d8; }
    .menu-btn.photo { border-color: var(--border); }  /* ★2026-07-08 案A:枠グレー統一(上辺オレンジ帯.photo::beforeは残す) */
    .menu-btn.daily { border-color: #b3ccee; }

    .menu-btn-icon { font-size: 44px; line-height: 1; }

    /* ★2026-07-07 Googleドライブ公式ロゴ（三色三角・data-URIで埋込＝オフライン対応/外部URL不使用）。
       公式ブランドガイドライン準拠：正規PNGをそのまま埋込・色形不変・リサイズのみ（width/heightは使用箇所でinline指定）。 */
    .gdrive-logo {
      background-image: url("data:image/png;base64,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");
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center;
      display: inline-block;
      vertical-align: middle;
    }

    /* ★2026-07-08 写真＋メモのカメラ写真アイコン（菊池さん提供・透過PNG 300×195・data-URI埋込＝M4踏襲/オフライン対応）。写真ボタン限定＝共有/ドライブ不触 */
    .photo-cam-icon{
      width:96px; height:62px;
      background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAADDCAYAAAA4GCyWAABGTklEQVR42u29e3hT15ku/i75ImlbtqQNAZMQLF9CIT0kwqHT9sxMDKZPLyfphIRwkplpCPiXzOklv9BSmumkNJAO0zPnDHECQ+f0nKYmhLTDTLk2aafNFINz2iRtiBFhyq3YlgjBhsCWZMvSlmxrnT/ktdna3lvakuUr630eP7alfdfer97vXd/6PoCDg4ODg4ODg4ODg4ODg4ODg4ODg4ODoyAg/BIouG0c9/UHfrk5ODhhmcb8+fMdkUj/I7feeusqp9O51O12AwCspTbY7DYAQDgcMr29YDAItg2999Tw+/3v9vb2/rqiovzb586di/DbkIPDHIpv1BOPxwcfmzv31uY77/RiWeOnsGjRHQQAotEoTZFVmCTiMmXL9/b1Zd1mJNKvfAE4HGU0jbSkq+jt7UVnZydCofBdoVDwrt6+SPX8+fO/wEmLg2OKKKxVq1YVjde+Ll26RG6++Wb6f3/9m4qK8vLXXS73XS6XEx5PNdwuF4KhEMLhkKKIQqHwiG2EwyGa636dThdRrxsMSkSSJIiiCFB8pGFpQyc7tml5l/0EwKppeFo/+ckQkLp/V62aisc//LGsyvWcbxDCWoVVRT/BxJ6wIi2Li5OiKMLtFikjlGyEFAxKBblekiQBAERRhMVS9GhPT/du/t3JwTEJCGvVqlVFWlaunHOzG5Te63A4EhZCPjHeJ02BunA4dA8jjomCKIpwudzvgtJf81uRYyogmUxeoYMDp/uisd9biouv9nRfCk4Lwtq0aZPl2WefTTKCKhOEeUUWyxoQ8ieEkHoWKlltdmK3lY5rKBSTEyQuxygAuFxOw/BvrDER566+BuzvsToG9XVWn3Mh9smOPy7HaKbrmJATJGpwDEUAtHJfux3tObB1teel99lmWybT/RCTEzndG+rjzGff6nPLdF+w54RFIslk8uc0mXyTAj/v6Dh/YsoRlpqoamvr7iyyWNZUOCs+Y7EUL2DkwEbTnE4X3C4X3KKIiooKU9vv7e1V/tau09vba3o7HPlfZ71lJgPYcU6245ouCEoSgqEQ5JiMeEJO83rD4RCllLYPyIkXYwPxfx0r5TUmCosRlcstrnO5nHC73XA6XaipqUGVpwYV5eUAgJtmzVbWEQRhxLGwETsz0Fs/n+3kuo9CbXssjm0yHV8hEA6HSeqLzkk5feh81pHU9REc6ddHO+JtFqVWm+5IeVC6qnwxMBLz+7sU4gKAocHBjZFo9PuFJq6CEtaCBZUzk0MV33K5xXXV1R44nS5UVlZi4e3/CbW1dRAEgcwQRcRlGZFoFNFolHZ0nAcAxGP9JBq7LmPNfEuaUVP829Y85FiMJCmlcVnOIYxI5azlsk5hwmkbBEHQkvO4H8eUUEahUNZl3C6X6e25RXGEomXExUbZGXkNDQ5utBRZ/rFQqTsFI6y6utsecrmcm0RxxgKPpxperxdLPvaJtG9+RlAsJyk4bHqbuaByTIbFQlBqteb2rZMYIpahAYUIWVIoez2eSL/BraXDD2Bietz4TLabTWrlKDwScoIwr4x5S4LNToYwdv6hGszvK+S+9GwddejoD/gV4goGpZ8lk8mNhfC4Rk1Y8+fPd1CKf3a7xXuqqz3wVHlwd8My1NffRQDgmiTh5Mn3aMDfmZWgEvE4kkmaE1kwglFjspGNHim43W4lO15LKtlIJl/SUW+PE9XoCYDBbiul/YkhYkmmW/i5GN9ao1xrgOcLo2MwM/ihJlogNUhRarC82vZR+13qUDEcDq8ZbQrPqC5KbW3dnUVFRS96PJ673G43Fi+uR+PyT+PWuXOJmqg6OztHqKXpomAKQSQcE6d8SofJpiQ5hCFcH3UsJDlMZhidazaigwGRMeJiYSYLE7u6/CljPpnc/ud/8edfZwNz40ZYtbV1d86YMfM4yxRn01tmiCL+4/e/xx/OnaYBv19XTeUyR4+TFMd4KaWpSDiTDepMABYuAoA/4E8jrZtm3fSN3/zmN4O5bj+vaTG1tXV3FhcXt1dWziaLvYvxmc98Dnfc4SWDQ4P43e9+S0+f+g/0dHfrkpUckzE0NDjtPqhgMAiZG76IyQlCB4dIUXEREnIi7Xc+2yopLtzMrYScIEODQyQxOEQGB4dIXI7RocFBsB8OYxVWXFxCzFwjWY6DwkIGBwcQCoUQj8dBAcyprAQhQCwmk3gi/vHu7h7n5z73uV+dOnUqpy+JnBVW5Zyb3RXl5a97PJ67PJ5q3Hff/aivv4u8f/EiPfbO29CqKuZLaf0lrbnNDLpCX2itxDdKZGTsPcS/bTnGCOFwKG0amPp1veXNThkzgtG+tHNbza7PElv1EoLNqC0AWk9re09P99fGlLBuu23+q9XV1fewMHBpw1Ly/sWLtPXw64rRlsmvspbaRpBUOByibJ7eRE+X4eDgGAlxeBRQPffWTEY9Iy1GXNZSG3oudyMQCLCqKDkZ8TkRVl1t3d+IM2b+3YKPLMDn7rkXixbdQbq7u/Husd9SrbGuYvQRoVMoFMYH3VcwEI9wguLgmKIEpi0cYBTlaE15NWkFgxIpKy5b0HWp65yZ/Zo2CIZN9n+trvbgjjvuwJ/+aQOJRqP0zd+8gaAk6fo3zK+yltpw9eqHOHv2LPX7u0hnZwf6I2HEYjH+yXNwTEHEYjEEgxKJx2UQQqjNZiPZyAoAZFmGw1GOktISxGIyIYTQSDxa9bnPffYnZvwsUwX8hnOttrhcTniqPPjExz9OAODYO2/rhoHaUPDM2TPw+zshSZnLs9TW1lGv10s8VZ6c5hdycIw33OLMVMQwPE0lE0pK7URd0DEoXYVbnImgdBXbtr1AOzrOj3nVlPr6JVizZo1y3Opj0QNL7PYH/PD5fIbHKEkSJEkioijC46kZESbq5W31XO6G2+2Gy+VEOBxCcmjwz37zmzf/CsD/KghhJZP0HlGccY/b7UaVxwPB4aQnT74Ho7QFlpUOAF1dfkZWuttubFyOFSvux90NjcRTNY/XmOeYrhhxb/f1RdDWdhRsepqRb2QG2awVr9eL1avX5Pt8kVOnz9DWw69j584WXfJi+3e7xeSc2XMs2YresfSf4ZCS9vb2rhHFuh9J0vnenC6iFupRwcXexbi7YRkA4J3fvU0udXcbSjiWLGZEVitXPoivb/gmbl+4gKg/QCCVHT+dJu1yTD8YTTa3WdNnXsjx61bJDFFUZn4caf0VDh7cD6XyrFbBucW87v9Mg1eiKGLFigeUkf3ycofyzBmhvNwx4rVXX3uNPt+8Fe3tx3T34fHUKGY7K5NjVM5IPWE6EYt/uetC1/8eFWHV1d32kCjO+Ofqag8aGpaiqqoagUCXobpiZGUkI+vrl2DTpmfR0NBAGEn190chBSWlljqbjZ+pAsNkRTQapWNx3IzA2bbV/5shd+2czkIeo3b/k+VzG6vPQo+YysqErOscbTtKDx7YiyNHWhWiMjKu1aNr6oc7G9SpCpFoggzEI7oqrLFxOdY2PY7P33vvCMFglsBefvklunnzMyPIUU1a2uRcPdJiI4a9vb3HyssdyzNNlM76YWrTGADA134so29lRFZNTY+hufkFhajUSkoQBGKz2lBWJuiyOgfHVIU/cAG7d7XQnS+1KA93bW0ddTpdRFsjTh0u5UpWWsIyo7z0Ih09aMmMPaP+wAU0rV1NtWpL7WllIyx1alO2kuEZRwln3TTrNkEQtrlcLlJffxdcLjcC/k7IsdiIUcFwOIShoUF0dfnR03OJaEcAt2z5Lr797U0jyEoQBFI5ezaZPesmOBxlsFpL+R3OMS3Q1xfB/gMHsOmZb9H9+/fCbrfj5ptvodXVNaSycjax2Wxwu92w2+0ZyQoAbDYbbDYbKCykuLiElDvKlP/VGejxuP5sC7vdDrvdDkJA2N+xWAynT5/CgQN7UVRUhIULP0qMnj+rtTTtR60EH310DfnDH87h9OlTyuuxWAzxuIxyRzmKi0tGkBabwRCTE2RocBDxuAxZjhFiKSqKRPr2GF3TjKZ7RUXFg06ni7jdbmXEzig5tMReTq5cukD1PKvt23cohl9fXwTvX7xIBUEgt86dS7ia4piuqupvv/MM3bdvr6KoqqqqiNvtJk6ny7AAgFZpsVwllTqiGs9LUSolVgccQmnGDHmNN6Zsd+PGp9Haephu+bv/kVVt6eGHP3yJAFDOl23X7RbprOEM+YScIAOWIliSQ2klrtXbSQ4N/lneHpY6HPR6valw0OfLybfasuW7eOKJJ4naqxIEgXiq5vG7mmNaoq2tjT777Ca0tx9TQj9W0FJtnYwM264TFPO2WHGBmpoaVFRUpKUlRCL95NrVy5SlH7DJxYzghgkso7+p9rmYr7Z583fyHlFsbFw6Ijysr1+S5snpkZX6uDOFhYYKq3LOzW6LxfJfgOvVCK9cvkzUjK692No2WCtXPognnnhSeU0KSlR0i6Sycha/qzmmJXbs2E6bm7fC7RZpY+NyRVGpv9gZnE5X2mi62y3ShoalZLjyicXklzrRhKGkvf1d+kbbERw8dFARELW1dbrPrUMopRBEBIOpXCpJkvDkk08g4PfTr35tQ84RUMvOl0njsj+h6igrHA5Rl8upm1iqp7IA1APYnZOH5XA4VtlsthUul4vcfvtHYbVacfXqVd2M9nA4hLNnz9JLlz4gatPt0KGfEau1VAkDOVlxTGe/6m/+5in63HP/gJtvvoV6vV6ycMFCVNfUAJRef24o4HA4EI/LOHPmDAIBP124cAH52vpv4Lnnmi2f+cxnyUfmzyd6o4RmYLWWwuPxkIaGpeS//bcvkk9+8o8hCAJ8vnZy6dIHRBRFOJ0uovW67HY7ZDlGmLf11ltv4sIFPxobP0XM+Mp9fREkEgnMnnUT3G43/u3ffq4SMxKpnDNXqbwxODiURl5qDwsAiKXoipGPZRn5UqqTraOsbC7zr4DhzFeDNAY9dbV+/QawPI9rkgRBEDhZcUxbsvrrpzbQlpYX02ZrAEBnZ6fy3LhdLsyZUwmfzwefz0e9Xi/27f+p5Yc/fImo0wsKcTxsVK+hoYE0N79ATpw4RbZs+S6CQYno5U+pwTyyffv24tFH/5L29FzJaf+rV68h9fVL0l67crlbKdhnt5VS9mMgGecYbVtHYaXm8zgrXI+XOcrudLtd+MhHPoJ4PD5iBEOOyeiPRtDTcxmdnR3K67W1dfSHP9xpAYDunh5Eo1F6W10tz2LnmLZk9eN/fgX19UuwcOECsnDBQjI4OJj2Bc+qb/7yl7+gCxcuIN/7p/9jeeihh0wrKaZgunt6cKm7m3549Sr6o1FSVFQ0YmSdjeSxdRKJBMrLHfijP/o4aWp6nFgI8NbbbxKmqJgK0iquWCyGrq4unDr1H2hoWE4cjrKMyo7tK6XyqrFnz4+vkxABqawcyUODg0NEq7AoTd5SJpT9uD/aL5n2sEqsJbezOBuAUo9dTVY2e6pUjN+fXqlh7domZUQwGo1S0S1ysuKYlmS1adNGhay8Xi9qamoQlCSqjUaOHD0KAGhu3kZY0nSm7ba3v0tPnjyB48fb08x4tTckiiJl5jzrp+CtX4JFi+4gnqp5Sq6UWnGVlzvw7Wc2k5WrHqZPfOWLaG8/RmbPmWeotCRJQmvrYXz5y4/TXbt+ZNrTamhoIPX1SxQD3mjqUK7lGU3NJdS2ykrE44gnUoQVDAZHHMy9n1+hNKAAAB4KckxHbNq0kba0vKglqxHWSVvbUer1eskLL+zI+MC3tbXRQ4cOoK3taNpo+3BGPDyemrTMeJay4Pd3pk2Tqa2tSzY0LCXqKTha4rp94QLS2noU69d/lba0vKhk3WuVFgsPW1sPY9OmjZQlfuuBWUB9fRGUlzuwZs2atOMKhcKorvakRWqltlIalWNwOl0kGLzOI5aiok8A+IMpwpo/f76DtZM3lIDDFUO1GbiNjcvhqZqnqKupOL2GgyMbduzYnuZZ1dTUpDVbYSFgW9tRunZtE1GPlmvV1IEDe+lLL72kPNy1tXVYufJBsKolwyRIhnv+KdthI29VVVVppOD3d5KWlhcxTKb0a+s3YGnD0rS5g+x3c/MLZFnjp+gjX3gYAIgeaTG0tLwIt8tFv/3MZlPP9N0NjWlZBX5/J6qrPSO5RKcQoMVicZhWWKFgaI47w0zxUqsVckxGOBxiLE/UhAUA/f1RAKkJnxwc0wmvvvYa3bjxaYiiCD2yAqCQVaYQUD2JuL5+Cb6+fgOqPB4AID09Pejp6cFx33FFFOhNu1HnUTH15fHUwOtdjFAojPb2Y3jkCw+jsXE5XbduPRoaGoh6mo0/cAGfv/de8uZbx+i993waLAdMT2lJkoTnmrfCW7+Emhkk8FTNQ339EmQz+e22UhqX02fGJJNJ3fmEFrMfklrmZmrTtWjRnallhodNeSY7x3TCqdNn6OZNGykAeL2L4anyoLOzMy2/So7JGcnKH7iAJ77yJfrIFx5GOByi27fvwI7vfR/e+iXo7e3F7377W5w9ewZ+fxdTUgBSpVi0E6UdQil1u1NeVjAoEb+/E35/J3y+4wiHQ7SxcTnq65egtfUw7rvvHjzxlS/RayoLZ4YooqfnSipEPPJrAkAhLaNrsOEbT8EfuGAYFqoVHEs4V/tY2n6bLJG0xJqdKyz5fGjxhKyEhFomrvJUK9UEeDjIMZ3Q1xfBc1v/Hh0d50lj43J4PNVKs9BhBQQ5JuPw0TcMzfW2tjbatHY1feVHu9HU9Bh2v7KHVFVVI9XAJdVsuNRqhbXUZrqRLoP2gQ8GJcKIq75+CURRxCs/2o2VD/xZsr39XcrIpaxMwNUPr8JTNQ9q0jLaz+Xu1LQjM8fEGqsWCjkTlhyTVRckPc1BFEXMEEWFXXk4yDGdcODAXrpv317U1tZRj6d62JfpSmvb/otf/hxb/+F/Qo+sXn3tNbp+/ToKALtf2YPHHv8iOjrOIxDoGrEvm92W07FpS8loiYtl0tfW1tGOjvNk7dpH8PLLLymkZbXZ4A9cgKdqHnbu3G1YT4th3769ePW117KSVpUnO2Hl0qHKku+Hpz9xU6Q8BOSYrqHgtm0vUACoqqpio3RpZNXWdpSuXdMEPX9nx47t9JEvPAyv10tadr5MamvrlEqj2rLFY4VgUCLBoETq65coU3DUpMXOs6GhgWzZ8t2sVUw3b9pIzdTQ0sLpdBnWyRozwjI4EB4CckxLvPiD76Oj4zypr18Ct9uN4RE75QEMh0OoqqoieiNoO3Zspxs3Pp0y1jd8EydPvkePvfN2+pe9OHN4crOozN11Ol1wu92pTjPD8+6M6l1lm+Sc5qH5O1FbW0dFUcSTTz6BHTu2K+sKgkBOnT5Dn3jiSbJy5YO6xfkYOjrOkwMH9mbcb0V5uelrbKQQ1SjmtyIHR2a0tbXRgwf3QxRFxQBX2yGsUsm+/T+16IWBGzc+jdraOvq19RtI6+HXUw9yhgYrVpsNbpdLaQAxnDDKiMFQFORSA54Z65IkkY0bnwYA+uijTYRNo/MHLuCFF3aQI0daqbaMM/tbkiRs3vwM7r//wZwH1+JyjNpt6Rn6JVZHVtLihMXBkQF9fRG8/PJOSJIEpq603u2RI63YvPk7I0omnTp9hq578supki3PbiGsUu/Nc+Yo+UksHIxE+olbnEkB4Pjxdhw50goA8HhqiNfrVVTcdcJJHYO6WidTQ2aJq6PjPGGeVnPzVlR5aujShqWEFdecIYpk2/Z/wnCOVhrYviRJwq5dLdQoz6zQyImwWIY7B8eNgvb2d+mRI62KumKNgJnS6uryw+OpGVE/qq8vgo3f+mtIkoTt23eklRWPxWIsd5GqQkIa8Hdi584WCgBr1zQR7/AEYjZ6yNQcAIU4XS4nrDa7xel0UY+nBuFwSMmSN0Nc6rIyzzdvRW1tHRUEgQiCQN6/eJF+/t57SWPjctraethwezt3FoawHEIpDcYz1+jLycNKJnkjG44bC4cOHVAqZ7LXXC4nEsOmsd/fiU2bnh2x3gvPb6WtrYfx9fUbEPD74Q/4r5NEKMRIC729vXCLM3HwwF5s3Pg0Vty3guzb/1PLylUpVWPUN1CtsNSjbE6nizB/arhnIDKFkGpV1t5+DC/+4PsArjcW8Qcu4BtPPa1UJtXbXkfHeWJmxDAbItHsRnxOhMXVFceNhFOnz9C2tqOUEQEjCCA1By4QCFCvd/GIFIa2tjb6XPPWVAgpijjuO56mjhhpMdX0fPNW+Hw+eujQz/DVr20g0WiUhsNhdZcjqAhJUVh6YKY8S2FQh2/acE7v/5aWF3Hy5HtU3Z3pP330o1i58sE0ktOqrZ0tP8jp2rJBhESOo4U5ERZLFuXguBHQevh1dHScJ3NvmTukJiv2OxiUyLp160est21bMwBg2dKl2L9/PxJygqRqxgWV5FKG5uatAIB9+39qqfJUK6a30+mkFeXlKCm1E0EQEAyFEA6nklS7ulLlkFl7LC1ZqZGJtNSvqUloZ8sP0lq3XZMkrF69doR3lXatWg8bZr+bRcFHCbnC4rhR0NcXQWvr4WE1YBvxxR4IBKjHU0P01FVr62E0Ni6HP+BXSCQqxxQPzO12w2a3YedLLXC7Rbrje98n2r6TgiCQ3r4++qt//zeaoVX8iIoOemDGulHT1hFE3XoYHR3nsWjRHSQajdLu7m7U19+VVi5GD6+9enDMzXcLvzU5OEbi/YsXqW84lNMiRTwSeeCBB0a89/LLOwEAHk81fD5fWpPUUCisqDMWajY3byMfXrmMD69cRjgcVojrtVcP0nVPfhn79u2FAVmNUEwdHeeJ3pSaSDRB1KkImbbBljvS+ivl9URcptckCWvWrMlKdKbFz7DvVmorzcn74oTFwaGDY++8bdhGnpEOq/um9ryOHGlFff2SNL9KG7IxxbR+/Qb09vWht69PIQYA+NvvPEM3bnxaIZfZc+al/WQjLjVpxWU5yUKtXPK0Dh7cnxYWdnd3Y8nHPpFxHZ/vuFILyyzG1MPi4LhR8Obv3iVasmGEEw6HaKpSw7wRnpckSaiu9sDn81HtegwsYx5gKQtXFdLa+K2/BuvtN3vOPHzyP/8pqamuIjXVVYRls2cjHqa2AGAgacmpqCcjaUmScOydt5UQ9erVD6kgCISVjzJa9+iwcuQhIQfHOMEfuIBzp04qo23a94NBSffB3b8/lQ2v15QlHA5Rp9NFPuhONXTwer2pBhWSpFT03batWQmrPLWfIvULPk1c1o8o2xiCxwKYK8PCiFE7ZScXldXWdhQAFDKNRqOUnbfRdnxZal9xwuLgKDCi0SjV9inQKglW901Ncn5/JzyemhFVeNW43H0B6o4yLL3h4IG9aWT1n/+oMo1oOrsCNBY9l7N6yVQmJtP5AVCy7dl8wA+vXFbO28gLO27g+zGMNtOAExYHhwYnTpwwHFELh0NUFEUs/OhH04jg5Mn3qCRJcLmcilcVDEokEk0QlhDJ1FV1tYdV601Nog6FFHKgwjyycJ4HwR4bcVfKNBQ/i84LF7Bs+XKy+C//mpQvWUXCzjqSzcvSkk+uKouFhQF/l0KSvX19uGnW7Izra1MttGCZBiwPi5vuHFMa6kYJE4X3L3TRTIrF46nBrJnpJWHUo2rqip0D8QgG4hFE4gOWy90XRjzsTqcLvz93XpkHWOkEPX3Bj774WXQFAgQAXn7pFaz+m2bMX3QXisrKxvVanDx5AjfNmq38LwgCue32O0im65OL8c5Nd44pj4muqdbT05Pxfb1GCqzqKAsHtdNMBqJ9iifGkkhZIukfTr2XRpCx6Dn6h64A7ewK0Hu/8reo9tyqvDfU3w9n+Dy93G0+STNbXatM6OzshLpycDQapR+dX0cz7ev9ixdptpCQNVHlCotjSqur0ZDVaJSZel29lAT1A8m6OqvXDQQCVK2eMmVtx+QEYQXstG3yGBFd7r4AT20NOXNtEDt+04NfHDuLcxc6YZk9x9T5iAWq9suIOBLpV0iL1esywodXLhu+l62SajZy5eVlOMadWMxsk/2vbgBqVpnls656vxcvX02rpKBFpo5S2i5SWjidLnVLKzLcwj1teUZaHbY6hN58A9SRqp31lcf/Eh1SH3a2v0HQfYFmIyv15Ga9Zcwor4ScIDarDQ5HGc1GRgxsVFEPrAFzvuCExTFpQjYt0agJR498jIiTvWZmWb3XB6IRmsvxXhtO1szUaUYPmWqZi6KIyMVOxKWUUW8VZ6Hl395K+UjdPtpnch96xJRLiBiVY2kEnImMGIwqTABQGjBzwuKYEKWlR2JqEtCSjpYctGGcXlintz2zxKleXm/b2m3090ezqqRCwijtQJIkzLaep2AZEt1Az+9fT1NgmWDUENUsWamXYy37lGMOhTIrLE2n+EKCExbHqJSWEQloiSobcWjXNdp2LoRpRHSZCE/7cOoriNxNbOl6Ab602lXZ1usJg5DoBZpNRbFk0kxkZpTiYIbEmIfFQsOJginTXV2Ph4OrKvbbjJdlRkGZXS8XAtMjS6OQUL2ezZo9XFErDPW6uSZphsMhmimMvNx9AUZkNXvOPHz8T5aS8vo/I9FZXhJ21hG1ugLSM+JzDVe1pv1AIkYHErExISuWk1UwwrIQwrvhcBiGWWoVoyYytZdk1jQ3q4QyEeloyLO4KP2RYOkJ6jQF9ShiebkDM1KlXagZAojEBwoyMh+d4yWL/utX8cf3P4zyhXeiRHAARannlCk3vU46uY4eslLQuSBTgw09FLwvoc1u57WRb3CCyqRw9N7LJQzMtkw+6QrZlJXxt70tLVQbiEfSKh6klFQwjajLyx2oqqoiRsXt0pTKcD5WIXDxwgcp9TTjFtiqajEQ7aO1tXVUrVgkSQIrQJgPaVXqpFFkSvsAxrbPIs/DmuYKqFDrTlR+1ERcD62q0BbwCwQCtL8/mrZt1gk6m4LKd6oMAxXmKdNyui5eRsflD1MP8jv7AQBer5fYbaVpdbhmza4sYuGqev96rbu0uP2jt6eVmakoL0dXlz+zwjLRi7A/MTTxjVQ5JgdZab0bM2GSdnntuhNNOuN57Vi9dPXDzUK+VDUGiUhBKU0peb1eAIDDWpLUPvz5ZJqLojiCRKgwj1Q6r+eHSfE+BM+cRPhn26nDWpJcseIBJZOcFRlk3X7UcyPZ8Qh2YSjbcSxadGda7lVvX59hM1eGKk91VjIqKy2inLBuUAWlDdmMPKZcfKMbhaT0oM1kTwt3Us1Hceydt9HXF0F/fxR9fRFUVVUPh4vpxrs6TGSEwZaJxAcsLH/LSOGoiYtEL9DL3RcwEI9A6PZRy9v7aLJ9P/3owtuwdm0TcbtciCdkuN1uhEJhSJKEFSseSMvCV+/HarNZ1MfF9qX+v8pTTdS5V0HpasYKqKIoYoYoZr132BxCPpdwivtEeoRjxlfSM7bZa0a5TZNhovFkRJUnnbD02k/5fL6UUigTEJdlVHmqSX39koyt3bUkxvwsLWlp12EdcNRk4hBKU0S1pgmNjcuVkXxPlQfBYBDt7cdSdeX9XboEw5pTGBGlJEnwehfDZrUpiaBucWbWHCuPp8aUfTCU52fDCWsSKibtFBMtoZkZntd7jZOUOdw2f2FaDXS9eYE+n0+Z5BuJRjFDFLFs6VLT4Z1WialJS0t6jDDdbpF6PDXwehfD6/USj6daqaclCALcogh/wA/WBMPjqYa2ASpTVFVVVSRbGsaKFfdDHfpWlJfj+PH2jNeOTQxnHl+hicuQsOKynLwuAyV+F48htFNJMiVd5huqcZIyj2pPdcY0BVEU4fd3oqPjfNrrdzcsy+pdZWoGoSUt1sBVnZ4QDodoKBTGxctXSVqfQ0nCzp0tdN++vVi58kEs9i7GwYP7dRWU17s4a90qAFjysU+knWNvXx9+/ebvMq7T0JAibTMJuFxhTeEw0CyxcOIZe1RWzkJVVRUxIh7mY6lrYF2TJNTX30UaG5dnNdnNkBYLATs6zhO9bjgD0QgNBoPw+Xz4l3/ZM/TccH/Dr6/fAKfTpbQQc7tFWiKUE3bM9fVLhtvcG899lCQJjY3LIQgCCQxXXnWLMxHwd2adFpStUUU2ZBsxNZyao9eLjaOwoZ9WXelN9uUY/8+ovNyBxsblaW2r9B5wFhYKgsDac5G1TY8r6xl1SdaSg1G46PHUwOOpgd/fyRQX0XvAvd7FRQ899DDcokhaWw/D5zuephAd1pJkR8d5klrWi7a2o9SohyHDunXrcfLke5QlgZoJB0VRxK1z55LR3LvZrhefSzjOD4KRAc5V1ORC4/JPQ2zemrE8S3v7MbQefh33fn4FgFRxu6UNS0lj43Kq9Y60ak3tVRk9pKyuPCMu4HqOmNvtVtrWh8MhHDl6VN2mPm07jKzWrmnCkaNHR6jFSDRBBuIRuN0i7eg4Txobl6O+/i5y4MDetPLIrIyzEZYta8z5y7aoUAqLIzciMrsMV1JTA7fOnUs8nhqqJhXBLiS1kcf+/fuxaNGdlJURviZJ+MZTT5PW1sMjRuGMWsMzv8roYVV3W2bLCHZhKBqLFqkJUE81qcnquO+40r1HnUvlEEophOvrbvm7/4H29neV993iTBxp/VXWUHfF/Q8q18AsSm2lNCrHCuthWW02fgcbwOzkX70ROqPRQY7J8SWk7ewcjUUVQSDYhSGmsn7727eUZQL+LnpbbS2+vn5D1gdcS1SZ1Jx2pJEdC3td2/orGJQI63+4fv0G+AN+hEJhZdqRXqWIjo7zpKnpMdw6dy45efJESlkNpzEcPLg/azi4tGGp6ZwqvXaJZtqXmSIsQRD4XVwgz6qQy3OMQ1hooJDUSusXv/iFkg1earWR35/6Pf3Sl55Iy8syUlBqn0s9Opgr2EgiIyoAaGp6DA888ACOH29HMBiEy+U0rIzQ0XGe1NbW0Wef3UKOth1VvKsqT40pdZVrOMgz3SeAhLJ9OFwxTW3cvnABWbascYRy0fOyDh06gJRycVIAuHL1Kt3xve+nEZKamLSKSR3aqYnLDIGxTs+MqFaufBBr1zQhmhgi6oEDINX8gZGW0+kiTqdLGYHc/coe8v7FizQoXYVbnKlMYs6mrgBg9eq1AMznX+ULUx5WrvWw4rI8LYgpU/ndXCsRcEzNz3/16rVK63hGDm63OIK4Dh7cD6/Xqwzrd3ScR21tHXbu3I377rtnhJrSkp7W28pk2OupNI+nBtXVHjidLsWEt9rssNtKEQwGR5CW3VaaCmEDASpJEtn9yh4IgkDeaGulbnEmgtJVVFVV49lnN2UlzPr6JWhoaFBGB21WW155WA6hlAbjmSu9Fo8FAU11z0uPjIxK/HJMbzQ0NCijfmqVpS5BzIjopZdeSiutcuydt3F3QyPZ/coe+sgXHk5TT5nmDqrVFnB94rXaVGcelLqyRFeXXxkpnDV7joW10mKTubXEFQqF0dFxnmzZ8l18bMkfkb1799CKigqFrN5oO5Jm+Bvha+s3AEiZ7TarDWVlAsuQNySf/sQQyScs5KZ7jt+42kqbXF1Nf6xbt15X6bjdIlVXPGhvP4aDB66rsZJSO3nt1YN00aI7yO5X9himNGi3rZeXpf3x+zvh93fi96f/gHNnzw4FAgHKyErTmWcE2OTo9vZj2L59Bx59tIm8/vrPaUVFBXp7e1NJooEusGTUbOrq8/feq6irsjJhTMNC7mGZVFo8DLxxP/+GhgaycuWDul6W1WazqCcuHznSCt+wKhlIxGhFRQVee/Ugra2tw6FDP1M8KTb5WE9hacPEbGFUtiRvpqyY0jpypBXt7cew+5U9uP/+B8mBA3tpSWnK12Jm++bNz5ja/6ZNz+bkXbHyN5bk0NgR1lQrkZxv3XA9r8rs6xzTG1/f8M0RSkgpEzM8OZkpp50vtSDg71TCw4qKCrQefh03zZoN34lTpLa2jjKDPFtKQzaYqSPPiKqrKzUx2u0W6ZtvHcOiRXeQAwf2Urc4Ew5HGWVG++ZNG6mZ42lsXI6GhgYCpOYOzjBBsvHE6PztaVki2WwrKW2nFTNF77iyujFV1u0LF5CvD3s12tCQ1VJXv97cvFWXtE6efI8ePfprC8vT0vpV+UCv/I1WYTFV1dT0GI4e/bXlwyuX8UZbKy0ptRN1V+fnm7dmrHelRvPz/0j0nomxmvhsmrAme9ccozpSRuVVtO9zEuIwg69+bQOpr18yQuE4rCVJbUhnRFoBfyd27WqhjzzaRN58K1WzKt/cKyMwLysQCFCf7zhaWw/D612MN986BpZnFQh0oaTUTgYSMcpadz3fvNWUyQ4AW7Z8F56qeejri+CaJJlSV1nVl6pCzLT1sMy2g+KkxDHae6y83AGWW6UNDdWTjTORFsPuXS20o+M8mp//R3Lo0M/SiCtX8tJ2xwkGJdLefgwdHeeJx1OD3a/swa5dPyIfXrmMAwf20kikn7jFmRhIxGhVVTWC0lVs+MZTpsmqsXE5nnjiSQJcHxlMi8is+Q3SDeilv2swJmkNExH+cULiGGvSKi934PaFC8jmzd+hTz75hDY0JCVWB9gkYgCEkc/GjU+jqekxLGv8FAAMj8SJ8LUfg6/9GPXWL0Hz8/9IotEo3feTPTh46CDVhmWZQkbtsrW1dXTtmiayctXDwyViuuiuXS2UqbyBRIxGIiBVVdX0jbYj2PlSi2mSnHvL3KFdu35UrH7mysqEcQsJ+eRnDo4cSWv16jXE5/PRlpYX00hLFNNyphTSAoCWlhfh93dhxYr7wdIHGNTEtXLVw3jk0SZLwN9FT548gePH29HV5VcqN6i9M0Zi9fVLUF3tweLF9Vi06E5UeaotAHDy5Hs04O+k0WhUmV7X29urkNa2bc3QZsJnw/f+6X8XsfSe0YSCcTlG7bZSVtOdAqmWagUpL+MWxbRut+N9g2QK6/ioHcdE3JPPPruF+P1daQmlLAte5ccUqXOuWK2qZcsasXhxPdyiiGg0irgswy2KCPg7cfrUf0AQBDpj5myyaNGdtHH5pyEIAgGQ1m6LQf3eh1cuIxDowsmTJ2hQkuBmlR2GyYqlLPh8Phw8uD/n0HP79h1KRnuhfKtckxuKp8INkikM5KEgx0SR1q5dPyL33XcvVXs/rJyL2y1aorGoooTUiaL79u2Fz+ejDQ1LCWsPxhQXI5drVy/T8+dOs81SALDb7UQ7Yh+NRqnWsrHabGnJ3oyoAn4/jhw9atqrUmPLlu9i9eo1im8llE1MQYTiyU5UejPAOUlxTBbSOnToNfLoo385QmlJkkSy+U7D8w0V4mJz+Bh5MYXEeirEYjEai8UQDIXgdrlGREFasNDT5/Ohre0oNZuuoEdWzGTv6bkCm9UGu7Uws19yaVM/aQjLTKNPDo7JrLS0pKX1mowSRBlxsQnMXq8XlZWVEAQB16fKiExNAQBqamp0j0ftjXV2dsLn8ynllQEUhKyAkSb7lFdYsRxGCfSK2HGS4pgKYNNRGGl99atPUHVlBzVx6U250VYglSRJCdcYgblcTlTOngOb3Qa3y5WmpJjyCoZCCIdDyuTnfJWUFtu371DCQH/ggjKxeSIxJoSVHEzqfhOZUUyZap9zcEwmlJUJSjng8nIHXnhhB/FUeajepOFMZWX0zO9RJJOOmqxEUcTOnbuVaTf+wIW8lNVYPMPjkjiqHskzM6rHyYpjqmCGKOKaJClftN9+ZjPZ/coew3pWjITMlAOeCDQ2LkfrkV8TRlanTp+h7DxzIqv+2JjMPx41YZn9FuAkxDHdSYt5PJ+/917y2s9eR2PjcsNnRt3fz6hg33hCFEVs2fJd7N9/iLApN6dOn6GiWyT5pC8kBxNTJyTMRFacuDimM2n5AxcwQxRx+8IFZP/+Q3j55Zfo5s3PGIZ9eiFiPoJgNFi58kF8+5nvEE/VPLAQMBqN0lvnzh21Surt65tcCsvsN4M2FCwvd/CkT45pR1o2q00JEQFg9eo15M03j5GmpsdMRSta70pbA76QSqy+fgl2v7IHP/zhS2mqCki1ORvr6xWTr1eZULcdy0thxWU5CWeqz6Eciynp86NVWeqqnRwc0w1lZYJixr9/8SK9de5cUlk5C83NL5DHHv8iffEH3zeVZT6Wyqq+fgke/6svkT9/+CHlNaaqRLdIJnokcMJDQk5UHDeo2iKslT0LE5ubX8CT69bjX//lx/QXv/hFXlnn+UZCy5Y1YvXqtcron5qoBEEg46GqxoWwkpTmpK4sxRZDhaUlMA6Oaa62CFNbACC6ReKpmoennvomeeqpb6KtrY2+0XYk7ykz2UjK612MFSvux90NjYpHpSaqsQr/EnE5YxOKMSOsRDye80a1eViZQkQOjhtBbc0QRXJNkiAFJSoFJTDV1dDQQBoaGvDtZ1Ik8kZbK01lqHchEAjQYFAi2cJD5muxVl+sakN9/V1E7ROrSWqsiCoX5DotJyNhqQvbF6oeFldVHJy4RNLfH4UUlCibasPIy1M1D57Va8jq1cqXurIs6yytRqnVRpxOpxJy6pUG15IUW5YhFpcLMi+QZf2Ptf+VVWGVWq0F2xknK46pirgsF6zdHQsVgVTlg2g0SqPRKMLh8HBH5uskVFYmoLJyFsHCBUabU1psMXJi21FvSzutpr8/CkuxpWCTmMcLk7oeFgfHZMFY9eZkqgsARLcIOS4jGo2iu7sb3d3dUBMPAIXUhj0iPcWVRnhQ+UhqFVQIJRSLy7r2j17drnElLK6qOKabKurvj454aI2WzxQ2jTYUUj/0jEhmiCK5de5c7XIkOZhUSE1NRBr1RLTHx5SU3jH290dRXGTRPW/1e9prwP7vHxzfBjW8RDLHtFZF2Twa9lBmQnIwCVivk1ympqHZQkc9olSPqhsRoN1qA6wwJEe9Y7IUW7ISqfZ9th12Tdg11Lsm401WeRNWMBhUmjNycEw2qB96RlbsNUuxRVE07LXBoWTaw6t+aNl77DUjslK/bs3x+NSkmslXUqsxtpz2ePL1pbTbYeet3udEEBRXWBzTOgRkD5qRmsn0wBs9tKMhzFyWY8SlhFvD4Rw7bkuxRSFcpvrY/2qy7R+MKq9bii2wUGRVfUbqy2wL+klPWMFgkD8hHJOWrIweRu2DXWioFZyRKW1EGmpyilM5jWC1f2tVo5qg+/ujyrLJwSTsOsRTViYYXrNsRDYlCIslkHKi4hhLwsnXvLbabBhUPcBMqRg95GOFTASTTcWofaFc1J16Pb3zM/vaVEDWag2JeBxBSUIySflTxTEq6Jm3cVnO+k1v9O3f3x9Vtql+ANXqYjJP5J3KxJENhS4rY1phMaKKJ2T+xHHkpZyYYmBhCFNE6oeVKQ093ynTg61WF2rfJptJzjE1CdhQYUWiqVo1+RDVWLaq5pg6N24sLis98pjPMjiUxOBQMu3GVhOMkRLLJRybatnbHAVUWBwcuZCUelidmcdKasBgNCPRqFXSaAxxrqrGF3Jchs1qU36P9osnL4U1EE9lqFtL8/u2Gqsi9ByTOxRIDqarp1y9KbOjahyTh6zGE2PWNWesitBzFI5gclEimZZXD8lzcLIayy+frCGh2sPiKQ3TC2YTG80sz5XR9ArrtOGdHlGx9+W4PG5Ky5CwJmvfNI7CkZXW+Gbek16aQXGRhXtD01wpaX8bkdpEhYMZQ0LmYXFMj/BPG9pp0weY99TfH9X1ndSvTdfwL9ODWoiHU287+Ww30zq5bC/bebH31ctkUl4TSlgc0y/0047aGOU8ZcONEP7pqY3REJc6jFJvI9PDr9230Wu5kEm+55BpvzlvK5b/+jyt4QZTWdqqkzzM0ycT9uCPRk1kIibte2qy0fOIzBBYtmOxWW0jtjkRGE0SOiesaQqtD1VWJiAWl294gjKjQrKZztm2mym01FNZhVQy2fYx1ZO6OWFNQ6JK+4BVNZ0mUyg3Fl6I2ZEto4c6k2rRe81o/WxEZCb8LJRqHG+yGut9cMKaRiGftpztoMpAn0hlpUckY2XcZntgzKicsXoA2T7NkN90Rr7J6AA33acNysoEhZz0KlEytTURGI9RpVwf9kKQVSH3yeffjlJh8TysyaGa9MI7ljOlriGlrk5glHaQbwXNsSKXXD2iTOvcSAqFExbHpCIpddXKTIRjFO5N9rQDvdAom9FtdvifgxNWXhjum8YnQGeAOi+K1XEyQzgWOrUqEhh5WNrXjYb+9dINOFlNXgwXPhiTip+GpkaJJTmUVQ0khjghjUZJUVxvKJCDMposoV0+YaCeqspGQHrJm+M5f40jN5SX2ce/kepA0lLEL/3YEBWQmt5itV6vQz6Vkclf0lNR2UhKneTISYmjYCFhNhGW79SPGyEEVJPXVCcpdcKkEWnphYNmts8xdUPCsfgMi7OEhKNSWbxGUjpRTfc5eGZn8nMyurExJlNzzISEdltpxliVNXucTsSTa71wdVPMEddmCiqqQqgnjumN8jI7vZLh/UmbODpdFBZTSHYT9arVrxuR1XQgKq6eOCYCo/KwYnIi4/ClZZq0MlSTTjYSHtFAwQrT6QqTiaS01Sc5OAqBYDCIytlzxiAkjEcAzBrVwVltU7vdkp4yYvlSFnpdQWVqSZ5Lu/LJqKg4WXFMJhjnYZmYmhOXYzTXB34ioa1kkCkEjMXlEWqK/W+32jA4lFSUl91qM5ynN1XJihPV9EU0GqXRaHTM4p9sHbNGY7qPqkSy1WafUomjZhWfuq8eQ1mZALvVNmLeHvs9GZI58y15mytsvFHplCcqQRCI2XXUv81A3TErEukvKEeY8rCCoZD+gU3T3NJYXE5loeN6Y8/JHNplqy2l974Z0jKqHcXV18QTj5p0otEozURAemRjlrjU72u3Y5b08oHD4UjkTVhGKCstmhK2unpCsbZEsDrUU4dxSU1Ix7yryUZaWhLRK7ebr3HOQ8TJCUEQiDas0yMxs+Rndh22X+3yZokzF0QikdKcQsKphEzelLojsaXYoqQdqP01Np+PkZFRdv5Ek1Wu8+442UyN8CxXZZVpvVy3q0d+ZpbPd/1xCQndLhfC4dCUCukURlapIvY7Le1Ah5QyvT9ZFJVZ8LSE6Rf+6RHHaLef67JMTWVbv6TArtGoFNZkqdagNtP7+6N5VUCYjuAVDcZG6eRLCEYKycz+x0vBjBXZTQrCMlGBZtyU1Ihjm4R+02RWYjcyxso8VhOU2t/RM7LzDQ8nOwYKTBEZCSscDlHAeJRwokmJpR+wvClGVDe6srrR1VKunkym7RRSmWVKK1CHV1OFjEwRViJW0HMZ1ShhtsTRQpKW0aRjlm7ADPXpSFRcLeWulHL1ZvTM5LFSOno+lNFv7XI3OgpeIrmvL1LQ7bGpL3oTkJX3MXXKt2RquGm2PAtH7sop05C7mhCMhuj1CGO0RJJL6sFUuvbD5dEBACWl9oKWS54SaQ2MpIxUlt1qmxRklSmlgBng2br+cqIa25AxW2hnJp8pl1ynsUyunKzXuNRqG7NzHjVhSZI0Jget9a7UftVUC9+Mkjpz2QafDpP7g6MXXmXyubSKyig8GwsVNV2VbaE9rFETliiKBf9W0daU0iMu9p46XJxoqEM9bbMFrdpir5shIk5WuZGUUfZ2tvsyk+ktCAIZ7yRJjpGYlH0J9UI/tYelLjk8mdIXtCFfocoE8zAxM8kYjfRpCWc8/CaOdOh5WKziqNVmJ7kO3BXUw2JpEPk8aIyEjBQTSwZVT7VR/55MCsuscuIoDFGYmQPHr+T4QW26a0NCt9ut/J1PlkFWwgoGg8Y3gqa8TDAokWuSBJvVhkRcNi2dtQ1FtSSkrU012UcDM5Vw4USWuyei5zmpzXG9hEy9UJFfzfH5gunt61Pu9d7e3hHLjEk9LDMo1TShkCQJ0WiUlpUJyMV0t1ttSqjHiKm/P6rkX7GGo1MJRsTEw7vRkRdXTVMDFeXlKCsT0NnZmfa60+ka1XZHHRK63WIaaZ04cYKUlzvgdDppOBw2dVPF4rJhddLJUhzPjKLiaQljS1TZMsELWd6EY3QotdpIf38Ufn9XOl+4XBmjtrwJy0yJZD2887u3qDqWvaaT9qCnsPTCwYlUVVoCykZKeoqKh3/5hxV6oZ/RMmbIjGN8wESK0+mkUlCiPt9x5b3a2jrq1skqKAhhqUskZyot43S60m6ktrajtK8vYiq5TmuuT6a2YNmMcz1C03ufIz+y0uZBGaUncIKaXLh69UPlC6aj43xanibjiuFuWxmRHBp62zRhWYqLrxYVFb8DAKFQGICx+e5yOdNysTo6zpP29nfpDFHETbNmw2xYONGKKhNxZSIerqJyV01qEso2YdnMdBpOWpMDrPnEzJk3EZvVhiOtv0p73+v1IihJo5qDrEtYPd2XcgoytT7WoUMHUF7ugCAIJBGX6fsXL2ZUWayE8WSDGZXEVVTuxGVEMNnyqXIt/8sxvrjS8wGtKC9XwsGDB/envV9TUwN/wK+7blyWk5IJ+8iQJSjQPRwO0mAwmJY/kS0sbGl5EadOn1FU1odXLkPPy2Le1WRJ/swU4nGMDurUA/VPJhWmXY+T1eT9bFkkVWq1EUEQyL6f7EkLB+vrl2DGzNkkGAyO6LYVDodoNBYt0kZ5ORGWhZBfBoOSqXBOGxYCwHNb/145mVKrjQT8XaZutIlQWuqpMhzjFxbmuo7R3xwT/7levfqhoq6i0Sjd+VJL2jKf/exnce3qZRoKhWHXpENpUVRU/I5RlGfIDslkUnHdQ6Fw1qFIj6cm7f99+/aivf1d6qmahzlzUq2p1aGheqqNWmlxdTW9ySqXAnvcXJ8a6Og4D7W6em7r36epq9raOvrxj38Sp35/KvXsZzDdRVEEpfTNnENC5tIHgxLRTrnRQ3W1Z4TKWr9+He3puQJ1aMhISz0nELjeqWYiQkPtlBqutMYmbNAmfmYjIU5SU4esamvrMGfOHLzR1kr37dubtsxDDz1Mevv6cObsGQDpU3IYt6gJzmKxnMuZsFxuVzcbKWQqywiMMZcta9SeDPmLv/ivNBaXIbpFoiYt1uJdrbgm0sdio4E8HWF8QkBORlP7y0dLVoIgkIC/i27e/EzasrW1dfTez6/AwQN7DbentZ4GBwZ+lTNhnTt3LsKkWTYvy24rpV1dfjidLtTXL0l7r739GL74V/8fLSsTcOvcuaTKU03C4TA5e/a0qaRSjqlNVPnUWeeY3EQV8HfREydOKCkM7LW1ax8ZUR9v3bqvkmPvvA2fz5f1sxdFEUVFxe8YGe4AkLFrmGAXOkHw/wMAIYQChNhsNiTkBCkqTl9VluOQ5RgWLFiIQMCPWCymvNfV1YUTJ47j7oZlZIYooqi4GLGYTPz+LipJ1zA4lITNaiNlZQJKS0uUnyE6BJos7D0ux2UMDg2iuHhkZZ3BoUFFbbG/OcwR1MDAANgPAOU3x/TBpQ8uoqenB/FEAjfffAuZM+dmiKJIjh07Rp588ksjyKqp6TH86d3LSPNzW2GzjZxbnMpAkAhbz263gxCyt6en+2BehHXL3FsSAwODn6I0eYssxwgjLUtxCSnREJbNZkMoFIbdboPXuxjHj7envd/V1YV///df0jvuuBO1NbWkqLgY5eXliPb3o6enB5G+XgwOJTE4OEhisRhokoJYSE6EJcflNCJi5KT+UZOTlriKi4uV16Y7YTGSKSkpIfmuX1JSQjLlVHHSmvoIh8Pkgw8u4v333yd9kQiZOWMG5t46D6IokpKSErJ7Vwv91re+mSZQAKCxcTme2fS35IXn/4GGDLpuxeMyZDlG2Lp2ux00SR/tj/Ybhl5Zb9bKyjmPJJNDu9j/bDTQarMTveHJUCgMr9cLIJWPpYempsfw2ONfxK1z55L+/iikoEQB4MMrlwEArDxFRXm5sg577UZDTJaJ3Waj7O9UCG6jesvpvReTZTI0OISi4iIMDQ5N+Pmo6yMNF3fLe30ttNsrdHneTPvSVQPDX+p2m42yzyHfc8v3GDLtR72+w1GWcd8V5eW4adZs5cvo5Mn36PPNW9HefmzEsvX1S9Cy82Wye1cLPXL0qG6hPq26EkURlqLin/Z0X1qR6TiynvCCBZUzw2HLz4aGBj8GpLLatYmijMAU5pRjlJHWwYP7deu+i6KItWuasHLVw7h17lxSXu5AX18E14ZL1ITDYaIuBDbV0NvXl0a4E7F/jvFHRXn5lLz2evdqqdVGnE4nFQSBsEGp373zO+z58W7a2npYdzuMrF579SDdubNFlyuUfqdawrIUPdrT0717VISlp7KMSEsLr9cLt8uFg4cO0o6O84bLNzYuR2PjcixadCeqPNVkxihndN/oMCrVA6Ry3YxKUBuN0hqNmuo11SgrE0yP+BaysGGmY8xnvVxhpv5ZPsvke3zZ5sBmOw85LiuDJx0d53Gk9Vfw+Xy6ikodOT25bj3ZvauFHjx0MCeyKioqfqe83LH83LlzkVET1vz58x19fZHDQ0ODH5MkCaIomiat6moPFi+uR2vrYRixslZ5eTw1qK72jPuDzmpNj4i1NRUS2XKjqZxo9ngy7WO8jqOQx8wxNRAMBhEIBNLCtkzP7ObN38HdDY1k+7Zm6vP5DMNALVnloq5ME5ZaZalZ0SxpuVxOfOITn0RclrOqLQ4OjqmDlSsfxNc3fBMfXrmMbduaEQqFR5CVOvGcpUjl6l3lTFjDpPV8Mjm0Lh/SYiGi1+tFwO/HkaNHM8pLDg6OyQlRFLFixQO47777cdOs2XjxB9+Hz+czXF6trLRkBQDFZWULLnV1nSs4YemFhsD18jJm1dZi72K4RRHRaBRnz55BV5cffn8nJJ5IysExKQnK7Rap1+slixfXY9GiO9Hb1wdf+zEcOXo0K1HpkRXbbnFxyVcuXfrgf5k9lpxDs9raujv7+nqPa5kyF9JiqK72wFPlQZXHo7zW29uLoOqkrDYbBEHQXT8aTTeXBUFQXovLcsZ1jaDdJgBYCCFJSrV97tKWkWMxkqSUxmXZ1HFrj4+9xjHFvJ7hHCO3yzXtzs0tiqioqIBbnKmMfgb8nTh+vF3JXDd63s2QlcVStK2np/truRxTXl7SvHnVq2S5/1+0B8DUVi6kFQ6HqNPpIi6XE263G54qD1jd54qKiinz4eq1M2LIdh6Z1p1O0F6HG+W8pyrYl6g/4EcwGEQoFFaIyAxRMbLSRk65jAoWhLCA9FQHbUyaj9rSO1kODo7Jg0zPsx5RaVWVmqwo8NlcKxuPirDUSktP7o2GuDg4OCY3jMRFJJogrIFNIZVVQQgrE2npERcnL46p9iDy+9UcUakruhjxgMVStK2iovzb+ZJVQQgLSBnxA4nB/y7Ho5/NdMBa8srlpmBe11T4MHORzpmkt3Z7Zq7BWITVZj8fs9viof/0QCaS0j77uY4GjilhAamUh0ik/xFSZP2ekSTUIzCGEqsDDuH6ZOpINFUUUN0f0WjZQoDtLxMG4hGlwWyJJTlktdks6vXUx2qmEa1DKKWRaIJoz0V7LA6hlEbiAxaHtSRp9jz0rpvecekdc7ZrG5flJDt3dk2M9me0bXacJZbk0EDSUmR0TNptmNmP0T1j9lgnC8byWNX3Qb77yJSGpKiqouKfJgcHv3Hlwyt/KMRxF1yxzLpp1m0ul+vLxGJ5Us3CPMeKg2N6Q20ByfG4byCReNHhKNs9mhBwzAnLiLjispxkrXw4eXFwTD+SAgBKaXskEmlJUronn1HACSMsNXEVl5R8qrTE+udWW+kfG8XAHBwcUwtqkqKU9vT19f0rCHltLIhq3AhLj7wcZWXzKVBHCKkkhNQbLR+JD1gGon1UG3MzL0Ttg1httrx6hMVlOQkAA0lLEYvlC+GRRaIJoj6uSHwgdXxD6Rnz6n2OOLciQkro0KD63Jh/pCZ8Zd0iQtQ+V1yWk8wfMutpqY9B75yMltW+p93fCA8rPmDBEKXazy4uxyzRWGEL77F9a/06vWufj5+Ti/en9uv0rpH2mLS+m9bXyuaVMo+QHRs7BrUfq+ftqber9msH4hGWR9VtIeSXgwMDvyqUPzXpCEuLyjk3u5ODgzPZ/5aiok9YLBaHuiciBwfHxIA9i6zlH5DqyDyWCoqDg4ODg4ODg4ODg4ODg4ODg4ODg4ODY5zw/wAmd7786S0iBAAAAABJRU5ErkJggg==");
      background-size:contain; background-repeat:no-repeat; background-position:center;
    }
    /* 白ボディを白カードから浮かせる淡いトレイ（写真アイコン限定） */
    .photo-cam-tray{
      display:inline-flex; align-items:center; justify-content:center;
      padding:8px 14px; border-radius:14px;
      background:linear-gradient(160deg,#f1f5fb,#e7edf6);
    }
    /* ★塊1a(2026-07-03) メモ・スキャン=📝｜スキャナー。仕切り線と34px SVGを縦中央整列。memo限定スコープ＝他ボタンのアイコン不変 */
    .menu-btn.memo .menu-btn-icon { display: flex; align-items: center; justify-content: center; }
    .ic-div { width: 1.5px; height: 26px; background: #c3cfdb; border-radius: 1px; margin: 0 6px; display: inline-block; vertical-align: middle; }
    .menu-btn-label { font-size: 18px; font-weight: 700; color: var(--text); }
    .menu-btn-desc  { font-size: 14px; color: var(--text); line-height: 1.5; }  /* ★2026-07-08 案A:2カラムのdesc折返し緩和(15→14px・全ボタン均一) */

    /* ★塊2(2026-07-03) 二層化：第2層（あとで使う）の足元行。検索を移設＋日報復活の入口。sub-btnは帯なし・小さめ */
    .sub-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
    .sub-btn { background: var(--card); border: 2px solid var(--border); border-radius: 12px;
      padding: 13px 8px; text-align: center; display: flex; align-items: center; justify-content: center; gap: 7px;
      font-size: 14px; font-weight: 800; color: #005599; box-shadow: 0 1px 6px rgba(0,0,0,0.06); cursor: pointer; }
    .sub-btn::before { display: none; } /* menu-btn由来の上帯を消す（sub-btnは帯なし） */
    /* ★塊2追いパッチ(2026-07-03) 探すボタン(menu-btn daily sub-btn)の枠色を、詳細度(0,3,0)で .menu-btn.daily(0,2,0)に勝たせて灰枠に統一（今日の記録と揃える） */
    .menu-btn.daily.sub-btn { border-color: var(--border); }

    .menu-btn-wide {
      grid-column: 1 / -1;
    }

    /* 完了バッジ */
    .done-badge {
      position: absolute;
      top: 10px; right: 10px;
      background: #0077BB;
      color: white;
      font-size: 10px;
      font-weight: 700;
      padding: 2px 8px;
      border-radius: 10px;
      display: none;
    }
    .done-badge.show { display: block; }

    /* 未送信バッジ（オレンジ） */
    .pending-badge {
      position: absolute;
      top: 10px; right: 10px;
      background: #E67E22;
      color: white;
      font-size: 10px;
      font-weight: 700;
      padding: 2px 8px;
      border-radius: 10px;
      display: none;
    }
    .pending-badge.show { display: block; }

    /* 未送信バナー */
    .pending-banner {
      display: none;
      background: linear-gradient(135deg, #FFF3CD, #FFEAA7);
      border: 2px solid #F39C12;
      border-radius: var(--radius);
      padding: 12px 14px;
      margin-bottom: 14px;
    }
    .pending-banner.show { display: block; }

    /* ★2026-07-19 フェーズ1：ホームのグループ見出し（正本:法人フルスペックホームIA決定 決定2） */
    .home-section-label {
      font-size: 13px;
      font-weight: 800;
      color: var(--muted, #6b7a89);
      margin: 18px 4px 8px;
    }

    /* ★2026-07-19 フェーズ1：データ主権マイクロコピー（Googleドライブ直開きボタンの代替。正本 決定6） */
    .sovereign-note {
      display: flex; align-items: center; justify-content: center; gap: 6px;
      font-size: 12px; font-weight: 700; color: #2f7a4f;
      background: #eaf7ef; border: 1px solid #c7e8d5; border-radius: 12px;
      padding: 10px 12px; margin-bottom: 14px; text-align: center;
    }

    /* ★H1（2026-08-18）ホーム再設計＝容量行・能力バッジ・写真ヒーロー・GENSAKU lite小書き。
       ★配色は必ずここ（style.css）で定義する＝新規カードの inline に background:#fff を書かない。
         理由：main1.js の JSダーク一括変換（_DARK_RULES）は inline の白系背景を var(--card) に書き換えるため、
         inline 指定だと実機ダークで意図しない配色になる（W12 の事故）。class 指定なら _DARK_RULES の対象外。 */
    .home-storage-row {
      background: #f4f7fb; border: 1px solid #dbe4ef; border-radius: 12px;
      padding: 9px 12px; margin-bottom: 14px;
    }
    .home-storage-head { display: flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 700; color: #4a5a6a; margin-bottom: 6px; }
    .home-storage-bar { width: 100%; height: 6px; background: #e3e9f1; border-radius: 4px; overflow: hidden; }
    .home-storage-fill { height: 100%; width: 0%; background: linear-gradient(90deg,#0077BB,#2196e3); border-radius: 4px; transition: width 0.4s ease; }

    /* 能力バッジ行（写真ヒーロー内・大規模修繕/黒板のみ・★比較は出さない・0件は行ごと非表示＝JSが display 制御） */
    .home-cap-badges { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin-top: 4px; }
    .home-cap-badge {
      display: inline-flex; align-items: center; gap: 4px;
      font-size: 12.5px; font-weight: 700; color: #2c5f8a;
      background: #eef4fb; border: 1px solid #cfe0f0; border-radius: 999px;
      padding: 2px 9px;
    }
    .home-cap-badge::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #0077BB; display: inline-block; flex-shrink: 0; }

    /* 写真ヒーロー＝最大・最初に目に入る（アイコン/ラベルを一段大きく） */
    .home-hero-photo { padding: 34px 16px 30px; }
    .home-hero-photo .photo-cam-tray { transform: scale(1.35); }
    .home-hero-photo .menu-btn-label { font-size: 22px; }
    .home-hero-photo .menu-btn-desc { font-size: 14.5px; }

    /* 足元「さがす」の GENSAKU lite 小書き（画面タイトル「🔍 GENSAKU lite」と一致） */
    .sub-btn-lite { font-size: 10px; font-weight: 700; color: #6b8199; margin-left: 5px; letter-spacing: 0.3px; }

    /* ダークテーマ上書き（★_DARK_RULES ではなく CSS 側で固定＝新規カードは class 指定のため） */
    [data-theme="dark"] .home-storage-row { background: var(--card); border-color: #3a3a52; }
    [data-theme="dark"] .home-storage-head { color: var(--muted); }
    [data-theme="dark"] .home-storage-bar { background: #2a2a3e; }
    [data-theme="dark"] .home-cap-badge { background: var(--card); border-color: #3a3a52; color: var(--text); }
    [data-theme="dark"] .sub-btn-lite { color: var(--muted); }

    /* ★H3（2026-08-18）ドライブ情報カード：主権コピー＋容量行を1つの枠に囲む（意味の塊）。
       ★配色はここ（style.css）で定義＝新規カードの inline に background:#fff を書かない（v328 のダーク罠回避）。
       ★容量行(.home-storage-row)は取得失敗時 display:none＝そのとき区切り線も出ず、主権コピーだけで枠が成立する。 */
    .home-drive-card {
      background: #f4f7fb; border: 1px solid #dbe4ef; border-radius: 14px;
      padding: 12px 14px; margin-bottom: 14px;
    }
    .home-drive-sovereign {
      display: flex; align-items: center; justify-content: center; gap: 6px;
      font-size: 12.5px; font-weight: 700; color: #2f7a4f; text-align: center;
    }
    /* カード内の容量行は外枠を持たず、上に細い区切り線を出す（表示時のみ＝非表示なら線も出ない） */
    .home-drive-card .home-storage-row {
      background: none; border: none; border-radius: 0; padding: 0;
      margin-bottom: 0; margin-top: 10px; padding-top: 10px; border-top: 1px solid #dbe4ef;
    }
    [data-theme="dark"] .home-drive-card { background: var(--card); border-color: #3a3a52; }
    [data-theme="dark"] .home-drive-sovereign { color: #7fd1a3; }
    [data-theme="dark"] .home-drive-card .home-storage-row { border-top-color: #3a3a52; }

    /* ===== サブ画面共通 ===== */
    .sub-screen-body {
      padding: 20px 16px;
    }

    .card {
      background: var(--card);
      border-radius: var(--radius);
      padding: 20px;
      margin-bottom: 16px;
      box-shadow: 0 2px 12px rgba(0,0,0,0.07);
    }

    /* ===== ボタン ===== */
    .btn {
      width: 100%;
      padding: 20px;
      border: none;
      border-radius: 14px;
      font-size: 18px;
      font-weight: 700;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      margin-bottom: 10px;
      transition: transform 0.08s, filter 0.08s;
    }
    .btn:active { transform: scale(0.93); filter: brightness(0.72); }
    .btn:active:disabled { transform: none; filter: none; }
    .btn-pause-hidden { display: none !important; }
    .recording-active .btn-pause-hidden { display: flex !important; }
    .btn:disabled { opacity: 0.5; }
    /* ボタン押下フィードバック：.btnクラスなし・インラインスタイルのボタンにも適用 */
    button:not(.btn):not(:disabled):active { opacity: 0.65; transform: scale(0.95); transition: opacity 0.08s, transform 0.08s; }

    .btn-site  { background: var(--site-color);  color: white; }
    .btn-memo  { background: var(--memo-color);  color: white; }
    .btn-audio { background: linear-gradient(135deg, #AA3377, #CC3355); color: white; }
    .btn-photo { background: var(--photo-color); color: white; }
    .btn-daily { background: var(--daily-color); color: white; }
    .btn-warn  { background: linear-gradient(135deg, #EE7733, #FF9900); color: white; }
    .btn-danger{ background: linear-gradient(135deg, #CC3311, #EE3311); color: white; }
    .btn-save  { background: linear-gradient(135deg, #0077BB, #007766); color: white; }
    .btn-gray  { background: #666; color: white; }
    .btn-sm    { padding: 14px; font-size: 15px; }

    /* ===== 現場選択画面 ===== */
    .site-box {
      background: #F8F9FF;
      border: 2px solid #E0E4FF;
      border-radius: 12px;
      padding: 20px;
      text-align: center;
      margin-bottom: 16px;
      min-height: 80px;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .site-name { font-size: 20px; font-weight: 700; }
    .site-distance { font-size: 15px; color: #555; margin-top: 4px; }

    .site-list-item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 16px;
      border: 2px solid var(--border);
      border-radius: 12px;
      margin-bottom: 10px;
      cursor: pointer;
      background: var(--card);
      transition: all 0.15s;
    }
    .site-list-item:active { transform: scale(0.98); }
    .site-list-item.nearest { border-color: #0077BB; background: var(--card); }
    .site-list-item.pinned { border-color: #f39c12; background: var(--card); }
    .site-pin-btn { background:none;border:none;font-size:26px;cursor:pointer;padding:8px;flex-shrink:0;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center; }
    .site-map-btn { background:#e8f4fd;border:none;font-size:18px;cursor:pointer;color:#185FA5;border-radius:8px;padding:8px;flex-shrink:0;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center; }
    .site-map-btn:hover { background:#c8e6f7; }
    .site-hide-btn { background:#f0f0f0;border:none;font-size:18px;font-weight:700;cursor:pointer;color:#888;border-radius:8px;padding:8px;flex-shrink:0;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center; }
    .site-hide-btn:hover { background:#fde8e8;color:#e74c3c; }
    .site-section-label { font-size:14px;font-weight:700;letter-spacing:2px;color:var(--text);margin:14px 0 8px;padding-left:2px; }
    .site-show-all-btn { width:100%;padding:14px;background:none;border:1.5px dashed var(--border);border-radius:10px;color:var(--text);font-size:16px;cursor:pointer;margin-top:8px; }
    .site-show-all-btn:hover { border-color:#667eea;color:#667eea; }
    .site-list-item .s-name { font-size: 17px; font-weight: 700; color: var(--text) !important; }
    .site-list-item .s-dist { font-size: 15px; color: var(--text); margin-top: 3px; }
    .site-list-item .s-badge {
      font-size: 13px; padding: 6px 12px; border-radius: 10px;
      background: #0077BB; color: white; font-weight: 700; flex-shrink: 0;
    }
    .site-list-item .s-badge.far { background: #95a5a6; }

    .gps-info { font-size: 14px; color: #555; text-align: center; margin-top: 6px; }

    .new-site-form { display: none; margin-top: 12px; }
    .new-site-form input {
      width: 100%; padding: 14px; font-size: 16px;
      border: 2px solid #E0E4FF; border-radius: 12px;
      margin-bottom: 10px; outline: none;
    }
    .new-site-form input:focus { border-color: var(--site-color); }

    /* ===== 作業メモ画面 ===== */
    textarea {
      width: 100%; padding: 14px; font-size: 16px;
      border: 2px solid #E0E4FF; border-radius: 12px;
      outline: none; resize: vertical; min-height: 120px;
      line-height: 1.7; font-family: inherit;
      transition: border-color 0.2s;
    }
    textarea:focus { border-color: var(--memo-color); }

    /* ★W11b：メモ欄は白枠固定（菊池さん指摘・以前の fold ボタンの見た目 #f6f9fd を引き継ぐ）。
       ダークテーマの textarea 一括規則(!important)に ID の詳細度で勝たせる。他の textarea は不変。 */
    #work-content {
      background: #f6f9fd !important;
      color: #333 !important;
      border: 1px solid #cfe2f3 !important;
    }

    .summary-box {
      display: none;
      background: #F0FFF4;
      border: 2px solid #0077BB;
      border-radius: 12px;
      padding: 16px;
      margin-top: 12px;
    }
    .summary-label { font-size: 11px; color: #0077BB; font-weight: 700; margin-bottom: 6px; }
    .summary-text  { font-size: 15px; color: var(--text); line-height: 1.7; }

    /* ===== 音声メモ画面 ===== */
    .rec-visual {
      background: #1a1a2e;
      border-radius: 16px;
      padding: 16px 24px;
      text-align: center;
      margin-bottom: 16px;
    }
    .rec-icon   { font-size: 40px; margin-bottom: 6px; }
    .rec-time   { font-size: 52px; font-weight: 700; color: white; letter-spacing: 4px; font-variant-numeric: tabular-nums; }
    .rec-label  { font-size: 15px; color: rgba(255,255,255,0.7); margin-top: 4px; line-height: 1.6; }

    .wave-bars {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 5px;
      height: 36px;
      margin-top: 8px;
      opacity: 0;
      transition: opacity 0.3s;
    }
    .wave-bar { width: 5px; height: 20px; background: rgba(255,255,255,0.5); border-radius: 3px; }
    .wave-bar.active { animation: wave 0.8s ease-in-out infinite; }
    .wave-bar:nth-child(1){animation-delay:0.0s}
    .wave-bar:nth-child(2){animation-delay:0.1s}
    .wave-bar:nth-child(3){animation-delay:0.2s}
    .wave-bar:nth-child(4){animation-delay:0.3s}
    .wave-bar:nth-child(5){animation-delay:0.2s}
    .wave-bar:nth-child(6){animation-delay:0.1s}
    .wave-bar:nth-child(7){animation-delay:0.0s}
    @keyframes wave { 0%,100%{height:6px} 50%{height:36px; background:rgba(255,100,100,0.9)} }

    .confirm-box {
      display: none;
      background: #FFF8E1;
      border: 2px solid #F39C12;
      border-radius: 14px;
      padding: 18px;
      margin-top: 12px;
    }
    .confirm-label { font-size: 13px; color: #E67E22; font-weight: 700; margin-bottom: 10px; }
    .confirm-title { font-size: 13px; font-weight: 700; color: var(--text); margin-bottom: 6px; margin-top: 12px; }
    .confirm-text  {
      font-size: 13px; color: var(--text); line-height: 1.7;
      background: var(--card); border-radius: 8px; padding: 12px;
      max-height: 160px; overflow-y: auto; white-space: pre-wrap;
    }
    .confirm-btns  { display: flex; gap: 8px; margin-top: 14px; }
    .confirm-btns .btn { flex: 1; margin-bottom: 0; }

    .edit-textarea {
      width: 100%; border: 2px solid var(--audio-color);
      border-radius: 10px; padding: 12px;
      font-size: 14px; font-family: inherit;
      outline: none; resize: vertical; min-height: 90px;
      line-height: 1.7; margin-bottom: 8px;
    }

    .saved-box {
      display: none;
      background: linear-gradient(135deg, #F3E5F5, #EDE7F6);
      border: 2px solid var(--audio-color);
      border-radius: 14px;
      padding: 18px;
      margin-top: 10px;
      text-align: center;
    }
    .saved-box-icon  { font-size: 36px; margin-bottom: 8px; }
    .saved-box-title { font-size: 15px; font-weight: 700; color: var(--audio-color); margin-bottom: 4px; }
    .saved-box-id    { font-size: 13px; color: var(--text); }

    /* ===== 写真撮影画面 ===== */
    .photo-btns {
      display: flex;
      gap: 10px;
      margin-bottom: 14px;
    }
    .photo-label-btn {
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 18px;
      border-radius: 14px;
      font-size: 16px;
      font-weight: 700;
      cursor: pointer;
      color: white;
    }
    .photo-label-btn.camera { background: var(--site-color); }
    .photo-label-btn.gallery { background: var(--memo-color); }

    .photo-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 12px;
      margin-bottom: 14px;
    }
    .photo-item {
      border: 2px solid var(--border);
      border-radius: 12px;
      overflow: hidden;
      background: var(--card);
    }
    .photo-item img {
      width: 100%;
      aspect-ratio: 4/3;
      object-fit: cover;
      display: block;
    }
    .photo-item-footer { padding: 10px; }
    .photo-caption-input {
      width: 100%; border: 1.5px solid #ccc;
      border-radius: 8px; padding: 8px;
      font-size: 13px; font-family: inherit;
      outline: none; resize: none; min-height: 52px;
      line-height: 1.6; margin-bottom: 8px;
    }
    .photo-caption-input:focus { border-color: var(--site-color); }
    .photo-caption-input.has-caption { border-color: #0077BB; background: #F0FFF4; }
    .photo-mic-btn {
      width: 100%; padding: 8px; border: none;
      border-radius: 8px; font-size: 13px; font-weight: 700;
      cursor: pointer; background: var(--site-color); color: white;
    }
    .photo-mic-btn.recording {
      background: linear-gradient(135deg, #E74C3C, #C0392B);
      animation: pulse 1s ease-in-out infinite;
    }
    .photo-mic-btn.processing { background: #95a5a6; }
    @keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.6} }

    .photo-caption-status {
      font-size: 13px; color: var(--muted);
      text-align: center; margin-bottom: 10px;
    }

    .photo-saved-box {
      display: none;
      background: linear-gradient(135deg, #EBF5FB, #D6EAF8);
      border: 2px solid var(--site-color);
      border-radius: 14px;
      padding: 18px;
      text-align: center;
      margin-top: 10px;
    }

    /* ===== 日報画面 ===== */
    .daily-visual {
      background: linear-gradient(135deg, #1A5276, #154360);
      border-radius: 16px;
      padding: 28px;
      text-align: center;
      margin-bottom: 16px;
    }
    .daily-visual-icon { font-size: 56px; margin-bottom: 10px; }
    .daily-visual-time { font-size: 40px; font-weight: 700; color: white; letter-spacing: 4px; font-variant-numeric: tabular-nums; }
    .daily-visual-label { font-size: 13px; color: rgba(255,255,255,0.6); margin-top: 6px; line-height: 1.6; }
    .daily-warning {
      background: rgba(255,200,0,0.15);
      border: 1px solid rgba(255,200,0,0.4);
      border-radius: 10px; padding: 12px;
      font-size: 13px; color: rgba(255,255,255,0.85);
      margin-top: 12px; line-height: 1.7;
    }

    .daily-confirm-box {
      background: #EBF5FB;
      border: 2px solid var(--daily-color);
      border-radius: 14px;
      padding: 18px;
      margin-top: 12px;
    }

    .daily-saved-box {
      background: linear-gradient(135deg, #EBF5FB, #D6EAF8);
      border: 2px solid var(--daily-color);
      border-radius: 14px;
      padding: 24px;
      text-align: center;
      margin-top: 10px;
    }

    /* ===== 共通UI ===== */
    .status {
      font-size: 15px;
      color: var(--muted);
      text-align: center;
      padding: 10px;
      line-height: 1.5;
    }
    .status.success { color: #0077BB; font-weight: 700; }
    .status.error   { color: #CC3300; }
    .status.loading { color: #667eea; }

    .spinner {
      display: inline-block;
      width: 18px; height: 18px;
      border: 2px solid rgba(255,255,255,0.4);
      border-top-color: white;
      border-radius: 50%;
      animation: spin 0.8s linear infinite;
    }
    @keyframes spin { to { transform: rotate(360deg); } }

    .section-label {
      font-size: 13px;
      color: var(--muted);
      font-weight: 700;
      margin-bottom: 10px;
      padding-left: 4px;
    }

    .weather-btn {
      padding: 10px 16px; border: 2px solid var(--border); border-radius: 20px;
      background: var(--card); color: var(--text); font-size: 15px; cursor: pointer; font-weight: 600;
      transition: all 0.15s;
    }
    .weather-btn.selected {
      background: #0077BB; color: white; border-color: #0077BB;
    }
    .weather-btn:active { transform: scale(0.95); }

    .loading-overlay {
      text-align: center;
      padding: 32px;
    }
    .loading-overlay-icon { font-size: 48px; margin-bottom: 12px; }
    .loading-overlay-text { font-size: 16px; font-weight: 700; color: var(--daily-color); }

    /* ===== 録音中撮影ボタン ===== */
    #rec-camera-btn {
      display: none;
      width: 100%;
      padding: 18px;
      margin-top: 10px;
      border: 2.5px solid #AA3377;
      border-radius: 14px;
      background: rgba(170,51,119,0.12);
      color: #AA3377;
      font-size: 18px;
      font-weight: 700;
      cursor: pointer;
      text-align: center;
      letter-spacing: 1px;
    }
    #rec-camera-btn:active { background: rgba(170,51,119,0.25); }

    /* ★H2（2026-08-18）写録の待機中プレビュー：録音中に現れる操作（一時停止・話しながら写真を撮る）を、
       待機中は淡いグレーで見せておく（何ができるか分かる）。押しても無効（pointer-events:none）＝誤タップ事故なし。
       録音開始で #screen-audio に .recording-active が付くと下の :not(.recording-active) が外れ、通常表示に戻る（既存JS不変）。
       ★配色は style.css 側で定義（inline に background:#fff を書かない＝v328 のダーク罠回避）。 */
    #screen-audio:not(.recording-active) .btn-pause-hidden,
    #screen-audio:not(.recording-active) #rec-camera-btn {
      display: flex !important;
      opacity: 0.4;
      filter: grayscale(1);
      pointer-events: none;
    }
    #screen-audio:not(.recording-active) #rec-camera-btn { display: block !important; }
    #rec-photo-strip {
      display: none;
      margin-top: 10px;
      padding: 10px;
      background: #f8f0f5;
      border-radius: 10px;
      border: 1px solid #e8c0d8;
    }
    #rec-photo-strip-title {
      font-size: 11px;
      color: #AA3377;
      font-weight: 700;
      margin-bottom: 6px;
      letter-spacing: 1px;
    }
    #rec-photo-list {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
    }
    .rec-photo-thumb {
      position: relative;
      width: 72px;
      height: 72px;
      border-radius: 8px;
      overflow: hidden;
      border: 2px solid #AA3377;
      flex-shrink: 0;
    }
    .rec-photo-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .rec-photo-stamp {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      background: rgba(170,51,119,0.75);
      color: white;
      font-size: 10px;
      font-weight: 700;
      text-align: center;
      padding: 2px 0;
    }

    /* ===== RECORDオーバーレイ（省電力録音モード） ===== */
    /* ===== 送信促進モーダル ===== */
    #send-prompt-modal {
      position: fixed; inset: 0;
      background: rgba(0,0,0,0.55);
      display: none; align-items: flex-end;
      justify-content: center;
      z-index: 9999; padding-bottom: 24px;
    }
    #send-prompt-modal.show { display: flex; }
    .send-prompt-box {
      background: var(--card);
      border-radius: 20px;
      padding: 24px 20px 20px;
      width: calc(100% - 32px);
      max-width: 420px;
      box-shadow: 0 8px 40px rgba(0,0,0,0.18);
      animation: slideUp 0.25s ease;
    }
    @keyframes slideUp {
      from { transform: translateY(40px); opacity: 0; }
      to   { transform: translateY(0);    opacity: 1; }
    }

    #rec-overlay {
      display: none;
      position: fixed;
      top: 0; left: 0; right: 0; bottom: 0;
      background: #000;
      z-index: 9999;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      cursor: pointer;
    }
    #rec-overlay.active { display: flex; }
    #rec-overlay-record {
      font-size: 36px;
      font-weight: 900;
      letter-spacing: 6px;
      color: #ff3333;
      animation: rec-pulse 2s ease-in-out infinite;
      text-align: center;
      width: 100%;
      padding: 0 16px;
    }
    #rec-overlay-record.warning { color: #ffcc00; animation: rec-pulse-fast 0.8s ease-in-out infinite; }
    @keyframes rec-pulse {
      0%, 100% { opacity: 1; }
      50% { opacity: 0.15; }
    }
    @keyframes rec-pulse-fast {
      0%, 100% { opacity: 1; }
      50% { opacity: 0.2; }
    }
    #rec-overlay-time {
      font-size: 28px;
      font-weight: 700;
      color: rgba(255,255,255,0.5);
      letter-spacing: 4px;
      margin-top: 24px;
      font-variant-numeric: tabular-nums;
    }
    #rec-overlay-hint {
      font-size: 18px;
      color: rgba(255,255,255,0.5);
      margin-top: 40px;
      letter-spacing: 1px;
      text-align: center;
      line-height: 2;
    }
    #rec-overlay-warning {
      display: none;
      font-size: 14px;
      color: #ffcc00;
      margin-top: 16px;
      font-weight: 700;
    }

    /* ===== 着電中断バナー ===== */
    /* ===== デバッグログパネル ===== */
    #debug-log-panel {
      position: fixed;
      bottom: 0; left: 0; right: 0;
      background: rgba(0,0,0,0.85);
      color: #00ff88;
      font-size: 11px;
      font-family: monospace;
      z-index: 99999;
      max-height: 180px;
      overflow-y: auto;
      padding: 6px 10px 24px;
      display: none;
    }
    #debug-log-panel.show { display: block; }
    #debug-log-close {
      position: sticky;
      top: 0;
      float: right;
      background: rgba(255,255,255,0.15);
      color: #fff;
      border: none;
      border-radius: 4px;
      padding: 2px 8px;
      font-size: 11px;
      cursor: pointer;
    }
    .debug-log-line { padding: 2px 0; border-bottom: 1px solid rgba(255,255,255,0.08); }
    .debug-log-line.ok { color: #00ff88; }
    .debug-log-line.start { color: #ffcc00; }
    .debug-log-line.err { color: #ff5555; }

    /* ===== PWAインストール案内オーバーレイ ===== */
    #pwa-guide-overlay {
      position: fixed; inset: 0;
      background: linear-gradient(160deg, #0d1117 0%, #1a2e4a 60%, #16213e 100%);
      z-index: 19999;
      display: none;
      flex-direction: column;
      align-items: center;
      justify-content: flex-start;
      padding: 24px 20px 32px;
      overflow-y: auto;
    }
    #pwa-guide-overlay.show { display: flex; }

    .pwa-logo {
      font-size: 28px;
      font-weight: 700;
      letter-spacing: 8px;
      color: #d4ac0d;
      margin-top: 16px;
      margin-bottom: 4px;
    }
    .pwa-logo-sub {
      font-size: 11px;
      color: rgba(255,255,255,0.35);
      letter-spacing: 3px;
      margin-bottom: 24px;
    }

    .pwa-card {
      background: var(--card);
      border-radius: 20px;
      padding: 28px 24px;
      width: 100%;
      max-width: 420px;
    }

    .pwa-badge {
      display: inline-block;
      background: #1a2e4a;
      color: #d4ac0d;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 2px;
      padding: 4px 12px;
      border-radius: 20px;
      margin-bottom: 16px;
    }

    .pwa-title {
      font-size: 20px;
      font-weight: 700;
      color: #1a1a2e;
      margin-bottom: 8px;
      line-height: 1.4;
    }

    .pwa-reason {
      background: #fff8e6;
      border: 1.5px solid #d4ac0d;
      border-radius: 10px;
      padding: 14px 16px;
      margin-bottom: 20px;
    }

    .pwa-reason-title {
      font-size: 13px;
      font-weight: 700;
      color: #7a5a00;
      margin-bottom: 8px;
    }

    .pwa-reason-item {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      font-size: 14px;
      color: #555;
      margin-bottom: 6px;
      line-height: 1.6;
    }
    .pwa-reason-item:last-child { margin-bottom: 0; }
    .pwa-reason-icon { flex-shrink: 0; font-size: 16px; }

    /* タブ */
    .pwa-tabs {
      display: flex;
      gap: 8px;
      margin-bottom: 20px;
    }
    .pwa-tab {
      flex: 1;
      padding: 10px 8px;
      border: 2px solid var(--border);
      border-radius: 10px;
      background: var(--card);
      font-size: 14px;
      font-weight: 700;
      color: var(--text);
      cursor: pointer;
      text-align: center;
      transition: all 0.2s;
    }
    .pwa-tab.active {
      border-color: #1a2e4a;
      background: #1a2e4a;
      color: white;
    }

    /* 手順 */
    .pwa-steps { display: none; }
    .pwa-steps.show { display: block; }

    .pwa-step {
      display: flex;
      gap: 14px;
      align-items: flex-start;
      margin-bottom: 16px;
      padding: 14px 16px;
      background: #f8faff;
      border-radius: 12px;
      border: 1.5px solid #e8eef8;
    }

    .pwa-step-num {
      width: 36px;
      height: 36px;
      background: #1a2e4a;
      color: #d4ac0d;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 18px;
      font-weight: 700;
      flex-shrink: 0;
    }

    .pwa-step-body {}
    .pwa-step-title {
      font-size: 15px;
      font-weight: 700;
      color: #1a1a2e;
      margin-bottom: 4px;
    }
    .pwa-step-desc {
      font-size: 13px;
      color: #666;
      line-height: 1.7;
    }
    .pwa-step-icon {
      font-size: 24px;
      margin-bottom: 4px;
    }
    .pwa-step-highlight {
      display: inline-block;
      background: #1a2e4a;
      color: #d4ac0d;
      font-weight: 700;
      font-size: 13px;
      padding: 2px 10px;
      border-radius: 6px;
      margin: 2px 0;
    }

    .pwa-note {
      background: #e8f4ea;
      border: 1.5px solid #99BBEE;
      border-radius: 10px;
      padding: 12px 14px;
      font-size: 13px;
      color: #2a6a3a;
      margin-bottom: 20px;
      line-height: 1.7;
    }

    .pwa-btn-done {
      width: 100%;
      padding: 18px;
      background: linear-gradient(135deg, #1a2e4a, #2c4a6e);
      color: #d4ac0d;
      font-size: 17px;
      font-weight: 700;
      border: none;
      border-radius: 14px;
      cursor: pointer;
      margin-bottom: 12px;
    }
    .pwa-btn-later {
      width: 100%;
      padding: 14px;
      background: var(--card);
      color: var(--text);
      font-size: 14px;
      font-weight: 700;
      border: 1.5px solid var(--border);
      border-radius: 14px;
      cursor: pointer;
    }
    .pwa-btn-later:active { opacity: 0.7; }
    .pwa-btn-done:active { opacity: 0.85; }

    /* ===== 印刷用CSS ===== */
    #genroku-print-area {
      display: none;
    }
    @media print {
      body > * { display: none !important; }
      #genroku-print-area {
        display: block !important;
        font-family: 'Noto Sans JP', sans-serif;
        padding: 20px; max-width: 100%;
      }
      .gp-header {
        border-bottom: 2px solid #1a1a2e;
        padding-bottom: 12px; margin-bottom: 20px;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
      }
      .gp-brand { font-size: 10px; color: #888; margin-bottom: 4px; }
      .gp-sitename { font-size: 20px; font-weight: 700; color: #1a1a2e; }
      .gp-datetime { font-size: 13px; color: #555; margin-top: 4px; }
      .gp-section-label {
        font-size: 10px; font-weight: 700; letter-spacing: 2px;
        color: #888; margin: 18px 0 8px; text-transform: uppercase;
      }
      .gp-text {
        font-size: 14px; line-height: 1.85; color: #1a1a2e;
        white-space: pre-wrap; margin-bottom: 12px;
      }
      .gp-photos {
        display: grid; grid-template-columns: repeat(2, 1fr);
        gap: 10px; margin-bottom: 16px;
      }
      .gp-photo {
        aspect-ratio: 4/3; overflow: hidden; border-radius: 6px;
        border: 1px solid #e0e0e0;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
      }
      .gp-photo img { width: 100%; height: 100%; object-fit: cover; }
      .gp-footer {
        margin-top: 24px; padding-top: 12px;
        border-top: 1px solid #e0e0e0;
        font-size: 10px; color: #aaa; text-align: right;
      }
      .gp-summary-box {
        background: #f8faff; border: 1px solid #e0e4f0;
        border-radius: 8px; padding: 14px; margin-top: 4px;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
      }
    }

/* 横持ち時：撮影確認画面を2カラム化（縦持ちは@media外＝完全不変） */
@media (orientation: landscape) and (max-height: 500px) {
  /* saved-boxを2カラムgridに。DOM順は変えずgrid-areaで配置 */
  #photo-saved-box {
    display: grid !important;
    grid-template-columns: 1.3fr 1fr;
    grid-template-areas:
      "thumb  badge"
      "thumb  blackboard"
      "thumb  keika"
      "thumb  statusmemo"
      "finish continue";
    grid-template-rows: auto auto auto auto 1.4fr;   /* ★仕上げ①：blackboard の行が1つ増えた */
    column-gap: 14px;
    row-gap: 10px;
    align-items: start;
  }
  #photo-saved-badge-row    { grid-area: badge; margin-bottom: 0 !important; }
  #photo-latest-thumb       { grid-area: thumb; max-height: 42vh !important; width: 100% !important; margin-bottom: 0 !important; }
  #photo-finish     { grid-area: finish; margin-top: 0 !important; }
  #photo-saved-keika-land    { grid-area: keika;    display: flex !important; margin-top: 0 !important; padding: 18px !important; font-size: 19px !important; }
  #photo-saved-continue-land { grid-area: continue; display: flex !important; margin-top: 0 !important; padding: 22px !important; font-size: 20px !important; }
  /* ★仕上げ①：黒板撮影は「能力ONのマークが付いているときだけ」出す。
     ★無条件に display:flex にしてはいけない＝本番の建築4種別（blackboard 未宣言）で誤爆する。
     マークは _updateBlackboardEntry が現場ごとに立て外しする（main1.js）。 */
  #photo-saved-blackboard-land[data-bb-enabled="1"] {
    grid-area: blackboard; display: flex !important; margin-top: 0 !important;
    padding: 14px !important; font-size: 18px !important;
  }

  /* 横持ちでは縦持ち用フッターを隠す（横用ボタンが右カラムに出るため） */
  #photo-fixed-footer  { display: none !important; }
  #photo-footer-spacer { height: 0 !important; }

  /* ヒント・縦持ち用ボタン群は横持ちgridでは行に乗らないので隠す */
  #photo-finish-hint    { display: none !important; }
  #photo-saved-buttons   { display: none !important; }

  /* ★ 横持ちA-2：状態・メモボタンを右カラムに1行横並びで表示（見えるだけ・入力欄は開かない） */
  #photo-status-memo-wrap { grid-area: statusmemo; display: flex !important; gap: 8px; margin: 0 !important; align-items: stretch; }
  #photo-status-memo-wrap > div { flex: 1; margin: 0 !important; }
  #photo-status-toggle-btn, #photo-memo-toggle-btn {
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    min-height: 44px !important; padding: 10px !important; font-size: 14px !important;
  }
  /* 横持ちでは入力欄は開かない（高さ500pxで崩れるため・見えるだけ）。JSガードと二重で確実に */
  #photo-status-input-area, #photo-memo-collapse { display: none !important; }

  /* 黒バナー（全画面共通#genroku-header-dyn）を横持ちで細く＋body余白も同値に */
  #genroku-header-dyn {
    min-height: calc(40px + env(safe-area-inset-top, 0px)) !important;
    padding-top: calc(6px + env(safe-area-inset-top, 0px)) !important;
    padding-bottom: 6px !important;
  }
  body {
    padding-top: calc(40px + env(safe-area-inset-top, 0px)) !important;
  }
}

/* 大規模修繕モード×横持ち：比較撮影ボタンは非表示（既存L99と同スコープ） */
@media (orientation: landscape) and (max-height: 500px) {
  body.continuous-capture-mode #photo-saved-keika-land { display: none !important; }
}


/* ★ v159（2026-07-12・菊池さん決裁=案5）：ブランド語「ゲンバ」専用書体。
   M PLUS Rounded 1c Bold を「ゲンバ（＋濁点分解用ケンハ）」だけサブセット化した約3KBのwoff2をbase64同梱＝圏外でも崩れない・読込遅延なし。
   適用は見出し級（現在のゲンバ・いま選んでいるゲンバ・撮影画面ラベル・選択画面ヘッダー）のみ。本文・ボタンは通常書体（可読性維持・Sora）。 */
@font-face {
  font-family: 'GenbaBrand';
  src: url(data:font/woff2;base64,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) format('woff2');
  font-display: swap;
}
.genba-brand { font-family: 'GenbaBrand', 'Hiragino Kaku Gothic ProN', sans-serif; letter-spacing: 0.5px; }


/* ★ v160（2026-07-12・菊池さん決裁=範囲1）：見出し・ボタン類だけ丸ゴ（M PLUS Rounded 1c Bold・自己ホスト1.1MB・OPTIONAL精キャッシュ=圏外OK）。
   本文・入力欄・一覧の説明文はシステム書体（ヒラギノ）のまま＝長文の可読性と速度を維持（Sora）。
   単一ウェイト同梱＝全weightにこのBoldグリフが使われる（見出し・ボタンは元々600-800なので実質不変）。 */
@font-face {
  font-family: 'MPlusRounded';
  src: url('mplus-rounded-700.woff2') format('woff2');
  font-display: swap;
}
button, .btn,
#header-title, #header-sub-title,
.menu-btn-label,
.site-banner-label, .site-banner-name,
.pcs-label, .pcs-name,
.section-label, .site-section-label,
#home-site-name, #site-current-name, #site-current-label,
#room-input-title, #room-select-title, #wing-select-title,
#photo-hierarchy-label, #audio-hierarchy-label {
  font-family: 'MPlusRounded', 'GenbaBrand', 'Hiragino Kaku Gothic ProN', -apple-system, sans-serif;
}

/* ★TP1改（2026-08-19）テンプレートのグループ化とツリー編集器。
   ★配色はここ（style.css）だけで定義する＝新規要素の inline に白系背景・暗系文字を書かない
     （v328 のダーク罠＝JSの一括変換が inline の #fff を var(--card) に書き換え、文字色は残す）。
   ★色は既存のテーマ変数（--card/--bg/--border/--text/--muted）に寄せる＝ダークは自動で追従。
     ブランド色 #0077BB を使う箇所だけ、ダークで見えるように別途上書きする。 */

/* --- 柱A（追補2）：束ねるのは建築だけ。それ以外は第1階層にそのまま並べる --- */
/* 建築の見出し（🏗 建築 PRO／形が5つ／タップで開閉） */
.stk-head {
  width: 100%; display: flex; align-items: center; gap: 12px;
  padding: 14px 16px; margin-bottom: 10px; min-height: 72px;
  border: 2px solid var(--border); border-radius: 12px;
  background: var(--card); color: var(--text);
  font-family: inherit; text-align: left; cursor: pointer;
}
.stk-head.open { border-color: #0077BB; margin-bottom: 0; border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.stk-head .stk-ic { flex-shrink: 0; font-size: 32px; line-height: 1; }
.stk-head .stk-txt { flex: 1; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.stk-head .stk-label { font-size: 17px; font-weight: 700; display: flex; align-items: center; gap: 8px; }
.stk-head .stk-pro {
  flex-shrink: 0; padding: 2px 8px; border-radius: 6px;
  background: #0077BB; color: #ffffff;
  font-size: 11px; font-weight: 800; letter-spacing: 0.5px;
}
.stk-head .stk-sub { font-size: 13px; color: var(--muted); }
.stk-head .stk-arw {
  flex-shrink: 0; font-size: 22px; color: var(--muted);
  transform: rotate(90deg); transition: transform 0.15s;
}
.stk-head.open .stk-arw { transform: rotate(-90deg); }
/* 束の中身 */
.stk-body {
  border: 2px solid #0077BB; border-top: none;
  border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;
  padding: 8px; margin-bottom: 10px; background: var(--bg);
}
.stk-body.stk-closed { display: none; }
[data-theme="dark"] .stk-head.open { border-color: #4db4ea; }
[data-theme="dark"] .stk-body { border-color: #4db4ea; }

/* テンプレート1件のボタン（束の中／第1階層 共通） */
.st-item {
  width: 100%; display: flex; align-items: center; gap: 14px;
  padding: 16px; margin-bottom: 10px; min-height: 72px;
  border: 2px solid var(--border); border-radius: 12px;
  background: var(--card); color: var(--text);
  font-family: inherit; text-align: left; cursor: pointer;
}
.st-item:last-child { margin-bottom: 0; }
.st-item .st-ic { flex-shrink: 0; font-size: 32px; line-height: 1; }
.st-item .st-txt { flex: 1; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.st-item .st-label { font-size: 17px; font-weight: 700; }
.st-item .st-shape { font-size: 13px; color: var(--muted); line-height: 1.5; }
.st-item .st-shape .st-sep { font-style: normal; margin: 0 5px; opacity: 0.6; }
.st-item .st-go { flex-shrink: 0; font-size: 14px; font-weight: 700; color: #0077BB; }
/* 束の中は1段下げて見せる（枠は束が持つので線を軽くする） */
.st-item.st-in-group { border-width: 1.5px; margin-bottom: 8px; }
[data-theme="dark"] .st-item .st-go { color: #4db4ea; }

/* --- 柱A/柱B：作成入口を法人（会社テンプレが正）で隠す。fix3型＝要素も onclick も残す --- */
.tpl-create-entry.tpl-locked { display: none !important; }

/* --- 柱B：旧UI（アイコン欄・階層チェック・呼び名ブロック）は残したまま隠す --- */
.tpl-legacy-field { display: none !important; }

/* --- 柱B：ツリー編集器 --- */
.tt-title { font-size: 14px; font-weight: 700; color: var(--text); margin-bottom: 8px; }
.tt-box {
  border: 1.5px solid var(--border); border-radius: 12px;
  background: var(--bg); padding: 8px; margin-bottom: 8px;
}
.tt-node { margin-bottom: 4px; }
.tt-l1 { padding-left: 18px; }
.tt-l2 { padding-left: 36px; }
.tt-row {
  display: flex; align-items: center; gap: 8px;
  padding: 10px 12px; min-height: 48px;
  border: 1.5px solid var(--border); border-radius: 10px;
  background: var(--card); color: var(--text); cursor: pointer;
}
.tt-row .tt-ic { flex-shrink: 0; font-size: 20px; line-height: 1; }
.tt-row .tt-nm { flex: 1; font-size: 15px; font-weight: 700; }
.tt-row .tt-fix {
  flex-shrink: 0; padding: 4px 10px; border-radius: 8px;
  border: 1.5px solid #0077BB; color: #0077BB;
  font-size: 12px; font-weight: 700;
}
.tt-row .tt-badge {
  flex-shrink: 0; padding: 2px 8px; border-radius: 8px;
  background: var(--bg); color: var(--muted); font-size: 11px; font-weight: 700;
}
/* 使わない段は「消さずに」破線・薄色で残す */
.tt-off .tt-row { border-style: dashed; opacity: 0.5; }
[data-theme="dark"] .tt-row .tt-fix { border-color: #4db4ea; color: #4db4ea; }

/* ノードの下に開く編集欄 */
.tt-ed {
  margin: 6px 0 2px; padding: 12px;
  border: 1px solid var(--border); border-radius: 10px; background: var(--card);
}
.tt-ed-lb { display: block; font-size: 13px; font-weight: 700; color: var(--text); margin-bottom: 5px; }
.tt-ed-in {
  width: 100%; box-sizing: border-box; padding: 11px; margin-bottom: 10px;
  font-size: 15px; font-family: inherit;
  border: 1.5px solid var(--border); border-radius: 9px;
  background: var(--input-bg); color: var(--text);
}
.tt-icons { display: flex; flex-wrap: wrap; gap: 8px; }
.tt-toggle {
  width: 100%; min-height: 44px; padding: 11px;
  border: 1.5px solid #0077BB; border-radius: 9px;
  background: transparent; color: #0077BB;
  font-family: inherit; font-size: 14px; font-weight: 700; cursor: pointer;
}
.tt-toggle.off { border-color: var(--border); color: var(--muted); }
[data-theme="dark"] .tt-toggle { border-color: #4db4ea; color: #4db4ea; }
[data-theme="dark"] .tt-toggle.off { border-color: var(--border); color: var(--muted); }
/* 使用中で段を触れないときの理由（禁止ではなく「なぜ」を伝える） */
.tt-lock {
  padding: 10px 12px; border-radius: 9px;
  background: var(--bg); color: var(--text2);
  font-size: 12px; line-height: 1.7;
}
.tt-note { font-size: 12px; line-height: 1.7; color: var(--muted); margin-bottom: 14px; }

/* ★TP2（2026-08-19）テンプレートの整理モード（並べ替え／隠す／削除）。
   ★配色はここ（style.css）だけで定義する＝新規要素の inline に白系背景・暗系文字を書かない。
   ★並べ替えは ▲▼（ドラッグにしない）。押せない端のボタンは消さずに薄くする＝位置がずれない。 */

/* 選択画面の末尾に置く整理モードの入口 */
.tpl-organize-entry {
  width: 100%; display: flex; align-items: center; gap: 12px;
  padding: 14px 16px; margin-bottom: 6px; min-height: 56px;
  border: 2px dashed var(--border); border-radius: 12px;
  background: transparent; color: var(--muted);
  font-family: inherit; font-size: 15px; font-weight: 700;
  text-align: left; cursor: pointer;
}
.tpl-organize-entry .tpo-entry-ic { flex-shrink: 0; font-size: 22px; line-height: 1; }

/* 整理モード本体 */
#site-type-organize {
  margin-top: 4px; margin-bottom: 10px; padding: 14px;
  border: 1.5px solid var(--border); border-radius: 12px; background: var(--card);
}
.tpo-title { font-size: 15px; font-weight: 700; color: var(--text); margin-bottom: 12px; }
.tpo-head {
  font-size: 12px; font-weight: 700; color: var(--muted);
  margin: 14px 0 6px; padding-top: 10px; border-top: 1px solid var(--border);
}
.tpo-empty { font-size: 14px; color: var(--muted); line-height: 1.8; padding: 8px 0 12px; }
.tpo-row {
  display: flex; align-items: center; flex-wrap: wrap; gap: 8px;
  padding: 10px 4px; border-bottom: 1px solid var(--border);
}
.tpo-row .tpo-ic { flex-shrink: 0; font-size: 24px; line-height: 1; }
.tpo-row .tpo-txt { flex: 1 1 120px; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.tpo-row .tpo-nm { font-size: 15px; font-weight: 700; color: var(--text); }
.tpo-row .tpo-sub { font-size: 12px; color: var(--muted); }
.tpo-row .tpo-btns { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
/* 隠しているものは薄く・破線で「残っている」ことを見せる（消さない） */
.tpo-row.tpo-off { opacity: 0.6; border-bottom-style: dashed; }

.tpo-row .tpo-mv,
.tpo-row .tpo-act,
.tpo-row .tpo-del {
  min-height: 40px; padding: 8px 10px; border-radius: 8px;
  background: transparent; font-family: inherit; font-size: 13px; font-weight: 700; cursor: pointer;
}
.tpo-row .tpo-mv  { min-width: 40px; border: 1.5px solid var(--border); color: #0077BB; font-size: 12px; }
.tpo-row .tpo-act { border: 1.5px solid #0077BB; color: #0077BB; }
.tpo-row .tpo-del { border: 1.5px solid var(--border); color: #e74c3c; }
/* 端の ▲▼ は押せないことを見せる（消さない＝ボタンの位置がずれない） */
.tpo-row .tpo-mv[disabled] { opacity: 0.3; cursor: default; color: var(--muted); }

.tpo-done {
  width: 100%; min-height: 48px; margin-top: 16px; padding: 14px;
  border: none; border-radius: 10px;
  background: #0077BB; color: #ffffff;
  font-family: inherit; font-size: 16px; font-weight: 700; cursor: pointer;
}
[data-theme="dark"] .tpo-row .tpo-mv  { color: #4db4ea; }
[data-theme="dark"] .tpo-row .tpo-act { border-color: #4db4ea; color: #4db4ea; }
[data-theme="dark"] .tpo-row .tpo-mv[disabled] { color: var(--muted); }

/* ★RM-6a-fix（2026-08-25・菊池さん実機指摘）：部屋入力画面の逃げ道ボタンが小さすぎて読めない。
   RM-6a（v348）で言葉は「🏢 この現場全体で撮影する」と通じるようにしたが、大きさで台無しになっていた。
   非IT層・高齢の利用者にとって、読めない逃げ道は無いのと同じ。
   ★なぜ index.html の inline ではなく、ここ（style.css）に置くか＝次に触る人へ：
     main1.js の openRoomInputScreen は、この画面を開くたびに
       _wholeEl.style.fontSize = _rw.custom ? '13px' : '';
       _wholeEl.style.padding  = _rw.custom ? '10px' : '';
     を実行する。'' の代入は inline の宣言そのものを消すため、index.html に書いた
     font-size:14px / padding:14px は建築系では実行時に消え、ブラウザ既定の大きさまで落ちていた（実測）。
     ＝「JSが値を入れたときは inline が勝つ／JSが消したときはこの規則が受ける」という関係。
     だから自作テンプレ（custom=true）は従来どおり 13px・padding 10px のまま＝控えめ設計は壊れない。
   ★font-weight だけ !important が要る：inline の font-weight:600 は JS が触らず消えないため、
     通常の詳細度では勝てない（実測）。副作用として自作テンプレも 600→700 になる（大きさは 13px のまま）。
   ★主従は崩さない：主＝#room-input-start-btn（塗り・18px/700・min-height 64px）、
     副＝この逃げ道（枠線・16px/700・min-height 48px）。塗りと枠線・高さの差で主従を出す。
   ★色には触らない（背景 var(--card)・文字 var(--text) は inline のまま）＝ダーク一括変換の罠に関与しない。
   ★min-height は inline の 48px が残る＝タップ領域44px以上は従来どおり満たす（触らない）。
   ★main1.js の上記2行は、コメント（「建築は従来」）と実装（inline を消す）が食い違っている。
     今回は CSS の受け皿で結果だけ直す。食い違いそのものは RM-11 で別途（今回のスコープを広げない）。 */
#room-input-whole-btn {
  font-size: 16px;
  padding: 16px;
  font-weight: 700 !important;
}
