/* Shared public UI. No changes to forms, legal text, authentication or APIs. */
:root{--ink:#292c2b;--muted:#787d79;--line:#e5e7e4;--aqua-soft:#f1f3ef;--soft:#f1f3ef;--deep:#555f59;--shell-green:#555f59;--shell-green-deep:#424a45;--shadow:0 12px 36px #292c2b08;--public-serif:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif}
html body,html:has(.notelink-page){background:#fafbf9!important;background-image:none!important;color:#292c2b;font-family:var(--public-serif)}
html body .site-header,html body>header{display:flex;align-items:center;justify-content:space-between;gap:18px;width:calc(100% - 32px);max-width:1140px;min-height:72px;height:auto;margin:16px auto 0;padding:14px 22px;background:#fffffff2;border:1px solid #e5e7e4;border-radius:8px;box-shadow:var(--shadow);backdrop-filter:blur(20px)}
html body .brand,html body .footer-brand{display:flex;align-items:center;gap:10px;color:#292c2b;font:850 25px var(--public-serif);letter-spacing:-.8px;text-decoration:none}
html body .brand img{width:36px;height:36px;object-fit:contain;border-radius:10px}
html body h1,html body h2,html body h3{font-family:var(--public-serif);font-weight:750;letter-spacing:-.03em;color:#292c2b;line-height:1.55}
html body h1{font-size:clamp(28px,4vw,40px)}html body p,html body li{line-height:1.9}
html body .back-link,html body .app-link,html body header .back{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 18px;border:1px solid #e5e7e4;border-radius:24px;background:#f1f3ef;color:#555f59;text-decoration:none;font-size:12px;font-weight:650}
html body a{color:#555f59;text-underline-offset:4px}html body a:focus-visible,html body button:focus-visible{outline:3px solid #424a45;outline-offset:4px}
html .legal-page main{width:min(860px,calc(100% - 40px));margin:40px auto 64px;padding:40px 48px;background:white;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}
html .legal-page h2{font-size:21px;padding-top:12px}html .legal-page section{border-color:var(--line)}html .legal-page .updated{color:var(--muted);font-size:12px}html .legal-page .intro{margin-top:20px}html .legal-page .delete-main{max-width:760px}
html body input:not([type=hidden]),html body textarea,html body select{font-family:var(--public-serif);border-color:#e5e7e4;border-radius:14px;background:#fff;color:#292c2b}html body input:focus,html body textarea:focus,html body select:focus{outline:2px solid #555f59;outline-offset:2px}
html body .primary-button,html body .submit-button,html body form button[type=submit],html .support-page .button{background:#424a45;color:white;border:0;border-radius:28px;min-height:48px;box-shadow:none;font-weight:650}html body button:disabled{opacity:.5;cursor:default}html .legal-page .danger-button{border-radius:28px;background:#ad3f43;color:#fff}
html .registration-page main{max-width:1050px;margin:52px auto 72px;gap:56px}html .registration-page .hero{background:none!important;text-align:left}html .registration-page .hero::before,html .registration-page .hero::after{display:none}html .registration-page .lead{color:var(--muted)}html .registration-page .registration{background:#fff;border:1px solid var(--line);border-radius:28px;padding:32px;box-shadow:var(--shadow)}html .registration-page .turtle-wrap{opacity:1;filter:none}html .registration-page .social-button{border-radius:24px;border-color:var(--line);box-shadow:none}
html body:has(#feedback) main{max-width:760px;margin:42px auto 64px;padding:0 24px}html body:has(#feedback) main>small{color:#424a45;font-size:10px;letter-spacing:.16em}html body:has(#feedback) form{padding:28px;background:white;border:1px solid #e5e7e4;border-radius:28px;box-shadow:var(--shadow)}html body:has(#feedback) h1{margin:12px 0 16px}html body:has(#feedback) p{color:var(--muted)}html body:has(#feedback) label{font-size:13px;font-weight:650}html body .photo-picker{background:#fafbf9;border-color:#a8bebe;border-radius:20px}
html .support-page .hero{background:transparent;padding-top:48px}html .support-page .eyebrow{font-family:var(--public-serif);font-weight:650}html .support-page .guide-card,html .support-page .contact-card,html .support-page .email-panel{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}html .support-page .quick-links a{border-radius:26px}html .support-page footer{background:#f1f3ef;border-color:var(--line)}
@media(max-width:600px){html body .site-header,html body>header{width:calc(100% - 24px);margin-top:12px;padding:12px 16px;min-height:64px}html body .brand{font-size:22px}html body .brand img{width:30px;height:30px}html body .back-link,html body .app-link,html body header .back{padding:9px 12px;font-size:11px}html .legal-page main{width:calc(100% - 24px);margin:24px auto 48px;padding:26px 20px;border-radius:24px}html .legal-page h2{font-size:19px}html .registration-page main{margin:30px auto 48px;padding:0 16px}html .registration-page .hero{text-align:center}html .registration-page .registration{padding:24px 18px}html .registration-page .turtle-wrap{max-width:240px;margin:auto}html body:has(#feedback) main{margin-top:28px;padding:0 16px}html body:has(#feedback) form{padding:22px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
