:root{--ink:#17344a;--muted:#728493;--line:#dde7ea;--wash:#f3f7f8;--brand:#087e89;--brand-dark:#05636c;--brand-soft:#e6f5f3;--navy:#12364b;font-family:"Hiragino Sans","Yu Gothic","Meiryo",system-ui,sans-serif;color:var(--ink);background:var(--wash);font-synthesis:none;color-scheme:light}*{box-sizing:border-box}body{margin:0;min-height:100dvh;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #087e8960;outline-offset:4px}.brand{max-width:560px;margin:auto;padding:24px 24px 20px;display:flex;gap:11px;align-items:center}.mark{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:var(--navy);color:#fff;font-weight:900;font-size:23px}.brand strong{font-size:17px}.badge{margin-left:auto;color:var(--muted);font-size:11px}main{max-width:560px;margin:0 auto;padding:0 24px 24px}.card{background:white;border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:0 10px 34px #17344a08}.progress-header{height:25px;display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.progress-header>span{margin-left:auto;font-size:12px;font-weight:650;font-variant-numeric:tabular-nums;color:var(--muted)}.progress{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.progress i{height:4px;background:#eaf1f2;border-radius:4px}.progress i.active{background:var(--brand)}h1{margin:28px 0 22px;font-size:23px;line-height:1.5;letter-spacing:.01em;font-weight:800;outline:none}.choices{display:grid;gap:10px}.choices.services{grid-template-columns:1fr 1fr}.choice{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:8px;min-height:59px;width:100%;border:1px solid var(--line);border-radius:13px;background:white;padding:15px 17px;font-size:15px;font-weight:650;line-height:1.6}.choice::after{content:'›';font-size:22px;font-weight:400;color:#8fa6ad}.choice:hover{background:var(--brand-soft);border-color:#8abfc0}.choice[aria-pressed=true]{border:2px solid var(--brand);background:var(--brand-soft);padding:14px 16px;color:var(--brand-dark)}.services .choice{min-height:77px;font-size:14px;padding:14px 12px}.services .choice[aria-pressed=true]{padding:13px 11px}.services .choice:last-child:nth-child(odd){grid-column:1/-1;min-height:55px}.stars{grid-template-columns:repeat(5,1fr);gap:7px}.stars .choice{justify-content:center;flex-direction:column;gap:5px;padding:17px 0;min-height:94px;color:#657d8c}.stars .choice::after{display:none}.stars .choice[aria-pressed=true]{padding:16px 0;background:#fff7e7;border-color:#c5912d;color:#996c1d}.star-icon{font-size:27px;line-height:1.1;color:#c5912d}.star-number{font-size:14px}.back,.text-button{border:0;padding:4px 0;background:transparent;color:#587584;font-size:12px;min-height:28px}.back:hover,.text-button:hover{color:var(--brand)}.rating-summary{color:#a07426;font-size:17px;letter-spacing:.08em;margin:0 0 17px}textarea{width:100%;resize:vertical;border:1px solid #bdcfd5;background:#fbfdfd;border-radius:13px;padding:16px;font-size:16px;line-height:1.9;min-height:170px}textarea:focus{outline:2px solid #087e8950;outline-offset:2px}.hint{color:var(--muted);font-size:11px;line-height:1.8;margin:7px 0 15px}.check{display:flex;gap:9px;align-items:center;font-size:13px;margin:23px 0 17px;line-height:1.7}.check input{margin:0;width:19px;height:19px;accent-color:var(--brand);flex-shrink:0}.primary,.secondary{display:flex;justify-content:center;align-items:center;min-height:52px;width:100%;border:0;border-radius:13px;padding:13px 16px;background:var(--brand);color:white;font-size:15px;font-weight:750;text-decoration:none}.primary:hover{background:var(--brand-dark)}.secondary{background:var(--brand-soft);color:var(--brand-dark);border:1px solid #c1dfdc;margin-top:10px}.disabled{opacity:.45;pointer-events:none}.error{color:#b04c3d;font-size:12px;line-height:1.8}.error:empty{display:none}#copy-status{font-size:12px;line-height:1.7;color:var(--brand-dark)}#copy-status:empty{display:none}footer{padding:17px 5px;display:flex;align-items:flex-start;gap:20px;justify-content:space-between;color:var(--muted)}footer details{max-width:75%;text-align:right;font-size:11px;line-height:1.8}footer summary{padding-top:6px;cursor:pointer}footer details p{text-align:left;font-size:11px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}[hidden]{display:none!important}@media(max-width:480px){.brand{padding:19px 20px 17px}main{padding:0 16px 20px}.card{padding:22px 20px;border-radius:20px}h1{font-size:21px;margin-top:25px}.choice{font-size:14px}.stars .choice{min-height:87px}}@media(prefers-reduced-motion:no-preference){.choice{transition:background .12s,border-color .12s}}
.login-card,.done-card{text-align:center;padding-block:35px}.login-card h1{font-size:22px;margin:20px 0 25px}.login-symbol{margin:4px auto;display:grid;place-items:center;width:62px;height:62px;border-radius:20px;background:var(--navy);color:white;font-size:35px;font-weight:800}.login-hint{margin-top:24px;margin-bottom:0;font-size:10px}.login-card #google-signin{display:flex;justify-content:center;min-height:0}.login-card .secondary{margin-top:22px}.done-check{display:grid;place-items:center;border-radius:50%;width:74px;height:74px;margin:8px auto 20px;background:var(--brand-soft);color:var(--brand);font-size:39px;font-weight:700}.done-card h1{font-size:21px}.done-card .back{margin-top:20px}#draft{min-height:285px}#complete-button.working{position:relative;overflow:hidden}#complete-button.working::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent,#ffffff45,transparent);animation:shine 1s linear infinite}@keyframes shine{from{transform:translateX(-100%)}to{transform:translateX(100%)}}@media(prefers-reduced-motion:no-preference){.progress i{transition:background .25s}.choice{animation:option-in .22s ease-out both;animation-delay:calc(var(--choice-index,0)*25ms)}@keyframes option-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.done-check{animation:check-in .38s cubic-bezier(.2,.8,.2,1.3)}@keyframes check-in{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.skip{display:block;margin:16px 0 0 auto;min-height:40px;text-decoration:underline;text-underline-offset:3px}
