:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fff;--surface:#fff;--surface-2:#f4f1ea;--menu:#e9e3d6;--ink:#151515;--muted:#555b52;--faint:#77766f;--blue:#1236ca;--blue-ink:#fff;--blue-soft:#f0f2ff;--line:#d6d1c8;--line-strong:#918e86;--danger:#9f2929;--success:#176f3a;--warning:#8a5800;--shadow:none;--radius:0;--gutter:clamp(20px, 5vw, 72px);--content-width:1120px;--font-serif-stack:var(--font-serif), Georgia, serif;--font-sans-stack:var(--font-sans), Arial, sans-serif;--font-jp-stack:var(--font-jp), var(--font-serif-stack)}*{box-sizing:border-box}html,body{height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans-stack);-webkit-font-smoothing:antialiased;margin:0;font-weight:400;line-height:1.6}button{cursor:pointer;font-family:inherit}button,a,summary,input,textarea,select{-webkit-tap-highlight-color:transparent}input,textarea,select{font-family:inherit;font-size:16px}:focus-visible{outline:2px solid var(--blue);outline-offset:4px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}a{color:var(--blue)}.app-shell{max-width:100%;min-height:100%;margin:0 auto;position:relative}main{width:100%;max-width:var(--content-width);padding:28px var(--gutter) 104px;min-height:100vh;margin:0 auto}.topbar{z-index:20;background:var(--paper);border-bottom:1px solid var(--line);display:block;position:sticky;top:0}.topbar-inner{max-width:1280px;min-height:72px;padding:10px var(--gutter);align-items:center;gap:30px;margin:0 auto;display:flex}.brand{min-height:44px;color:var(--ink);flex:none;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand img{object-fit:contain;object-position:center;width:150px;height:50px;display:block}.brand-suffix{border-left:1px solid var(--line);color:var(--muted);letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;padding-left:10px;font-size:10px}.topbar-signature{border-top:1px solid var(--line);max-width:1120px;color:var(--muted);letter-spacing:.12em;text-align:center;text-transform:uppercase;margin:0 auto;padding:10px 28px 12px;font-size:10px;display:none}.topbar-signature span{color:var(--ink);font-weight:600}.topnav{flex:1;gap:22px;display:none}.topnav a{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;border-bottom:2px solid #0000;padding:6px 0;font-size:12.5px;text-decoration:none}.topnav a.active{color:var(--ink);border-color:var(--blue)}.bottomnav{z-index:20;background:var(--surface);border-top:1px solid var(--line);padding:9px 4px calc(env(safe-area-inset-bottom,0px) + 5px);display:flex;position:fixed;bottom:0;left:0;right:0}.bottomnav a,.bottomnav button{text-align:center;color:var(--faint);letter-spacing:.02em;background:0 0;border:0;flex:1;justify-content:center;align-items:center;min-height:44px;padding:10px 2px;font-size:11px;text-decoration:none;display:flex}.bottomnav a.active{color:var(--blue)}.nav-signout{color:var(--muted);cursor:pointer;background:0 0;border:0;min-height:44px;padding:0 8px;font-size:13px}.nav-signout:disabled,.bottomnav button:disabled{opacity:.55}.divider{border:none;border-top:1px dashed var(--line);margin:26px 0}@media (min-width:880px){main{padding:36px 28px 64px}.topbar{display:block}.topnav{display:flex}.topbar-signature{display:block}.bottomnav{display:none}}@media (max-width:1120px){.topnav{gap:14px}.brand-suffix{display:none}}@media (max-width:620px){.topbar-signature{letter-spacing:.08em;font-size:8px}}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--blue);font-size:10.5px;font-weight:600}h1.page{font-family:var(--font-serif-stack);letter-spacing:-.01em;text-wrap:balance;margin:8px 0 6px;font-size:clamp(38px,6vw,58px);font-weight:400}.page-sub{color:var(--muted);max-width:52ch;margin:0 0 30px;font-size:14px}.portal-home{max-width:1000px;margin:0 auto}.trip-selector{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:12px;margin-bottom:28px;padding-bottom:20px;display:grid}.trip-selector label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px}.trip-selector select{border:1px solid var(--line-strong);background:var(--paper);min-height:44px;color:var(--ink);border-radius:0;padding:9px 12px}@media (max-width:620px){.trip-selector{grid-template-columns:1fr auto}.trip-selector label{grid-column:1/-1}}.portal-hero{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 150px;align-items:end;gap:30px;padding:18px 0 28px;display:grid}.portal-hero-empty{min-height:300px}.portal-hero-title{max-width:15ch;font-family:var(--font-serif-stack);letter-spacing:-.035em;text-wrap:balance;margin:12px 0 10px;font-size:clamp(48px,7vw,82px);font-weight:400;line-height:1.02}.portal-hero-lede{max-width:42ch;color:var(--muted);font-family:var(--font-serif-stack);margin:0;font-size:clamp(20px,2.5vw,29px);line-height:1.35}.portal-hero-mark{aspect-ratio:1;border:1px solid var(--line);color:var(--blue);font-family:var(--font-jp-stack);place-items:center;font-size:76px;line-height:1;display:grid}.portal-note{border-left:2px solid var(--blue);background:var(--blue-soft);gap:4px;margin:24px 0;padding:18px 20px;display:grid}.portal-note strong{font-family:var(--font-serif-stack);font-size:17px}.portal-note span{color:var(--muted);font-size:13px}.portal-actions{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.portal-countdown{align-items:baseline;gap:14px;margin:18px 0 4px;display:flex}.portal-countdown strong{font-family:var(--font-serif-stack);font-variant-numeric:tabular-nums;font-size:clamp(62px,14vw,96px);font-weight:400;line-height:1}.portal-countdown span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:11px}.portal-countdown-date{color:var(--muted);font-family:var(--font-serif-stack);font-size:17px;font-style:italic}.portal-experience-card{margin-top:32px}.portal-experience-title{margin:4px 0 16px;font-size:32px}.stat-value{font-family:var(--font-serif-stack);margin-top:2px;font-size:21px;font-weight:400;display:block}.portal-payment{margin-top:18px}.portal-payment-copy{color:var(--muted);justify-content:space-between;gap:14px;margin-top:8px;font-size:12px;display:flex}.portal-action{border:1px solid var(--line);min-height:64px;color:var(--ink);justify-content:space-between;align-items:center;padding:15px 17px;text-decoration:none;transition:border-color .2s,transform .2s,background-color .2s;display:flex}.portal-action:hover{border-color:var(--blue);background:var(--surface);transform:translateY(-2px)}.portal-action b{color:var(--blue);font-size:18px;font-weight:400}.portal-action-primary{border-color:var(--blue);background:var(--blue);color:var(--blue-ink)}.portal-action-primary b{color:var(--blue-ink)}@media (max-width:620px){.portal-hero{grid-template-columns:1fr}.portal-hero-empty{min-height:0}.portal-hero-mark{width:92px;font-size:48px}.portal-actions{grid-template-columns:1fr}}.guide-page{max-width:1100px;margin:0 auto;padding-bottom:40px}.guide-shell{background:var(--paper);min-height:100vh}.guide-header{z-index:40;min-height:64px;padding:0 max(20px, env(safe-area-inset-left));background:color-mix(in srgb, var(--paper) 94%, transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:space-between;align-items:center;gap:20px;display:flex;position:sticky;top:0}.guide-brand,.guide-back{align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.guide-brand{color:var(--ink);letter-spacing:.12em;white-space:nowrap;font-size:13px;font-weight:700;line-height:1}.guide-back{color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:0 12px;font-size:13px}.guide-back:hover{color:var(--ink);border-color:var(--ink)}.guide-shell>main{width:100%;max-width:1160px;margin:0 auto}.guide-hero{justify-content:space-between;align-items:end;gap:20px;margin:20px 0 24px;display:flex}.guide-hero-tools{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.guide-offline{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.guide-offline-error{color:#c43d3d}.guide-status{min-height:34px;color:var(--muted);align-items:center;gap:10px;font-size:13px;display:flex}.guide-search{gap:8px;display:grid}.guide-search input{border:1px solid var(--line-strong);background:var(--surface);min-height:48px;color:var(--ink);border-radius:6px;padding:10px 12px}.guide-search div{flex-wrap:wrap;gap:12px;display:flex}.guide-search div a{border:1px solid var(--line);border-radius:6px;gap:2px;padding:8px 10px;text-decoration:none;display:grid}.guide-search div small{color:var(--muted)}.guide-logistics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.guide-logistics-grid>div,.guide-logistics-grid>article{background:var(--surface-2);border-radius:8px;padding:14px}.guide-logistics-grid h3{margin:0 0 8px}.guide-logistics-grid p{color:var(--muted);margin:4px 0}.guide-logistics-grid p small,.guide-person small{color:var(--muted);margin-top:4px;display:block}.guide-person strong{margin-top:10px;display:block}.guide-task-list{gap:8px;display:grid}.guide-task{border-top:1px solid var(--line);grid-template-columns:44px 1fr;align-items:start;gap:10px;padding:12px 0;display:grid}.guide-task:first-child{border-top:0}.guide-task>span{color:var(--blue);font-weight:700}.guide-task h3,.guide-task p{margin:0}.guide-task p{color:var(--muted);margin-top:3px;font-size:13px}.guide-task.completed{opacity:.55}.guide-task.completed h3{text-decoration:line-through}.guide-check-ok,.guide-check-warning{margin:6px 0}.guide-check-ok{color:#218547}.guide-actions{grid-template-columns:repeat(5,1fr);gap:10px;margin:0 0 24px;display:grid}.guide-action{background:var(--blue);min-height:64px;color:var(--blue-ink);letter-spacing:.02em;border-radius:8px;justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:flex}.guide-section{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;margin:16px 0;padding:20px}.guide-section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.guide-section h2{font-family:var(--font-serif-stack);margin:4px 0 0}.guide-timeline{gap:10px;display:grid}.guide-activity{border-top:1px solid var(--line);grid-template-columns:66px 1fr auto;align-items:center;gap:14px;padding:14px 0;display:grid}.guide-activity:first-child{border-top:0}.guide-activity.completed{opacity:.58}.guide-activity.completed h3{text-decoration:line-through}.guide-activity time{color:var(--blue);font-weight:700}.guide-activity h3,.guide-place h3{margin:0;font-size:17px}.guide-activity p,.guide-place p{color:var(--muted);margin:2px 0 8px;font-size:14px}.mini-btn{border:1px solid var(--line-strong);background:var(--surface-2);min-height:42px;color:var(--ink);border-radius:6px;padding:8px 12px}.guide-links{flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.guide-place{border-top:1px solid var(--line);justify-content:space-between;gap:16px;padding:16px 0;display:flex}.guide-place:first-of-type{border-top:0}.guide-place blockquote{border-left:3px solid var(--blue);color:var(--muted);font-family:var(--font-serif-stack);margin:10px 0;padding:10px 14px}.guide-note{background:var(--surface-2);border-radius:6px;margin:8px 0;padding:12px 14px}.guide-note small{color:var(--muted);margin-top:4px;display:block}.guide-note-form{gap:10px;margin-top:16px;display:grid}.guide-note-form textarea{resize:vertical;border:1px solid var(--line-strong);background:var(--surface);min-height:100px;color:var(--ink);padding:10px}.guide-note-form select{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);padding:10px}.guide-trip-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;display:grid}.guide-trip-card{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:18px;text-decoration:none;display:block}.guide-trip-card:hover{border-color:var(--blue)}.guide-card-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.guide-empty{color:var(--muted);padding:12px 0}.advanced-guide-editor{margin-top:18px}details.card>summary{cursor:pointer;min-height:48px;color:var(--ink);align-items:center;display:flex}.guide-data-heading{justify-content:space-between;align-items:end;gap:16px;margin:34px 0 14px;display:flex}.guide-data-heading h2{margin:4px 0 0}.guide-data-heading>span{color:var(--muted);font-size:12px}.guide-data-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.guide-data-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;overflow:hidden}.guide-data-panel>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:14px;min-height:68px;padding:0 18px;list-style:none;display:flex}.guide-data-panel>summary::-webkit-details-marker{display:none}.guide-data-panel>summary:before{content:"+";color:var(--blue);font-size:20px;line-height:1}.guide-data-panel[open]>summary:before{content:"−"}.guide-data-panel>summary h3{flex:1;margin:0;font-size:17px}.guide-data-panel>summary>span{background:var(--surface-2);min-width:32px;height:28px;color:var(--muted);border-radius:20px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.guide-data-list{border-top:1px solid var(--line);padding:0 18px}.guide-data-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:66px;padding:12px 0;display:grid}.guide-data-row:first-child{border-top:0}.guide-data-title{flex-wrap:wrap;align-items:center;gap:8px;font-weight:650;display:flex}.guide-data-row p{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.45}.guide-data-badge{color:#218547;letter-spacing:.06em;text-transform:uppercase;background:#21854724;border-radius:12px;padding:2px 7px;font-size:9px}.guide-data-badge.warning{color:#b57200;background:#b5720024}.guide-delete{color:var(--muted);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;font-size:11px;text-decoration:underline}.guide-delete:hover{color:#c43d3d}.guide-data-empty{border-top:1px solid var(--line);color:var(--muted);margin:0;padding:16px 18px;font-size:13px}@media (max-width:640px){.guide-hero{flex-direction:column;align-items:start}.guide-actions{grid-template-columns:repeat(2,1fr)}.guide-activity{grid-template-columns:54px 1fr}.guide-activity form{grid-column:2}.guide-place{flex-direction:column}.guide-logistics-grid{grid-template-columns:1fr}}@media (max-width:720px){.guide-data-grid{grid-template-columns:1fr}}@media (max-width:480px){.guide-header{min-height:56px;padding-right:12px}.guide-brand{letter-spacing:.08em;font-size:11px}.guide-back{min-height:38px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.stat-row{grid-template-columns:repeat(3,1fr);gap:0;margin-top:6px;display:grid}.stat{border-top:1px dashed var(--line);padding:12px 0}.stat:nth-child(-n+3){border-top:none}@media (max-width:480px){.stat-row{grid-template-columns:1fr}.stat{border-top:1px dashed var(--line)}.stat:first-child{border-top:none}}.label-sm{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:10.5px}.btn{background:var(--ink);color:var(--paper);letter-spacing:.03em;text-align:center;border:none;border-radius:20px;padding:13px 20px;font-size:13.5px;display:inline-block}.btn.ghost{border:1px solid var(--line);color:var(--ink);background:0 0}.btn.blue{background:var(--blue);color:var(--blue-ink)}.paid-guide-page{max-width:880px;margin:0 auto}.paid-content-switcher{border-bottom:1px solid var(--line);gap:10px;margin-bottom:28px;padding-bottom:20px;display:grid}.paid-content-switcher-label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:10px}.paid-content-switcher-links{flex-wrap:wrap;gap:8px;display:flex}.paid-content-link{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:9px 13px;font-size:12px;transition:border-color .2s,color .2s,background .2s}:is(.paid-content-link:hover,.paid-content-link:focus-visible){border-color:var(--blue);color:var(--blue)}.paid-content-link.is-active{border-color:var(--blue);background:var(--blue);color:var(--blue-ink)}.paid-guide-kicker{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:9px;font-size:11px;display:flex}.paid-guide-kicker span{color:var(--blue);font-family:var(--font-jp-stack);font-size:20px;line-height:1}.paid-guide-hero{grid-template-columns:minmax(0,1fr) 150px;align-items:end;gap:28px;margin:10px 0 26px;display:grid}.paid-guide-title{margin-top:12px!important;font-size:clamp(32px,7vw,58px)!important;line-height:1.05!important}.paid-guide-subtitle{color:var(--muted);font-family:var(--font-serif-stack);margin:4px 0 10px;font-size:clamp(17px,3vw,22px)}.paid-guide-mark{aspect-ratio:1;border:1px solid var(--line);background:var(--surface-2);color:var(--blue);place-content:center;justify-items:center;display:grid}.paid-guide-mark span{font-family:var(--font-jp-stack);font-size:42px;line-height:1}.paid-guide-mark small{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin-top:10px;font-size:10px}.paid-guide-progress{grid-template-columns:auto minmax(100px,1fr) auto;align-items:center;gap:18px;margin-bottom:20px;display:grid}.paid-guide-progress strong{font-family:var(--font-serif-stack);margin-top:3px;font-size:15px;display:block}.paid-guide-progress-track{background:var(--line);height:5px;overflow:hidden}.paid-guide-progress-track i{background:var(--blue);height:100%;transition:width .25s;display:block}.paid-guide-percent{color:var(--blue);font-size:12px;font-weight:700}.paid-guide-sections{gap:18px;display:grid}.paid-guide-section{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);padding:24px}.paid-guide-section-heading{grid-template-columns:58px 1fr;align-items:start;gap:16px;display:grid}.paid-guide-station{justify-items:center;gap:8px;display:grid}.paid-guide-station span{color:var(--blue);font-family:var(--font-serif-stack);font-size:25px}.paid-guide-station i{background:var(--line);width:1px;height:38px;display:block}.paid-guide-section h2{font-family:var(--font-serif-stack);margin:5px 0 2px;font-size:clamp(23px,4vw,32px)}.paid-guide-section-heading p,.paid-guide-intro{color:var(--muted);font-size:14px}.paid-guide-section-heading p{margin:0}.paid-guide-intro{max-width:65ch;margin:24px 0 8px 74px}.paid-guide-lessons{border-top:1px solid var(--line);margin-top:20px}.paid-guide-lesson{border-bottom:1px solid var(--line);grid-template-columns:38px minmax(0,1fr) auto;align-items:start;gap:16px;padding:20px 0;display:grid}.paid-guide-lesson:last-child{border-bottom:0;padding-bottom:4px}.paid-guide-lesson.is-complete{opacity:.62}.paid-guide-lesson-number{color:var(--faint);letter-spacing:.08em;font-size:12px}.paid-guide-lesson-meta{color:var(--blue);letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;gap:8px;font-size:10px;display:flex}.paid-guide-lesson-meta b{color:#218547;font-weight:600}.paid-guide-lesson h3{font-family:var(--font-serif-stack);margin:6px 0 7px;font-size:19px;line-height:1.3}.paid-guide-lesson p{max-width:68ch;color:var(--muted);white-space:pre-line;margin:0;font-size:14px}.paid-guide-lesson form{padding-top:18px}.paid-guide-lesson .mini-btn{white-space:nowrap}.paid-guide-lesson .mini-btn.is-done{color:#218547}.paid-guide-lesson-image{max-width:100%;margin-top:14px;display:block}.paid-guide-audio{width:min(100%,420px);margin-top:14px;display:block}.paid-guide-video{aspect-ratio:16/9;object-fit:contain;background:#0b0b0b;width:min(100%,720px);margin-top:14px;display:block}.paid-guide-video-part{margin-top:16px}.paid-guide-video-part>span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;font-size:10px;display:block}.paid-guide-video-part .paid-guide-video{margin-top:0}.paid-guide-resources{border-top:1px solid var(--line);margin-top:16px;display:grid}.paid-guide-resources a{border-bottom:1px solid var(--line);color:var(--ink);justify-content:space-between;gap:16px;padding:12px 2px;font-size:13px;display:flex}:is(.paid-guide-resources a:hover,.paid-guide-resources a:focus-visible){color:var(--blue)}.paid-guide-resources b{color:var(--blue);font-weight:400}.paid-guide-empty h2{font-family:var(--font-serif-stack);margin-top:0}.paid-guide-empty p{color:var(--muted);margin-bottom:0}@media (max-width:640px){.paid-guide-hero{grid-template-columns:1fr}.paid-guide-mark{width:96px}.paid-guide-progress{grid-template-columns:1fr auto}.paid-guide-progress-track{grid-area:2/1/auto/-1}.paid-guide-section{padding:18px}.paid-guide-intro{margin-left:0}.paid-guide-lesson{grid-template-columns:28px minmax(0,1fr)}.paid-guide-lesson form{grid-column:2;padding-top:4px}}.skip-link{z-index:1000;background:var(--ink);color:var(--paper);padding:11px 16px;text-decoration:none;position:fixed;top:10px;left:10px;transform:translateY(-180%)}.skip-link:focus{transform:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1,h2,h3,.zone-name,.atlas-name,.day-tour-title{font-family:var(--font-serif-stack);letter-spacing:-.02em;font-weight:400}h2,h3{line-height:1.12}.eyebrow,.label-sm{letter-spacing:.12em;font-weight:600}.card,.guide-section,.guide-trip-card,.guide-data-panel,.paid-guide-section,.guide-logistics-grid>div,.guide-logistics-grid>article,.guide-search input,.guide-search div a,.guide-note,.guide-back,.guide-action,.mini-btn,.btn,.btn-pill,.tabs a,.field input,.field select,.field textarea,.login-form input,.lesson-image,.paid-guide-lesson-image,.progress,.progress>i{border-radius:0}.card,.guide-section,.guide-data-panel,.paid-guide-section{box-shadow:none}.btn,.btn-pill,.mini-btn{min-height:44px;padding:11px 18px;text-decoration:none}.btn:hover,.btn-pill:hover,.portal-action-primary:hover,.guide-action:hover{background:var(--ink);color:var(--paper)}.btn.ghost:hover,.mini-btn:hover{border-color:var(--ink);background:var(--surface-2);color:var(--ink)}.tabs{scrollbar-width:thin;flex-wrap:nowrap;gap:0;padding-bottom:3px;overflow-x:auto}.tabs a{border-width:0 0 1px;flex:none;min-height:44px;padding:10px 16px}.tabs a.active{border-color:var(--blue);color:var(--ink);background:0 0}.portal-action{min-height:72px}.portal-action-primary:hover{transform:translateY(-2px)}.portal-note,.day-tour-alert{background:var(--blue-soft)}.guide-check-ok,.paid-guide-lesson-meta b,.paid-guide-lesson .mini-btn.is-done{color:var(--success)}.guide-check-warning{color:var(--warning)}.guide-offline-error,.guide-delete:hover,.login-error{color:var(--danger)}.admin-mobile-menu{margin-left:auto;display:block;position:relative}.admin-mobile-menu summary{cursor:pointer;align-items:center;min-height:44px;padding:0 4px;list-style:none;display:flex}.admin-mobile-menu summary::-webkit-details-marker{display:none}.admin-mobile-menu summary:after{content:" +";color:var(--blue)}.admin-mobile-menu[open] summary:after{content:" −"}.admin-mobile-menu>div{z-index:60;border:1px solid var(--line);background:var(--paper);width:min(82vw,320px);padding:12px;position:absolute;top:calc(100% + 8px);right:0}.admin-mobile-menu a{border-top:1px solid var(--line);min-height:44px;color:var(--ink);align-items:center;text-decoration:none;display:flex}.admin-mobile-menu a:first-child{border-top:0}.admin-topbar .linkback{display:none}.login-screen{max-width:none;padding:32px max(22px, env(safe-area-inset-left))}.login-screen .brand img{width:180px;height:60px}.login-title{max-width:22ch;color:var(--ink);margin-bottom:36px;font-size:clamp(31px,5vw,48px);font-style:normal;font-weight:400;line-height:1.05}.login-form{max-width:390px}.login-form input{text-align:left;min-height:52px}.login-error-copy{max-width:40ch;color:var(--muted);font-size:15px}@media (min-width:880px){.admin-mobile-menu{display:none}.admin-topbar .linkback{display:inline-flex}.admin-shell main{max-width:1280px}}@media (max-width:879px){.brand img{width:120px;height:40px}.topbar-inner{min-height:64px;padding:8px 18px}.topbar-signature,.topnav,.brand-suffix{display:none}.admin-shell .topbar-inner{flex-wrap:nowrap}.admin-shell .topnav,.admin-shell .linkback{display:none}}@media (max-width:620px){main{padding:26px 20px 104px}.portal-hero{gap:24px}.portal-hero-title{font-size:clamp(46px,15vw,66px)}.portal-hero-lede{font-size:21px}.bottomnav{overflow-x:auto}.bottomnav a{min-width:62px;min-height:48px}}@media (max-width:360px){main{padding-left:16px;padding-right:16px}.bottomnav a{min-width:58px;font-size:10px}}.progress{background:var(--line);border-radius:0;height:6px;overflow:hidden}.progress>i{background:var(--blue);border-radius:0;height:100%;display:block}.field{flex-direction:column;gap:6px;display:flex}.field label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11px}.field input,.field select,.field textarea{background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--ink);padding:12px;font-size:16px}.policy-document{flex-direction:column;gap:18px;display:flex}.policy-help,.policy-hint,.policy-meta,.policy-message{color:var(--muted);font-size:13px}.policy-help{margin-top:6px}.policy-current{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.policy-meta{margin-top:4px}.policy-actions,.policy-upload{align-items:flex-end;gap:10px;display:flex}.policy-upload .field{flex:1}.policy-upload input[type=file]{width:100%}.policy-delete{color:var(--muted);background:0 0;border:none;padding:12px 6px;text-decoration:underline}.policy-message{margin:0}@media (max-width:600px){.policy-current,.policy-upload{flex-direction:column;align-items:stretch}.policy-actions{align-items:center}}.login-screen{background:var(--paper);min-height:100vh;color:var(--ink);padding:32px max(22px, env(safe-area-inset-left));text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.login-mark{font-family:var(--font-sans-stack);letter-spacing:.08em;color:var(--blue);font-size:22px;font-weight:700}.login-kanji{font-family:var(--font-jp-stack);color:var(--blue);letter-spacing:.3em;margin-top:18px;font-size:15px}.login-title{font-family:var(--font-serif-stack);color:var(--ink);max-width:22ch;margin:22px 0 36px;font-size:clamp(31px,5vw,48px);font-style:normal;font-weight:400;line-height:1.05}.login-form{flex-direction:column;gap:12px;width:100%;max-width:390px;display:flex}.login-form input{background:var(--surface);border:1px solid var(--line-strong);color:var(--ink);text-align:left;border-radius:0;min-height:52px;padding:14px 16px;font-size:16px}.login-form input::placeholder{color:var(--faint)}.btn-pill{background:var(--blue);color:var(--blue-ink);letter-spacing:.05em;text-transform:uppercase;border:none;border-radius:0;min-height:44px;padding:14px 16px;font-size:13px;font-weight:500}.btn-pill:disabled{opacity:.5}.login-foot{color:var(--muted);max-width:30ch;margin-top:28px;font-size:11.5px}.login-error{color:#b33a3a;margin-top:-4px;font-size:12.5px}.login-code-hint{color:var(--muted);margin:-8px 0 4px;font-size:13px}.login-switch{color:var(--muted);background:0 0;border:0;margin-top:4px;font-size:12.5px}.check{border-top:1px dashed var(--line);cursor:pointer;align-items:center;gap:14px;margin:0;padding:14px 0;display:flex}.check label{display:contents}.check:first-child{border-top:none}.check input{width:21px;height:21px;accent-color:var(--blue);flex:none}.check span{font-size:15px}.check.done span{color:var(--muted);text-decoration:line-through}.concept-subtitle{font-family:var(--font-serif-stack);color:#555;margin-top:6px;font-size:14px;font-style:italic}.lesson-audio{width:100%;margin:12px 0}.form-warning{color:var(--ink);border-color:#b85727;font-size:13.5px}.tabs{scrollbar-width:thin;flex-wrap:nowrap;gap:0;margin:16px 0 24px;padding-bottom:3px;display:flex;overflow-x:auto}.tabs a{border:0;border-bottom:1px solid var(--line);color:var(--muted);letter-spacing:.02em;background:0 0;border-radius:0;flex:none;align-items:center;min-height:44px;padding:10px 15px;font-size:13px;text-decoration:none;display:inline-flex}.tabs a.active{color:var(--ink);border-color:var(--blue);background:0 0}.map-wrap{background:var(--surface);border:1px solid var(--line);padding:24px 8px}.map-caption{color:var(--faint);text-align:center;letter-spacing:.03em;margin-top:10px;font-size:11px}.route{margin-top:24px;padding-left:28px;position:relative}.route:before{content:"";background:var(--line);width:1px;position:absolute;top:8px;bottom:8px;left:6px}.zone{padding-bottom:30px;position:relative}.zone:last-child{padding-bottom:0}.zone:before{content:"";background:var(--blue);border:2px solid var(--paper);width:10px;height:10px;box-shadow:0 0 0 1px var(--blue);border-radius:50%;position:absolute;top:6px;left:-28px}.zone-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.zone-name{font-family:var(--font-serif-stack);font-size:19px;font-weight:400}.zone-dates{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11.5px}.zone-lodge{color:var(--muted);font-size:13px;font-style:italic;font-family:var(--font-serif-stack);margin-top:8px}.zone-desc{margin-top:6px;font-size:13.5px}.daychips{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.daychip{border:1px solid var(--line);background:var(--surface);width:38px;height:38px;color:var(--muted);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;font-size:12px;text-decoration:none;display:flex}.daychip.locked{background:var(--surface-2);color:var(--faint);border-style:dashed}.daychip.unlocked{border-color:var(--blue);color:var(--blue)}.daychip.transfer:after{content:"";background:currentColor;border-radius:50%;width:3px;height:3px;margin-top:1px}.day-meta{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);flex-wrap:wrap;gap:16px;margin-bottom:6px;font-size:11.5px;display:flex}.concept-block{color:#14141a;border-radius:var(--radius);background:#faf9f6;margin-bottom:26px;padding:34px 28px 30px}.concept-kanji{font-family:var(--font-jp-stack);font-size:76px;font-weight:500;line-height:1}.concept-romaji{letter-spacing:.2em;text-transform:uppercase;color:#1236ca;margin-top:10px;font-size:11.5px}.concept-title{font-family:var(--font-serif-stack);color:#6c6c7c;margin-top:4px;font-size:17px;font-style:italic}.concept-text{max-width:56ch;margin-top:18px;font-size:15.5px}.observa{border-radius:var(--radius);background:#eef0fc;margin-top:20px;padding:16px 18px}.observa p{font-size:13.5px;font-style:italic;font-family:var(--font-serif-stack);margin:6px 0 0}.lesson-card{border-top:1px dashed #dfdfe8;margin-top:22px;padding-top:20px}.lesson-kind{letter-spacing:.14em;text-transform:uppercase;color:#1236ca;font-size:10.5px}.lesson-title{font-family:var(--font-serif-stack);margin-top:4px;margin-bottom:14px;font-size:17px}.lesson-image{border-radius:12px;width:100%;max-width:420px;margin:14px 0;display:block}.lesson-body{max-width:56ch}.lesson-body p{margin:12px 0;font-size:14.5px}.lesson-heading{font-family:var(--font-serif-stack);margin:20px 0 6px;font-size:15.5px;font-style:italic}.lesson-quote{border-radius:var(--radius);font-family:var(--font-serif-stack);background:#f2f0ea;border-left:2px solid #1236ca;margin:14px 0;padding:14px 18px;font-size:13.5px;font-style:italic}.lesson-quote span{display:block}.lesson-list{margin:10px 0;padding-left:18px;font-size:14px}.lesson-list li{margin:4px 0}.sched-item{border-top:1px dashed var(--line);gap:16px;padding:13px 0;display:flex}.sched-item:first-child{border-top:none}.sched-time{width:52px;color:var(--muted);font-variant-numeric:tabular-nums;flex:none;padding-top:1px;font-size:12.5px}.sched-label{font-size:14px}.locked-day{text-align:center;padding:60px 24px}.locked-day .glyph{color:var(--faint);font-size:34px}.locked-day p{color:var(--muted);margin-top:14px;font-size:13.5px}.place-card{border-top:1px dashed var(--line);padding:16px 0}.place-card:first-child{border-top:none}.place-card .ptitle{font-family:var(--font-serif-stack);font-size:15.5px;font-weight:700}.place-card p{color:var(--muted);margin-top:6px;font-size:13.5px}.atlas-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (max-width:560px){.atlas-grid{grid-template-columns:1fr}}.atlas-card{border:1px solid var(--line);background:var(--surface);padding:18px}.atlas-jp{font-family:var(--font-jp-stack);font-size:26px}.atlas-name{font-family:var(--font-serif-stack);margin-top:4px;font-size:16px;font-weight:400}.mini-btn{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);border-radius:0;padding:11px 18px;font-size:11px;text-decoration:none}.mini-btn.on{background:var(--blue);color:var(--blue-ink);border-color:var(--blue)}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:520px){.grid2{grid-template-columns:1fr}}.pill{text-transform:uppercase;letter-spacing:.06em;background:var(--blue-soft);color:var(--blue);border-radius:20px;padding:3px 10px;font-size:10px;font-weight:600;display:inline-block}.pill.muted{background:var(--surface-2);color:var(--muted)}.linkback{color:var(--muted);align-items:center;gap:6px;margin-bottom:22px;font-size:12px;text-decoration:none;display:inline-flex}.day-tour-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.day-tour-title{font-family:var(--font-serif-stack);margin:7px 0;font-size:20px}.day-tour-copy{color:var(--muted);font-size:13.5px;line-height:1.65}.day-tour-detail{border-top:1px dashed var(--line);color:var(--ink);letter-spacing:.06em;text-transform:uppercase;margin-top:16px;padding-top:12px;font-size:12px;font-weight:700}.day-tour-form,.day-tour-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px;display:grid}.day-tour-form>.btn,.day-tour-admin-grid+.btn{justify-self:start}.day-tour-notes{grid-column:1/-1}.day-tour-request,.day-tour-request-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.day-tour-status{color:var(--blue);text-align:right;flex-direction:column;align-items:flex-end;gap:4px;font-size:12px;font-weight:700;display:flex}.day-tour-status span{color:var(--muted);font-weight:400}.day-tour-alert{border-left:3px solid var(--blue);background:var(--blue-soft);margin-top:14px;padding:10px 12px;font-size:13px}.day-tour-active{color:var(--muted);align-items:center;gap:8px;margin:14px 0;font-size:13px;display:flex}@media (max-width:640px){.admin-shell .topbar-inner{flex-wrap:nowrap;gap:12px 18px;padding:14px 18px}.admin-shell .topnav{flex-basis:100%;order:3;gap:16px;padding-bottom:4px;overflow-x:auto}.admin-shell .topnav a{flex:none}.day-tour-grid,.day-tour-form,.day-tour-admin-grid{grid-template-columns:1fr}.day-tour-notes{grid-column:auto}.day-tour-request,.day-tour-request-head{flex-direction:column}.day-tour-status{text-align:left;align-items:flex-start}}.paid-guide-open-chapter{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--blue);justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:1rem 0;font-weight:700;text-decoration:none;display:flex}.paid-guide-archive-page{width:min(100%,1440px);margin:0 auto}.paid-guide-archive-topbar,.paid-guide-archive-navigation{justify-content:space-between;align-items:center;gap:1rem;display:flex}.paid-guide-archive-topbar{padding-bottom:1.5rem}.paid-guide-archive-topbar h1{font-family:var(--font-display);margin:.35rem 0 0;font-size:clamp(2rem,4vw,4.5rem);font-weight:400}.paid-guide-archive-count{color:var(--muted);white-space:nowrap}.paid-guide-archive-frame{border:1px solid var(--line);background:#f7f4ec;width:100%;height:clamp(480px,80dvh,900px);min-height:480px;display:block}.paid-guide-archive-navigation{padding:1.5rem 0 3rem}@media (max-width:760px){.paid-guide-archive-topbar{align-items:flex-end}.paid-guide-archive-navigation{grid-template-columns:1fr;display:grid}.paid-guide-archive-navigation .btn{width:100%}}
