.inline-1da9facb4d { margin:0; }
.inline-253abc041d { font-size: 22px; }
.inline-2faa5a13e0 { display: flex; align-items: center; gap: 15px; flex-grow: 1; overflow: hidden; width: 100%; }
.inline-363cdc50fd { font-size: 20px; font-weight: 900; margin: 0 0 10px 0; }
.inline-3a13747c14 { font-size: 50px; margin-bottom: 20px; }
.inline-449ac088ef { width:20px; height:20px; background:var(--theme-main); color:white; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:11px; font-weight:900; }
.inline-461764ef23 { font-size: 12px; color: #718096; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.inline-4cbd963275 { font-size: 13px; color: rgba(255,255,255,0.95); margin: 0 0 20px 0; font-weight: 600; line-height: 1.5; }
.inline-4d52bd1b58 { width: 44px; height: 44px; background: white; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 22px; box-shadow: 0 4px 10px rgba(0,0,0,0.05); flex-shrink: 0; }
.inline-4d83ef5496 { font-size: 44px; }
.inline-5cc00c2300 { grid-column: 1 / -1; text-align: center; padding: 80px 20px; }
.inline-5d9de74635 { display: block; text-align: center; background: white; color: #2563eb; padding: 14px 20px; border-radius: 12px; text-decoration: none; font-weight: 900; font-size: 14px; box-shadow: 0 4px 15px rgba(0,0,0,0.08); }
.inline-7623f05545 { flex:1; }
.inline-9418428c73 { background: linear-gradient(135deg, #00c9a7 0%, #3b82f6 100%); padding: 30px 20px; border-radius: 20px; color: white; margin: 0 15px 30px; box-shadow: 0 12px 30px rgba(59, 130, 246, 0.15); position: relative; overflow: hidden; }
.inline-99c43babdf { font-weight: 900; font-size: 15px; color: #1a202c; margin-bottom: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.inline-9a24bb15a4 { font-size: 13px; color: #a0aec0; font-weight: 700; margin-top: 4px; }
.inline-9e7cc82db5 { overflow: hidden; }
.inline-a892b7d89f { flex:1; background: #f1f5f9; color: #94a3b8; }
.inline-b87efa5bc3 { font-size: 16px; }
.inline-ee7696b0c6 { position: absolute; right: -20px; bottom: -20px; font-size: 100px; opacity: 0.12; pointer-events: none; }
.inline-f0d38d3ccf { flex:1; background: linear-gradient(135deg, #f59e0b, #ef4444); box-shadow: 0 4px 15px rgba(239, 68, 68, 0.3); }
.inline-fc92786e48 { color: #4a5568; font-weight: 800; font-size: 16px; }

:root {
        
            --theme-main: #6366f1; --theme-light: #e0e7ff; --theme-shadow: rgba(99, 102, 241, 0.2); --theme-glow: rgba(99, 102, 241, 0.05);
        
            --theme-main: #00c9a7; --theme-light: #d1fae5; --theme-shadow: rgba(0, 201, 167, 0.2); --theme-glow: rgba(0, 201, 167, 0.05);
        
    }

    /* ===================================================
        💻 PC用基本スタイル
       =================================================== */
    
    .discover-container { margin-left: 230px; padding: 40px; background-color: #f8fafc; min-height: 100vh; box-sizing: border-box; }
    
    .discover-container { max-width: 1100px; margin: 40px auto 100px; padding: 0 20px; background-color: transparent; min-height: 80vh; }
    

    /* 💡 検索システムのUI刷新 */
    .enhanced-search-container { margin-bottom: 50px; background: white; padding: 25px; border-radius: 24px; border: 2px solid #edf2f7; box-shadow: 0 10px 30px rgba(0,0,0,0.02); }
    .enhanced-search-form { display: flex; align-items: center; background: #f8fafc; border-radius: 16px; border: 2px solid transparent; transition: 0.3s; padding: 5px 5px 5px 20px; }
    .enhanced-search-form:focus-within { border-color: var(--theme-main); background: white; box-shadow: 0 0 0 4px var(--theme-glow); }
    .search-icon { font-size: 20px; color: #a0aec0; margin-right: 10px; }
    .enhanced-search-input { border: none; background: transparent; flex-grow: 1; padding: 15px 0; font-size: 15px; outline: none; color: #1a202c; font-weight: 500; }
    .enhanced-search-input::placeholder { color: #a0aec0; }
    .search-submit-btn { background: var(--theme-main); color: white; border: none; border-radius: 12px; padding: 0 25px; height: 44px; font-weight: 900; font-size: 14px; cursor: pointer; transition: 0.2s; }
    .search-submit-btn:hover { opacity: 0.9; transform: scale(0.98); }
    .search-hint { margin-top: 12px; font-size: 12px; color: #718096; font-weight: 600; display: flex; align-items: center; gap: 6px; }

    .invite-list-container { margin-bottom: 50px; background: white; padding: 25px; border-radius: 24px; border: 2px solid var(--theme-main); box-shadow: 0 10px 30px var(--theme-glow); }
    .invite-list-wrapper { display: flex; flex-direction: column; gap: 10px; }
    .invite-list-item { display: flex; align-items: center; justify-content: space-between; padding: 12px 20px; background: #f8fafc; border-radius: 16px; border: 1px solid #edf2f7; transition: all 0.2s ease; }
    .invite-list-item:hover { border-color: var(--theme-main); background: white; transform: translateX(4px); }
    .invite-btn { background: var(--theme-main); color: white; padding: 8px 20px; border-radius: 10px; text-decoration: none; font-weight: 800; font-size: 13px; box-shadow: 0 4px 12px var(--theme-shadow); white-space: nowrap; }

    .map-grid-layout { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; }
    
    .compact-map-card { 
        background: white; border-radius: 20px; border: 2px solid #edf2f7; padding: 20px; 
        display: flex; flex-direction: column; justify-content: space-between;
        height: 130px; transition: all 0.2s ease; 
        cursor: pointer; position: relative; box-sizing: border-box;
    }
    .compact-map-card:hover { border-color: var(--theme-main); }
    .compact-map-card.is-open { opacity: 0.2; transform: scale(0.95); }

    .cmc-top { display: flex; align-items: flex-start; gap: 12px; }
    .cmc-icon { width: 40px; height: 44px; background: #f8fafc; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 20px; flex-shrink: 0; border: 1px solid #edf2f7; }
    .cmc-title { font-size: 15px; font-weight: 900; color: #1a202c; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
    
    .cmc-meta { display: flex; align-items: center; justify-content: space-between; margin-top: auto; }
    .cmc-author { font-size: 11px; color: #a0aec0; font-weight: 700; display: flex; align-items: center; gap: 5px; }
    .cmc-badge { padding: 4px 10px; border-radius: 50px; font-size: 10px; font-weight: 800; background: #f8fafc; color: #718096; }
    .cmc-badge.lock { background: #fff5f5; color: #e53e3e; }
    .cmc-badge.invite { background: var(--theme-light); color: var(--theme-main); }

    .modal-overlay { position: fixed; top: 0; bottom: 0; left: 0; right: 0; z-index: 1000; pointer-events: none; opacity: 0; visibility: hidden; transition: background 0.3s, backdrop-filter 0.3s, opacity 0.3s, visibility 0.3s; }
    .modal-overlay.show { opacity: 1; visibility: visible; }
    .modal-overlay.focus-mode { pointer-events: auto; background: rgba(15, 23, 42, 0.3); backdrop-filter: blur(5px); }

    .modal-window { position: absolute; width: 380px; max-width: 90%; max-height: 85vh; pointer-events: auto; background: white; border-radius: 24px; box-shadow: 0 25px 60px rgba(0,0,0,0.15); border: 2px solid var(--theme-main); display: flex; flex-direction: column; overflow: hidden; transform: scale(0.8); opacity: 0; transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); }
    .modal-overlay.show .modal-window { transform: scale(1); opacity: 1; }

    .sheet-handle { display: none; }
    .modal-cover { height: 90px; background: linear-gradient(135deg, var(--theme-light), #f8fafc); display: flex; align-items: center; justify-content: center; border-bottom: 1px solid #edf2f7; flex-shrink: 0; position: relative;}
    .modal-body { padding: 25px; flex-grow: 1; overflow-y: auto; }
    .modal-title { font-size: 20px; font-weight: 900; color: #1a202c; margin: 0; line-height: 1.3; }
    .modal-desc { font-size: 14px; color: #4a5568; line-height: 1.6; background: #f8fafc; padding: 18px; border-radius: 16px; margin-top: 15px; white-space: pre-wrap; }
    .modal-footer { padding: 20px 25px; background: white; border-top: 1px solid #edf2f7; display: flex; gap: 10px; flex-shrink: 0; }
    
    .c-button { display: flex; align-items: center; justify-content: center; width: 100%; padding: 14px; background: var(--theme-main); color: white; border-radius: 14px; text-decoration: none; font-weight: 900; font-size: 14px; transition: 0.2s; box-shadow: 0 4px 15px rgba(0,0,0,0.1); border: none; cursor: pointer;}
    .c-button:hover { opacity: 0.9; transform: scale(1.02); }
    .c-button:disabled { background: #f1f5f9 !important; color: #94a3b8 !important; cursor: not-allowed; box-shadow: none !important; transform: none !important;}
    
    .bookmark-btn { width: 52px; height: 100%; min-height: 48px; border-radius: 14px; border: 2px solid #edf2f7; background: white; color: #a0aec0; font-size: 18px; cursor: pointer; transition: 0.2s; display: flex; align-items: center; justify-content: center; }
    .bookmark-btn:hover { border-color: var(--theme-main); color: var(--theme-main); background: var(--theme-light); }
    .bookmark-btn.active { background: #fffbeb; border-color: #fcd34d; color: #f59e0b; }

    /* ===================================================
        📱 スマホ専用ネイティブアプリ風スタイル
       =================================================== */
    @media (max-width: 768px) {
        html, body { overflow-x: hidden; width: 100%; position: relative; }
        .discover-container { padding: 0 0 120px 0 !important; background: white; width: 100vw; overflow-x: hidden; box-sizing: border-box; }
        
        .mobile-sticky-header { position: sticky; top: 0; background: rgba(255,255,255,0.95); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); padding: 20px 15px 15px; z-index: 50; border-bottom: 1px solid #edf2f7; margin-bottom: 20px; width: 100%; box-sizing: border-box; }
        .page-title-row { margin-bottom: 15px !important; display: block !important; padding-right: 55px; }
        .page-title-row h1 { font-size: 24px !important; margin-bottom: 4px !important; }
        .page-title-row p { font-size: 13px !important; line-height: 1.4 !important; }
        
        .enhanced-search-container { margin-bottom: 0; padding: 0; border: none; box-shadow: none; border-radius: 0; background: transparent; }
        .enhanced-search-form { padding: 4px 4px 4px 15px; border-radius: 12px; }
        .enhanced-search-input { font-size: 14px; padding: 10px 0; }
        .search-submit-btn { height: 38px; padding: 0 18px; }
        .search-hint { display: none; }

        .invite-list-container { background: transparent; border: none; box-shadow: none; padding: 0; margin-bottom: 30px; width: 100%; box-sizing: border-box; overflow: hidden; }
        .invite-list-header { padding: 0 15px; font-size: 16px !important; margin-bottom: 10px !important; }
        .invite-list-wrapper { display: flex; flex-direction: row; gap: 12px; padding: 5px 15px 15px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
        .invite-list-wrapper::-webkit-scrollbar { display: none; }
        .invite-list-item { min-width: 72vw; max-width: 72vw; scroll-snap-align: center; flex-direction: column; align-items: stretch; padding: 16px; border-radius: 20px; background: linear-gradient(135deg, var(--theme-light) 0%, white 100%); border: 2px solid var(--theme-main); box-shadow: 0 6px 15px var(--theme-glow); box-sizing: border-box; }
        .invite-btn { width: 100%; box-sizing: border-box; text-align: center; margin-top: 15px; padding: 12px; font-size: 14px; }

        .public-list-header { padding: 0 15px; margin-bottom: 5px; font-size: 16px !important;}
        .map-grid-layout { display: flex; flex-direction: column; gap: 0; width: 100%; box-sizing: border-box; overflow: hidden; } 
        .compact-map-card { border: none; border-bottom: 1px solid #f8fafc; border-radius: 0; padding: 16px 15px; height: auto; display: flex; flex-direction: row; align-items: center; justify-content: space-between; box-shadow: none !important; transform: none !important; gap: 12px; width: 100%; box-sizing: border-box; }
        .compact-map-card:active { background: #f8fafc; }
        .compact-map-card.is-open { opacity: 1; transform: none; background: #f8fafc; }
        .cmc-top { display: flex; align-items: center; gap: 12px; flex-grow: 1; overflow: hidden; margin-bottom: 0;} 
        .cmc-icon { width: 48px; height: 48px; border-radius: 14px; font-size: 24px; flex-shrink: 0;}
        .cmc-title { font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 0;}
        .cmc-meta { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 6px; flex-shrink: 0; margin-top: 0;}
        .cmc-badge { margin: 0; padding: 4px 8px; font-size: 10px; }
        .cmc-author { font-size: 11px; margin-right: 2px;}

        .modal-overlay { align-items: flex-end; justify-content: center; display: flex; z-index: 2000 !important; }
        .modal-window { position: relative !important; top: auto !important; left: auto !important; transform: translateY(100%) !important; width: 100vw !important; max-width: 100vw !important; border-radius: 30px 30px 0 0 !important; border: none !important; max-height: 85vh !important; margin: 0 !important; transition: transform 0.35s cubic-bezier(0.2, 1, 0.3, 1) !important; padding-bottom: calc(50px + env(safe-area-inset-bottom)); }
        .modal-overlay.show .modal-window { transform: translateY(0) !important; }
        .sheet-handle { display: block !important; position: absolute; top: 12px; left: 50%; transform: translateX(-50%); width: 45px; height: 5px; background: rgba(0,0,0,0.2); border-radius: 5px; z-index: 10; }
        .modal-cover { height: 100px; border-radius: 30px 30px 0 0;}
        .modal-footer { position: absolute; bottom: 0; left: 0; width: 100%; box-sizing: border-box; padding: 15px 15px calc(15px + env(safe-area-inset-bottom)); box-shadow: 0 -10px 20px rgba(0,0,0,0.05); background: white; z-index: 20;}
        .modal-body { padding-bottom: 100px; }
    }
.modal-footer{display:grid;grid-template-columns:minmax(0,1fr) 54px;align-items:stretch}.modal-footer .c-button{width:auto;min-width:0;min-height:52px;box-sizing:border-box;padding:10px 12px;line-height:1.35}.modal-footer .inline-1da9facb4d{grid-column:2;grid-row:1;min-width:0}.modal-footer .bookmark-btn{width:54px;height:52px;min-height:52px;box-sizing:border-box}.modal-footer .social-action{grid-column:1/-1;background:#f1faf7;color:#187e6b;border:1px solid #c8eee4;box-shadow:none}.modal-footer>:first-child:nth-last-child(1){grid-column:1/-1}
.cmc-social-stats{display:flex;align-items:center;gap:15px;padding:0!important;margin-top:8px;color:#84928e;font-size:11px;font-weight:700}
@media(max-width:768px){.discover-container .map-grid-layout .compact-map-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;justify-content:stretch;gap:7px 12px;min-height:78px;padding:14px 16px;border-bottom:1px solid #edf2f7}.discover-container .map-grid-layout .cmc-top{grid-column:1;grid-row:1;min-width:0;flex-grow:initial}.discover-container .map-grid-layout .cmc-meta{grid-column:2;grid-row:1}.discover-container .map-grid-layout .cmc-social-stats{grid-column:1/-1;grid-row:2;margin:0 0 0 60px;padding:0!important;gap:12px;font-size:10px}}
.discover-container .cmc-social-stats{display:flex;align-items:center;gap:13px;margin:9px 0 0 60px!important;padding:0!important;color:#778a85;font-size:11px;font-weight:750}.cmc-social-stats button{border:0;border-radius:999px;background:#eef8f5;color:#16816d;padding:6px 11px;font:inherit;font-weight:800;cursor:pointer}.modal-footer{display:flex;flex-direction:column;gap:10px;padding:16px 20px}.discover-social-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid #edf2f0}.discover-social-counts{display:flex;gap:12px;flex-wrap:wrap;color:#6e827c;font-size:12px;font-weight:750}.discover-comment-button{border:1px solid #c8e9df;border-radius:10px;background:#f1faf7;color:#147c68;padding:9px 12px;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer}.discover-primary-row{display:flex;align-items:stretch;gap:10px}.discover-primary-row>.c-button{flex:1;display:flex;align-items:center;justify-content:center;min-height:48px;text-align:center;text-decoration:none}.discover-primary-row .inline-1da9facb4d{flex:0 0 50px}.discover-primary-row .bookmark-btn{width:50px;height:48px;min-height:48px}.discover-comments-overlay{position:fixed;inset:0;z-index:2500;display:grid;place-items:center;padding:20px;background:#10201f88;backdrop-filter:blur(5px)}.discover-comments-dialog{display:flex;flex-direction:column;width:min(540px,100%);max-height:min(720px,86dvh);overflow:hidden;border:1px solid #e2ece8;border-radius:24px;background:#fff;box-shadow:0 24px 70px #10201f30}.discover-comments-dialog>header{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid #edf2f0}.discover-comments-dialog header small{color:#14836e;font-weight:900;letter-spacing:.14em;font-size:10px}.discover-comments-dialog h2{margin:4px 0 0;color:#193d37;font-size:20px}.discover-comments-dialog header button{width:38px;height:38px;border:0;border-radius:50%;background:#f1f6f4;color:#55716b;font-size:24px;cursor:pointer}.discover-comments-list{overflow:auto;padding:4px 22px;flex:1;min-height:120px}.discover-comments-list article{padding:15px 0;border-bottom:1px solid #edf2f0}.discover-comments-list article strong{color:#244941;font-size:13px}.discover-comments-list article small{float:right;color:#91a09c;font-size:11px}.discover-comments-list article p{margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;color:#536963;line-height:1.65;font-size:14px}.discover-comments-list>p{padding:24px 0;color:#7d8f89;text-align:center}.discover-comments-note{padding:14px 20px;background:#f7fbf9;border-top:1px solid #edf2f0;text-align:center}.discover-comments-note a{display:inline-flex;justify-content:center;padding:10px 15px;border-radius:11px;background:#00a98d;color:#fff;text-decoration:none;font-size:13px;font-weight:800}
@media(max-width:768px){.discover-container .cmc-social-stats{grid-column:1/-1;grid-row:2}.modal-footer{padding:12px 15px calc(14px + env(safe-area-inset-bottom))}.discover-social-row{align-items:center}.discover-primary-row>.c-button{min-height:44px}.discover-comments-overlay{align-items:end;padding:0}.discover-comments-dialog{width:100%;max-height:88dvh;border-radius:24px 24px 0 0;padding-bottom:env(safe-area-inset-bottom)}.discover-comments-dialog>header{padding:18px 20px}}
