.container{max-width: var(--container-width);margin: 0 auto;padding: 0 24px}.btn,.cta-btn-primary,.cta-btn-secondary{display: inline-flex;align-items: center;justify-content: center;gap: 8px;height: 44px;padding: 0 24px;border-radius: var(--radius-md);font-size: 15px;font-weight: 600;line-height: 1;white-space: nowrap;transition: background-color 0.2s ease,border-color 0.2s ease,color 0.2s ease,transform 0.15s ease,box-shadow 0.2s ease}.btn-primary,.cta-btn-primary{background: var(--color-primary);color: #FFFFFF;border: 1px solid var(--color-primary)}.btn-primary:hover,.cta-btn-primary:hover{background: var(--color-primary-hover);color: #FFFFFF}.badge,.reco-badge-inline,.pillar-badge,.lc-badge,.lc-tag{display: inline-flex;align-items: center;gap: 4px;height: 22px;padding: 0 10px;border-radius: var(--radius-pill);font-size: 12px;font-weight: 500;line-height: 1;white-space: nowrap;color: var(--color-muted);background: var(--color-surface);border: 1px solid var(--color-border)}.pillar-badge{height: 18px;padding: 0 7px;font-size: 10px;font-weight: 700;color: var(--color-primary);background: var(--color-primary-soft);border: none}.section-hd{margin-bottom: var(--space-8);text-align: center;max-width: 720px;margin-left: auto;margin-right: auto}.section-hd .tag,.eyebrow{display: inline-block;font-size: 12px;font-weight: 600;letter-spacing: 0.16em;text-transform: uppercase;color: var(--color-primary);margin-bottom: var(--space-3)}.section-hd h2{font-size: 32px;color: var(--color-text);margin-bottom: var(--space-3)}.section-hd p{font-size: 15px;color: var(--color-muted);line-height: 1.8}#main-nav{position: sticky;top: 0;z-index: 200;background: rgba(247,246,243,0.9);-webkit-backdrop-filter: blur(14px);backdrop-filter: blur(14px);border-bottom: 1px solid var(--color-border)}.nav-inner{display: flex;align-items: center;justify-content: space-between;height: var(--header-height);gap: var(--space-6)}.nav-logo{display: flex;align-items: center;gap: var(--space-3);flex-shrink: 0}.logo-mark{width: 36px;height: 36px;border-radius: var(--radius-sm);object-fit: contain}.logo-name{font-size: 19px;font-weight: 700;color: var(--color-text);letter-spacing: -0.01em;line-height: 1.2}.logo-name span{color: var(--color-primary)}.logo-sub{display: block;font-size: 11px;color: var(--color-faint);margin-top: 1px;letter-spacing: 0.02em}.nav-search{flex: 1;max-width: 420px;margin: 0 var(--space-4);position: relative}.nav-search input{width: 100%;height: 44px;border: 1px solid var(--color-border);border-radius: var(--radius-md);background: var(--color-surface);padding: 0 44px 0 16px;font-size: 14px;color: var(--color-text);outline: none;transition: border-color 0.2s ease,box-shadow 0.2s ease,background 0.2s ease}.nav-search input:focus{border-color: var(--color-primary);box-shadow: 0 0 0 3px rgba(122,31,43,0.08)}.nav-search input::placeholder{color: var(--color-faint)}.nav-search .search-btn{position: absolute;right: 6px;top: 50%;transform: translateY(-50%);width: 32px;height: 32px;border-radius: var(--radius-sm);display: flex;align-items: center;justify-content: center;color: var(--color-muted);transition: background 0.2s ease,color 0.2s ease}.nav-search .search-btn:hover{background: var(--color-bg);color: var(--color-primary)}.nav-search .search-btn svg{width: 16px;height: 16px}.nav-links{display: none;align-items: center;gap: var(--space-1);flex-shrink: 0}.nav-links a{padding: 8px 14px;border-radius: var(--radius-sm);font-size: 14px;font-weight: 500;color: var(--color-text);white-space: nowrap;transition: color 0.2s ease,background 0.2s ease}.nav-links a:hover{color: var(--color-primary);background: rgba(122,31,43,0.06)}.nav-cs{display: inline-flex;align-items: center;gap: 7px;height: 40px;padding: 0 18px;border: 1px solid var(--color-border);border-radius: var(--radius-md);background: var(--color-surface);color: var(--color-text);font-size: 14px;font-weight: 500;white-space: nowrap;flex-shrink: 0;transition: border-color 0.2s ease,color 0.2s ease}.nav-cs:hover{border-color: var(--color-primary);color: var(--color-primary)}.nav-cs svg{width: 16px;height: 16px}.nav-menu-btn{display: flex;flex-direction: column;justify-content: center;align-items: center;width: 44px;height: 44px;padding: 10px;flex-shrink: 0}.nav-menu-btn span{display: block;width: 22px;height: 2px;background: var(--color-text);border-radius: 2px;margin: 2.5px 0;transition: transform 0.25s ease,opacity 0.25s ease}.nav-menu-btn.active span:nth-child(1){transform: translateY(7px) rotate(45deg)}.nav-menu-btn.active span:nth-child(2){opacity: 0}.nav-menu-btn.active span:nth-child(3){transform: translateY(-7px) rotate(-45deg)}.sidebar-overlay{display: none;position: fixed;inset: 0;background: rgba(23,23,23,0.5);z-index: 300}.sidebar-overlay.show{display: block}.sidebar{position: fixed;top: 0;left: -85%;width: 85%;max-width: 320px;height: 100vh;background: var(--color-surface);z-index: 310;display: flex;flex-direction: column;box-shadow: 12px 0 40px rgba(23,23,23,0.12);transition: left 0.3s ease}.sidebar.show{left: 0}.sidebar-header{display: flex;align-items: center;justify-content: space-between;padding: 18px 20px;border-bottom: 1px solid var(--color-border)}.sidebar-logo{display: flex;align-items: center;gap: var(--space-3);font-size: 17px;font-weight: 700;color: var(--color-text)}.sidebar-logo img{width: 34px;height: 34px;border-radius: 8px}.sidebar-close{width: 36px;height: 36px;display: flex;align-items: center;justify-content: center;border-radius: var(--radius-sm);color: var(--color-muted);font-size: 18px;transition: background 0.2s ease,color 0.2s ease}.sidebar-close:hover{background: var(--color-bg);color: var(--color-text)}.sidebar-menu{flex: 1;padding: var(--space-3) 0;overflow-y: auto}.sidebar-item{display: flex;align-items: center;gap: 14px;padding: 14px 20px;color: var(--color-text);font-size: 15px;font-weight: 500;transition: background 0.2s ease,color 0.2s ease}.sidebar-item:hover{background: var(--color-bg);color: var(--color-primary)}.sidebar-item svg{width: 20px;height: 20px;color: var(--color-muted)}.si-text{flex: 1}.sidebar-divider{height: 1px;background: var(--color-border);margin: 10px 20px}.sidebar-cs{margin: 0 16px;padding: 13px 18px;border-radius: var(--radius-md);background: var(--color-primary);color: #FFFFFF !important}.sidebar-cs:hover{background: var(--color-primary-hover);color: #FFFFFF !important}.sidebar-cs svg{color: #FFFFFF}.footer-main{padding: 72px 0 48px}.footer-grid{display: grid;grid-template-columns: 340px 1fr;gap: var(--space-12)}.footer-brand .fb-logo{font-size: 24px;font-weight: 700;color: #FFFFFF;letter-spacing: -0.01em;line-height: 1.2}.footer-brand .fb-logo span{color: var(--color-gold)}.footer-brand .fb-tagline{margin-top: var(--space-3);font-size: 14px;line-height: 1.9;color: rgba(255,255,255,0.62)}.footer-brand .fb-sources{margin-top: var(--space-6)}.footer-sources-label{font-size: 12px;letter-spacing: 0.08em;color: rgba(255,255,255,0.4);margin-bottom: var(--space-3)}.footer-source-link{display: inline-block;margin: 0 8px 8px 0;padding: 4px 12px;border: 1px solid rgba(255,255,255,0.16);border-radius: var(--radius-pill);font-size: 12px;color: rgba(255,255,255,0.72);transition: border-color 0.2s ease,color 0.2s ease}.footer-source-link:hover{border-color: var(--color-gold);color: var(--color-gold)}.footer-links-wrap{display: grid;grid-template-columns: repeat(4,1fr);gap: var(--space-8)}.footer-col h4,.footer-col .footer-col-title{color: #FFFFFF;font-size: 14px;font-weight: 600;margin-bottom: var(--space-4);letter-spacing: 0.02em}.footer-col a,.footer-col .footer-link-btn{display: block;color: rgba(255,255,255,0.6);font-size: 13px;margin-bottom: 10px;transition: color 0.2s ease,padding-left 0.2s ease}.footer-col a:hover,.footer-col .footer-link-btn:hover{color: var(--color-gold);padding-left: 4px}.footer-col .footer-link-btn{background: none;border: none;cursor: pointer;text-align: left;padding: 0}.footer-col .footer-link-btn:hover{padding-left: 4px}.footer-bottom{border-top: 1px solid rgba(255,255,255,0.12);padding: 20px 0}.footer-bottom-inner{display: flex;justify-content: space-between;align-items: center;flex-wrap: wrap;gap: var(--space-3);font-size: 12px;color: rgba(255,255,255,0.45)}.footer-bottom-inner a{color: rgba(255,255,255,0.55)}.footer-bottom-inner a:hover{color: var(--color-gold)}.site-footer{padding: 48px 0 32px;text-align: center}.site-footer p{color: rgba(255,255,255,0.42);font-size: 12px;line-height: 1.9}.mobile-bottom-nav{display: none;position: fixed;bottom: 0;left: 0;right: 0;z-index: 250;background: var(--color-surface);border-top: 1px solid var(--color-border);padding-bottom: env(safe-area-inset-bottom)}.mbn-item{display: flex;flex-direction: column;align-items: center;gap: 3px;padding: 9px 0 7px;font-size: 11px;color: var(--color-muted);transition: color 0.2s ease}.mbn-item:hover{color: var(--color-primary)}.mbn-item svg{width: 20px;height: 20px}.mbn-item.mbn-primary{color: #FFFFFF;background: var(--color-primary);border-radius: var(--radius-md);margin: -10px 6px 0;padding: 12px 0 10px;box-shadow: 0 4px 16px rgba(122,31,43,0.28)}.search-modal{position: fixed;top: 0;left: 0;right: 0;bottom: 0;z-index: 400;display: none}.search-modal.show{display: block}.search-modal-overlay{position: absolute;inset: 0;background: rgba(23,23,23,0.55)}.search-modal-content{position: relative;background: var(--color-surface);border-radius: 0 0 var(--radius-lg) var(--radius-lg);max-height: 82vh;overflow: hidden;box-shadow: 0 24px 64px rgba(23,23,23,0.18)}.search-modal-header{display: flex;align-items: center;gap: var(--space-3);padding: 14px 20px;border-bottom: 1px solid var(--color-border)}.search-modal-header input{flex: 1;height: 42px;border: 1px solid var(--color-border);border-radius: var(--radius-md);padding: 0 16px;font-size: 15px;color: var(--color-text);background: var(--color-bg);outline: none}.search-modal-header input:focus{border-color: var(--color-primary);background: var(--color-surface)}.search-modal-close{width: 36px;height: 36px;display: flex;align-items: center;justify-content: center;border-radius: var(--radius-sm);color: var(--color-muted);font-size: 17px}.search-modal-close:hover{background: var(--color-bg);color: var(--color-text)}.search-modal-body{padding: var(--space-6);max-height: calc(82vh - 72px);overflow-y: auto}.search-hints{text-align: center;color: var(--color-faint);padding: var(--space-8) 0}.search-hints p{margin-bottom: var(--space-4);color: var(--color-muted)}.search-tags{display: flex;flex-wrap: wrap;gap: var(--space-2);justify-content: center}.search-tag{padding: 7px 16px;background: var(--color-bg);border: 1px solid var(--color-border);border-radius: var(--radius-pill);font-size: 13px;color: var(--color-text);cursor: pointer;transition: border-color 0.2s ease,color 0.2s ease}.search-tag:hover{border-color: var(--color-primary);color: var(--color-primary)}.search-results{display: flex;flex-direction: column;gap: var(--space-2)}.search-result-item{display: flex;align-items: center;gap: var(--space-4);padding: 14px 16px;border: 1px solid var(--color-border);border-radius: var(--radius-md);cursor: pointer;transition: border-color 0.2s ease,background 0.2s ease}.search-result-item:hover{border-color: var(--color-primary);background: var(--color-primary-soft)}.search-result-icon{width: 40px;height: 40px;border-radius: var(--radius-sm);display: flex;align-items: center;justify-content: center;font-size: 18px;color: var(--color-primary);background: var(--color-primary-soft);flex-shrink: 0}.search-result-info{flex: 1;min-width: 0}.search-result-title{font-weight: 600;font-size: 15px;color: var(--color-text)}.search-result-desc{font-size: 13px;color: var(--color-faint);margin-top: 2px}.search-result-tag{font-size: 12px;color: var(--color-primary);margin-top: 4px}.search-no-results{text-align: center;padding: var(--space-12) 0;color: var(--color-faint)}.search-no-results p{margin-bottom: var(--space-2)}.toast{position: fixed;bottom: 32px;left: 50%;transform: translateX(-50%) translateY(12px);background: var(--color-footer);color: #FFFFFF;padding: 12px 22px;border-radius: var(--radius-md);font-size: 14px;font-weight: 500;box-shadow: 0 8px 32px rgba(23,23,23,0.22);z-index: 500;opacity: 0;transition: opacity 0.25s ease,transform 0.25s ease;pointer-events: none;max-width: 90vw;text-align: center}.toast.show{opacity: 1;transform: translateX(-50%) translateY(0)}.tc-err{color: var(--color-danger) !important}.status-dot{display: inline-block;width: 8px;height: 8px;border-radius: 50%;flex-shrink: 0}.status-dot--danger{background: var(--color-danger)}#today-cards{padding: 88px 0 64px;position: relative;background: radial-gradient(1200px 420px at 80% -10%,rgba(184,155,99,0.1),transparent 60%),var(--color-bg);border-bottom: 1px solid var(--color-border)}.page-title{font-size: 48px;font-weight: 600;line-height: 1.15;letter-spacing: -0.015em;color: var(--color-text);text-align: center;max-width: 760px;margin: 0 auto var(--space-3);padding: 0 20px}.page-lead{font-size: 17px;color: var(--color-muted);text-align: center;max-width: 640px;margin: 0 auto var(--space-6);padding: 0 20px;line-height: 1.8}.brand-note{font-size: 12.5px;color: var(--color-faint);text-align: center;max-width: 760px;margin: 0 auto var(--space-8);padding: 0 20px;line-height: 1.8}.brand-note strong{color: var(--color-muted);font-weight: 500}.hero-search{position: relative;max-width: 560px;margin: 0 auto var(--space-12)}.hero-search input{width: 100%;height: 56px;border: 1px solid var(--color-border);border-radius: 16px;background: var(--color-surface);padding: 0 52px 0 20px;font-size: 16px;color: var(--color-text);outline: none;box-shadow: var(--shadow-sm);transition: border-color 0.2s ease,box-shadow 0.2s ease}.hero-search input:focus{border-color: var(--color-primary);box-shadow: 0 0 0 4px rgba(122,31,43,0.08)}.hero-search input::placeholder{color: var(--color-faint)}.hero-search .hero-search-btn{position: absolute;right: 8px;top: 50%;transform: translateY(-50%);width: 40px;height: 40px;border-radius: var(--radius-md);display: flex;align-items: center;justify-content: center;background: var(--color-primary);color: #FFFFFF;transition: background 0.2s ease}.hero-search .hero-search-btn:hover{background: var(--color-primary-hover)}.hero-search .hero-search-btn svg{width: 18px;height: 18px}.today-grid{display: grid;grid-template-columns: repeat(4,1fr);gap: var(--space-4)}.today-card{background: var(--color-surface);border: 1px solid var(--color-border);border-radius: var(--radius-lg);padding: var(--space-5) var(--space-4);text-align: center;cursor: pointer;transition: border-color 0.2s ease,box-shadow 0.25s ease,transform 0.2s ease;position: relative;overflow: hidden}.today-card:hover{border-color: #DCD9D2;box-shadow: var(--shadow-md);transform: translateY(-2px)}.today-card.priority-1{background: var(--color-surface);border-color: #D8C9CB}.today-card.priority-1::before{content: '';position: absolute;top: 0;left: 0;right: 0;height: 2px;background: linear-gradient(90deg,transparent,var(--color-gold),transparent);opacity: 0.7}.today-card .tc-icon{display: inline-flex;align-items: center;justify-content: center;width: 40px;height: 40px;margin-bottom: var(--space-3);border-radius: var(--radius-md);color: var(--color-primary);background: var(--color-primary-soft);font-size: 20px;line-height: 1}.today-card .tc-icon svg{width: 20px;height: 20px}.today-card .tc-label{font-size: 13px;font-weight: 500;color: var(--color-faint);margin-bottom: 4px;letter-spacing: 0.02em}.today-card .tc-value{font-size: 24px;font-weight: 600;line-height: 1.25;letter-spacing: -0.01em;color: var(--color-text)}.today-card .tc-sub{font-size: 12px;color: var(--color-muted);margin-top: 4px;line-height: 1.5}.today-meta{text-align: center;font-size: 12px;color: var(--color-faint);margin-top: var(--space-5);letter-spacing: 0.02em}#categories{background: var(--color-surface);border-bottom: 1px solid var(--color-border)}.cat-grid{display: grid;grid-template-columns: repeat(8,1fr);gap: var(--space-3)}.cat-item{display: flex;flex-direction: column;align-items: center;gap: var(--space-3);padding: var(--space-6) var(--space-3);border: 1px solid var(--color-border);border-radius: var(--radius-lg);background: var(--color-surface);color: var(--color-text);transition: border-color 0.2s ease,box-shadow 0.2s ease,transform 0.2s ease}.cat-item:hover{border-color: #D8C9CB;box-shadow: var(--shadow-sm);transform: translateY(-2px);color: var(--color-text)}.cat-icon{width: 44px;height: 44px;border-radius: var(--radius-md);display: flex;align-items: center;justify-content: center;color: var(--color-primary);background: var(--color-primary-soft);font-size: 20px}.cat-icon svg{width: 22px;height: 22px}.cat-item span{font-size: 13px;font-weight: 500;color: var(--color-muted);transition: color 0.2s ease}.cat-item:hover span{color: var(--color-text)}#tools{background: var(--color-bg)}.tools-grid{display: grid;grid-template-columns: repeat(2,1fr);gap: var(--space-6)}.tool-block{background: var(--color-surface);border: 1px solid var(--color-border);border-radius: var(--radius-lg);overflow: hidden;transition: box-shadow 0.25s ease,border-color 0.25s ease}.tool-block:hover{box-shadow: var(--shadow-md);border-color: #DCD9D2}.tool-block-hd{display: flex;align-items: center;justify-content: space-between;gap: var(--space-4);padding: var(--space-5) var(--space-6);border-bottom: 1px solid var(--color-border)}.tool-block-hd .tb-title{display: flex;align-items: center;gap: 10px;font-size: 16px;font-weight: 600;color: var(--color-text)}.tool-block-hd .tb-title .dot{width: 7px;height: 7px;border-radius: 50%;background: var(--color-success);display: inline-block;flex-shrink: 0}.tool-h2-inline{font-size: 16px;font-weight: 600;display: inline-flex;align-items: center;gap: 8px}.tool-h2-inline svg{width: 18px;height: 18px;color: var(--color-primary)}.tool-block-hd a{font-size: 13px;font-weight: 500;color: var(--color-primary);white-space: nowrap}.tool-block-hd a:hover{color: var(--color-primary-hover)}.tool-block-bd{padding: var(--space-6)}.tool-direct-answer{background: var(--color-gold-soft);border: 1px solid rgba(184,155,99,0.28);border-radius: var(--radius-md);padding: 14px 16px;font-size: 13px;line-height: 1.8;color: var(--color-muted);margin-bottom: var(--space-4)}.tool-direct-answer a{color: var(--color-primary)}.tool-static-desc{background: var(--color-bg);border: 1px solid var(--color-border);border-radius: var(--radius-md);padding: 14px 16px;margin-bottom: var(--space-4)}.tool-static-desc p{font-size: 13px;color: var(--color-muted);line-height: 1.8;margin-bottom: 8px}.tool-static-desc p:last-child{margin-bottom: 0}.toggle-details-btn{display: inline-flex;align-items: center;gap: 4px;color: var(--color-primary);font-size: 13px;font-weight: 500;padding: 6px 2px;margin-bottom: var(--space-4);transition: color 0.2s ease}.toggle-details-btn:hover{color: var(--color-primary-hover)}.tool-data-source{font-size: 12px;color: var(--color-faint);margin-top: var(--space-4);padding-top: var(--space-3);border-top: 1px dashed var(--color-border)}.tool-data-source a{color: var(--color-info)}.tool-link-row{font-size: 13px;margin-top: var(--space-3);line-height: 2}.tool-link-row a{color: var(--color-info)}.tool-link-row a:hover{color: var(--color-primary)}.bus-search{display: flex;gap: var(--space-3);margin-bottom: var(--space-4)}.bus-search input{flex: 1;height: 44px;border: 1px solid var(--color-border);border-radius: var(--radius-md);padding: 0 16px;font-size: 14px;color: var(--color-text);background: var(--color-surface);outline: none;transition: border-color 0.2s ease,box-shadow 0.2s ease}.bus-search input:focus{border-color: var(--color-primary);box-shadow: 0 0 0 3px rgba(122,31,43,0.08)}.bus-search button{height: 44px;padding: 0 20px;background: var(--color-primary);color: #FFFFFF;border-radius: var(--radius-md);font-size: 14px;font-weight: 600;transition: background 0.2s ease}.bus-search button:hover{background: var(--color-primary-hover)}.bus-list{display: flex;flex-direction: column;gap: var(--space-2)}.bus-list:empty{min-height: 132px}.bus-row{display: flex;align-items: center;justify-content: space-between;gap: var(--space-4);background: var(--color-bg);border: 1px solid var(--color-border);border-radius: var(--radius-md);padding: 12px 16px;transition: border-color 0.2s ease,background 0.2s ease}.bus-row:hover{border-color: #DCD9D2;background: var(--color-surface)}.bus-no{font-size: 20px;font-weight: 700;color: var(--color-primary);letter-spacing: -0.02em;line-height: 1.2}.bus-dest{font-size: 13px;color: var(--color-muted);margin-top: 2px}.bus-arriving{font-size: 13px;font-weight: 600;color: var(--color-success);white-space: nowrap;padding: 5px 12px;background: var(--color-success-soft);border-radius: var(--radius-pill)}.bus-driving{font-size: 13px;font-weight: 600;color: var(--color-warning);white-space: nowrap;padding: 5px 12px;background: var(--color-warning-soft);border-radius: var(--radius-pill)}.flow-list{display: flex;flex-direction: column;gap: var(--space-4)}.flow-list:empty{min-height: 128px}.flow-row{display: flex;align-items: center;gap: var(--space-4)}.flow-name{flex: 1;font-size: 14px;font-weight: 500;color: var(--color-text);min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.flow-bar-wrap{flex: 2;height: 6px;background: var(--color-border);border-radius: 4px;overflow: hidden}.flow-bar{height: 100%;border-radius: 4px;width: 0;transition: width 0.8s cubic-bezier(0.4,0,0.2,1)}.flow-bar.low{background: var(--color-success)}.flow-bar.mid{background: var(--color-warning)}.flow-bar.high{background: var(--color-danger)}.flow-pct{font-size: 12px;font-weight: 600;min-width: 36px;text-align: right}.flow-pct.low{color: var(--color-success)}.flow-pct.mid{color: var(--color-warning)}.flow-pct.high{color: var(--color-danger)}.typhoon-alert{display: none;align-items: center;gap: var(--space-3);background: var(--color-danger-soft);border: 1px solid rgba(163,58,58,0.28);border-radius: var(--radius-md);padding: 12px 16px;margin-bottom: var(--space-4)}.typhoon-alert.safe{background: var(--color-info-soft);border-color: rgba(82,106,130,0.28)}.typhoon-alert.warn{background: var(--color-warning-soft);border-color: rgba(168,116,40,0.28)}.typhoon-alert-icon{font-size: 20px;line-height: 1;flex-shrink: 0}.typhoon-alert-text{font-size: 14px;font-weight: 600;color: var(--color-danger);flex: 1}.typhoon-alert.safe .typhoon-alert-text{color: var(--color-info)}.typhoon-alert.warn .typhoon-alert-text{color: var(--color-warning)}.typhoon-alert-action{font-size: 12px;color: var(--color-muted)}.weather-now{display: flex;align-items: center;gap: var(--space-4);margin-bottom: var(--space-4)}.weather-now .wn-icon{font-size: 44px;line-height: 1;color: var(--color-warning)}.weather-now .wn-temp{font-size: 40px;font-weight: 600;line-height: 1.1;letter-spacing: -0.02em;color: var(--color-text)}.weather-now .wn-temp sup{font-size: 18px;font-weight: 500;color: var(--color-muted)}.weather-now .wn-desc{font-size: 14px;color: var(--color-muted);margin-top: 2px}.weather-3d{display: grid;grid-template-columns: repeat(3,1fr);gap: var(--space-2)}.weather-day{background: var(--color-bg);border: 1px solid var(--color-border);border-radius: var(--radius-md);padding: var(--space-3) var(--space-2);text-align: center}.weather-day .wd-day{font-size: 11px;color: var(--color-faint);margin-bottom: 6px;letter-spacing: 0.04em}.weather-day .wd-icon{font-size: 22px;line-height: 1;margin-bottom: 4px}.weather-day .wd-temp{font-size: 14px;font-weight: 600;color: var(--color-text)}.event-list{display: flex;flex-direction: column;gap: var(--space-2)}.event-list:empty{min-height: 240px}.event-item{display: flex;align-items: flex-start;gap: var(--space-4);padding: 12px 14px;background: var(--color-bg);border: 1px solid var(--color-border);border-radius: var(--radius-md)}.event-date{text-align: center;min-width: 42px;flex-shrink: 0}.event-date .ed-day{font-size: 20px;font-weight: 700;color: var(--color-primary);line-height: 1.1;letter-spacing: -0.02em}.event-date .ed-mon{font-size: 10px;color: var(--color-faint);letter-spacing: 0.08em}.event-info{flex: 1;min-width: 0}.event-info .ei-name{font-size: 13px;font-weight: 600;color: var(--color-text);margin-bottom: 2px}.event-info .ei-place{font-size: 12px;color: var(--color-muted)}.event-tag{display: inline-block;padding: 3px 9px;border-radius: var(--radius-pill);font-size: 11px;font-weight: 500;white-space: nowrap;flex-shrink: 0}.event-tag.culture{background: var(--color-info-soft);color: var(--color-info)}.event-tag.food{background: var(--color-gold-soft);color: var(--color-gold)}.event-tag.sports{background: var(--color-success-soft);color: var(--color-success)}#hotel-cta-banner{background: var(--color-surface);border-bottom: 1px solid var(--color-border)}.cta-banner-inner{display: grid;grid-template-columns: 1fr 1fr;gap: var(--space-12);align-items: center}.cta-badge{display: inline-flex;align-items: center;gap: 6px;padding: 6px 14px;border-radius: var(--radius-pill);background: var(--color-primary-soft);color: var(--color-primary);font-size: 12px;font-weight: 600;margin-bottom: var(--space-4)}.cta-badge svg{width: 14px;height: 14px}.cta-title{font-size: 30px;font-weight: 600;line-height: 1.25;color: var(--color-text);margin-bottom: var(--space-3)}.cta-highlight{color: var(--color-primary)}.cta-subtitle{font-size: 15px;color: var(--color-muted);line-height: 1.9;margin-bottom: var(--space-5)}.cta-proof{display: flex;flex-wrap: wrap;gap: var(--space-2)}.cta-proof-item{display: inline-flex;align-items: center;gap: 5px;font-size: 12px;color: var(--color-muted);background: var(--color-bg);border: 1px solid var(--color-border);border-radius: var(--radius-pill);padding: 5px 12px}.cta-info-card{background: var(--color-bg);border: 1px solid var(--color-border);border-radius: var(--radius-lg);padding: var(--space-6)}.cta-info-row{display: flex;align-items: center;gap: var(--space-3);padding: var(--space-3) 0}.cta-info-row:last-child{padding-bottom: var(--space-4)}.cta-info-icon{width: 40px;height: 40px;border-radius: var(--radius-md);display: flex;align-items: center;justify-content: center;background: var(--color-primary-soft);color: var(--color-primary);flex-shrink: 0}.cta-info-icon svg{width: 20px;height: 20px}.cta-info-label{font-size: 14px;font-weight: 600;color: var(--color-text)}.cta-info-value{font-size: 12px;color: var(--color-muted)}.cta-btn-block{margin-top: var(--space-2)}.cta-btn-outline{display: inline-flex;align-items: center;justify-content: center;gap: 8px;height: 44px;padding: 0 20px;border: 1px solid var(--color-border);border-radius: var(--radius-md);background: var(--color-surface);color: var(--color-text);font-size: 14px;font-weight: 600;margin: var(--space-2) var(--space-2) 0 0;transition: border-color 0.2s ease,color 0.2s ease}.cta-btn-outline:hover{border-color: var(--color-primary);color: var(--color-primary)}.cta-btn-orange{display: inline-flex;align-items: center;justify-content: center;gap: 8px;height: 44px;padding: 0 20px;border-radius: var(--radius-md);background: var(--color-primary-soft);color: var(--color-primary);font-size: 14px;font-weight: 600;transition: background 0.2s ease}.cta-btn-orange:hover{background: var(--color-primary);color: #FFFFFF}.cta-btn-hint{font-size: 11px;color: var(--color-faint);margin-top: var(--space-4);padding-top: var(--space-3);border-top: 1px dashed var(--color-border)}#hot-reco{background: var(--color-surface);border-bottom: 1px solid var(--color-border)}.reco-tabs{display: flex;gap: var(--space-1);justify-content: center;margin-bottom: var(--space-8);background: var(--color-bg);border: 1px solid var(--color-border);border-radius: var(--radius-pill);padding: 4px;width: fit-content;margin-left: auto;margin-right: auto}.reco-tab{display: inline-flex;align-items: center;gap: 6px;padding: 9px 22px;font-size: 14px;font-weight: 500;color: var(--color-muted);border-radius: var(--radius-pill);white-space: nowrap;transition: background 0.2s ease,color 0.2s ease}.reco-tab:hover{color: var(--color-text)}.reco-tab.active{background: var(--color-primary);color: #FFFFFF}.reco-tab svg{width: 16px;height: 16px}.reco-panel{display: none}.reco-panel.active{display: block}.reco-grid{display: grid;grid-template-columns: repeat(4,1fr);gap: var(--space-5)}.reco-text-card{background: var(--color-surface);border: 1px solid var(--color-border);border-radius: var(--radius-lg);overflow: hidden;transition: box-shadow 0.25s ease,border-color 0.25s ease,transform 0.25s ease;display: flex;flex-direction: column}.reco-text-card:hover{box-shadow: var(--shadow-md);border-color: #DCD9D2;transform: translateY(-2px)}.reco-img-wrap{aspect-ratio: 16 / 10;overflow: hidden;background: var(--color-bg)}.reco-img-wrap img{width: 100%;height: 100%;object-fit: cover;transition: transform 0.3s ease}.reco-text-card:hover .reco-img-wrap img{transform: scale(1.02)}.reco-info{padding: var(--space-4) var(--space-5) var(--space-5);flex: 1;display: flex;flex-direction: column}.reco-info .ri-name{font-size: 16px;font-weight: 600;color: var(--color-text);margin-bottom: var(--space-2);line-height: 1.4}.reco-info .reco-badge-inline{align-self: flex-start;margin-bottom: var(--space-2)}.reco-info .ri-meta{display: flex;align-items: center;gap: var(--space-3);flex-wrap: wrap;font-size: 12px;color: var(--color-muted);margin-bottom: var(--space-4)}.reco-info .ri-score{color: var(--color-gold);font-weight: 600}.reco-info .ri-btn{margin-top: auto;display: flex;align-items: center;justify-content: center;gap: 6px;height: 40px;border: 1px solid var(--color-primary);border-radius: var(--radius-md);color: var(--color-primary);font-size: 14px;font-weight: 600;transition: background 0.2s ease,color 0.2s ease}.reco-info .ri-btn:hover{background: var(--color-primary);color: #FFFFFF}#guides{background: var(--color-bg)}.guide-cluster-grid{display: grid;grid-template-columns: repeat(3,1fr);gap: var(--space-6)}.guide-cluster{background: var(--color-surface);border: 1px solid var(--color-border);border-radius: var(--radius-lg);padding: var(--space-6);transition: box-shadow 0.25s ease,border-color 0.25s ease}.guide-cluster:hover{box-shadow: var(--shadow-md);border-color: #DCD9D2}.cluster-header{display: flex;align-items: center;gap: var(--space-3);margin-bottom: var(--space-4);padding-bottom: var(--space-4);border-bottom: 1px solid var(--color-border)}.cluster-icon{width: 32px;height: 32px;display: flex;align-items: center;justify-content: center;border-radius: var(--radius-sm);color: var(--color-primary);background: var(--color-primary-soft)}.cluster-icon svg{width: 17px;height: 17px}.cluster-header h3{font-size: 16px;font-weight: 600;color: var(--color-text);flex: 1;margin: 0}.cluster-count{font-size: 12px;color: var(--color-faint);background: var(--color-bg);border: 1px solid var(--color-border);border-radius: var(--radius-pill);padding: 2px 10px;white-space: nowrap}.cluster-list{list-style: none;padding: 0;margin: 0;display: flex;flex-direction: column;gap: 2px}.cluster-list a{display: flex;align-items: center;gap: 8px;font-size: 13px;color: var(--color-muted);padding: 7px 10px;border-radius: var(--radius-sm);line-height: 1.6;transition: background 0.2s ease,color 0.2s ease,padding-left 0.2s ease}.cluster-list a:hover{background: var(--color-primary-soft);color: var(--color-primary);padding-left: 14px}.view-more-wrap{text-align: center;margin-top: var(--space-8)}.view-more-btn{display: inline-flex;align-items: center;gap: 6px;height: 44px;padding: 0 28px;border: 1px solid var(--color-border);border-radius: var(--radius-md);background: var(--color-surface);color: var(--color-text);font-size: 14px;font-weight: 500;transition: border-color 0.2s ease,color 0.2s ease}.view-more-btn:hover{border-color: var(--color-primary);color: var(--color-primary)}.faq-section{margin-top: var(--space-12);max-width: 840px;margin-left: auto;margin-right: auto}.faq-section-title{font-size: 24px;font-weight: 600;text-align: center;margin-bottom: var(--space-6)}.faq-grid{display: grid;gap: var(--space-3)}.faq-item{background: var(--color-surface);border: 1px solid var(--color-border);border-radius: var(--radius-md);overflow: hidden;transition: border-color 0.2s ease}.faq-question{display: flex;align-items: center;justify-content: space-between;gap: var(--space-4);padding: 17px 20px;font-size: 15px;font-weight: 600;color: var(--color-text);cursor: pointer;list-style: none}.faq-question::-webkit-details-marker{display: none}.faq-plus{flex-shrink: 0;width: 24px;height: 24px;display: inline-flex;align-items: center;justify-content: center;border-radius: 50%;background: var(--color-bg);color: var(--color-muted);font-size: 16px;line-height: 1;transition: background 0.2s ease,color 0.2s ease,transform 0.25s ease}.faq-answer{padding: 0 20px 18px;color: var(--color-muted);font-size: 14px;line-height: 1.9}.faq-answer p{color: var(--color-muted);font-size: 14px}.faq-answer a{color: var(--color-primary)}#data-sources{background: var(--color-bg);border-top: 1px solid var(--color-border)}.data-source-grid{display: grid;grid-template-columns: repeat(4,1fr);gap: var(--space-4)}.data-source-item{background: var(--color-surface);border: 1px solid var(--color-border);border-radius: var(--radius-md);padding: var(--space-5)}.data-source-item .ds-cat{font-size: 14px;font-weight: 600;color: var(--color-text);margin-bottom: var(--space-2)}.data-source-item .ds-src{font-size: 12px;color: var(--color-muted);line-height: 1.7}.data-source-item .ds-freq{font-size: 11px;color: var(--color-faint);margin-top: var(--space-2)}.data-source-note{text-align: center;font-size: 13px;color: var(--color-faint);margin-top: var(--space-8)}.data-source-note a{color: var(--color-primary)}.reco-info .ri-name{font-size: 16px;font-weight: 600}.reco-badge-inline{height: 20px;padding: 0 9px;font-size: 11px;color: var(--color-primary);background: var(--color-primary-soft);border-color: rgba(122,31,43,0.2)}.site-header{position: sticky;top: 0;z-index: 200;background: rgba(247,246,243,0.92);-webkit-backdrop-filter: blur(14px);backdrop-filter: blur(14px);border-bottom: 1px solid var(--color-border)}.site-header .container{display: flex;align-items: center;justify-content: space-between;height: var(--header-height);max-width: 880px}.site-header .logo{display: inline-flex;align-items: center;gap: var(--space-3);color: var(--color-text);font-weight: 700;font-size: 18px}.site-header .logo img{width: 36px;height: 36px;border-radius: var(--radius-sm);object-fit: contain}.site-header .main-nav{display: flex;align-items: center;gap: var(--space-2)}.site-header .main-nav a{padding: 8px 12px;border-radius: var(--radius-sm);color: var(--color-muted);font-size: 14px;font-weight: 500;transition: color 0.2s ease,background 0.2s ease}.site-header .main-nav a:hover{color: var(--color-primary);background: rgba(122,31,43,0.06)}.site-header.site-header--app{background: transparent;border-bottom: 0;-webkit-backdrop-filter: none;backdrop-filter: none}.site-header.site-header--app>#main-nav{position: static}.site-header.site-header--app .container{display: block;height: auto;max-width: var(--container-width)}.site-header.site-header--info{background: var(--color-surface);border-bottom: 0;-webkit-backdrop-filter: none;backdrop-filter: none}.site-header.site-header--info>.top-nav{position: static}.top-nav{background: var(--color-surface);border-bottom: 1px solid var(--color-border);padding: 0 24px;display: flex;align-items: center;justify-content: space-between;height: 60px;position: sticky;top: 0;z-index: 200}.main-wrap{max-width: 800px;margin: 0 auto;padding: var(--space-12) 20px var(--space-16)}.main-wrap .page-title{font-size: 30px;font-weight: 600;text-align: left;margin: 0 0 var(--space-2);padding: 0}.gm-link,.section-hd a{color: var(--color-primary);font-size: 13px;font-weight: 500}.fade-up{opacity: 1;transform: translateY(0);transition: opacity 0.3s ease,transform 0.3s ease}html.js .fade-up{opacity: 0;transform: translateY(12px)}html.js .fade-up.visible{opacity: 1;transform: translateY(0)}@media (prefers-reduced-motion: reduce){html.js .fade-up{opacity: 1;transform: none}}.skip-link{position: absolute;top: -100%;left: 16px;background: var(--color-primary);color: #FFFFFF;padding: 8px 16px;border-radius: var(--radius-sm);font-size: 14px;font-weight: 600;z-index: 9999;transition: top 0.2s}.skip-link:focus{top: 8px;color: #FFFFFF}.navbar{background: rgba(247,246,243,0.92);-webkit-backdrop-filter: blur(14px);backdrop-filter: blur(14px);border-bottom: 1px solid var(--color-border);position: sticky;top: 0;z-index: 200;box-shadow: none}.navbar .logo{display: inline-flex;align-items: center;gap: var(--space-3);color: var(--color-text);font-weight: 700;font-size: 18px}.navbar .logo-mark{height: 36px;width: auto;border-radius: var(--radius-sm)}.navbar .nav-links{display: flex;align-items: center;gap: var(--space-1)}.navbar .nav-links a{padding: 8px 12px;border-radius: var(--radius-sm);color: var(--color-muted);font-size: 14px;font-weight: 500;transition: color 0.2s ease,background 0.2s ease}.navbar .nav-links a:hover{color: var(--color-primary);background: rgba(122,31,43,0.06)}.wn-temp.is-loading,.wn-desc.is-loading,.wd-temp.is-loading{display: inline-block;position: relative;overflow: hidden;background: var(--color-border);border-radius: var(--radius-sm);color: transparent !important;min-width: 64px;min-height: 20px;vertical-align: middle}.wn-temp.is-loading::after,.wn-desc.is-loading::after,.wd-temp.is-loading::after{content: '';position: absolute;inset: 0;background: linear-gradient(90deg,transparent,rgba(255,255,255,0.6),transparent);animation: ds-shimmer 1.4s linear infinite}.wn-icon.is-loading,.wd-icon.is-loading{display: inline-flex;align-items: center;justify-content: center;width: 40px;height: 40px;border-radius: var(--radius-md);background: var(--color-border);animation: ds-pulse 1.4s ease-in-out infinite}.wd-icon.is-loading{width: 30px;height: 30px;border-radius: var(--radius-sm)}.section-hd .tag-blue{color: var(--color-gold)}.today-card.priority-2{background: var(--color-surface);border-color: var(--color-border)}.tool-static-desc.expanded{display: block;max-height: 600px;opacity: 1;transition: max-height 0.4s ease,opacity 0.3s ease}.container{padding: 0 16px}.nav-inner{height: 60px}.nav-search{display: none}.logo-mark{width: 32px;height: 32px}.logo-name{font-size: 17px}.logo-sub{display: none}.nav-cs{display: none}.mobile-bottom-nav{display: flex}.mbn-item{flex: 1}.mbn-item.mbn-primary{flex: 1.2}#today-cards{padding: 56px 0 48px}.page-title{font-size: 28px;line-height: 1.25}.page-lead{font-size: 15px}.hero-search input{height: 52px;font-size: 15px;padding: 0 48px 0 16px}.today-grid{grid-template-columns: repeat(2,1fr);gap: var(--space-3)}.today-card{padding: var(--space-4) var(--space-3)}.today-card .tc-value{font-size: 20px}.today-card .tc-icon{width: 36px;height: 36px}.cat-grid{grid-template-columns: repeat(3,1fr);gap: var(--space-2)}.cat-item{padding: var(--space-4) var(--space-2)}.cat-item span{font-size: 12px}.section-hd h2{font-size: 24px}.section-hd p{font-size: 14px}.tool-block-hd{padding: var(--space-4)}.tool-block-bd{padding: var(--space-4)}.bus-search{flex-direction: column}.bus-search button{width: 100%}.weather-3d{gap: var(--space-2)}.reco-grid{grid-template-columns: 1fr;gap: var(--space-4)}.reco-tabs{width: 100%;justify-content: stretch}.reco-tab{flex: 1;justify-content: center;padding: 9px 8px;font-size: 12px}.guide-cluster-grid{grid-template-columns: 1fr}.data-source-grid{grid-template-columns: 1fr}.tools-grid{grid-template-columns: 1fr}.footer-grid{grid-template-columns: 1fr;gap: var(--space-8)}.cta-banner-inner{grid-template-columns: 1fr;gap: var(--space-8)}.cta-title{font-size: 24px}.cta-info-card{padding: var(--space-5)}.footer-main{padding: 48px 0 32px}.footer-links-wrap{grid-template-columns: repeat(2,1fr);gap: var(--space-6)}.footer-bottom-inner{flex-direction: column;gap: var(--space-2);text-align: center}.footer-bottom-inner span{font-size: 12px}.main-wrap{padding: var(--space-8) 16px var(--space-16)}.top-nav{padding: 0 16px}.search-modal-body{padding: var(--space-4)}@media (min-width: 401px){.cat-grid{grid-template-columns: repeat(4,1fr)}.page-title{font-size: 32px}.reco-tab{font-size: 13px;padding: 9px 10px}}@media (min-width: 641px){.container{padding: 0 20px}.nav-search{display: block;max-width: 220px;margin: 0 var(--space-3)}.nav-cs{display: flex;padding: 0 14px}.nav-cs span{display: none}.page-title{font-size: 38px}.today-grid{grid-template-columns: repeat(3,1fr)}.tools-grid{grid-template-columns: 1fr}.reco-grid{grid-template-columns: repeat(2,1fr)}.guide-cluster-grid{grid-template-columns: repeat(2,1fr)}.data-source-grid{grid-template-columns: repeat(2,1fr)}.footer-grid{grid-template-columns: 1fr;gap: var(--space-8)}.cta-banner-inner{grid-template-columns: 1fr;gap: var(--space-8)}.reco-tabs{width: auto;justify-content: flex-start}.reco-tab{flex: initial}.bus-search{flex-direction: row}.bus-search button{width: auto}}@media (min-width: 901px){.container{padding: 0 24px}.nav-inner{height: var(--header-height)}.nav-links{display: flex}.nav-menu-btn{display: none}.nav-cs span{display: inline}.logo-mark{width: 36px;height: 36px}.logo-name{font-size: 19px}.logo-sub{display: block}.mobile-bottom-nav{display: none}#today-cards{padding: 64px 0 56px}.page-title{font-size: 48px;line-height: 1.15}.page-lead{font-size: 16px}.hero-search input{height: 56px;font-size: 16px;padding: 0 56px 0 20px}.today-grid{grid-template-columns: repeat(4,1fr);gap: var(--space-4)}.today-card{padding: var(--space-5) var(--space-4)}.today-card .tc-value{font-size: 24px}.today-card .tc-icon{width: 40px;height: 40px}.cat-item{padding: var(--space-5) var(--space-3)}.cat-item span{font-size: 14px}.section-hd h2{font-size: 28px}.section-hd p{font-size: 15px}.tool-block-hd{padding: var(--space-5)}.tool-block-bd{padding: var(--space-5)}.weather-3d{gap: var(--space-3)}.reco-grid{grid-template-columns: repeat(3,1fr);gap: var(--space-5)}.data-source-grid{grid-template-columns: repeat(3,1fr);gap: var(--space-4)}.guide-cluster-grid{grid-template-columns: repeat(3,1fr);gap: var(--space-6)}.tools-grid{grid-template-columns: repeat(2,1fr);gap: var(--space-6)}.footer-grid{grid-template-columns: 340px 1fr;gap: var(--space-12)}.cta-banner-inner{grid-template-columns: 1fr 1fr;gap: var(--space-12)}.cta-title{font-size: 28px}.cta-info-card{padding: var(--space-6)}.footer-main{padding: 64px 0 40px}.footer-bottom-inner{flex-direction: row;gap: var(--space-4);text-align: left}.footer-bottom-inner span{font-size: 13px}.main-wrap{padding: var(--space-12) 32px var(--space-20)}.top-nav{padding: 0 32px}.search-modal-body{padding: var(--space-5)}}@media (min-width: 1101px){.cat-grid{grid-template-columns: repeat(8,1fr)}.reco-grid{grid-template-columns: repeat(4,1fr)}.data-source-grid{grid-template-columns: repeat(4,1fr)}.footer-links-wrap{grid-template-columns: repeat(4,1fr)}}.today-overview-intro{max-width: 960px;margin: 16px auto 24px;padding: 14px 20px;background: var(--color-surface,#ffffff);border: 1px solid var(--color-border,#e2e8f0);border-left: 4px solid var(--color-primary,#7A1F2B);border-radius: var(--radius-md,8px);box-shadow: 0 1px 3px rgba(0,0,0,0.04)}.today-overview-intro p{margin: 0;font-size: 13.5px;line-height: 1.65;color: var(--color-text-secondary,#4a5568);text-align: left}.today-overview-intro strong{color: var(--color-text,#1a202c)}