:root{--ink-900:#11232d;--ink-700:#2f4a57;--ink-500:#526c78;--paper:#faf5eb;--paper-strong:#fffdf8;--mint:#7fd2c5;--teal:#0f6b7b;--orange:#d57a42;--orange-soft:#f1b07a;--line:#d8d0c1;--shadow:0 20px 45px rgba(17,35,45,0.14);--radius-lg:22px;--radius-md:14px;--font-display:"Avenir Next Condensed","Yu Mincho","Hiragino Mincho ProN",serif;--font-body:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{min-height:100vh;color:var(--ink-900);font-family:var(--font-body);line-height:1.7;background:radial-gradient(90vw 80vh at 5% 0,rgba(127,210,197,.28),transparent 60%),radial-gradient(65vw 55vh at 95% -10%,rgba(213,122,66,.2),transparent 60%),linear-gradient(140deg,#f5f0e6,#faf6ef 52%,#eef3ee)}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}.site-shell{position:relative;isolation:isolate}.atmo-grid,.atmo-wash{position:fixed;inset:0;pointer-events:none;z-index:-1}.atmo-wash{background:radial-gradient(circle at 82% 14%,rgba(213,122,66,.2),transparent 36%);animation:drift 14s ease-in-out infinite alternate}.atmo-grid{opacity:.22;background-image:linear-gradient(rgba(17,35,45,.06) 1px,transparent 0),linear-gradient(90deg,rgba(17,35,45,.06) 1px,transparent 0);background-size:32px 32px;-webkit-mask-image:radial-gradient(circle at center,black 35%,transparent 90%);mask-image:radial-gradient(circle at center,black 35%,transparent 90%)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;justify-content:space-between;gap:14px;padding:14px max(24px,4vw);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in oklab,var(--paper-strong) 88%,transparent);border-bottom:1px solid color-mix(in oklab,var(--line) 60%,white)}.brand-lockup,.site-header{display:flex;align-items:center}.brand-lockup{gap:10px}.brand-mark{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid rgba(15,107,123,.34);background:linear-gradient(145deg,rgba(15,107,123,.16),rgba(213,122,66,.2));color:var(--ink-900);font-size:13px;font-weight:700;letter-spacing:.08em}.brand-name{margin:0;font-family:var(--font-display);letter-spacing:.06em;font-size:1.25rem}.nav-row{display:flex;align-items:center;gap:18px}.nav-link{font-weight:600;color:var(--ink-700);text-underline-offset:5px}.nav-link:hover{color:var(--ink-900)}.button,.button-subtle{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:11px 18px;font-weight:700;letter-spacing:.01em;border:1px solid transparent;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.button{color:#fff;background:linear-gradient(132deg,var(--teal),#2a8998 70%,#2f738f);box-shadow:0 9px 26px rgba(15,107,123,.25)}.button:hover{transform:translateY(-1px);text-decoration:none;box-shadow:0 16px 30px rgba(15,107,123,.32)}.button-subtle{color:var(--ink-900);border-color:rgba(17,35,45,.22);background:rgba(255,255,255,.58)}.button-subtle:hover{transform:translateY(-1px);text-decoration:none}.page-main{width:min(1120px,92vw);margin:44px auto 70px}.panel{background:color-mix(in oklab,var(--paper-strong) 85%,white);border:1px solid rgba(216,208,193,.95);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:clamp(22px,3.5vw,34px)}.hero{position:relative;overflow:hidden;border-radius:28px;background:linear-gradient(145deg,rgba(15,107,123,.94),rgba(23,67,92,.95) 58%,rgba(28,43,62,.98)),radial-gradient(circle at 75% 10%,rgba(241,176,122,.4),transparent 38%);color:#f4f8fa;padding:clamp(28px,5vw,52px);margin-bottom:26px}.hero:after{content:"";position:absolute;inset:auto -120px -120px auto;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(241,176,122,.42),transparent 70%)}.eyebrow{display:inline-block;margin:0;padding:6px 12px;border-radius:999px;background:rgba(241,176,122,.2);border:1px solid rgba(241,176,122,.45);font-size:.82rem;letter-spacing:.08em}.display{margin:14px 0 10px;font-family:var(--font-display);font-size:clamp(2rem,5vw,3.4rem);line-height:1.12;letter-spacing:.02em}.hero-copy{margin:0;max-width:58ch;color:rgba(243,248,250,.9)}.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.section{margin-top:20px}.section h2{margin-top:0;font-family:var(--font-display);font-size:clamp(1.4rem,3vw,2rem);letter-spacing:.01em}.muted{color:var(--ink-500)}.faq-grid,.feature-grid,.legal-grid,.plan-grid{display:grid;grid-gap:16px;gap:16px}.faq-grid,.feature-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.plan-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.plan-card{position:relative;border-radius:var(--radius-md);border:1px solid rgba(17,35,45,.14);background:rgba(255,255,255,.76);padding:18px}.plan-card.featured{border-color:rgba(15,107,123,.5);background:linear-gradient(170deg,rgba(127,210,197,.2),rgba(255,255,255,.96))}.plan-name{margin:0;font-size:1.2rem}.plan-price{margin:6px 0;font-size:1.28rem;font-weight:800;color:var(--ink-900)}.tag{display:inline-flex;align-items:center;margin-left:8px;padding:4px 9px;border-radius:999px;background:rgba(15,107,123,.16);color:var(--teal);font-size:.74rem;font-weight:700}.list{margin:10px 0 0;padding-left:20px}.list li{margin-top:6px}.inline-kbd{display:inline-block;border-radius:8px;border:1px solid rgba(17,35,45,.2);padding:2px 8px;font-size:.86rem;background:rgba(255,255,255,.8)}.legal-article h1{margin:0 0 14px;font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.6rem)}.legal-article h2{margin:24px 0 8px;font-size:1.2rem}.legal-table{width:100%;border-collapse:collapse;margin-top:12px}.legal-table td,.legal-table th{border:1px solid rgba(17,35,45,.18);padding:10px;text-align:left;vertical-align:top}.legal-table th{width:min(260px,42%);background:rgba(15,107,123,.08)}.footer{border-top:1px solid rgba(17,35,45,.16);margin-top:30px;padding:28px max(24px,4vw) 34px;background:color-mix(in oklab,var(--paper) 85%,white)}.footer-grid{width:min(1120px,92vw);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:14px;gap:14px}.footer ul{list-style:none;margin:8px 0 0;padding:0}.footer li+li{margin-top:6px}.auth-shell{width:min(560px,92vw);margin:18px auto 28px}.auth-panel{display:grid;grid-gap:12px;gap:12px}.auth-title{margin:0;font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.4rem)}.auth-subtitle{margin:-4px 0 6px}.auth-form{display:grid;grid-gap:12px;gap:12px}.field-label{display:grid;grid-gap:6px;gap:6px;font-weight:600;color:var(--ink-700)}.text-input{width:100%;border-radius:12px;border:1px solid rgba(17,35,45,.22);padding:10px 12px;font:inherit;color:var(--ink-900);background:#fff}.text-input:focus{outline:2px solid color-mix(in oklab,var(--teal) 48%,white);outline-offset:1px}.auth-button{width:100%}.auth-divider{margin:2px 0;text-align:center}.text-link-button{border:0;padding:0;margin-left:6px;background:transparent;color:var(--teal);font:inherit;font-weight:600;cursor:pointer}.text-link-button:hover{text-decoration:underline}.auth-bottom-link,.auth-toggle-row{margin:0;text-align:center}.alert-box{margin:0;border-radius:12px;border:1px solid rgba(184,52,38,.35);background:rgba(184,52,38,.08);color:#7f2f21;padding:10px 12px}.billing-stack{display:grid;grid-gap:16px;gap:16px}.billing-panel{margin-top:0}.billing-header{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.billing-title{margin:0;font-family:var(--font-display);font-size:clamp(1.7rem,4vw,2.2rem)}.billing-actions{display:flex;gap:10px;flex-wrap:wrap}.subscription-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:16px;gap:16px;align-items:end}.billing-plan-name{margin:0 0 6px;font-size:1.38rem;font-weight:800}.billing-credits{margin:0 0 10px;font-size:2rem;font-weight:800;line-height:1.1}.billing-result-panel{width:min(680px,92vw);margin:0 auto}.result-mark{margin:0 0 10px;font-size:48px;font-weight:800;color:#1f8e5d;line-height:1}.result-mark-warning{color:#cc7d2a}.reveal{opacity:0;transform:translateY(12px);animation:riseIn .6s ease forwards}.reveal:nth-child(2){animation-delay:.08s}.reveal:nth-child(3){animation-delay:.16s}.reveal:nth-child(4){animation-delay:.24s}@keyframes riseIn{to{opacity:1;transform:translateY(0)}}@keyframes drift{0%{transform:translateY(0)}to{transform:translateY(14px)}}@media (max-width:860px){.site-header{flex-wrap:wrap;gap:10px}.nav-row{width:100%;justify-content:space-between;flex-wrap:wrap;gap:10px 16px}.display{line-height:1.2}.page-main{margin-top:30px}}@media (prefers-reduced-motion:reduce){.atmo-wash,.button,.button-subtle,.reveal{animation:none;transition:none}}