:root{--tt-color-bg:#f7faf6;--tt-color-surface:#fff;--tt-color-surface-muted:#f2f6f1;--tt-color-text:#18221d;--tt-color-heading:#0f1d16;--tt-color-muted:#66766d;--tt-color-subtle:#8b9a91;--tt-color-border:#dfe8e1;--tt-color-primary:#0f4a2f;--tt-color-primary-strong:#08351f;--tt-color-primary-soft:#e7f3ec;--tt-color-accent:#4faf9a;--tt-color-accent-soft:#e5f6f1;--tt-color-blue:#2475d6;--tt-color-danger:#dc2626;--tt-color-warning:#d97706;--tt-color-success:#168a4a;--tt-font-sans:Inter, "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--tt-radius-xs:8px;--tt-radius-sm:12px;--tt-radius-md:16px;--tt-radius-lg:24px;--tt-radius-xl:32px;--tt-shadow-sm:0 1px 2px #0f172a0d;--tt-shadow-md:0 12px 32px #0f172a14;--tt-shadow-lg:0 24px 64px #0f172a1f;--tt-container:1200px;--tt-header-height:72px;--tt-space-1:4px;--tt-space-2:8px;--tt-space-3:12px;--tt-space-4:16px;--tt-space-5:20px;--tt-space-6:24px;--tt-space-8:32px;--tt-space-10:40px;--tt-space-12:48px;--tt-space-16:64px;--tt-space-20:80px}
*{box-sizing:border-box}html{background:var(--tt-color-bg);min-height:100%;color:var(--tt-color-text);font-family:var(--tt-font-sans);font-feature-settings:"palt";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}body{background:radial-gradient(circle at 16% 0%, #4faf9a1f, transparent 30%), linear-gradient(180deg, #fff 0%, var(--tt-color-bg) 42%, #fff 100%);min-height:100%;color:var(--tt-color-text);margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img,svg{max-width:100%;display:block}.tt-page{min-height:100vh}.tt-container{width:min(100% - 40px, var(--tt-container));margin:0 auto}.tt-section{padding:var(--tt-space-20) 0}.tt-section--compact{padding:var(--tt-space-12) 0}.tt-kicker{margin:0 0 var(--tt-space-4);color:var(--tt-color-primary);letter-spacing:.12em;text-transform:uppercase;font-size:13px;font-weight:700}.tt-heading-xl{color:var(--tt-color-heading);letter-spacing:-.06em;margin:0;font-size:clamp(42px,7vw,88px);font-weight:800;line-height:.98}.tt-heading-lg{color:var(--tt-color-heading);letter-spacing:-.045em;margin:0;font-size:clamp(32px,4vw,56px);font-weight:800;line-height:1.05}.tt-heading-md{color:var(--tt-color-heading);letter-spacing:-.035em;margin:0;font-size:clamp(24px,3vw,36px);font-weight:760;line-height:1.18}.tt-text-lead{color:var(--tt-color-muted);margin:0;font-size:clamp(16px,2vw,19px);line-height:1.85}.tt-text-body{color:var(--tt-color-muted);margin:0;font-size:15px;line-height:1.8}.tt-grid{gap:var(--tt-space-6);display:grid}.tt-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.tt-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.tt-panel{border-radius:var(--tt-radius-lg);box-shadow:var(--tt-shadow-md);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffd1;border:1px solid #dfe8e1eb}.tt-map-shell{border:1px solid var(--tt-color-border);border-radius:var(--tt-radius-lg);box-shadow:var(--tt-shadow-lg);background:#eef3ea;position:relative;overflow:hidden}.tt-map-placeholder{background:linear-gradient(90deg,#ffffffa3 0%,#ffffff14 38%,#ffffff7a 100%),repeating-linear-gradient(18deg,#0f4a2f0d 0 1px,#0000 1px 18px),linear-gradient(135deg,#eef4e9 0%,#dfe9d8 52%,#cbdcc9 100%);min-height:440px}.tt-route-line{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.tt-stat-row{gap:var(--tt-space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.tt-divider{background:var(--tt-color-border);height:1px}@media (max-width:920px){.tt-grid--3,.tt-grid--2,.tt-stat-row{grid-template-columns:1fr}.tt-container{width:min(100% - 28px, var(--tt-container))}.tt-section{padding:var(--tt-space-12) 0}}
.tt-button{cursor:pointer;letter-spacing:-.01em;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;font-weight:720;transition:transform .16s,background .16s,border-color .16s,color .16s,box-shadow .16s;display:inline-flex}.tt-button:focus-visible{outline-offset:3px;outline:3px solid #4faf9a52}.tt-button:hover{transform:translateY(-1px)}.tt-button--primary{background:var(--tt-color-primary);color:#fff;box-shadow:0 12px 24px #0f4a2f2e}.tt-button--primary:hover{background:var(--tt-color-primary-strong)}.tt-button--secondary{border-color:var(--tt-color-border);color:var(--tt-color-heading);background:#fff}.tt-button--secondary:hover{background:#fbfdfb;border-color:#bdcec2}.tt-button--ghost{color:var(--tt-color-heading);background:0 0}.tt-button--ghost:hover{background:var(--tt-color-surface-muted)}.tt-button--sm{min-height:36px;padding:0 16px;font-size:13px}.tt-button--md{min-height:44px;padding:0 22px;font-size:14px}.tt-button--lg{min-height:52px;padding:0 28px;font-size:15px}.tt-card{border:1px solid var(--tt-color-border);border-radius:var(--tt-radius-lg);box-shadow:var(--tt-shadow-sm);background:#ffffffdb;overflow:hidden}.tt-card__header{justify-content:space-between;align-items:flex-start;gap:var(--tt-space-4);padding:var(--tt-space-6);border-bottom:1px solid var(--tt-color-border);display:flex}.tt-card__body{padding:var(--tt-space-6)}.tt-badge{border-radius:999px;align-items:center;min-height:26px;padding:0 10px;font-size:12px;font-weight:720;display:inline-flex}.tt-badge--neutral{background:var(--tt-color-surface-muted);color:var(--tt-color-muted)}.tt-badge--success{color:var(--tt-color-success);background:#e7f6ec}.tt-badge--warning{color:var(--tt-color-warning);background:#fff7e6}.tt-badge--danger{color:var(--tt-color-danger);background:#fef2f2}.tt-stat{border:1px solid var(--tt-color-border);border-radius:var(--tt-radius-md);background:#ffffffb8;grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;padding:16px;display:grid}.tt-stat__icon{color:var(--tt-color-primary);grid-row:span 2}.tt-stat__label{color:var(--tt-color-muted);font-size:12px;font-weight:680}.tt-stat__value{color:var(--tt-color-heading);letter-spacing:-.04em;font-size:22px;line-height:1}.tt-stat__value span{color:var(--tt-color-muted);margin-left:3px;font-size:12px;font-weight:650}
.tt-header{z-index:20;height:var(--tt-header-height);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffc7;border-bottom:1px solid #dfe8e1c7;position:sticky;top:0}.tt-header__inner{justify-content:space-between;align-items:center;gap:24px;height:100%;display:flex}.tt-logo{color:var(--tt-color-heading);letter-spacing:-.04em;align-items:center;font-weight:820;display:inline-flex}.tt-logo__image{object-fit:contain;width:180px;height:48px}.tt-logo__mark{object-fit:contain;width:48px;height:30px}.tt-header__nav{align-items:center;gap:28px;margin-left:auto;display:flex}.tt-header__link{color:var(--tt-color-heading);font-size:13px;font-weight:720}.tt-header__link:hover{color:var(--tt-color-primary)}.tt-header__actions{align-items:center;gap:10px;display:flex}.tt-header__menu{border:1px solid var(--tt-color-border);width:42px;height:42px;color:var(--tt-color-heading);background:#fff;border-radius:999px;place-items:center;display:none}.tt-sidebar{border-right:1px solid var(--tt-color-border);background:#ffffffd1;flex-direction:column;width:244px;min-height:100vh;padding:24px 18px;display:flex}.tt-sidebar__nav{gap:6px;margin-top:36px;display:grid}.tt-sidebar__link{min-height:42px;color:var(--tt-color-muted);border-radius:12px;align-items:center;gap:11px;padding:0 12px;font-size:14px;font-weight:680;display:flex}.tt-sidebar__link:hover,.tt-sidebar__link.is-active{background:var(--tt-color-primary-soft);color:var(--tt-color-primary)}.tt-sidebar__account{border:1px solid var(--tt-color-border);background:#fff;border-radius:16px;align-items:center;gap:12px;margin-top:auto;padding:12px;display:flex}.tt-sidebar__avatar{background:var(--tt-color-primary);color:#fff;border-radius:999px;place-items:center;width:34px;height:34px;font-weight:760;display:grid}.tt-sidebar__account strong,.tt-sidebar__account small{display:block}.tt-sidebar__account strong{color:var(--tt-color-heading);font-size:13px}.tt-sidebar__account small{color:var(--tt-color-muted);font-size:11px}@media (max-width:860px){.tt-header__nav,.tt-header__actions .tt-button{display:none}.tt-header__menu{display:grid}.tt-logo__image{width:156px;height:42px}}
.tt-feature-card{border:1px solid var(--tt-color-border);border-radius:var(--tt-radius-md);color:var(--tt-color-text);background:#ffffffd1;align-items:center;gap:16px;padding:18px;transition:transform .16s,border-color .16s,box-shadow .16s;display:flex}.tt-feature-card:hover{box-shadow:var(--tt-shadow-md);border-color:#bed1c5;transform:translateY(-2px)}.tt-feature-card__icon{background:var(--tt-color-primary-soft);width:44px;height:44px;color:var(--tt-color-primary);border-radius:14px;flex:none;place-items:center;display:grid}.tt-feature-card strong{color:var(--tt-color-heading);letter-spacing:-.02em;font-size:15px;display:block}.tt-feature-card small{color:var(--tt-color-muted);margin-top:4px;font-size:12px;line-height:1.5;display:block}.tt-activity-card{border:1px solid var(--tt-color-border);background:#fff;border-radius:18px;grid-template-columns:92px 1fr 128px;align-items:center;gap:18px;padding:14px;display:grid}.tt-activity-card__image,.tt-mountain-card__image{object-fit:cover;background:var(--tt-color-surface-muted);border-radius:12px;width:100%;height:64px}.tt-activity-card__body{gap:10px;display:grid}.tt-activity-card h3,.tt-mountain-card h3{color:var(--tt-color-heading);letter-spacing:-.02em;margin:0;font-size:15px}.tt-activity-card p,.tt-mountain-card p{color:var(--tt-color-muted);margin:4px 0 0;font-size:12px}.tt-activity-card__metrics{color:var(--tt-color-heading);gap:18px;font-size:13px;font-weight:720;display:flex}.tt-activity-card__spark{color:var(--tt-color-primary)}.tt-mountain-card{border:1px solid var(--tt-color-border);background:#fff;border-radius:18px;grid-template-columns:96px 1fr;gap:16px;padding:12px;display:grid}.tt-mountain-card__body{justify-content:space-between;align-items:center;gap:16px;display:flex}.tt-mountain-card__meta{color:var(--tt-color-heading);justify-items:end;gap:8px;font-size:13px;font-weight:720;display:grid}@media (max-width:720px){.tt-activity-card{grid-template-columns:72px 1fr}.tt-activity-card__spark{grid-column:1/-1}}
.tt-hero-map{min-height:520px}.tt-map-live,.tt-map-live .mapbox-map,.tt-map-live .mapbox-fallback{position:absolute;inset:0}.tt-hero-map__floating{width:min(560px,100% - 48px);box-shadow:var(--tt-shadow-md);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe0;border:1px solid #dfe8e1db;border-radius:22px;padding:20px;position:absolute;bottom:24px;right:24px}.tt-hero-map__head{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:14px;display:flex}.tt-hero-map__head strong{color:var(--tt-color-heading);font-size:16px}.tt-hero-map__head span{color:var(--tt-color-muted);font-size:12px;font-weight:680}.tt-hero-map__actions{gap:8px;display:flex;position:absolute;top:18px;right:18px}@media (max-width:720px){.tt-hero-map{min-height:440px}.tt-hero-map__actions{left:18px;right:auto}.tt-hero-map__floating{width:auto;bottom:14px;left:14px;right:14px}}
.tt-hero{padding:72px 0 48px}.tt-hero__grid{grid-template-columns:minmax(0,.92fr) minmax(520px,1.28fr);align-items:center;gap:44px;display:grid}.tt-hero__content{min-width:0}.tt-hero__content .tt-text-lead{max-width:620px;margin-top:26px}.tt-hero__actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.tt-hero__features{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:44px;display:grid}.tt-section-heading{gap:14px;max-width:760px;margin-bottom:36px;display:grid}.tt-section-heading--row{justify-content:space-between;align-items:end;max-width:none;display:flex}.tt-feature-section__grid{align-items:stretch}.tt-activity-section__list{gap:14px;display:grid}@media (max-width:1080px){.tt-hero__grid{grid-template-columns:1fr}}@media (max-width:720px){.tt-hero{padding:44px 0 36px}.tt-hero__features{grid-template-columns:1fr}.tt-section-heading--row{flex-direction:column;align-items:flex-start}}
.tt-app-layout{background:var(--tt-color-bg);min-height:100vh;display:flex}.tt-app-main{flex:1;min-width:0;padding:28px}.tt-app-main__header{justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px;display:flex}.tt-app-grid{grid-template-columns:minmax(0,1fr) 360px;gap:24px;display:grid}.tt-route-detail{align-content:start;gap:18px;padding:24px;display:grid}.tt-route-detail h2{color:var(--tt-color-heading);letter-spacing:-.04em;margin:0;font-size:28px}.tt-route-detail dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;display:grid}.tt-route-detail div{border:1px solid var(--tt-color-border);background:#fff;border-radius:14px;padding:14px}.tt-route-detail dt{color:var(--tt-color-muted);font-size:12px;font-weight:680}.tt-route-detail dd{color:var(--tt-color-heading);margin:4px 0 0;font-size:16px;font-weight:780}.tt-route-list{gap:14px;margin-top:18px;display:grid}.tt-list-page{padding-top:64px;padding-bottom:80px}.tt-list-page__head{justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px;display:flex}.tt-list-page__head .tt-text-body{max-width:660px;margin-top:16px}.tt-toolbar{gap:12px;margin-bottom:18px;display:flex}.tt-search-field{border:1px solid var(--tt-color-border);min-height:48px;color:var(--tt-color-muted);background:#fff;border-radius:999px;flex:1;align-items:center;gap:10px;padding:0 16px;display:flex}.tt-search-field input{width:100%;color:var(--tt-color-text);background:0 0;border:0;outline:0}.tt-search-field input::placeholder{color:var(--tt-color-subtle)}.tt-mountain-list{gap:14px;display:grid}@media (max-width:1080px){.tt-app-grid{grid-template-columns:1fr}.tt-sidebar{display:none}}@media (max-width:720px){.tt-app-main{padding:18px}.tt-app-main__header,.tt-list-page__head,.tt-toolbar{flex-direction:column;align-items:stretch}}

