:root{--ink:#14211c;--ink-2:#5c6a63;--line:#dde3de;--line-strong:#c1cbc4;--paper:#fff;--wash:#f4f6f4;--brand:#1f6f43;--brand-dark:#165433;--brand-wash:#e8f1ea;--data:#14657c;--data-deep:#0e4a5c;--data-soft:#9cc6d2;--alert:#b23a2e;--alert-wash:#fbeeec;--warn-wash:#fdf3e3;--warn-line:#d9a441;--done-wash:#e7f5ea;--done-line:#3f9a5c;--caution:#8a4b00;--scrim:#14211c73;--shadow-sheet:0 -6px 24px #14211c38;--shadow-pop:0 6px 20px #14211c1f;--safe-top:max(16px, env(safe-area-inset-top));--safe-bottom:max(16px, env(safe-area-inset-bottom));--safe-left:max(14px, env(safe-area-inset-left));--safe-right:max(14px, env(safe-area-inset-right));--radius:4px;--radius-control:8px;--radius-touch:12px;--sans:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Noto Sans JP", "Yu Gothic UI", "Yu Gothic", Meiryo, system-ui, sans-serif;--num:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, var(--sans);--num-weight:400}.ui-field{margin:0 0 16px;display:block}.ui-field>label:not(.ui-choice),.ui-fieldset>legend{color:var(--ink-2);margin-bottom:4px;font-size:14px;display:block}.ui-fieldset{border:0;margin:0 0 16px;padding:0}.ui-input,.ui-select,.ui-textarea{font:inherit;border:1px solid var(--line);border-radius:var(--radius-control);background-color:var(--wash);width:100%;max-width:420px;min-height:40px;color:var(--ink);padding:8px 10px;font-size:15px;line-height:1.5}@media (pointer:coarse){.ui-input,.ui-select,.ui-textarea{font-size:16px}}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--ink-2);opacity:.8}.ui-input:focus-visible,.ui-select:focus-visible,.ui-textarea:focus-visible,.ui-check:focus-visible,.ui-radio:focus-visible{background-color:var(--paper);border-color:var(--brand);outline:2px solid var(--brand);outline-offset:1px}.ui-input:disabled,.ui-select:disabled,.ui-textarea:disabled{color:var(--ink-2);border-color:var(--line);opacity:.65;cursor:not-allowed}.ui-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%231f6f43' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:12px 8px;padding-right:34px}.ui-textarea{resize:vertical;field-sizing:content;min-height:calc(4.5em + 18px);max-height:calc(30em + 18px);display:block}.ui-check,.ui-radio{appearance:none;border:1px solid var(--line-strong);background-color:var(--paper);cursor:pointer;flex:none;width:20px;height:20px;margin:0}.ui-check{border-radius:var(--radius)}.ui-radio{border-radius:50%}.ui-check:checked{border-color:var(--brand);background-color:var(--brand);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M2.5 7.5 5.5 10.5 11.5 3.5' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:14px 14px}.ui-radio:checked{border-color:var(--brand);background-color:var(--brand);background-image:radial-gradient(circle, var(--paper) 0 3px, transparent 3.5px)}.ui-check:disabled,.ui-radio:disabled{opacity:.45;cursor:not-allowed}.ui-choice{cursor:pointer;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0;display:flex}.ui-choice-hint{min-width:0;color:var(--ink-2);flex:auto;font-size:13px}.is-touch.ui-input,.is-touch.ui-select,.is-touch.ui-textarea{border-radius:var(--radius-touch);min-height:48px;font-size:18px}.is-touch.ui-check,.is-touch.ui-radio{width:28px;height:28px}.is-touch.ui-check:checked{background-size:20px 20px}.is-touch.ui-radio:checked{background-image:radial-gradient(circle, var(--paper) 0 4.5px, transparent 5px)}a{color:var(--brand-dark)}.logo-mark{vertical-align:-.12em;object-fit:contain;flex:none;display:inline-block}.home{max-width:900px;padding:var(--safe-top) max(20px, env(safe-area-inset-right)) 64px max(20px, env(safe-area-inset-left));color:var(--ink);margin:0 auto;font-size:16px;line-height:1.7}.home-head{align-items:center;gap:16px;padding:28px 0 12px;display:flex}.home h1{letter-spacing:.01em;margin:0;font-size:32px;font-weight:700}.home-lead{color:var(--ink-2);margin:2px 0 0;font-size:16px}.home-hero-art{width:180px;height:108px;color:var(--brand);opacity:.35;flex:none;margin-left:auto}@media (width<=599px){.home-hero-art{display:none}}.home-note{border-top:1px solid var(--line);color:var(--ink-2);margin:16px 0 22px;padding-top:16px;font-size:15px}.home-note p{margin:0 0 8px}.home-note p:last-child{margin-bottom:0}.home-note strong{color:var(--ink);font-weight:600}.home-doors{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}@media (width>=560px){.home-doors[data-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}}.home-door{border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--paper);color:inherit;flex-direction:column;gap:6px;padding:18px 20px 20px;text-decoration:none;display:flex;position:relative;overflow:hidden}.home-door:hover{border-color:var(--brand);background:var(--brand-wash)}.home-door>*{position:relative}.home-door-art{width:72px;height:72px;color:var(--brand);opacity:.18;pointer-events:none;position:absolute;bottom:-10px;right:-4px}.home-door:hover .home-door-art{opacity:.28}.home-door-who{color:var(--ink-2);font-size:13px}.home-door strong{font-size:21px;font-weight:700}.home-door-body{color:var(--ink-2);flex:1;font-size:14px;line-height:1.6}.home-door-go{border:1px solid var(--brand);border-radius:var(--radius-control);color:var(--brand-dark);align-self:flex-start;margin-top:8px;padding:5px 14px;font-size:14px}.home-door:hover .home-door-go{background:var(--brand);border-color:var(--brand);color:var(--paper)}.home-foot{border-top:1px solid var(--line);color:var(--ink-2);margin-top:32px;padding-top:14px;font-size:13px}.home-foot p{margin:0 0 2px}.home-foot a{color:var(--brand-dark)}.ui-close{box-sizing:border-box;cursor:pointer;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.ui-close svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;width:22px;height:22px}.rec{max-width:560px;padding:var(--safe-top) var(--safe-right) 240px var(--safe-left);margin:0 auto;font-size:18px;line-height:1.5}.rec-top{max-width:560px;padding:var(--safe-top) var(--safe-right) 0 var(--safe-left);margin:0 auto}.rec-top .rec-warn,.rec-top .rec-ok{margin:0 0 10px}.rec-top.is-lap .rec-warn,.rec-top.is-lap .rec-ok{padding:6px 10px;line-height:1.35}.rec-fold{margin:0 0 10px}.rec-fold>summary{cursor:pointer;border:2px solid var(--warn-line);border-radius:var(--radius-touch);background:var(--warn-wash);align-items:center;gap:8px;min-height:56px;padding:0 14px;font-size:18px;font-weight:700;line-height:1.3;list-style:none;display:flex}.rec-fold>summary::-webkit-details-marker{display:none}.rec-fold>summary:after{content:"▸";margin-left:auto;font-size:20px;font-weight:400}.rec-fold[open]>summary:after{content:"▾"}.rec-fold[open]>summary{margin-bottom:8px}.rec-ok{border-radius:var(--radius-control);background:var(--brand-wash);border:1px solid var(--brand);margin:10px 0;padding:10px 12px}.rec-ok p{margin:0 0 8px}.rec-top+.rec{padding-top:0}.rec-top:empty{padding:0}.rec-top:empty+.rec{padding-top:var(--safe-top)}.rec-head{border-bottom:2px solid var(--brand);padding:6px 0 8px}.rec-head-main{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.rec-head-main>.rec-badge{margin-left:auto}.rec-head-sub{color:var(--ink-2);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:0 12px;margin-top:2px;display:flex}.rec-head-sub>span{white-space:nowrap}.rec-head strong{font-size:22px}.rec-badge{background:var(--brand-wash);color:var(--brand-dark);border-radius:12px;align-items:center;gap:6px;padding:2px 10px;font-size:18px;display:inline-flex}.rec-badge.bad{background:var(--alert);color:var(--paper)}.rec-badge.wait{background:var(--wash);color:var(--ink-2)}.rec-badge-mark{flex:none;width:20px;height:20px}.rec-badge-mark .is-on{fill:currentColor}.rec-badge-mark .is-off{fill:none;stroke:currentColor;stroke-width:2.4px}.rec-badge-mark line{stroke:currentColor;stroke-width:3px;stroke-linecap:round}button.rec-badge{font:inherit;text-underline-offset:4px;border:0;font-size:18px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;position:relative}button.rec-badge:after{content:"";position:absolute;inset:-10px -6px}.rec-unsent{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:18px}.rec-practice{border:1px solid var(--line-strong);background:var(--wash);color:var(--ink-2);border-radius:6px;margin-left:6px;padding:0 6px;font-size:18px;line-height:1.3;display:inline-block}.rec-warn{border-radius:var(--radius-control);background:var(--warn-wash);border:1px solid var(--warn-line);margin:10px 0;padding:10px 12px}.rec-warn p{margin:0}.rec-steps{margin:0;padding-left:1.4em}.rec-steps li+li{margin-top:6px}.rec-note{align-items:center;gap:10px;padding:6px 10px;line-height:1.35;display:flex}.rec-note p{flex:1}.rec-note p span{display:inline-block}.rec-note .rec-button{flex:none}.rec-button,.rec-primary{font:inherit;border-radius:var(--radius-touch);border:2px solid var(--brand);background:var(--paper);min-height:56px;color:var(--brand-dark);padding:0 16px;font-size:18px}.rec-button:disabled,.rec-primary:disabled,.rec-seat:not(.driver):disabled{opacity:.35}.rec-primary{background:var(--brand);border-color:var(--brand);width:100%;color:var(--paper);font-size:22px;font-weight:700}.rec-unregister{text-align:center;margin-top:48px}.rec-quiet{font:inherit;min-height:56px;color:var(--ink-2);text-underline-offset:4px;background:0 0;border:0;padding:0 16px;font-size:18px;text-decoration:underline}.rec-quiet:disabled{opacity:.35}.rec-field{margin:16px 0;display:block}.rec .ui-input,.rec .ui-select,.rec .ui-textarea{max-width:100%}.rec-stop{align-items:stretch;gap:8px;margin:14px 0 6px;display:flex}.rec-stop .rec-button{flex:none;width:72px;padding:0}.rec-stop .rec-stop-name{text-align:left;flex:1;min-height:72px;padding:8px 10px;font-size:clamp(22px,6.2vw,28px);font-weight:700;line-height:1.25}.rec-stop-name .rec-stop-note{font-size:18px;font-weight:600;line-height:1.2;display:block}.rec-schedule{color:var(--ink-2);margin:0 0 4px}.rec-moving{border:2px solid var(--warn-line);border-radius:var(--radius-touch);background:var(--warn-wash);align-items:center;gap:10px;min-height:56px;margin:6px 0 0;padding:4px 4px 4px 14px;display:flex}.rec-moving-text{white-space:nowrap;flex:1;min-width:0;margin:0;font-weight:700;line-height:1.3;display:flex}.rec-moving-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rec-moving .rec-button{flex:none}.rec-seats{grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0;display:grid}.rec-seat{font:inherit;border-radius:var(--radius-touch);border:2px solid var(--line-strong);background:var(--paper);min-height:88px;color:var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px;font-size:18px;line-height:1.15;display:flex}.rec-seat.empty{border-color:var(--brand);color:var(--brand-dark)}.rec-seat.pending{background:var(--brand-wash);color:var(--brand-dark);border-style:dashed}.rec-seat.occupied{background:var(--brand);border-color:var(--brand);color:var(--paper);font-weight:700}.rec-seat.staff{background:var(--wash);color:var(--ink-2);border-color:var(--line-strong);border-style:dashed}.rec-seat.supporter{border-style:solid;border-color:var(--ink-2)}.rec-seat.none{visibility:hidden}.rec-seat.target{border:4px dashed var(--brand)}.rec-seat-name{font-weight:600}.rec-seat-status{font-weight:400}.rec-seat small{color:var(--ink-2);font-size:18px;font-weight:400;display:block}.rec-seat.occupied small{color:#ffffffd9}.rec-seats>.rec-seat{min-width:0}.rec-seat-who{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:700;overflow:hidden}.rec-pickups{text-align:left;width:100%;margin:14px 0 6px;font-weight:700;display:block}.rec-pickups-asof{color:var(--ink-2);font-weight:400}.rec-pick{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;padding:8px 14px;line-height:1.3;display:flex}.rec-pick-name{font-weight:700}.rec-party{white-space:nowrap}.rec-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.rec-pickup-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.rec-pickup-list li{border:2px solid var(--line-strong);border-radius:var(--radius-touch);flex-direction:column;gap:2px;padding:8px 12px;display:flex}.rec-pickup-list li.is-boarded{color:var(--ink-2);border-style:dashed}.rec-bottom{max-width:560px;padding:10px var(--safe-right) var(--safe-bottom) var(--safe-left);background:var(--wash);border-top:2px solid var(--ink-2);grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.rec-bottom>.rec-button{text-align:center;white-space:nowrap;flex-direction:column;justify-content:center;align-items:center;gap:2px;height:84px;padding:4px 6px;line-height:1.2;display:flex}.rec-bottom>.rec-button small{width:100%;color:var(--ink-2);white-space:normal;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:18px;font-weight:400;display:-webkit-box;overflow:hidden}.rec-apart{border-top:1px dashed var(--line-strong);padding-top:10px}.rec-bottom .rec-apart .rec-button{justify-content:center;align-items:center;min-height:60px;display:flex}.rec-caution{border-color:var(--caution);width:100%;color:var(--caution)}.rec-bottom>.rec-apart{grid-column:1/-1}.rec-bottom .rec-caution{font-weight:700}.rec-backdrop{background:var(--scrim);z-index:9;position:fixed;inset:0}.rec-sheet-close{z-index:1;color:var(--ink-2);border-radius:var(--radius-touch);background:0 0;border:0;align-self:flex-end;margin-bottom:-56px;position:relative}.rec-sheet-close:hover{background:var(--wash)}.rec-sheet{max-width:560px;max-height:88dvh;padding:18px var(--safe-right) calc(var(--safe-bottom) + 8px) var(--safe-left);background:var(--paper);border-top:3px solid var(--brand);box-shadow:var(--shadow-sheet);z-index:10;border-radius:16px 16px 0 0;flex-direction:column;gap:10px;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.rec-sheet-body{flex-direction:column;gap:10px;min-height:0;display:flex;overflow:auto}.rec-sheet-body>button{flex-shrink:0;padding-block:6px}.rec-keep{white-space:nowrap;display:inline-block}.rec-sheet-body>.rec-apart{margin-top:10px}.rec-sheet-actions{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding-top:10px;display:flex}.rec-sheet h2{margin:0 0 6px;padding-right:56px;font-size:20px}.rec-option{align-items:center;gap:12px;min-height:56px;display:flex}.rec .ui-radio:not(:checked){border-color:var(--ink-2)}.rec-toast{left:var(--safe-left);right:var(--safe-right);border-radius:var(--radius-touch);background:var(--ink);max-width:536px;color:var(--paper);z-index:5;align-items:center;gap:12px;margin:0 auto;padding:10px 12px;display:flex;position:fixed;bottom:220px}@media (width<=380px){.rec-stop .rec-stop-name{min-height:60px}.rec-schedule{margin:2px 0}.rec-seats{gap:8px;margin:8px 0}}.rec-alight{flex-direction:column;justify-content:center;align-items:center;height:88px;display:flex}.rec-alight small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:18px;display:block;overflow:hidden}.rec-stop-choices{flex-direction:column;flex-shrink:0;gap:10px;display:flex}.rec-button.is-current{background:var(--brand-wash);font-weight:700}.rec-current{background:var(--brand);color:var(--paper);border-radius:10px;margin-left:8px;padding:0 8px;font-size:18px;font-weight:700;display:inline-block}.rec-overlap{color:var(--alert);font-weight:600;display:block}.pwa-update{border-radius:var(--radius-control);background:var(--warn-wash);border:1px solid var(--warn-line);flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0;padding:10px 12px;font-size:15px;display:flex}.pwa-update button{font:inherit;border-radius:var(--radius-touch);border:2px solid var(--brand);background:var(--paper);min-height:56px;color:var(--brand-dark);padding:0 16px}.pwa-install{font:inherit;border-radius:var(--radius-touch);border:2px solid var(--brand);background:var(--brand);min-height:56px;color:var(--paper);margin-top:8px;padding:0 16px;font-size:18px;font-weight:700}.pwa-steps{margin:0 0 16px;padding-left:1.4em;line-height:1.9}.pwa-steps li{margin-bottom:4px}.pwa-steps svg{vertical-align:-.35em}.pwa-note{color:var(--ink-2);margin-top:2px;font-size:15px;line-height:1.5;display:block}.pwa-note svg{vertical-align:-.3em}.spinner{vertical-align:-.125em;border:2px solid;border-right-color:#0000;border-radius:50%;width:1em;height:1em;margin-right:.5em;animation:.7s linear infinite spinner-turn;display:inline-block}@keyframes spinner-turn{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:1.2s ease-in-out infinite spinner-fade}@keyframes spinner-fade{50%{opacity:.25}}}
