:root{color-scheme:dark;--bg:#17231d;--surface:#1c2b23;--ink:#f5f6ee;--muted:#c0cec1;--lime:#d9f389;--pink:#f3a8c6;--line:#ffffff24;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid var(--pink);outline-offset:3px}[hidden]{display:none!important}.header{height:86px;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:16px}.brand{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:500;letter-spacing:.07em}.brand small{display:block;font-size:12px;font-weight:400;letter-spacing:.08em;color:var(--muted);margin-top:4px}.mark{font-size:33px;color:var(--pink)}.header-right{display:flex;align-items:center;gap:20px}.photo-note{font-size:12px;color:var(--muted)}.button{border:1px solid #ffffff3b;background:#ffffff05;border-radius:25px;padding:11px 17px;min-height:43px;font-size:14px;white-space:nowrap}.button:hover:not(:disabled){border-color:var(--lime);background:#ffffff0c}.button.primary{background:var(--lime);color:var(--bg);border-color:var(--lime)}.button.primary:hover{background:#e6ff9b}.route-tabs{display:flex;gap:7px;padding:13px 32px;border-bottom:1px solid var(--line)}.route-tabs button{background:none;border:1px solid transparent;border-radius:22px;padding:9px 17px;font-size:14px;color:var(--muted)}.route-tabs button[aria-current=true]{color:var(--ink);background:#ffffff0d;border-color:#ffffff36}.route-tabs button[aria-current=true]::before{content:'';width:6px;height:6px;border-radius:50%;display:inline-block;background:var(--pink);margin-right:9px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 366px;min-height:calc(100svh - 151px);padding:20px 32px 26px;gap:28px;max-width:1800px;margin:auto}.viewer{min-width:0;display:flex;flex-direction:column}.viewer-top{display:flex;justify-content:space-between;align-items:center;padding:0 0 12px;font-size:13px;color:var(--muted)}#counter{font-variant-numeric:tabular-nums;letter-spacing:.09em;color:var(--lime)}.photo-frame{position:relative;background:#101a15;overflow:hidden;height:calc(100svh - 307px);min-height:410px;display:flex;align-items:center;justify-content:center;border:1px solid #ffffff13;border-radius:8px;touch-action:pan-y;outline:none}.photo-frame img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;transform-origin:center;pointer-events:none}.photo-frame.zoomed{touch-action:none;cursor:grab}.photo-frame.dragging{cursor:grabbing}.photo-tools{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 0;font-size:12px;color:var(--muted)}.photo-tools>div{display:flex;gap:3px;align-items:center}.photo-tools button,.photo-tools a{background:none;border:0;border-radius:5px;padding:7px 9px;font-size:12px;min-height:32px}.photo-tools button:first-child,.photo-tools button:nth-child(3){font-size:19px;padding:2px 10px}.photo-tools a{color:var(--lime);margin-left:6px}.pager{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:5px}.pager .primary{max-width:50%;overflow:hidden;text-overflow:ellipsis}.pager #autoplay{color:var(--muted);border-color:transparent;font-size:13px;padding-left:10px;padding-right:10px}.pager #autoplay[aria-pressed=true]{color:var(--lime);border-color:#d9f38955}.details{padding:4px 0 0;display:flex;flex-direction:column;min-width:0}.eyebrow{font-size:12px;letter-spacing:.12em;color:var(--pink)}.caption h1{font-size:25px;font-weight:500;line-height:1.55;margin:12px 0}.caption p{font-size:15px;line-height:1.95;color:var(--muted);margin:0}.landmark-note{font-size:12px;color:var(--lime);line-height:1.8;padding:13px 0;border-bottom:1px solid var(--line);margin:8px 0 5px}.step-list{display:flex;flex-direction:column;gap:1px;margin:7px 0 15px}.step-button{width:100%;border:1px solid transparent;background:none;border-radius:6px;text-align:left;display:flex;align-items:center;gap:10px;padding:7px 9px;font-size:13px;line-height:1.5}.step-button .number{color:#9bac9b;font-size:12px;min-width:23px;font-variant-numeric:tabular-nums}.step-button[aria-current=step]{background:#ffffff08;border-color:#d9f38977;color:var(--lime)}.step-button[aria-current=step] .number{color:var(--lime)}.step-button:hover{background:#ffffff07}.branch-box{margin-top:auto;border-top:1px solid var(--line);padding-top:15px}.branch-box>span{font-size:12px;color:var(--muted)}.branch-box>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.branch-box button{border:1px solid #ffffff32;border-radius:6px;background:#ffffff03;font-size:13px;padding:10px 12px}.branch-box button:hover{border-color:var(--pink)}.message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #ffffff55;border-radius:7px;background:#17231def;padding:18px;line-height:1.8;font-size:14px;width:max-content;max-width:90%}.message button{background:none;color:var(--lime);border:0;text-decoration:underline;display:block;padding:8px 0 0}dialog{width:min(980px,calc(100vw - 30px));max-height:calc(100dvh - 30px);background:var(--surface);color:var(--ink);border:1px solid #ffffff3b;border-radius:9px;padding:24px}dialog::backdrop{background:#06110bcc;backdrop-filter:blur(6px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:15px}.dialog-header h2{font-size:20px;font-weight:500;margin:0}.dialog-header button{width:40px;height:40px;border:1px solid #ffffff45;border-radius:50%;font-size:25px;background:none}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px 12px}.gallery-card{background:none;border:1px solid #ffffff22;border-radius:5px;padding:0;overflow:hidden;text-align:left}.gallery-card img{display:block;width:100%;height:150px;object-fit:contain;background:#101a15}.gallery-card span{display:block;padding:9px;font-size:13px;line-height:1.6}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.noscript{padding:20px;color:var(--pink)}
@media(min-width:1400px){.layout{grid-template-columns:minmax(0,1fr) 410px;gap:40px}.caption h1{font-size:29px}.step-button{font-size:14px;padding:9px}.photo-frame{min-height:550px}}
@media(max-width:900px){.header{padding:16px 22px}.route-tabs{padding:12px 22px}.layout{grid-template-columns:minmax(0,1fr) 310px;padding:18px 22px;gap:22px}.caption h1{font-size:21px}.caption p{font-size:14px}.photo-note{display:none}.pager{flex-wrap:wrap}.pager #autoplay{order:3;margin:auto}.pager .primary{max-width:60%}.photo-tools>span{display:none}.photo-tools{justify-content:flex-end}.photo-frame{height:calc(100svh - 320px);min-height:420px}}
@media(max-width:700px){.header{height:74px;padding:13px 17px}.brand{font-size:16px;gap:8px}.mark{font-size:28px}.brand small{font-size:11px}.header-right .button{font-size:12px;padding:8px 12px;min-height:37px}.route-tabs{padding:10px 13px;gap:2px;justify-content:space-between}.route-tabs button{padding:8px 10px;font-size:12px}.route-tabs button[aria-current=true]::before{width:4px;height:4px;margin-right:5px}.layout{display:flex;flex-direction:column;padding:14px 16px 24px;gap:23px}.viewer-top{font-size:12px;padding-bottom:9px}.photo-frame{height:57svh;min-height:320px;max-height:620px}.photo-tools{justify-content:space-between;padding:6px 0}.photo-tools>span{display:inline;font-size:10px}.photo-tools button,.photo-tools a{font-size:11px;padding:7px}.photo-tools a{margin-left:0}.pager{flex-wrap:nowrap;gap:5px}.pager .button{font-size:12px;padding:10px 12px;min-height:40px}.pager #autoplay{order:initial;font-size:11px;padding:8px 3px}.pager .primary{max-width:48%}.details{padding:0 2px}.caption h1{font-size:23px;margin:10px 0}.caption p{font-size:15px}.landmark-note{font-size:12px}.step-list{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:20px}.step-button{padding:10px 8px;font-size:12px;align-items:flex-start}.branch-box button{font-size:14px}.gallery-grid{grid-template-columns:repeat(2,1fr)}dialog{padding:18px}.gallery-card img{height:175px}.gallery-card span{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
