:root{--bg:#fcf4f7;--surface:#ffffff;--ink:#3d2430;--muted:#7a5e69;--line:#f2dde5;--rose:#c2416e;--rose-soft:#fbeaf0;--lav:#9a4a6b;--lav-soft:#f9e5ec;--warn:#8a4f0b;--warn-soft:#faeeda;--pick:#c2416e;--on-pick:#ffffff;--display:"Kiwi Maru","Hiragino Maru Gothic ProN",serif;--body:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Yu Gothic",system-ui,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1f1519;--surface:#2a1d23;--ink:#f5e6ec;--muted:#c2a5b1;--line:#43303a;--rose:#ed93b1;--rose-soft:#4b1f30;--lav:#f4c0d1;--lav-soft:#3a2530;--warn:#f0bf7a;--warn-soft:#3d2e1b;--pick:#ed93b1;--on-pick:#4b1528;color-scheme:dark}}:root[data-theme=dark]{--bg:#1f1519;--surface:#2a1d23;--ink:#f5e6ec;--muted:#c2a5b1;--line:#43303a;--rose:#ed93b1;--rose-soft:#4b1f30;--lav:#f4c0d1;--lav-soft:#3a2530;--warn:#f0bf7a;--warn-soft:#3d2e1b;--pick:#ed93b1;--on-pick:#4b1528;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.75;padding:env(safe-area-inset-top,0) max(16px,env(safe-area-inset-right,0px)) calc(48px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}.wrap{max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:28px}h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;line-height:1.35}p{margin:0}.hero{margin-top:20px;background:var(--surface);border:1px solid var(--line);border-radius:6px 18px 18px 6px;padding:22px 20px 22px 30px;position:relative;display:flex;flex-direction:column;gap:10px;background-image:repeating-linear-gradient(transparent 0 31px,var(--line) 31px 32px);background-position:0 12px}.hero:before{content:"";position:absolute;left:16px;top:0;bottom:0;width:1px;background:var(--rose);opacity:.45}.brand{display:flex;align-items:center;gap:10px;color:var(--rose)}.brand .fan{width:34px;height:34px}.brand h1{font-size:24px;font-weight:500;letter-spacing:.12em;color:var(--ink)}.proto{font-size:11px;letter-spacing:.08em;color:var(--lav);background:var(--lav-soft);padding:2px 10px;border-radius:99px;margin-left:auto}.hero .lead{font-size:16px;line-height:2}.step{display:flex;flex-direction:column;gap:14px}.step-head{display:flex;align-items:baseline;gap:10px}.num{font-family:var(--display);font-weight:500;font-size:15px;color:var(--rose);min-width:46px}.step-head h2{font-size:21px;font-weight:500}.hint{color:var(--muted);font-size:13.5px}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tab{font:inherit;font-size:13.5px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:6px 14px;border-radius:99px;cursor:pointer}.tab[aria-pressed=true]{background:var(--pick);color:var(--on-pick);border-color:var(--pick);font-weight:700}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px}.t{font:inherit;font-weight:700;letter-spacing:.06em;font-size:14px;padding:10px 0;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.t[aria-pressed=true]{background:var(--pick);border-color:var(--pick);color:var(--on-pick);box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--pick)}.btn:focus-visible,.q button:focus-visible,.t:focus-visible,.tab:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--lav);outline-offset:2px}.quiz{gap:12px}.q,.quiz{display:flex;flex-direction:column}.q{gap:6px}.q p{font-size:14px;font-weight:500}.q .opts{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px}.q button{font:inherit;font-size:13px;text-align:left;line-height:1.5;padding:9px 11px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}.q button[aria-pressed=true]{border-color:var(--pick);background:var(--pick);color:var(--on-pick);font-weight:700}.picked{font-size:14px;color:var(--muted)}.picked b{color:var(--pick);letter-spacing:.06em;font-size:16px}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:12px}.say{display:grid;grid-template-columns:44px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:start}.say .fan{width:40px;height:40px;color:var(--rose);margin-top:2px}.bubble{background:var(--lav-soft);border-radius:4px 14px 14px 14px;padding:10px 14px;font-size:14.5px;min-width:0}.bubble strong{color:var(--lav)}.tips{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.tips li{display:grid;grid-template-columns:28px minmax(0,1fr);grid-gap:10px;gap:10px;font-size:14px}.tips .ax{font-weight:700;color:var(--rose);font-size:13px;letter-spacing:.04em;padding-top:1px}label.f{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:500}select,textarea{font:inherit;font-size:15px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px;width:100%}textarea{min-height:96px;resize:vertical}.drop{border:1.5px dashed var(--line);border-radius:14px;padding:16px;text-align:center;color:var(--muted);font-size:13.5px;cursor:pointer;background:var(--surface)}.drop.has{border-style:solid;border-color:var(--rose);color:var(--ink)}.thumbs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:8px}.thumbs img{height:84px;border-radius:8px;border:1px solid var(--line)}.btn{font:inherit;font-weight:700;font-size:16px;letter-spacing:.04em;padding:14px;border:0;border-radius:14px;background:var(--rose);color:var(--surface);cursor:pointer;width:100%}.btn:disabled{opacity:.5}.btn.ghost{background:transparent;color:var(--muted);font-weight:500;font-size:13px;padding:6px;width:auto}.row{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.left{font-size:13px;color:var(--muted)}.left b{color:var(--rose)}.status{font-size:14px;color:var(--muted);text-align:center}.caution{background:var(--warn-soft);color:var(--warn);border-radius:12px;padding:10px 14px;font-size:14px}.reply{border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:8px}.reply .lbl{font-family:var(--display);font-weight:500;font-size:15px}.reply.a .lbl{color:var(--rose)}.reply.b .lbl{color:var(--lav)}.reply.c .lbl{color:var(--muted)}.reply .txt{background:var(--bg);border-radius:10px;padding:10px 12px;font-size:15px;white-space:pre-wrap;-webkit-user-select:text;-moz-user-select:text;user-select:text}.reply .why{font-size:13px;color:var(--muted)}.copy{align-self:flex-end;font:inherit;font-size:12.5px;border:1px solid var(--line);color:var(--ink);border-radius:99px;padding:4px 12px;cursor:pointer}.copy,.planbox{background:var(--surface)}.planbox{border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:12px}.planbox h2{font-size:18px;font-weight:500}.tag{font-size:11px;letter-spacing:.06em;color:var(--lav);background:var(--lav-soft);padding:2px 10px;border-radius:99px}.planbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px}.planbar button{font:inherit;font-weight:700;font-size:14px;line-height:1.4;padding:9px 4px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:center}.planbar small{font-weight:400;font-size:11.5px;color:var(--muted)}.planbar button[aria-pressed=true]{background:var(--pick);border-color:var(--pick);color:var(--on-pick)}.planbar button[aria-pressed=true] small{color:var(--on-pick)}.feats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.feats li{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;padding:7px 0;border-top:1px dashed var(--line)}.feats li:first-child{border-top:0}.feats li span{min-width:0}.feats li b{flex:none;font-weight:700;color:var(--rose)}.feats li.no,.feats li.no b{color:var(--muted)}.feats li.no b{font-weight:400}.feats em{font-style:normal;font-size:11px;color:var(--muted);margin-left:6px;border:1px solid var(--line);border-radius:99px;padding:0 6px}.extra{background:var(--rose-soft);border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;gap:4px;font-size:14px}.xl{font-family:var(--display);color:var(--rose)}.lock,.xl{font-size:13px}.lock{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border:1px dashed var(--line);border-radius:12px;padding:10px 12px;color:var(--muted)}.up{font:inherit;font-size:12.5px;font-weight:700;border:0;border-radius:99px;padding:5px 12px;background:var(--pick);color:var(--on-pick);cursor:pointer}.tunes{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:12px}.tbtns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px;gap:6px}.tune{font:inherit;font-size:13.5px;padding:8px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}.tmsg{font-size:13px;color:var(--muted);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.planbar button:focus-visible,.tune:focus-visible,.up:focus-visible{outline:2px solid var(--lav);outline-offset:2px}.hist{border:1px solid var(--line);border-radius:14px;background:var(--surface)}.hist summary{cursor:pointer;padding:12px 14px;font-size:14px;font-weight:500;color:var(--rose)}.histbody{padding:0 14px 14px;display:flex;flex-direction:column;gap:10px}.how{margin:0;padding-left:1.3em;font-size:13px;color:var(--muted);line-height:1.8}.who{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px}.ins{font:inherit;font-weight:700;font-size:14px;padding:9px;border-radius:10px;border:1px solid var(--rose);background:var(--rose-soft);color:var(--rose);cursor:pointer}.hist summary:focus-visible,.ins:focus-visible{outline:2px solid var(--lav);outline-offset:2px}.nlist{display:flex;flex-direction:column;gap:8px}.nempty{font-size:13.5px;color:var(--muted);border:1px dashed var(--line);border-radius:14px;padding:14px}.nempty,.nitem{background:var(--surface)}.nitem{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;border:1px solid var(--line);border-radius:14px;padding:6px 6px 6px 14px}.nitem.on{border-color:var(--pick);box-shadow:0 0 0 1px var(--pick)}.nsel{font:inherit;text-align:left;background:none;border:0;color:var(--ink);cursor:pointer;padding:6px 0;display:flex;flex-direction:column;min-width:0}.nsel b{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nsel small{font-size:12.5px;color:var(--muted)}.ngo{font:inherit;font-size:13px;font-weight:700;border:0;border-radius:10px;padding:8px 12px;background:var(--pick);color:var(--on-pick)}.ndel,.ngo{cursor:pointer}.ndel{font:inherit;font-size:12px;border:0;background:none;color:var(--muted);padding:4px 6px;grid-column:1/-1;justify-self:end}.save{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:end}.save input{font:inherit;font-size:15px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px;width:100%}.savebtn{font:inherit;font-weight:700;font-size:14px;border:1px solid var(--rose);background:var(--rose-soft);color:var(--rose);border-radius:12px;padding:10px 14px;cursor:pointer}.savemsg{font-size:13px;color:var(--muted);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cur{background:var(--rose-soft);border-radius:12px;padding:10px 14px;font-size:14px}.cur b{color:var(--rose)}.ndel:focus-visible,.ngo:focus-visible,.nsel:focus-visible,.save input:focus-visible,.savebtn:focus-visible{outline:2px solid var(--lav);outline-offset:2px}.points{border:1px solid var(--line);border-radius:12px;padding:10px 14px;gap:6px}.points,.points ul{display:flex;flex-direction:column}.points ul{list-style:none;margin:0;padding:0;gap:4px;font-size:13.5px}.points li{display:flex;gap:8px;align-items:baseline}.points li b{flex:none;font-size:11px;font-weight:700;border-radius:99px;padding:1px 8px;background:var(--lav-soft);color:var(--lav)}.points li b.q{background:var(--pick);color:var(--on-pick)}.toplinks{display:flex;gap:16px;align-items:center}.toplink{font:inherit;font-size:13px;font-weight:700;color:var(--rose);background:none;border:0;padding:0;cursor:pointer}.notice{background:var(--warn-soft);color:var(--warn);border-radius:10px;padding:10px 12px;font-size:13.5px}.btn:disabled{opacity:.55;cursor:default}.foot{font-size:12px;color:var(--muted);line-height:1.7}@media (prefers-reduced-motion:no-preference){.reply{animation:in .35s ease both}@keyframes in{0%{opacity:.4;transform:translateY(4px)}}}a{color:var(--rose)}.narrow{max-width:460px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-top:12px;font-size:13px}.topbar a{text-decoration:none;font-weight:700}.beta{font-size:11px;letter-spacing:.08em;color:var(--lav);background:var(--lav-soft);padding:2px 10px;border-radius:99px}input[type=email],input[type=text]{font:inherit;font-size:16px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px;width:100%}select,textarea{font-size:16px}.check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.6}.check input{width:20px;height:20px;margin-top:1px;accent-color:var(--rose);flex:none}.err{color:var(--rose);font-size:13.5px;font-weight:500}.btn.sub{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.legal{display:flex;flex-direction:column;gap:14px;font-size:14.5px}.legal h1{font-size:22px;font-weight:500;margin-top:20px}.legal h2{font-size:16px;font-weight:500;margin-top:8px}.legal ol,.legal ul{margin:0;padding-left:1.4em;display:flex;flex-direction:column;gap:4px}.legal table{width:100%;border-collapse:collapse;font-size:14px}.legal td,.legal th{text-align:left;vertical-align:top;padding:10px 8px;border-top:1px solid var(--line)}.legal th{width:34%;font-weight:500;color:var(--muted)}.tablewrap{overflow-x:auto}.fill{background:var(--warn-soft);color:var(--warn);padding:0 4px;border-radius:4px}.loading{text-align:center;padding:40px 0}.danger,.loading{color:var(--muted)}.danger{font:inherit;font-size:13px;border:1px solid var(--line);background:none;border-radius:10px;padding:8px 12px;cursor:pointer}.danger.armed{border-color:var(--rose);color:var(--rose);font-weight:700}.planbar button:disabled{cursor:default}.soon{font-size:12px;color:var(--muted)}