:root{--background:oklch(96% .01 280);--foreground:oklch(37% .03 272);--card:oklch(100% 0 0);--card-foreground:oklch(37% .03 272);--popover:oklch(100% 0 0);--popover-foreground:oklch(37% .03 272);--primary:oklch(51% .24 278);--primary-foreground:oklch(98% .005 280);--secondary:oklch(45% .035 272);--secondary-foreground:oklch(98% .005 280);--muted:oklch(93% .012 280);--muted-foreground:oklch(53% .03 275);--accent:oklch(71% .16 55);--accent-foreground:oklch(98% 0 0);--destructive:oklch(62.8% .258 29.23);--destructive-foreground:oklch(98% 0 0);--border:oklch(92% .015 280);--input:oklch(92% .015 280);--ring:oklch(51% .24 278);--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--radius:.875rem}.dark{--background:oklch(11% .012 280);--foreground:oklch(93% .02 272);--card:oklch(14% .015 280);--card-foreground:oklch(93% .02 272);--popover:oklch(14% .015 280);--popover-foreground:oklch(93% .02 272);--primary:oklch(62% .22 278);--primary-foreground:oklch(99% 0 0);--secondary:oklch(72% .035 272);--secondary-foreground:oklch(11% .012 280);--muted:oklch(18% .015 280);--muted-foreground:oklch(68% .025 275);--accent:oklch(75% .15 55);--accent-foreground:oklch(11% .012 280);--destructive:oklch(63% .24 29);--destructive-foreground:oklch(98% 0 0);--border:oklch(24% .02 280);--input:oklch(24% .02 280);--ring:oklch(62% .22 278)}*{box-sizing:border-box}html{min-width:320px}body{color:var(--foreground);background:var(--background);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,input:focus-visible+.switch{outline:3px solid var(--ring);outline-offset:3px}.app-shell{min-height:100dvh}.container{flex-direction:column;width:min(100% - 40px,860px);min-height:100dvh;margin:auto;display:flex}.site-header{padding-top:39px}.wordmark{letter-spacing:.22em;color:var(--foreground);align-items:center;gap:9px;font-size:12px;font-weight:600;display:flex}.wordmark-mark{background:var(--foreground);width:27px;height:27px;color:var(--card);letter-spacing:-.05em;border-radius:7px;place-items:center;font-size:15px;font-weight:600;display:grid}.header-rule{background:var(--border);height:1px;margin-top:26px}.home{width:100%;max-width:720px;margin:0 auto;padding:53px 0 64px}.eyebrow,.status-kicker{color:var(--primary);letter-spacing:.13em;font-size:11px;font-weight:600}.intro h1{letter-spacing:-.045em;margin:11px 0 8px;font-size:clamp(30px,5vw,40px);font-weight:600;line-height:1.14}.intro p{color:var(--muted-foreground);margin:0;font-size:15px;line-height:1.55}.location-preference{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:14px;min-height:88px;margin-top:34px;padding:16px 18px;display:flex;box-shadow:0 8px 25px #27264b06}.location-symbol{background:color-mix(in oklch, var(--accent) 13%, white);width:39px;height:39px;color:var(--accent);border-radius:11px;flex:none;place-items:center;display:grid}.location-symbol svg{width:21px;height:21px}.preference-text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.preference-text strong{font-size:14px;font-weight:600;line-height:1.3}.preference-text small{color:var(--muted-foreground);font-size:12px;line-height:1.35}.switch-input{opacity:0;width:1px;height:1px;position:absolute}.switch{background:var(--border);border-radius:99px;flex:none;width:43px;height:26px;padding:3px;transition:background .16s}.switch:before{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .16s;display:block;box-shadow:0 1px 3px #00000029}.switch-input:checked+.switch{background:var(--accent)}.switch-input:checked+.switch:before{transform:translate(17px)}.section-heading{justify-content:space-between;align-items:center;margin:43px 2px 15px;display:flex}.section-heading h2,.section-heading span{letter-spacing:.13em;margin:0;font-size:11px;font-weight:600}.section-heading span{color:var(--muted-foreground);font-variant-numeric:tabular-nums}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.profile-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:13px;min-width:0;min-height:92px;padding:16px;transition:border-color .16s,box-shadow .16s;display:flex;box-shadow:0 10px 24px #27264b06}.profile-card:hover{border-color:color-mix(in oklch, var(--primary) 30%, var(--border));box-shadow:0 12px 28px #27264b0f}.avatar{color:#fff;letter-spacing:.03em;border-radius:50%;flex:none;place-items:center;width:43px;height:43px;font-size:12px;font-weight:600;display:grid}.profile-info{flex:1;min-width:0}.profile-info h3{margin:0 0 4px;font-size:16px;font-weight:600;line-height:1.2}.profile-info p{color:var(--muted-foreground);margin:0;font-size:12px;line-height:1.3}.contact-button{background:var(--primary);min-height:44px;color:var(--primary-foreground);white-space:nowrap;border:0;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:600;transition:transform .14s,box-shadow .14s,filter .14s;display:inline-flex}.contact-button span{font-size:16px;font-weight:400;line-height:1}.contact-button:hover,.open-button:hover{filter:brightness(1.09);box-shadow:0 6px 16px #4f46e533}.contact-button:active,.open-button:active{transform:scale(.97)}.footnote{color:var(--muted-foreground);text-align:center;margin:23px 0 0;font-size:12px;line-height:1.5}.empty-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:25px;line-height:1.5}.site-footer{border-top:1px solid var(--border);color:var(--muted-foreground);letter-spacing:.12em;justify-content:space-between;gap:16px;margin-top:auto;padding:20px 0 28px;font-size:10px;font-weight:600;display:flex}.status{flex-direction:column;flex:1;display:flex}.back-button{min-height:48px;color:var(--muted-foreground);background:0 0;border:0;align-self:flex-start;margin:27px 0 0 -10px;padding:0 10px;font-size:13px;font-weight:500;transition:color .15s,transform .15s}.back-button span{vertical-align:-1px;margin-right:5px;font-size:19px}.back-button:hover{color:var(--primary);transform:translate(-3px)}.status-content{text-align:center;width:100%;max-width:420px;margin:auto;padding:30px 0 80px}.status-emblem{border:1px solid color-mix(in oklch, var(--primary) 28%, white);background:color-mix(in oklch, var(--primary) 7%, white);width:78px;height:78px;color:var(--primary);box-shadow:0 0 0 9px color-mix(in oklch, var(--primary) 4%, transparent);border-radius:50%;place-items:center;margin:0 auto 30px;display:grid}.status-emblem.is-locating{color:var(--accent);border-color:color-mix(in oklch, var(--accent) 28%, white);background:color-mix(in oklch, var(--accent) 7%, white);box-shadow:0 0 0 9px color-mix(in oklch, var(--accent) 4%, transparent)}.status-emblem svg{width:32px;height:32px}.status-content h1{letter-spacing:-.035em;margin:13px 0 10px;font-size:clamp(24px,5vw,30px);font-weight:600;line-height:1.22}.status-content p{color:var(--muted-foreground);margin:0;font-size:14px;line-height:1.5}.status-content .found-address{color:var(--foreground);overflow-wrap:anywhere;font-size:16px;font-weight:500}.manual-action{flex-direction:column;align-items:center;gap:13px;margin-top:38px;display:flex}.open-button{background:var(--primary);min-width:190px;min-height:50px;color:var(--primary-foreground);border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:34px;padding:0 22px;font-size:14px;font-weight:600;transition:transform .14s,box-shadow .14s,filter .14s;display:flex}.open-button span{font-size:18px;font-weight:400}.manual-action small{color:var(--muted-foreground);font-size:12px}.message-debug{text-align:left;max-width:420px;color:var(--muted-foreground);margin:28px auto 0;font-size:12px}.message-debug summary{cursor:pointer;text-align:center;min-height:44px;color:var(--primary);padding:12px;font-weight:600}.message-debug-content{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.message-debug-content strong{color:var(--foreground);margin:0 0 6px;display:block}.message-debug-content pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font:12px/1.5 var(--font-mono);-webkit-user-select:text;user-select:text;margin:0 0 14px}.message-debug-content pre:last-child{margin-bottom:0}.contact-page{width:100%;max-width:640px;margin:0 auto;padding-bottom:56px}.contact-back{align-items:center;text-decoration:none;display:inline-flex}.contact-page-intro{padding:24px 0}.contact-person{align-items:center;gap:12px;margin-bottom:25px;display:flex}.contact-avatar{width:54px;height:54px;font-size:14px}.contact-person strong,.contact-person span{display:block}.contact-person strong{font-size:17px;font-weight:600}.contact-person span{color:var(--muted-foreground);margin-top:3px;font-size:13px}.contact-page-intro h1{letter-spacing:-.04em;max-width:490px;margin:0 0 10px;font-size:clamp(28px,5vw,36px);font-weight:600;line-height:1.16}.contact-page-intro p,.form-note{color:var(--muted-foreground);margin:0;font-size:14px;line-height:1.5}.contact-location{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow-wrap:anywhere;margin:0 0 18px;padding:16px 18px;font-size:14px;line-height:1.5}.contact-location a{min-height:44px;color:var(--primary);align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.contact-form-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:26px;box-shadow:0 10px 24px #27264b06}.contact-form-card h2,.direct-options h2{letter-spacing:-.02em;margin:0 0 8px;font-size:19px;font-weight:600}.contact-form{flex-direction:column;margin-top:22px;display:flex}.contact-form label{margin-bottom:7px;font-size:13px;font-weight:600}.contact-form label span{color:var(--muted-foreground);font-weight:400}.contact-form input,.contact-form textarea{border:1px solid var(--border);width:100%;min-height:48px;color:var(--foreground);background:var(--card);font:inherit;border-radius:9px;margin-bottom:18px;padding:12px 14px;font-size:15px}.contact-form textarea{resize:vertical;min-height:120px;line-height:1.5}.contact-form input::placeholder{color:var(--muted-foreground)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--primary)}.submit-button{min-height:50px;color:var(--primary-foreground);background:var(--primary);border:0;border-radius:9px;justify-content:space-between;align-items:center;padding:0 18px;font-weight:600;display:flex}.submit-button:hover{filter:brightness(1.09)}.form-error{color:var(--destructive);margin:0 0 14px;font-size:13px}.contact-success{text-align:center;padding:24px 0}.contact-success h2{max-width:380px;margin:15px auto 8px;line-height:1.3}.contact-success p{max-width:390px;color:var(--muted-foreground);margin:0 auto;font-size:13px;line-height:1.5}.success-mark{background:color-mix(in oklch, var(--primary) 10%, white);width:48px;height:48px;color:var(--primary);border-radius:50%;place-items:center;margin:auto;font-size:24px;display:grid}.direct-options{margin-top:27px}.direct-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:15px;display:grid}.direct-buttons a{border:1px solid var(--border);background:var(--card);min-height:48px;color:var(--primary);text-align:center;border-radius:9px;place-items:center;padding:9px;font-size:13px;font-weight:600;text-decoration:none;display:grid}.direct-buttons a:hover{border-color:var(--primary)}.route-missing{text-align:center;padding:72px 0}.route-missing h1{font-size:27px;font-weight:600}.route-missing p{color:var(--muted-foreground)}.route-missing a{color:var(--primary)}.view-enter{animation:.22s ease-out both appear}@keyframes appear{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media (width<=640px){.container{width:min(100% - 36px,420px)}.site-header{padding-top:24px}.header-rule{margin-top:21px}.home{padding:37px 0 48px}.location-preference{margin-top:28px}.section-heading{margin-top:36px}.profile-grid{grid-template-columns:1fr;gap:10px}.profile-card{min-height:78px;padding:13px 14px}.contact-button{min-width:90px}.site-footer{padding-bottom:max(22px, env(safe-area-inset-bottom))}.contact-form-card{padding:20px}.contact-page-intro{padding-top:17px}.direct-buttons{gap:7px}.direct-buttons a{font-size:12px}}@media (width<=360px){.location-preference{gap:9px;padding:13px}.preference-text strong{font-size:12px}.profile-card{gap:9px;padding:11px}.avatar{width:38px;height:38px}.contact-button{min-width:80px;padding:0 8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
