/* Classic RAMEN TECH identity on the v3 DOM. Presentation only; no storage or planning changes. */
:root{--font:Arial,"Helvetica Neue",-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;--ink:#111;--black:#111;--muted:#555;--blue:#1892f5;--sky:#1892f5;--yellow:#ffe248;--lemon:#ffe248;--pink:#ef7bd7;--green:#64d84a;--lime:#64d84a;--coral:#ff5a45;--cream:#fff;--line:#b9b9b9;--radius:5px;--shadow:none}
body{background:#fff;color:#111;font-family:var(--font);line-height:1.65}h1,h2,h3,h4{font-weight:900}button,input,select,textarea{font-family:var(--font)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #111;outline-offset:3px}button,a,summary{touch-action:manipulation}main{max-width:none;padding:0;min-height:70vh}.screen{width:min(1280px,calc(100% - 96px));margin:auto;padding:34px 0 52px}#screen-explore{width:100%;max-width:none;padding-top:0}#screen-explore>.search-area,#screen-explore>.results-meta,#screen-explore>.event-list,#screen-explore>.load-more,#screen-explore>.catalog-footnote,#screen-explore>.classic-search-heading{width:min(1280px,calc(100% - 96px));margin-left:auto;margin-right:auto}
.site-header{height:80px;padding:0 48px;background:#fff;border-bottom:2px solid #111;box-shadow:none;gap:20px}.brand{font-size:17px;font-weight:900;letter-spacing:-.7px;gap:12px}.brand b{font-size:12px;font-weight:700;letter-spacing:0}.brand small{font-size:10px;letter-spacing:.3px;font-weight:700}.brand-bowl{width:41px;height:41px;background:var(--yellow);border:2px solid #111;border-radius:7px 7px 20px 20px;font-size:26px}.desktop-nav{gap:14px}.desktop-nav button{font-size:14px;font-weight:700;border-radius:3px;padding:9px 13px;border:1px solid transparent}.desktop-nav button[aria-current=page]{background:var(--yellow);color:#111;border-color:#111}.desktop-nav [data-plan-count]{background:#111;color:#fff}.header-actions{gap:15px}.icon-button{border-color:#111;box-shadow:none}.gf-header{border-color:#111;color:#111;font-size:13px;font-weight:800;letter-spacing:-.2px}
.classic-breadcrumb{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:12px max(48px,calc((100% - 1280px)/2));font-size:12px;border-bottom:1px solid #111;background:#fff}.classic-breadcrumb a{min-height:32px;display:inline-flex;align-items:center;font-weight:700}.classic-breadcrumb span{font-size:11px;color:#555}
.compact-hero.classic-hero{display:block;min-height:0;border:0;border-radius:0;margin:0;padding:22px max(48px,calc((100% - 1280px)/2)) 25px;background:var(--sky);color:#111;overflow:hidden;position:relative}.classic-hero-top{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:1.7px;font-weight:800;border-bottom:1px solid #111;padding-bottom:15px}.classic-hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:460px;gap:22px}.classic-hero-copy{padding:32px 0;z-index:2;min-width:0}.classic-hero-copy .eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;margin-bottom:24px}.compact-hero.classic-hero h1{font:950 clamp(88px,10vw,142px)/.83 Arial,"Helvetica Neue",sans-serif;letter-spacing:-.065em;color:#fff;max-width:none;margin-left:-6px;text-transform:uppercase}.classic-hero h1 span{color:#111}.classic-hero .classic-jp{font-size:clamp(22px,2.5vw,34px);font-weight:900;letter-spacing:-1px;margin-top:28px;line-height:1.5}.classic-hero .classic-description{font-size:15px;line-height:1.9;font-weight:600;margin-top:12px}.classic-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:23px}.classic-hero-actions .button{background:var(--yellow);border:2px solid #111;min-height:50px;font-size:16px;color:#111;justify-content:space-between;gap:28px}.classic-hero-actions .classic-textlink{font-size:14px;min-height:44px;font-weight:800;text-decoration:underline;text-underline-offset:5px;padding:5px 0}.classic-hero-art{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;align-self:stretch}.classic-hero-art img{width:110%;max-width:660px;height:auto;max-height:510px;object-fit:contain;transform:rotate(2deg);position:relative}.classic-sticker{position:absolute;left:1%;top:12%;width:115px;height:115px;display:grid;align-content:center;text-align:center;background:var(--yellow);border:3px solid #111;border-radius:50%;font:950 22px/1 Arial,sans-serif;letter-spacing:-.7px;transform:rotate(-13deg);z-index:2}.classic-mascot-note{position:absolute;right:0;bottom:22px;background:#fff;color:#111;border:2px solid #111;border-radius:4px;padding:7px 14px;font-size:14px;font-weight:800}.classic-art-label{position:absolute;right:0;bottom:2px;font-size:9px;letter-spacing:1.2px;font-weight:700}.classic-hero-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #111;padding-top:20px;gap:20px}.classic-festival-date{font:900 clamp(35px,5vw,64px)/1 Arial,sans-serif;letter-spacing:-3px;white-space:nowrap}.classic-festival-date span{font-size:11px;letter-spacing:0;margin:0 10px 0 4px}.classic-festival-date b{font-size:40px;margin-right:10px}.classic-festival-caption{font-size:14px;font-weight:700;text-align:right;line-height:1.9}.classic-festival-caption small{font-size:12px;font-weight:500}.classic-ticker{display:flex;gap:40px;white-space:nowrap;overflow:hidden;background:var(--yellow);border-top:2px solid #111;border-bottom:2px solid #111;padding:11px 0;font:900 17px/1.6 Arial,sans-serif;letter-spacing:-.3px}.classic-ticker span{flex-shrink:0}.classic-search-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;padding:40px 0 21px;scroll-margin-top:95px}.classic-search-heading .eyebrow{font-size:10px;letter-spacing:1.7px;margin-bottom:12px}.classic-search-heading h2{font-size:clamp(29px,3.4vw,42px);line-height:1.3;letter-spacing:-1.5px;font-weight:900}.classic-search-heading>p{font-size:14px;line-height:1.9}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.7px}.page-heading{padding-bottom:23px;border-bottom:2px solid #111}.page-heading h1{font-size:clamp(30px,3.4vw,44px);letter-spacing:-1.4px}.heading-count{border:2px solid #111;border-radius:4px;font-weight:900}.subtle{font-size:15px;color:#444}.heading-actions .button{font-size:14px}
.search-area{top:79px;background:#fff;border-bottom:1px solid #111;padding:7px 0 12px}.day-tabs{gap:0;padding:0;margin:0 0 14px;border:2px solid #111;border-radius:5px;background:#fff;scrollbar-width:thin}.day-tab{border:0;border-right:1px solid #111;border-radius:0;min-height:76px;min-width:110px;flex:1;padding:9px 13px;font:900 25px/1.1 Arial,var(--font);letter-spacing:-.7px;flex-direction:column;justify-content:center;gap:5px;background:#fff;color:#111}.day-tab:last-child{border-right:0}.day-tab small{font:700 12px/1.3 var(--font);letter-spacing:0}.day-tab:first-child,.day-tab.related{font:800 14px/1.4 var(--font);letter-spacing:0}.day-tab[aria-pressed=true]{background:var(--yellow);color:#111;border-color:#111}.searchbox{border:2px solid #111;border-radius:4px;min-height:56px}.searchbox input{font-size:16px;border:0;border-radius:0}.searchbox:focus-within{outline:3px solid #111}.filter-button,.candidate-filter{border:1px solid #111;border-radius:4px;font-size:14px;min-height:56px;font-weight:700}.candidate-filter[aria-pressed=true]{background:var(--yellow)}.active-filters button{background:var(--yellow);border:1px solid #111;border-radius:4px;min-height:39px;font-size:13px}.active-filters .reset{border-color:transparent;background:#fff}.results-meta{margin-top:20px;margin-bottom:18px}.results-meta #result-count{font-size:15px}.results-meta #result-count strong{font-size:25px;font-weight:900}.results-tools{gap:12px}.small-button,.sort-control select{border:1px solid #111;border-radius:4px;background:#fff;min-height:44px;font-size:14px}.date-heading{font-size:23px;font-weight:900;margin:26px 0 4px;gap:15px}.date-heading:after{background:#111}
.event-card{border:1px solid #111;border-radius:5px;box-shadow:none;position:relative;overflow:hidden;padding:25px 24px 20px;grid-template-columns:177px minmax(0,1fr) 158px;column-gap:25px}.event-card:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:var(--sky);pointer-events:none}.event-card:has(.badge.pink):before{background:var(--pink)}.event-card:has(.badge.green):before{background:var(--green)}.event-card:hover{border-color:#111}.event-card.selected{border-color:#111;box-shadow:inset 4px 0 var(--yellow)}.event-card.selected:before{background:var(--yellow)}.event-clock{border-right:0;padding-right:0}.event-date{font-size:14px;font-weight:700;margin-bottom:9px}.event-time{font-size:26px;font-weight:900;letter-spacing:-1px;line-height:1.2;white-space:normal}.event-end{display:inline;font-size:inherit;font-weight:inherit;color:#111;margin-left:4px}.event-end:before{content:"—";font-size:17px;margin-right:4px;font-weight:500}.event-kind{font-size:12px;margin-top:10px}.card-title{font-size:20px;line-height:1.65;font-weight:800;letter-spacing:0;min-height:44px}.card-title:hover{color:#111;text-decoration:underline;text-underline-offset:4px}.event-place{font-size:15px;font-weight:800}.event-room{font-size:13px;color:#444}.badges{gap:6px}.badge{font-size:12px;border:1px solid #888;border-radius:3px;padding:3px 6px;background:#fff;color:#333;font-weight:700}.badge.blue{background:#fff;color:#111;border-color:#888}.badge.pink{background:var(--pink);border-color:#111;color:#111}.badge.green{background:#e4f5df;color:#111;border-color:#111}.badge.warn{color:#654006;border-color:#ac8537;background:#fff3d5}.badge.danger{color:#9b1b25;background:#fff0ef;border-color:#b95057}.card-actions button{font-size:14px;font-weight:800;border:1px solid #111;border-radius:4px;min-height:46px}.candidate-button{background:#fff;color:#111}.candidate-button[aria-pressed=true]{background:var(--yellow);border-color:#111;color:#111}.add-button{background:#111;color:#fff;border-color:#111!important}.add-button[aria-pressed=true]{background:var(--yellow);color:#111;border-color:#111!important}.nested-sessions{border-color:#bbb}.nested-sessions summary{color:#111;font-size:14px;font-weight:700}.session-mini{border-radius:4px;background:#f5f5f5;border:1px solid #ccc}.source-hint{font-size:12px}.event-list.grid .event-clock{border-bottom:1px solid #bbb}.event-list.grid .event-end{font-size:inherit}.event-list.grid .event-end:before{content:"—";font-size:17px}.button{border:1px solid #111;border-radius:4px;box-shadow:none;font-size:14px;font-weight:800;min-height:48px}.button.primary,.button.dark{background:#111;color:#fff;border-color:#111}.button.yellow{background:var(--yellow);color:#111;border-color:#111}.button.secondary{background:#fff;color:#111}.text-button{font-size:14px;color:#333}.catalog-footnote{border-color:#111;font-size:12px}.empty-state{border-color:#111;border-radius:5px;box-shadow:none}.empty-state .empty-icon{background:var(--yellow);border:1px solid #111}.empty-state h2{font-weight:900}
.plan-daybar{border-bottom:2px solid #111}.plan-date{border:1px solid #111;border-radius:4px;min-height:48px;font-size:15px;font-weight:800}.plan-date[aria-pressed=true]{background:var(--yellow);color:#111}.plan-date span{font-size:12px}.plan-stats strong{font-size:27px;font-weight:900}.plan-stats{color:#444;font-size:13px}.plan-layout{gap:28px}.flow-head{border-bottom:2px solid #111;padding-bottom:12px}.flow-head h2{font-size:20px;font-weight:900}.segmented{border-color:#111;border-radius:4px}.segmented button{font-size:13px;font-weight:700}.plan-event{border:0;border-radius:0;box-shadow:none;background:transparent;grid-template-columns:68px minmax(0,1fr);gap:13px;scroll-margin-top:95px}.plan-time{font-size:21px;font-weight:900;letter-spacing:-.6px;padding-top:18px}.plan-time small{font-size:15px;font-weight:700;letter-spacing:0}.plan-event-card{border:1px solid #111;border-top:5px solid var(--sky);border-radius:5px;box-shadow:none;padding:18px}.plan-event.garraway .plan-event-card{border-top:5px solid var(--pink)}.plan-event.focused .plan-event-card{outline:3px solid #111}.plan-event-card h3{font-size:18px;font-weight:800;line-height:1.65}.stop-id{font-size:11px;font-weight:800}.stop-number{width:28px;height:28px;background:var(--yellow);border:1px solid #111;border-radius:50%;color:#111;font-size:13px;font-weight:900}.remove-button{color:#111;border-color:#111;min-width:44px;min-height:44px}.plan-event-card .venue-button{font-size:14px;color:#111;font-weight:800}.plan-event-foot{border-color:#ccc}.plan-event-foot button{font-size:13px;border:1px solid #111;border-radius:4px;min-height:44px;font-weight:700}.plan-event-foot .registration{background:#e4f5df;color:#203d1b}.plan-event-foot .registration.unknown{background:#fff3d5;color:#654006}.visit-line{font-size:12px}.plan-leg{margin-left:80px;padding:18px 0 18px 20px;border-left:2px dashed #111}.plan-leg h4{font-size:15px;font-weight:800}.plan-leg h4 strong{font-size:20px;font-weight:900}.plan-leg .leg-label,.plan-leg .leg-result{font-size:13px;color:#444}.plan-leg .leg-actions a,.plan-leg .leg-actions button{font-size:14px;color:#111;font-weight:700;min-height:44px}.plan-leg.invalid .leg-result{color:#9b1b25}.plan-gap{margin-left:80px;background:var(--yellow);border:1px solid #111;border-radius:4px;padding:16px 18px}.plan-gap h4{font-size:16px;font-weight:800}.plan-gap p{font-size:13px;color:#333}.plan-gap button{font-size:13px;border-color:#111;border-radius:4px;min-height:44px;font-weight:700}.plan-warning,.notice{border-radius:4px;font-size:14px}.plan-warning button,.notice button{font-size:13px}.plan-warning{border:1px solid #b8974f}.plan-warning.error{border-color:#b95057}.plan-table th{background:var(--yellow);color:#111;position:sticky;top:0}.table-wrap{border:1px solid #111;border-radius:4px}.plan-table tr.move-row{background:#f3f3f3;color:#333}.plan-table tr.gap-row{background:#fff4aa;color:#333}
.plan-map-aside{top:100px}.map-panel{border:2px solid #111;border-radius:5px;box-shadow:none;background:#fff}.map-heading{background:var(--yellow);border-bottom:2px solid #111;padding:17px 18px;align-items:start}.map-heading h2{font-size:19px;font-weight:900}.map-heading p{font-size:12px;color:#333}.map-display-select{background:#fff;border:1px solid #111;border-radius:4px;padding:0}.map-display-select button{font-size:12px;min-height:44px;border-radius:0;padding:8px 10px}.map-display-select button[aria-pressed=true]{background:#111;color:#fff}.geo-map{background:#f0f3eb}.map-pin{background:var(--sky);color:#111;border:2px solid #111;box-shadow:2px 2px 0 #111;min-width:44px;min-height:44px;font-weight:900}.map-pin.gf{background:var(--pink);color:#111;border-color:#111}.map-pin.active{outline-color:#111}.map-label{font-size:12px;background:#fff;color:#111;border:1px solid #111;border-radius:3px;box-shadow:none}.map-route{stroke:#111;stroke-width:2.5;opacity:.7}.map-controls,.map-north{border:1px solid #111;border-radius:4px;box-shadow:none}.map-legend,.map-status{font-size:12px;color:#444}.map-route-row{min-height:44px;font-size:13px}.map-route-row .stop-number{background:var(--yellow);color:#111;border-color:#111}.map-selected{background:#fff9de;border-color:#111}.map-selected strong{font-size:14px}.map-selected p{font-size:13px}.plan-side-note{background:#f7f7f7;border-color:#bbb;border-radius:4px}.plan-side-note h3{font-size:14px}.plan-side-note p{font-size:13px}.venue-row{border-color:#111}.venue-row h3{font-size:19px}.venue-row p{font-size:14px}.venue-row button,.venue-row a{font-size:14px;color:#111;text-decoration:underline}.map-filter-bar select{border-color:#111;border-radius:4px}
.today-banner{background:#e4f5df;color:#203d1b;border:1px solid #111;border-radius:4px;font-size:14px}.today-card{background:var(--yellow);border:2px solid #111;border-radius:5px}.today-time{font-weight:900}.today-summary{border:1px solid #111;border-radius:5px}.gf-hero{background:var(--pink);border:2px solid #111;border-radius:5px;padding:42px}.gf-hero h1{font-weight:900;letter-spacing:-1.8px}.gf-address{border:1px solid #111;border-radius:4px}.gf-address a{color:#111;text-decoration:underline}.gf-day-title{font-size:25px;border-bottom:2px solid #111;padding-bottom:12px}.site-footer{border-top:2px solid #111;font-size:12px;color:#444;padding:28px 48px}.mobile-nav{background:#fff;border-top:2px solid #111;box-shadow:none}.mobile-nav button{font-size:12px;font-weight:800;border-radius:3px;color:#111;min-height:48px}.mobile-nav button[aria-current=page]{background:var(--yellow);color:#111}.mobile-nav b{background:#111;color:#fff}.toast{border-radius:4px;font-size:14px;box-shadow:none}dialog{background:#fff;border:2px solid #111;border-radius:5px}.dialog-header{border-bottom:2px solid #111}.dialog-header h2{font-size:20px;font-weight:900}.field select,.field input,.field textarea{border-color:#111;border-radius:4px;font-size:16px}.detail-title{font-size:25px;font-weight:800}.detail-clock{font-weight:900}.detail-source,.export-summary,.share-text,.review-change>div,.recommend-card{border-radius:4px}.detail-source{background:#f5f5f5}.help-section a{color:#111}.form-error{border-radius:4px}
@media(max-width:1100px){.site-header{padding:0 28px;gap:12px}.desktop-nav{gap:3px}.desktop-nav button{padding:8px 10px;font-size:13px}.screen{width:calc(100% - 56px)}#screen-explore>.search-area,#screen-explore>.results-meta,#screen-explore>.event-list,#screen-explore>.load-more,#screen-explore>.catalog-footnote,#screen-explore>.classic-search-heading{width:calc(100% - 56px)}.compact-hero.classic-hero{padding:22px 28px 25px}.classic-breadcrumb{padding:8px 28px}.classic-hero-grid{min-height:420px}.classic-hero-actions{gap:12px}.classic-hero .classic-description{font-size:14px}.event-card{grid-template-columns:151px minmax(0,1fr) 143px;gap:18px}.event-time{font-size:23px}.card-title{font-size:18px}.card-actions button{font-size:13px}.plan-layout{gap:20px}.day-tab{min-width:90px}.map-heading{flex-wrap:wrap}.plan-stats{gap:13px}}
@media(max-width:800px){.site-header{height:65px;padding:0 22px}.search-area{top:64px}.classic-hero-grid{grid-template-columns:1fr 1fr;min-height:390px;gap:5px}.compact-hero.classic-hero h1{font-size:clamp(77px,11vw,100px)}.classic-sticker{width:86px;height:86px;font-size:18px}.classic-hero-copy .eyebrow{font-size:9px;letter-spacing:1px}.classic-festival-caption{font-size:12px}.classic-festival-caption small{font-size:11px}.classic-search-heading>p{font-size:13px}.event-card{grid-template-columns:145px minmax(0,1fr);gap:18px}.card-actions{grid-column:2;flex-direction:row}.plan-layout{grid-template-columns:1fr}.plan-map-aside{position:static}.map-heading{flex-wrap:nowrap}.map-label{font-size:12px}.site-footer{padding:25px 28px calc(110px + env(safe-area-inset-bottom))}.mobile-nav button{font-size:11px}.page-heading{gap:18px}}
@media(max-width:540px){.screen{width:calc(100% - 32px);padding-top:24px}#screen-explore{width:100%;padding-top:0}#screen-explore>.search-area,#screen-explore>.results-meta,#screen-explore>.event-list,#screen-explore>.load-more,#screen-explore>.catalog-footnote,#screen-explore>.classic-search-heading{width:calc(100% - 32px)}.site-header{height:65px;padding:0 16px}.brand{font-size:15px;gap:9px}.brand small{font-size:9px;letter-spacing:0}.brand-bowl{width:36px;height:36px;font-size:23px}.brand b{font-size:11px}.classic-breadcrumb{padding:8px 16px;font-size:11px;gap:10px}.classic-breadcrumb span{max-width:175px;font-size:10px;text-align:right;line-height:1.5}.compact-hero.classic-hero{padding:18px 20px 22px;margin:0;min-height:0}.classic-hero-top{font-size:9px;letter-spacing:1px;padding-bottom:12px}.classic-hero-grid{grid-template-columns:1fr;min-height:0;gap:0}.classic-hero-copy{padding:24px 0 5px}.classic-hero-copy .eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:20px}.compact-hero.classic-hero h1{font-size:clamp(83px,23.5vw,123px);line-height:.83;letter-spacing:-.065em;margin-left:-4px}.classic-hero .classic-jp{font-size:25px;letter-spacing:-1px;margin-top:23px}.classic-hero .classic-description{font-size:14px;line-height:1.9;margin-top:9px}.classic-hero-actions{margin-top:16px;gap:8px 16px}.classic-hero-actions .button{font-size:14px;gap:22px;min-height:48px;padding:11px 14px}.classic-hero-actions .classic-textlink{font-size:13px}.classic-hero-art{height:260px;max-width:380px;width:100%;margin:auto}.classic-hero-art img{width:100%;height:270px;max-height:280px}.classic-sticker{left:0;top:9%;width:88px;height:88px;font-size:18px}.classic-mascot-note{font-size:12px;right:0;bottom:23px;padding:6px 11px}.classic-art-label{font-size:8px;letter-spacing:.7px;bottom:3px}.classic-hero-bottom{flex-wrap:wrap;gap:13px;padding-top:17px;margin-top:7px}.classic-festival-date{font-size:47px;letter-spacing:-2px}.classic-festival-date b{font-size:30px}.classic-festival-date span{font-size:10px;margin-right:7px}.classic-festival-caption{text-align:left;font-size:12px;line-height:1.8}.classic-festival-caption small{font-size:11px}.classic-ticker{font-size:14px;padding:9px 0;gap:30px}.classic-search-heading{padding:28px 0 16px;align-items:start;gap:12px;scroll-margin-top:78px}.classic-search-heading h2{font-size:29px;letter-spacing:-1px}.classic-search-heading>p{display:none}.classic-search-heading .eyebrow{font-size:9px;margin-bottom:9px}.search-area{top:64px;padding-top:5px;padding-bottom:10px}.day-tabs{margin-bottom:10px;padding:0}.day-tab{min-width:74px;min-height:68px;font-size:24px;padding:8px 9px}.day-tab small{font-size:11px}.day-tab:first-child,.day-tab.related{font-size:12px}.search-row{gap:7px}.searchbox{min-height:52px;height:52px;padding:0 9px}.searchbox input{font-size:16px;height:46px}.filter-button{font-size:12px;min-height:52px;padding:8px 10px}.results-meta{margin-top:15px;margin-bottom:15px}.results-meta #result-count{font-size:13px}.results-meta #result-count strong{font-size:23px}.active-filters button{font-size:12px;min-height:39px}.sort-control select{font-size:13px;width:84px}.event-card,.event-list.grid .event-card{padding:21px 17px 15px;grid-template-columns:1fr;gap:11px;border-radius:5px}.event-clock,.grid .event-clock{display:block;border:0;grid-column:1;padding:0}.event-date,.grid .event-date{font-size:14px;margin:0 0 6px}.event-time,.grid .event-time{font-size:28px;font-weight:900;line-height:1.2;letter-spacing:-1px}.event-end,.grid .event-end{font-size:inherit;display:inline;margin-left:4px}.event-end:before,.grid .event-end:before{font-size:18px;content:"—"}.event-kind,.grid .event-kind{font-size:11px;margin-top:8px;text-align:left;max-width:none}.event-copy,.card-actions{grid-column:1}.card-title{font-size:18px;line-height:1.7;font-weight:800}.event-place{font-size:14px;margin-top:7px}.event-room{font-size:13px}.badge{font-size:12px;padding:3px 6px}.card-actions{display:grid;grid-template-columns:1fr 1.15fr;gap:8px;margin:2px 0 0;padding-top:12px;border-top:1px solid #ccc}.card-actions button{font-size:13px;min-height:46px;padding:8px}.nested-sessions{grid-column:1}.nested-sessions summary{font-size:13px}.session-mini .title-button{font-size:13px}.source-hint{font-size:12px}.date-heading{font-size:21px;margin-top:18px}.page-heading{margin:0 0 21px;padding-bottom:21px}.page-heading h1{font-size:32px;letter-spacing:-1px}.page-heading .subtle{font-size:14px}.page-heading .eyebrow{font-size:10px}.heading-actions .button{font-size:13px;min-height:48px}.plan-date{font-size:14px;min-height:46px;padding:8px 12px}.plan-date span{font-size:11px}.plan-stats{font-size:12px;gap:20px}.plan-stats strong{font-size:24px}.map-heading{padding:14px;gap:10px}.map-heading h2{font-size:17px}.map-heading p{font-size:12px}.map-display-select button{font-size:11px;min-height:44px;padding:7px}.plan-map-aside .geo-map{height:280px}.map-label{font-size:11px;max-width:135px}.map-legend,.map-status{font-size:12px}.map-selected strong{font-size:14px}.map-selected p{font-size:13px}.map-selected .button{font-size:12px}.flow-head h2{font-size:20px}.segmented button{min-height:44px;font-size:12px}.plan-event{grid-template-columns:54px minmax(0,1fr);gap:10px;scroll-margin-top:80px}.plan-time{font-size:18px;padding-top:16px}.plan-time small{font-size:13px}.plan-event-card{padding:14px}.plan-event-card h3{font-size:17px;line-height:1.7}.plan-event-card .venue-button{font-size:13px;line-height:1.7}.plan-event-card .event-room{font-size:12px}.stop-id{font-size:10px;gap:6px}.stop-id .stop-area{display:none}.stop-number{width:25px;height:25px;font-size:12px}.plan-event-foot button{font-size:12px;min-height:44px}.visit-line{font-size:12px}.plan-warning{font-size:13px}.plan-leg{margin-left:63px;padding:17px 0 17px 14px}.plan-leg h4{font-size:14px}.plan-leg h4 strong{font-size:19px}.plan-leg .leg-label,.plan-leg .leg-result{font-size:13px}.plan-leg .leg-actions a,.plan-leg .leg-actions button{font-size:13px}.plan-gap{margin-left:63px;padding:14px;flex-wrap:wrap}.plan-gap h4{font-size:15px}.plan-gap p{font-size:12px}.plan-gap button{font-size:12px;min-height:44px}.notice{font-size:13px}.notice button{font-size:12px}.gf-hero{padding:25px 21px}.gf-hero h1{font-size:30px;letter-spacing:-1px}.gf-day-title{font-size:23px}.site-footer{padding:24px 16px calc(108px + env(safe-area-inset-bottom));font-size:12px}dialog{border-radius:5px}.dialog-header{padding:15px 18px}.dialog-header h2{font-size:18px}#modal-body{padding:20px}.detail-title{font-size:22px}}
@media(prefers-reduced-motion:reduce){.classic-hero-art img{transform:none}.classic-sticker{transform:none}}
@media print{.classic-breadcrumb,.classic-ticker,.classic-hero,.classic-search-heading{display:none!important}.plan-event,.map-panel{break-inside:avoid}.map-heading,.plan-gap{print-color-adjust:exact;-webkit-print-color-adjust:exact}.map-pin{box-shadow:none}main{padding:0}}

/* Trip planner: scoped to preserve the existing guide and event cards. */
#access-planner{margin:32px 0 28px;border:2px solid #171717;border-radius:6px;background:#fff;color:#171717;overflow:hidden;scroll-margin-top:100px}
#access-planner *{box-sizing:border-box}
#access-planner .tp-head{padding:22px 24px;background:#ffe248;border-bottom:2px solid #171717}
#access-planner .tp-head>p:first-child{font-size:12px;letter-spacing:.11em;font-weight:900;margin:0 0 8px}
#access-planner h2{font-size:clamp(21px,2.6vw,29px);line-height:1.5;font-weight:900;letter-spacing:-.035em;margin:0 0 8px}
#access-planner h3{font-size:17px;line-height:1.6;margin:0;font-weight:900}
#access-planner p{font-size:14px;line-height:1.8;margin:5px 0}
#access-planner .tp-inner{padding:24px;min-width:0}
#access-planner button,#access-planner input,#access-planner select{font:inherit}
#access-planner button{cursor:pointer;background:#fff;color:#171717;border:1px solid #171717;border-radius:4px;min-height:44px;padding:9px 12px;font-size:14px;font-weight:800;line-height:1.5}
#access-planner button:hover:not(:disabled){background:#f2f6fd}
#access-planner .tp-summary-card.tp-active:hover,#access-planner td button[aria-pressed=true]:hover{background:#0955b2;color:#fff}
#access-planner button:disabled{cursor:not-allowed;background:#eee;border-color:#bbb;color:#666}
#access-planner :is(button,a,input,select,summary,[tabindex]):focus-visible{outline:3px solid #125dc8;outline-offset:4px}
#access-planner a{color:#075caf;font-weight:700;text-decoration:underline;text-underline-offset:3px}
#access-planner .tp-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}
#access-planner .tp-summary-card{text-align:left;display:flex;flex-direction:column;gap:6px;padding:16px;border-width:2px;min-width:0;word-break:break-word}
#access-planner .tp-summary-card.tp-active{background:#1167ce;border-color:#1167ce;color:#fff}
#access-planner .tp-summary-card>span{font-size:12px;line-height:1.7}
#access-planner .tp-summary-card>strong{font-size:17px;font-weight:900}
#access-planner .tp-summary-card>small{font-size:12px;font-weight:500;line-height:1.7}
#access-planner .tp-target{background:#f3f6fa;border-left:4px solid #1167ce;padding:16px 20px;margin-bottom:24px}
#access-planner .tp-kicker{font-size:12px;color:#40516a;font-weight:900;letter-spacing:.04em}
#access-planner .tp-target b{font-size:17px}
#access-planner .tp-target h3{font-size:16px;overflow-wrap:anywhere}
#access-planner .tp-controls{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}
#access-planner .tp-field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:800;min-width:0}
#access-planner .tp-field input,#access-planner .tp-field select{height:46px;min-width:0;max-width:100%;width:100%;background:#fff;color:#171717;border:1px solid #969da7;border-radius:4px;padding:8px 10px;font-size:15px;font-weight:500}
#access-planner .tp-mode{border:0;margin:0;padding:0;min-width:0;grid-column:1/-1}
#access-planner .tp-mode legend{font-size:12px;font-weight:800;margin-bottom:8px}
#access-planner .tp-mode>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#access-planner .tp-mode button{font-size:15px;display:flex;align-items:center;justify-content:center;gap:12px;border:2px solid #b8bec8;min-height:52px}
#access-planner .tp-mode button[aria-pressed=true]{background:#eaf3ff;border-color:#1167ce;color:#0753a8}
#access-planner .tp-mode button small{font-size:12px;font-weight:500}
#access-planner .tp-route{margin-top:25px;padding:20px 0;border-top:1px solid #d9dee5}
#access-planner .tp-section-title{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:12px}
#access-planner .tp-pill{font-size:12px;line-height:1.5;font-weight:800;display:inline-block;background:#eef3f9;border:1px solid #c4cfdd;border-radius:4px;padding:5px 9px}
#access-planner .tp-route-steps{list-style:none;margin:16px 0;padding:0}
#access-planner .tp-route-steps li{position:relative;display:grid;grid-template-columns:30px 1fr auto;gap:12px;align-items:start;padding:0 0 20px;min-width:0}
#access-planner .tp-route-steps li:not(:last-child):before{content:'';position:absolute;left:14px;top:26px;bottom:0;width:2px;background:#bacbe1}
#access-planner .tp-route-steps li:last-child{padding-bottom:0}
#access-planner .tp-step-num{background:#1167ce;color:#fff;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-size:12px;font-weight:900;z-index:1}
#access-planner .tp-route-steps strong{font-size:14px;line-height:1.8;overflow-wrap:anywhere}
#access-planner .tp-route-steps p{color:#4e5b6d;font-size:12px;margin:3px 0 0}
#access-planner .tp-route-steps b{font-size:12px;white-space:nowrap;line-height:30px}
#access-planner .tp-links{display:flex;gap:8px 18px;flex-wrap:wrap;margin:10px 0}
#access-planner .tp-links a{font-size:12px;display:inline-flex;align-items:center;min-height:36px}
#access-planner .tp-fine{font-size:12px;color:#596474;line-height:1.9}
#access-planner .tp-note{font-size:12px;color:#435066}
#access-planner .tp-note a{display:inline;line-height:1.9}
#access-planner .tp-settings{border:1px solid #c7cfda;border-radius:4px;padding:0 16px;margin:2px 0 20px;background:#fafbfd}
#access-planner .tp-settings summary{cursor:pointer;font-size:14px;font-weight:800;min-height:48px;padding:14px 0;line-height:1.6}
#access-planner .tp-settings summary span{font-size:12px;font-weight:500;color:#526176;margin-left:10px}
#access-planner .tp-settings-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin:8px 0 12px}
#access-planner .tp-settings>.tp-fine{padding-bottom:12px}
#access-planner .tp-deadline{padding:20px;border-radius:4px;background:#101f35;color:#fff;margin:20px 0 30px}
#access-planner .tp-deadline>span{font-size:12px;font-weight:700}
#access-planner .tp-deadline>strong{display:block;font-size:32px;font-weight:900;line-height:1.6;font-variant-numeric:tabular-nums}
#access-planner .tp-deadline strong small{font-size:14px;font-weight:500;margin-left:8px}
#access-planner .tp-deadline p{color:#e2e9f1;font-size:12px}
#access-planner .tp-timetable{border-top:2px solid #171717;padding-top:22px}
#access-planner .tp-line-label{font-size:18px;font-weight:900;line-height:1.6}
#access-planner .tp-line-label span{margin:0 8px;color:#1167ce}
#access-planner .tp-result-count{margin:18px 0 10px;font-size:12px}
#access-planner .tp-result-count strong{font-size:18px;color:#075caf}
#access-planner .tp-table-wrap{overflow-x:auto;border:1px solid #c5ceda;border-radius:4px;margin-top:14px;overscroll-behavior-x:contain}
#access-planner table{border-collapse:collapse;min-width:580px;width:100%;text-align:left;font-size:12px;table-layout:auto;margin:0}
#access-planner thead{background:#eef3f9}
#access-planner th,#access-planner td{padding:13px 12px;border-bottom:1px solid #dce2ea;vertical-align:middle;text-align:left}
#access-planner thead th{font-size:12px;font-weight:800;white-space:nowrap}
#access-planner tbody th{font-weight:800;min-width:155px}
#access-planner tbody th small{display:block;font-size:12px;font-weight:500;color:#586575;margin-top:5px;line-height:1.6}
#access-planner tbody tr:last-child>*{border-bottom:0}
#access-planner .tp-time{font-weight:900;font-size:19px;font-variant-numeric:tabular-nums;white-space:nowrap}
#access-planner .tp-status{font-size:12px;display:inline-block;border-radius:3px;padding:5px 7px;line-height:1.6}
#access-planner .tp-ok{background:#e7f5ed;color:#1b6744}
#access-planner .tp-check{background:#f5efe3;color:#78561f}
#access-planner .tp-picked{background:#f0f7ff}
#access-planner td button{font-size:12px;white-space:nowrap}
#access-planner td button[aria-pressed=true]{background:#1167ce;color:#fff;border-color:#1167ce}
#access-planner .tp-show-all{width:100%;margin:10px 0 5px;border-color:#9faebe}
#access-planner .tp-alert{background:#fff3d4;color:#684907;padding:12px 14px;border-left:3px solid #c98a10;font-size:12px;margin:14px 0;line-height:1.8}
#access-planner .tp-itinerary{margin:26px 0 12px;border:2px solid #1167ce;border-radius:5px;padding:20px}
#access-planner .tp-itinerary h3{color:#0753a8}
#access-planner .tp-itinerary .tp-section-title button{font-size:12px;border-color:#9faebe;min-height:36px}
#access-planner .tp-timeline{padding:0;list-style:none;margin:20px 0 10px}
#access-planner .tp-timeline li{display:grid;grid-template-columns:108px 1fr;gap:24px;position:relative;min-width:0;padding-bottom:22px}
#access-planner .tp-timeline li:last-child{padding-bottom:0}
#access-planner .tp-timeline li:before{content:'';position:absolute;left:111px;top:8px;width:8px;height:8px;border-radius:50%;background:#1167ce;z-index:1}
#access-planner .tp-timeline li:not(:last-child):after{content:'';position:absolute;left:114px;width:2px;background:#bfd4ed;top:12px;bottom:-8px}
#access-planner .tp-timeline time{font-size:16px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1.6}
#access-planner .tp-timeline strong{font-size:14px;line-height:1.8}
#access-planner .tp-timeline p{font-size:12px;color:#526176;margin-top:3px;overflow-wrap:anywhere}
#access-planner .tp-storage{font-size:12px;color:#526176;border-top:1px solid #dce2ea;margin:20px 0 0;padding-top:14px}
#access-planner .tp-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#access-planner .tp-mobile-break{display:none}
@media(max-width:600px){
 #access-planner .tp-head{padding:19px 16px}
 #access-planner .tp-inner{padding:16px}
 #access-planner .tp-mobile-break{display:inline}
 #access-planner .tp-head>p:last-child{font-size:12px}
 #access-planner .tp-summary{gap:8px;margin-bottom:18px}
 #access-planner .tp-summary-card{padding:11px 10px;gap:6px}
 #access-planner .tp-summary-card>strong{font-size:14px}
 #access-planner .tp-summary-card>span,#access-planner .tp-summary-card>small{font-size:12px}
 #access-planner .tp-target{padding:14px;margin-bottom:18px}
 #access-planner .tp-controls{gap:14px 10px}
 #access-planner .tp-field input,#access-planner .tp-field select{font-size:16px;padding:8px;min-width:0}
 #access-planner .tp-mode>div{gap:8px}
 #access-planner .tp-mode button{gap:6px;flex-direction:column;font-size:14px}
 #access-planner .tp-mode button small{font-size:12px}
 #access-planner .tp-route-steps li{grid-template-columns:26px 1fr auto;gap:9px}
 #access-planner .tp-step-num{width:26px;height:26px;font-size:12px}
 #access-planner .tp-route-steps li:not(:last-child):before{left:12px}
 #access-planner .tp-route-steps strong{font-size:14px}
 #access-planner .tp-route-steps p{font-size:12px}
 #access-planner .tp-route-steps b{font-size:12px}
 #access-planner .tp-settings-grid{grid-template-columns:1fr}
 #access-planner .tp-settings summary span{display:block;margin:3px 0 0 16px}
 #access-planner .tp-deadline{padding:16px;margin-bottom:24px}
 #access-planner .tp-itinerary{padding:15px 12px}
 #access-planner .tp-timeline li{grid-template-columns:76px 1fr;gap:24px}
 #access-planner .tp-timeline time{font-size:14px}
 #access-planner .tp-timeline li:before{left:78px}
 #access-planner .tp-timeline li:not(:last-child):after{left:81px}
}
@media(prefers-reduced-motion:reduce){#access-planner *{scroll-behavior:auto!important}}
@media(max-width:600px){
 #access-planner .tp-table-wrap{border:0;overflow:visible}
 #access-planner table{min-width:0;display:block}
 #access-planner thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 #access-planner tbody{display:grid;gap:12px}
 #access-planner tbody tr{display:grid;grid-template-columns:1fr 1fr;border:1px solid #c5ceda;border-radius:5px;padding:12px;gap:10px 12px}
 #access-planner tbody tr.tp-picked{border:2px solid #1167ce;padding:11px}
 #access-planner tbody th{grid-column:1/-1;font-size:14px}
 #access-planner tbody th small{font-size:12px}
 #access-planner td,#access-planner th{padding:0;border:0}
 #access-planner .tp-time{font-size:25px;line-height:1.5}
 #access-planner td:nth-child(2):before,#access-planner td:nth-child(3):before{font-size:12px;display:block;font-weight:500;color:#526176}
 #access-planner td:nth-child(2):before{content:none}
 #access-planner td:nth-child(3):before{content:none}
 #access-planner td:nth-child(5){text-align:right;align-self:center}
 #access-planner td button{font-size:12px;min-width:108px}
 #access-planner td[colspan]{grid-column:1/-1}
 #access-planner .tp-summary-card>span,#access-planner .tp-summary-card>small{font-size:12px}
}

/* Arrival-first timetable: every time keeps its airport/station label. */
#access-planner .tp-route-banner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;background:#f3f6fa;border:1px solid #c5d4e7;border-radius:6px;padding:18px;margin:15px 0}
#access-planner .tp-route-banner small{display:block;font-size:12px;font-weight:600;color:#526176;margin-bottom:5px}
#access-planner .tp-route-banner strong{display:block;font-size:21px;font-weight:900}
#access-planner .tp-route-banner .tp-destination{color:#0753a8}
#access-planner .tp-route-arrow{color:#1167ce;font-size:24px}
#access-planner .tp-time-place{display:block;font-size:12px;line-height:1.5;white-space:normal;font-weight:700;color:#526176;margin-bottom:3px}
#access-planner .tp-time strong{display:block;font-size:22px;line-height:1.35}
#access-planner .tp-arrival{background:#eef6ff}
#access-planner .tp-arrival strong{font-size:29px;color:#0753a8}
#access-planner .tp-arrival .tp-time-place{color:#0753a8}
#access-planner .tp-timetable-tools{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:16px 0 10px}
#access-planner .tp-timetable-tools .tp-field{flex:1;min-width:140px}
#access-planner .tp-origin-shortcuts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
#access-planner .tp-origin-shortcuts button{font-size:13px;flex:1;min-width:125px}
#access-planner .tp-origin-shortcuts button[aria-pressed=true]{background:#1167ce;border-color:#1167ce;color:#fff}
#access-planner .tp-origin-shortcuts button[aria-pressed=true]:hover{background:#0955b2}
#access-planner .tp-airline-tag{display:inline-block;padding:3px 7px;margin-bottom:4px;background:#edf3f9;border:1px solid #c8d8ed;border-radius:3px;font-size:12px;color:#174879}
#access-planner .tp-airline-tag[data-carrier=JAL]{background:#fff0f0;border-color:#efbaba;color:#aa1928}
#access-planner .tp-airline-tag[data-carrier=ANA]{background:#edf3ff;border-color:#b4caef;color:#1246a5}
#access-planner .tp-airline-tag[data-carrier=SKY]{background:#fff8da;border-color:#dfce75;color:#63510a}
#access-planner .tp-coverage{border:1px solid #c5d4e7;border-radius:5px;padding:12px 14px;background:#f7faff;font-size:12px;line-height:1.8;margin:12px 0}
#access-planner .tp-coverage strong{color:#0753a8}
#access-planner .tp-summary-card .tp-summary-route{display:grid;gap:5px;font-size:12px;line-height:1.6}
#access-planner .tp-summary-route b{font-size:18px;font-variant-numeric:tabular-nums}
#access-planner .tp-summary-route em{font-style:normal;font-size:12px}
#access-planner .tp-time small{display:block;font-size:11px;font-weight:500;color:#526176}
@media(max-width:600px){
 #access-planner .tp-route-banner{gap:8px;padding:13px 11px}
 #access-planner .tp-route-banner strong{font-size:17px}
 #access-planner .tp-route-banner small{font-size:11px}
 #access-planner td.tp-time{padding:9px 10px;border-radius:4px;align-self:stretch;white-space:normal}
 #access-planner .tp-time-place{font-size:12px}
 #access-planner .tp-time strong{font-size:25px}
 #access-planner .tp-arrival strong{font-size:32px}
 #access-planner .tp-time-place{min-height:18px}
 #access-planner .tp-timetable-tools{gap:10px}
 #access-planner .tp-summary-route b{font-size:17px}
 #access-planner .tp-summary-card .tp-summary-route{font-size:11px}
}
