:root{--ink:#35231f;--muted:#66514c;--paper:#fffaf6;--panel:#fffdfb;--line:#e8c7cf;--plum:#d94869;--plum-dark:#58332d;--rose:#f8c9d5;--blue:#dcecf4;--gold:#c99b45;--danger:#df2e38;--shadow:0 20px 55px rgba(99,60,52,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Gothic UI","Hiragino Sans",Meiryo,sans-serif;line-height:1.75}button,input,textarea{font:inherit}.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,72px);border-bottom:1px solid var(--line);background:rgba(251,250,252,.94);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{color:var(--ink);text-decoration:none;font-weight:700;display:flex;align-items:center;gap:10px}.brand small{font-weight:500;color:var(--muted);font-size:.72rem}.brand-mark{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--plum-dark);color:white;font-family:Georgia,serif;font-style:italic}.escape{border:1px solid var(--line);background:white;border-radius:999px;padding:7px 14px;color:var(--muted);cursor:pointer}.escape:hover{border-color:var(--plum);color:var(--plum)}main{overflow:hidden}.workspace{padding:clamp(52px,7vw,92px) clamp(18px,4vw,48px) 80px;max-width:1040px;margin:auto}.intro{max-width:720px;margin-bottom:30px}.eyebrow{margin:0 0 8px;color:var(--plum);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.intro h1,.section-head h2,.evidence-band h2,.trust h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;line-height:1.35;letter-spacing:.02em}.intro h1{font-size:clamp(2rem,5vw,3.6rem);margin:0 0 12px}.intro>p:last-child{font-size:1.05rem;color:var(--muted);max-width:650px}.consult-card{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:clamp(20px,4vw,38px);box-shadow:var(--shadow)}fieldset{border:0;margin:0 0 26px;padding:0}legend,.textarea-label{font-weight:800;display:flex;align-items:center;gap:10px;margin-bottom:13px}legend span,.textarea-label span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--plum-dark);color:white;font-size:.82rem}.chip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.chip-grid label,.segmented label{cursor:pointer}.chip-grid input,.segmented input{position:absolute;opacity:0}.chip-grid label span,.segmented label span{display:block;border:1px solid var(--line);border-radius:12px;padding:11px 13px;text-align:center;background:#fff;transition:.16s}.chip-grid input:checked+span,.segmented input:checked+span{border-color:var(--plum);background:#f8f0f4;color:var(--plum-dark);box-shadow:inset 0 0 0 1px var(--plum)}.segmented{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.segmented label span{font-size:.9rem}.textarea-label{margin-top:2px}textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:14px;padding:15px 16px;min-height:132px;background:#fdfcfd;color:var(--ink);outline:none}textarea:focus{border-color:var(--plum);box-shadow:0 0 0 3px rgba(112,64,94,.12)}.form-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:14px}.form-foot>span{color:var(--muted);font-size:.8rem}.primary,.secondary{border:0;border-radius:999px;padding:12px 22px;font-weight:800;cursor:pointer}.primary{background:var(--plum-dark);color:white}.primary:hover{background:#31202d}.secondary{background:white;border:1px solid var(--plum);color:var(--plum)}.result-card{margin-top:22px;background:#1c1820;color:#f8f4f7;border-radius:24px;padding:clamp(22px,4vw,38px);box-shadow:var(--shadow)}.result-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.result-head h2{margin:0;font-size:1.6rem}.result-head .eyebrow{color:#edc6d6}.result-badge{font-size:.74rem;border:1px solid #665965;border-radius:999px;padding:5px 10px;color:#d8ced6}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.result-grid section{background:#27222b;border:1px solid #39323d;border-radius:16px;padding:17px}.result-grid h3,.reply-box h3{font-size:.84rem;margin:0 0 9px;color:#e9c6d4}.result-grid p{margin:0;color:#e7e0e5;font-size:.93rem}.result-grid .next{grid-column:1/-1;background:#f7edf2;color:var(--ink)}.result-grid .next h3{color:var(--plum)}.result-grid ol{margin:0;padding-left:1.4em;display:grid;gap:5px}.reply-box{margin-top:14px;padding:18px;background:#fff;color:var(--ink);border-radius:16px}.reply-box p{margin:0 0 10px}.reply-box button{border:1px solid var(--line);background:#f8f5f7;padding:7px 12px;border-radius:9px;cursor:pointer}.safety-note{background:#ffedf0;color:#60202a;padding:14px 16px;border-radius:12px;margin:14px 0 0}.evidence-band{max-width:1180px;margin:0 auto;padding:clamp(38px,6vw,72px);background:var(--blue);border-radius:32px;display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}.evidence-band h2{font-size:clamp(1.7rem,3vw,2.6rem);margin:0 0 16px}.evidence-band p:last-child{color:#4f5660}.stat-stack{display:grid;gap:10px}.stat-stack div{background:rgba(255,255,255,.65);border:1px solid rgba(255,255,255,.8);border-radius:15px;padding:14px 16px;display:grid;grid-template-columns:100px 1fr;align-items:center}.stat-stack strong{font-family:Georgia,serif;font-size:1.6rem;color:var(--plum-dark)}.stat-stack span{font-size:.86rem}.paths,.pricing,.trust{max-width:1180px;margin:0 auto;padding:clamp(72px,10vw,124px) clamp(18px,4vw,48px)}.section-head{max-width:720px;margin-bottom:30px}.section-head h2{font-size:clamp(1.8rem,4vw,3rem);margin:0}.path-grid,.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.path-card,.price-grid article{border:1px solid var(--line);background:white;border-radius:20px;padding:26px;min-height:260px}.path-card.main-path{background:var(--plum-dark);color:white}.path-label,.recommend{font-size:.72rem;font-weight:800;letter-spacing:.08em;color:var(--plum);background:#f5e7ed;border-radius:999px;padding:5px 9px;display:inline-block}.main-path .path-label{background:#67455e;color:#f9dce8}.path-card h3,.price-grid h3{font-size:1.35rem;margin:28px 0 8px}.path-card p{color:var(--muted);margin:0 0 22px}.main-path p{color:#e4d8e0}.path-card a,.text-button{color:inherit;font-weight:800;text-decoration:none;border:0;background:none;padding:0;cursor:pointer}.path-card a:after,.text-button:after{content:" →"}.pricing{padding-top:20px}.price-grid article{min-height:350px;display:flex;flex-direction:column}.recommend.dark{background:#e5e1e7;color:#2a222b}.price{margin:8px 0}.price strong{font-family:Georgia,serif;font-size:2.5rem}.price span{font-size:.85rem;color:var(--muted)}.price-grid ul{padding-left:1.2em;margin:14px 0 26px;display:grid;gap:8px;color:var(--muted);font-size:.92rem}.price-grid button{margin-top:auto}.dark-btn{background:#17151c}.payment-note{color:var(--muted);font-size:.82rem;margin-top:16px}.trust{margin-bottom:80px;background:#f0e5ea;border-radius:32px;display:grid;grid-template-columns:.7fr 1.3fr;gap:60px}.trust h2{font-size:clamp(1.8rem,3vw,2.7rem);margin:0}.trust ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.trust li{background:rgba(255,255,255,.7);padding:16px;border-radius:14px;display:grid}.trust li span{color:var(--muted);font-size:.84rem}footer{border-top:1px solid var(--line);padding:28px clamp(20px,5vw,72px);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.78rem}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#17151c;color:white;padding:12px 18px;border-radius:999px;opacity:0;pointer-events:none;transition:.2s;z-index:30;font-size:.86rem}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:800px){.chip-grid{grid-template-columns:1fr 1fr}.segmented{grid-template-columns:1fr 1fr}.form-foot{align-items:stretch;flex-direction:column}.form-foot .primary{width:100%}.result-grid{grid-template-columns:1fr}.result-grid .next{grid-column:auto}.evidence-band{margin:0 12px;grid-template-columns:1fr;gap:24px;padding:32px 22px}.path-grid,.price-grid{grid-template-columns:1fr}.trust{margin:0 12px 60px;grid-template-columns:1fr;gap:24px}.trust ul{grid-template-columns:1fr}footer{flex-direction:column}.topbar{padding:0 16px}.brand small{display:none}}
@media(max-width:420px){.chip-grid{grid-template-columns:1fr}.workspace{padding-left:12px;padding-right:12px}.consult-card,.result-card{border-radius:18px}.intro h1{font-size:2rem}.stat-stack div{grid-template-columns:82px 1fr}.stat-stack strong{font-size:1.35rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.brand-mark{position:relative;overflow:hidden;background:linear-gradient(145deg,#d884a7 0 48%,#857fb2 48% 70%,#f2c7d8 70%)}.brand-mark:after{content:"";position:absolute;width:13px;height:13px;border:2px solid rgba(255,255,255,.9);border-radius:50%;right:4px;top:4px}.workspace{max-width:1180px;padding-top:38px}.hero-intro{max-width:none;min-height:360px;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:30px;margin-bottom:22px}.intro-copy{padding:36px 0 36px 12px;position:relative;z-index:1}.intro-copy:before{content:"";position:absolute;width:92px;height:92px;border-radius:50%;background:rgba(245,220,230,.52);left:-28px;top:14px;z-index:-1}.intro-copy h1{font-size:clamp(2rem,4.2vw,3.35rem);font-weight:600;letter-spacing:.015em}.intro-copy>p:last-of-type{font-size:1rem;line-height:1.85;color:var(--muted);max-width:510px}.hero-cta{margin-top:12px;padding-inline:28px}.hero-art{height:360px;border-radius:32px;overflow:hidden;background:#f9eef3;box-shadow:0 24px 60px rgba(106,62,83,.11)}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:67% center;display:block}.primary{box-shadow:0 8px 20px rgba(77,39,59,.13)}.consult-card,.history-summary,.path-card,.price-grid article{box-shadow:0 14px 40px rgba(90,52,70,.055)}.evidence-band{background:linear-gradient(135deg,#f8e7ee,#eeeeFA)}.trust{background:linear-gradient(135deg,#f6e4ec,#f3edf4)}
@media(max-width:800px){.hero-intro{grid-template-columns:1fr;gap:16px;min-height:0}.hero-art{height:230px;order:-1}.intro-copy{padding:0 6px 12px}.intro-copy:before{width:70px;height:70px;left:-16px}.hero-cta{width:100%}}@media(max-width:480px){.hero-art{height:190px;border-radius:22px}.intro-copy h1 br{display:none}.intro-copy>p:last-of-type{font-size:.9rem;line-height:1.7}.hero-cta{margin-top:6px}}
.always-free{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;border:1px solid #d8dfe8;background:#f2f6fa;border-radius:15px;padding:14px 17px;margin-top:16px}.always-free strong{font-size:.84rem;color:#31465d}.always-free span{font-size:.8rem;color:#586472}.payment-note{margin-top:12px}

.journey{list-style:none;padding:0;margin:0 0 22px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.journey li{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:white;border-radius:15px;padding:12px;color:var(--muted)}.journey li>span{width:30px;height:30px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:#eee9ec;color:var(--plum-dark);font-weight:800}.journey li div{display:grid;line-height:1.35}.journey li strong{font-size:.82rem;color:var(--ink)}.journey li small{font-size:.7rem;margin-top:3px}.journey li.active{border-color:#b994a7;background:#fbf4f7}.journey li.active>span{background:var(--plum-dark);color:white}.next-actions{margin-top:16px;display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;border-top:1px solid #3b343e;padding-top:18px}.next-actions>div{display:grid}.next-actions>div strong{font-size:.9rem}.next-actions>div span{font-size:.76rem;color:#bdb3bb}.next-actions .secondary{background:transparent;border-color:#776b75;color:#f6eff4}.carried-context{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#eef3f8;border:1px solid #d6e0ea;border-radius:14px;padding:13px 15px;margin:-4px 0 24px}.carried-context>div{display:grid}.carried-context strong{font-size:.86rem}.carried-context span{font-size:.76rem;color:#586472}.result-actions{display:flex;gap:9px;margin-top:16px}.on-dark{background:transparent;color:white;border-color:#776b75}

.topnav{display:flex;gap:4px;background:#f0edf1;padding:4px;border-radius:999px}.nav-tab{border:0;background:transparent;color:var(--muted);padding:7px 14px;border-radius:999px;cursor:pointer;font-size:.85rem;font-weight:700}.nav-tab.active{background:white;color:var(--plum-dark);box-shadow:0 2px 8px rgba(40,27,39,.08)}.tool-panel{animation:panel-in .2s ease}.tool-panel[hidden]{display:none}.line-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;align-items:stretch}.line-card{box-shadow:var(--shadow)}.panel-title,.step-head,.history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.panel-title h2,.step-head h2,.history-head h2{margin:0;font-size:1.45rem}.prototype-tag{font-size:.7rem;font-weight:800;color:var(--plum);background:#f6eaf0;padding:5px 9px;border-radius:999px}.partner-label{font-size:.84rem;font-weight:800;display:block;margin-bottom:7px}.text-input{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px 13px;margin-bottom:14px;outline:none}.text-input:focus{border-color:var(--plum);box-shadow:0 0 0 3px rgba(112,64,94,.12)}.upload-zone{min-height:178px;border:1.5px dashed #b5a8b1;border-radius:18px;background:#faf6f8;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;text-align:center;padding:24px}.upload-zone:hover{border-color:var(--plum);background:#f8f0f4}.upload-zone input{position:absolute;opacity:0;pointer-events:none}.upload-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--plum-dark);color:white;font-size:1.4rem;margin-bottom:8px}.upload-zone small{color:var(--muted);margin-top:3px}.privacy-choice{margin:16px 0}.privacy-choice label{display:flex;align-items:center;gap:9px;font-weight:700;font-size:.88rem}.privacy-choice input{accent-color:var(--plum)}.privacy-choice p{font-size:.76rem;color:var(--muted);margin:5px 0 0 24px}.wide{width:100%}.flow-card{border-radius:24px;background:#1c1820;color:white;padding:30px;box-shadow:var(--shadow)}.flow-card .eyebrow{color:#e8bbce}.flow-list{list-style:none;padding:0;margin:24px 0;display:grid;gap:20px}.flow-list li{display:flex;gap:12px}.flow-list li>span{font-family:Georgia,serif;color:#d5a8bb}.flow-list li div{display:grid}.flow-list small{color:#bdb3bb;line-height:1.5;margin-top:3px}.mini-trend{border-top:1px solid #39323d;padding-top:20px;display:grid;grid-template-columns:42px 1fr;gap:7px 10px;align-items:center;font-size:.75rem}.mini-trend i{height:7px;border-radius:9px;background:linear-gradient(90deg,#d6a9bc var(--w),#413943 var(--w))}.mini-trend small{grid-column:1/-1;color:#aaa0a8;margin-top:7px}.ocr-card{margin-top:20px;border:1px solid var(--line);border-radius:24px;background:white;padding:clamp(20px,4vw,36px);box-shadow:var(--shadow)}.quiet-button,.danger-button{border:1px solid var(--line);background:white;border-radius:10px;padding:8px 12px;color:var(--muted);cursor:pointer}.danger-button{color:var(--danger);border-color:#e9c6ca}.helper{color:var(--muted);font-size:.85rem;margin:-10px 0 20px}.message-editor{background:#edf6eb;border-radius:18px;padding:18px;display:grid;gap:11px}.message-row{max-width:78%;display:grid;gap:4px}.message-row.me{justify-self:end}.message-row label{font-size:.7rem;color:#5e665d}.message-row textarea{min-height:0;height:auto;background:white;border-radius:14px;padding:10px 12px;line-height:1.5}.message-row.me textarea{background:#aee890}.ocr-actions{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-top:18px}.ocr-actions label{display:grid;gap:6px;font-size:.8rem;font-weight:700;flex:1}.ocr-actions select{border:1px solid var(--line);border-radius:10px;padding:10px;background:white}.line-result{margin-top:20px}.signal-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.signal-row div{border:1px solid #3b343e;background:#27222b;border-radius:13px;padding:13px;display:grid}.signal-row span{font-size:.72rem;color:#bdb3bb}.signal-row strong{font-size:.93rem;margin-top:2px}.comparison-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.comparison-grid section{border:1px solid #3b343e;background:#27222b;border-radius:15px;padding:16px}.comparison-grid h3{font-size:.8rem;color:#e9c6d4;margin:0 0 8px}.comparison-grid p,.comparison-grid ul{font-size:.86rem;color:#ddd5db;margin:0;padding-left:1.2em}.comparison-grid p{padding:0}.promise-card{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#f7edf2;color:var(--ink);border-radius:16px;padding:18px;margin:14px 0}.promise-card h3,.promise-card p{margin:0}.promise-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.promise-actions button{border:1px solid #d7c6ce;background:white;border-radius:999px;padding:7px 11px;cursor:pointer;font-size:.78rem}.promise-actions button.selected{background:var(--plum-dark);color:white;border-color:var(--plum-dark)}.history-head{margin-bottom:20px}.history-head>div>p:last-child{color:var(--muted);margin:5px 0}.history-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.history-summary{background:white;border:1px solid var(--line);border-radius:20px;padding:22px}.history-summary h3{margin:0 0 18px}.summary-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.summary-numbers div{display:grid;background:#f7f3f5;border-radius:12px;padding:12px;text-align:center}.summary-numbers strong{font-family:Georgia,serif;font-size:1.8rem}.summary-numbers span{font-size:.72rem;color:var(--muted)}.consistency{margin-top:18px;display:grid;grid-template-columns:1fr auto;gap:5px 12px}.consistency div{grid-column:1/-1;height:8px;background:#ece7ea;border-radius:8px}.consistency i{display:block;width:33%;height:100%;background:var(--plum);border-radius:8px}.consistency small{grid-column:1/-1;color:var(--muted)}.change-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.change-list li{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:9px}.change-list span{color:var(--muted)}.change-list.up strong{color:var(--danger)}.timeline{list-style:none;margin:18px 0 0;padding:0;background:white;border:1px solid var(--line);border-radius:20px;overflow:hidden}.timeline li{display:grid;grid-template-columns:90px 1fr;gap:18px;padding:20px;border-bottom:1px solid var(--line)}.timeline li:last-child{border-bottom:0}.timeline time{font-size:.8rem;color:var(--muted)}.timeline-type{font-size:.68rem;color:var(--plum);font-weight:800}.timeline h3{margin:2px 0}.timeline p{margin:0 0 8px;color:var(--muted);font-size:.86rem}.status{display:inline-block;font-size:.7rem;border-radius:999px;padding:3px 8px}.status.pending{background:#f5ead9;color:#76531f}.status.broken{background:#f9e5e7;color:#772631}.status.kept{background:#e3f1e7;color:#285c38}.data-controls{display:flex;align-items:center;gap:10px;background:#f1edf0;border-radius:16px;padding:15px 18px;margin-top:15px}.data-controls>div{display:grid;margin-right:auto}.data-controls span{font-size:.76rem;color:var(--muted)}
@keyframes panel-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:800px){.topnav{position:fixed;left:12px;right:12px;bottom:12px;z-index:25;justify-content:space-around;box-shadow:0 8px 28px rgba(30,22,29,.2)}.nav-tab{flex:1}.line-layout,.history-grid{grid-template-columns:1fr}.flow-card{padding:24px}.signal-row{grid-template-columns:1fr 1fr}.comparison-grid{grid-template-columns:1fr}.promise-card,.ocr-actions{align-items:stretch;flex-direction:column}.promise-actions{justify-content:flex-start}.data-controls{align-items:stretch;flex-direction:column}.data-controls>div{margin:0}.workspace{padding-bottom:100px}.next-actions{grid-template-columns:1fr}.next-actions button,.result-actions button{width:100%}.result-actions{flex-direction:column}.journey small{display:none}}
@media(max-width:480px){.signal-row{grid-template-columns:1fr}.timeline li{grid-template-columns:65px 1fr}.escape{font-size:.72rem;padding:6px 10px}.brand{font-size:.88rem}.workspace{padding-top:28px}.intro{margin-bottom:20px}.intro h1{font-size:1.85rem}.intro>p:last-child{font-size:.92rem;line-height:1.65}.journey{gap:5px}.journey li{padding:8px 6px;gap:6px}.journey li>span{width:24px;height:24px;font-size:.72rem}.journey li strong{font-size:.68rem}.upload-zone{min-height:150px}.carried-context{align-items:flex-start}.carried-context .quiet-button{white-space:nowrap;padding:6px 9px}}

/* Brand palette: abstract pink editorial artwork */
body{background:var(--paper)}
.topbar{background:rgba(255,250,246,.95);border-bottom-color:var(--line)}
.brand-mark{background:conic-gradient(from 205deg,#df2e38 0 12%,#f18aa0 12% 43%,#633c34 43% 72%,#79a9c3 72% 86%,#f8c9d5 86%);box-shadow:inset 0 0 0 1px rgba(99,60,52,.08)}
.intro-copy:before{background:rgba(248,201,213,.62)}
.hero-art{background:#fbdde4;box-shadow:0 24px 60px rgba(130,67,72,.14)}
.eyebrow,.timeline-type{color:var(--plum)}
.escape:hover,.text-input:focus,textarea:focus{border-color:var(--plum)}
.text-input:focus,textarea:focus{box-shadow:0 0 0 3px rgba(223,88,118,.14)}
.primary,.dark-btn{background:#df2e38;color:#fff;box-shadow:0 8px 20px rgba(223,46,56,.18)}
.primary:hover,.dark-btn:hover{background:#bd2330}
.secondary{border-color:var(--plum);color:#b93352}
legend span,.textarea-label span,.upload-icon,.journey li.active>span{background:var(--plum-dark)}
.chip-grid input:checked+span,.segmented input:checked+span{border-color:var(--plum);background:#fff0f4;color:#633c34;box-shadow:inset 0 0 0 1px var(--plum)}
.topnav{background:#f8e8ed}
.nav-tab.active{color:#633c34;box-shadow:0 2px 8px rgba(99,60,52,.10)}
.journey li{background:#fffdfb}
.journey li.active{border-color:#e79aaa;background:#fff1f4}
.journey li>span{background:#f4e1e6;color:#633c34}
.prototype-tag,.path-label,.recommend{color:#b93352;background:#ffe3ea}
.upload-zone{border-color:#dda9b5;background:#fff5f7}
.upload-zone:hover{border-color:var(--plum);background:#fff0f4}
.flow-card,.result-card,.path-card.main-path{background:#50332e;color:#fffaf6}
.flow-card .eyebrow,.result-card .eyebrow,.result-grid h3,.reply-box h3,.comparison-grid h3{color:#ffc4d1}
.flow-list li>span{color:#f18aa0}
.flow-list small,.mini-trend small,.signal-row span,.next-actions>div span{color:#dbc7c2}
.mini-trend{border-top-color:#73534d}
.mini-trend i{background:linear-gradient(90deg,#f18aa0 var(--w),#74504a var(--w))}
.signal-row div,.comparison-grid section,.result-grid section{border-color:#74504a;background:#60413b}
.comparison-grid p,.comparison-grid ul,.result-grid p{color:#f4e9e6}
.result-badge{border-color:#8a6861;color:#f1deda}
.result-grid .next,.promise-card{background:#fff0f4;color:var(--ink)}
.reply-box{background:#fffdfb}
.promise-actions button.selected{background:#633c34;border-color:#633c34}
.carried-context,.always-free{background:#edf6fa;border-color:#cfe4ed}
.carried-context span,.always-free span{color:#58707c}
.always-free strong{color:#33566a}
.message-editor{background:#f7e8ed}
.message-row label{color:#7d6863}
.message-row.me textarea{background:#f8c9d5}
.summary-numbers div{background:#fff0f4}
.consistency div{background:#f2dce2}
.evidence-band{background:linear-gradient(135deg,#fde7ec,#e8f2f6)}
.stat-stack div{background:rgba(255,253,251,.78);border-color:rgba(255,255,255,.92)}
.path-card,.price-grid article,.history-summary,.timeline,.ocr-card,.consult-card{background:#fffdfb}
.price-grid article:nth-child(2){border-color:#ee9bae;box-shadow:0 16px 42px rgba(223,88,118,.12)}
.recommend.dark{background:#633c34;color:#ffe3ea}
.trust{background:linear-gradient(135deg,#fbe1e7,#f7edf0)}
.data-controls{background:#f7e8ed}
.safety-note{background:#fff0f1;color:#9b2730}
.status.broken{background:#ffe5e8;color:#a82832}

/* First view: artwork, purpose and three clear product entrances */
.hero-intro{min-height:310px;grid-template-columns:1fr 1.08fr;gap:28px;margin-bottom:16px}
.intro-copy{padding:25px 0 25px 12px}
.intro-copy h1{font-size:clamp(2rem,3.9vw,3.15rem)}
.intro-copy>p:last-of-type{margin-bottom:8px}
.hero-art{height:310px}
.hero-privacy{display:block;margin-top:9px;color:var(--muted);font-size:.72rem}
.feature-entry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 26px}
.feature-entry{min-width:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;text-align:left;border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--ink);padding:15px 16px;cursor:pointer;box-shadow:0 10px 28px rgba(99,60,52,.055);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.feature-entry{align-items:start}
.feature-entry:hover{transform:translateY(-2px);border-color:#e79aaa;box-shadow:0 14px 32px rgba(130,67,72,.10)}
.feature-entry:focus-visible{outline:3px solid rgba(223,88,118,.24);outline-offset:2px}
.feature-number{font-family:Georgia,serif;font-size:.76rem;color:#b93352;align-self:start;padding-top:2px}
.feature-copy{display:grid;line-height:1.4}
.feature-copy strong{font-size:.95rem}
.feature-copy small{margin-top:5px;color:var(--muted);font-size:.8rem;line-height:1.55}
.feature-arrow{color:var(--plum);font-size:1.1rem}
.feature-entry.primary-entry{background:#df2e38;border-color:#df2e38;color:#fff;box-shadow:0 12px 28px rgba(223,46,56,.16)}
.feature-entry.primary-entry .feature-number,.feature-entry.primary-entry .feature-arrow{color:#ffdfe5}
.feature-entry.primary-entry .feature-copy small{color:#fff0f3}
.feature-entry.active:not(.primary-entry){border-color:#e79aaa;background:#fff1f4}
@media(max-width:800px){
  .hero-intro{grid-template-columns:1fr 1fr;gap:14px;min-height:230px}
  .hero-art{height:230px;order:0}
  .intro-copy{padding:10px 0 10px 4px}
  .intro-copy h1{font-size:clamp(1.75rem,5.4vw,2.35rem)}
  .intro-copy>p:last-of-type{font-size:.86rem;line-height:1.65}
  .hero-cta{width:auto;padding:10px 18px}
  .feature-entry-grid{gap:7px}
  .feature-entry{grid-template-columns:1fr auto;padding:12px;gap:7px}
  .feature-number{display:none}
  .feature-copy strong{font-size:.82rem}
  .feature-copy small{font-size:.76rem}
}
@media(max-width:600px){
  .workspace{padding-top:18px}
  .hero-intro{grid-template-columns:1.05fr .95fr;gap:8px;min-height:218px;margin-bottom:12px}
  .hero-art{height:218px;border-radius:20px}
  .hero-art img{object-position:67% center}
  .intro-copy{padding:5px 0 5px 2px}
  .intro-copy:before{width:54px;height:54px;left:-10px;top:0}
  .intro-copy .eyebrow{font-size:.66rem;letter-spacing:.08em;margin-bottom:5px}
  .intro-copy h1{font-size:clamp(1.42rem,6.3vw,1.8rem);line-height:1.4;margin-bottom:7px}
  .intro-copy h1 br{display:none}
  .intro-copy>p:last-of-type{font-size:.75rem;line-height:1.55;margin:0}
  .hero-cta{font-size:.76rem;padding:8px 13px;margin-top:8px}
  .hero-privacy{display:none}
  .feature-entry-grid{grid-template-columns:1fr;margin-bottom:18px}
  .feature-entry{grid-template-columns:auto 1fr auto;padding:10px 12px;border-radius:14px}
  .feature-number{display:block}
  .feature-copy{display:grid;align-items:start;gap:3px}
  .feature-copy strong{font-size:.9rem}
  .feature-copy small{margin:0;font-size:.76rem;line-height:1.55}
}
@media(max-width:380px){
  .hero-intro{grid-template-columns:1fr;min-height:0}
  .hero-art{height:138px;order:-1}
  .intro-copy>p:last-of-type{display:none}
  .hero-cta{width:100%}
}

/* Daily editorial cases: placed after the primary product workspace */
.daily-consultations{max-width:1180px;margin:0 auto;padding:0 clamp(18px,4vw,48px) clamp(64px,8vw,96px)}
.daily-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}
.daily-head>div{max-width:720px}
.daily-head h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(1.9rem,4vw,3rem);line-height:1.35;margin:0 0 8px}
.daily-head>div>p:last-child{color:var(--muted);margin:0}
.daily-update{flex:0 0 auto;border:1px solid var(--line);background:#fff0f4;color:#b93352;border-radius:999px;padding:7px 13px;font-size:.76rem;font-weight:800}
.daily-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.daily-card{min-width:0;background:#fffdfb;border:1px solid var(--line);border-radius:21px;box-shadow:0 14px 40px rgba(90,52,70,.055);overflow:hidden}
.daily-card summary{list-style:none;cursor:pointer;padding:23px;min-height:285px;display:flex;flex-direction:column}
.daily-card summary::-webkit-details-marker{display:none}
.daily-card summary:focus-visible{outline:3px solid rgba(223,88,118,.24);outline-offset:-4px;border-radius:20px}
.case-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}
.case-tags i{font-style:normal;font-size:.68rem;font-weight:800;color:#b93352;background:#ffe7ed;border-radius:999px;padding:4px 8px}
.daily-card h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:1.28rem;line-height:1.55;margin:0 0 10px}
.daily-card summary>p{color:var(--muted);font-size:.88rem;line-height:1.75;margin:0 0 18px}
.case-open{margin-top:auto;font-size:.8rem;font-weight:800;color:#b93352}
.case-open:after{content:" ＋"}
.daily-card[open] .case-open:after{content:" −"}
.case-detail{border-top:1px solid var(--line);background:#fff5f7;padding:18px 23px 22px;display:grid;gap:12px}
.case-detail p{margin:0;display:grid;gap:3px}
.case-detail strong{font-size:.74rem;color:#b93352}
.case-detail span{font-size:.84rem;line-height:1.7;color:var(--muted)}
.daily-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding:17px 20px;border-radius:16px;background:#f7e8ed}
.daily-actions p{margin:0;color:var(--muted);font-size:.86rem}
.daily-note{margin:12px 0 0;color:#806d68;font-size:.72rem}
.entry-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:34px}
.entry-price-grid article{border:1px solid var(--line);background:#fffdfb;border-radius:20px;padding:24px;display:grid;grid-template-columns:1fr auto;column-gap:20px;align-items:start}
.entry-price-grid h3{margin:8px 0 0;font-size:1.25rem}
.entry-price-grid .recommend{grid-column:1/-1;justify-self:start}
.entry-price-grid .price,.entry-price-grid .normal-price{grid-column:2;grid-row:1/3;margin:0;text-align:right}
.entry-price-grid .recommend~.normal-price{grid-row:1;margin-top:4px}
.entry-price-grid .recommend~.price{grid-row:2;margin-top:16px}
.entry-price-grid ul{grid-column:1/-1;margin:18px 0;padding-left:1.2em;color:var(--muted);font-size:.88rem}
.entry-price-grid button{grid-column:1/-1;justify-self:start}
.normal-price{color:var(--muted);font-size:.78rem;text-decoration:line-through}
.monthly-heading{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:1.35rem;margin:0 0 16px}
.monthly-price-grid .featured-plan{border:2px solid #df5876;box-shadow:0 18px 46px rgba(223,88,118,.15);position:relative}
.monthly-price-grid .featured-plan h3{margin-top:21px}
@media(max-width:800px){
  .daily-grid{grid-template-columns:1fr}
  .daily-card summary{min-height:0}
  .daily-actions{align-items:stretch;flex-direction:column}
  .daily-actions .secondary{width:100%}
  .entry-price-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .daily-consultations{padding-bottom:68px}
  .daily-head{align-items:flex-start;flex-direction:column;gap:12px}
  .daily-card summary{padding:20px}
  .entry-price-grid article{display:block}
  .entry-price-grid .price,.entry-price-grid .normal-price{text-align:left}
  .entry-price-grid .normal-price{margin-top:16px}
}

/* Integrated first-view composition */
.hero-intro{position:relative;isolation:isolate;overflow:hidden;background:#fffbf3;border-radius:30px;padding:0 18px 0 30px;box-shadow:0 18px 50px rgba(99,60,52,.07)}
.intro-copy{padding-left:0}
.intro-copy:before{display:none}
.intro-copy h1{max-width:590px;margin-bottom:16px;line-height:1.44}.hero-line{display:block}
.intro-copy>p:last-of-type{max-width:480px;line-height:1.7}.hero-desc-line{display:block}
.hero-art{height:310px;border-radius:0;background:transparent;box-shadow:none;align-self:stretch}
.hero-art img{object-fit:cover;object-position:65% center}
.tool-panel{scroll-margin-top:12px}
.feature-entry-grid,.workspace,.paths,.pricing,.trust,.evidence-band{max-width:100%}
html,body{width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}
html{overflow-x:clip}
body{overflow-x:clip;touch-action:pan-y}
img,svg,video,canvas{max-width:100%}
body{font-weight:500}
.hero-intro .intro-copy,.hero-intro .hero-art{transition:opacity .16s ease,transform .16s ease}
.feature-entry.primary-entry{background:var(--panel);border-color:var(--line);color:var(--ink);box-shadow:0 10px 28px rgba(99,60,52,.055)}
.feature-entry.primary-entry .feature-number,.feature-entry.primary-entry .feature-arrow{color:#b93352}
.feature-entry.primary-entry .feature-copy small{color:var(--muted)}
@media(max-width:800px){
  .hero-intro{padding:0 8px 0 18px;grid-template-columns:1.12fr .88fr;min-height:268px}
  .hero-art{height:268px}
  .intro-copy{padding:20px 0}
  .intro-copy h1{font-size:clamp(1.72rem,5.6vw,2.25rem);line-height:1.48;margin-bottom:12px}
  .intro-copy>p:last-of-type{line-height:1.72}
}
@media(max-width:600px){
  .hero-intro{display:block;min-height:356px;padding:14px 22px 22px;margin-bottom:14px}
  .intro-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:0}
  .intro-copy>*{margin:0}
  .intro-copy .research-badge{width:auto;max-width:100%;white-space:nowrap;padding:4px 12px;border:1px solid #f1d2dc;border-radius:999px;background:rgba(255,255,255,.72);color:var(--plum-dark);font-size:.78rem;font-weight:600;letter-spacing:.04em;line-height:1.6}
  .intro-copy .eyebrow{font-size:.78rem;letter-spacing:.04em}
  .intro-copy h1{max-width:none;font-size:clamp(1.54rem,6.44vw,1.98rem);line-height:1.5}
  .intro-copy>p:last-of-type{max-width:none;font-size:min(.8rem,3.35vw);line-height:1.68}
  .hero-desc-part{display:inline-block}
  .hero-art{position:absolute;z-index:1;right:-28px;bottom:0;width:62%;height:100%}
  .hero-art img{object-position:66% center}
  .hero-cta{width:auto;margin:2px 0 0;padding:12px 20px}
  .feature-entry-grid{margin-top:0}
}
@media(max-width:380px){
  .hero-intro{display:block;min-height:342px;padding:12px 17px 18px}
  .intro-copy{gap:9px}
  .intro-copy .research-badge{margin-bottom:3px;padding:4px 12px;font-size:.75rem;letter-spacing:.03em}
  .intro-copy h1{max-width:none;font-size:1.73rem}
  .intro-copy>p:last-of-type{display:block;max-width:none;font-size:min(.76rem,3.35vw);line-height:1.65}
  .hero-art{display:block;position:absolute;right:-34px;bottom:0;width:64%;height:100%;order:0}
  .hero-cta{width:auto;padding:11px 17px}
}
.trial-entry-banner{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:18px 24px;background:#f7e7eb;color:#493331;font-size:.9375rem}.trial-entry-banner a{color:#96394b;text-decoration:underline;text-underline-offset:4px;padding:6px}.reading-home-card{display:block;text-decoration:none;color:inherit;padding:24px}.reading-home-card h3{line-height:1.7}.reading-home-card p{line-height:1.9}.reading-home-card:hover{border-color:#ad4358}.reading-home-card:focus-visible{outline:3px solid #ad4358;outline-offset:3px}

/* やり取り分析の結果カード：サイト共通の生成り色・細い枠線に揃える（スマホ幅優先） */
.line-result.result-card{margin-top:20px;padding:20px 18px 18px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 30px rgba(99,60,52,.06);scroll-margin-top:12px}
.line-result .result-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px}
.line-result .eyebrow{margin:0;padding:4px 12px;border:1px solid #f1d2dc;border-radius:999px;background:#fdf1f5;color:#a8476a;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:none}
.line-result .result-badge{flex:0 0 auto;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:#fffdfb;color:var(--muted);font-size:.68rem;font-weight:600;white-space:nowrap;writing-mode:horizontal-tb}
.line-result .result-summary{margin:0 0 16px;font-family:inherit;font-size:1.08rem;font-weight:600;line-height:1.75;letter-spacing:normal;color:var(--ink)}
.line-result .safety-note{margin:0 0 16px}
.line-result .result-grid{display:grid;grid-template-columns:1fr;gap:10px;margin:0}
.line-result .result-grid section{padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:14px}
.line-result .result-grid h3{margin:0 0 8px;color:var(--plum-dark);font-size:.84rem;font-weight:700;letter-spacing:.02em}
.line-result .result-grid ul{margin:0;padding-left:1.15em;display:grid;gap:7px}
.line-result .result-grid li{color:var(--ink);font-size:.95rem;line-height:1.7}
.line-result .reply-box{margin-top:14px;padding:16px;background:#fff6f8;border:1.5px solid #e9b9c7;border-radius:14px;color:var(--ink)}
.line-result .reply-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.line-result .reply-box h3{margin:0;color:var(--plum-dark);font-size:.84rem;font-weight:700}
.line-result .reply-copy{flex:0 0 auto;min-height:36px;padding:7px 15px;border:1px solid #d9a7b4;border-radius:999px;background:#fff;color:#9d4260;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}
.line-result .reply-copy:hover{background:#fdf1f5}
.line-result .reply-copy:focus-visible{outline:3px solid #ad4358;outline-offset:2px}
.line-result .reply-box p{margin:0;font-size:.95rem;line-height:1.75;user-select:text;-webkit-user-select:text}
.line-result .next-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:20px;padding-top:16px;border:0;border-top:1px solid var(--line)}
.line-result .next-actions .primary{width:100%;min-height:48px;padding:13px 18px;background:var(--danger);color:#fff;font-size:.95rem}
.line-result .next-actions .primary:hover{background:#c7262f}
.line-result .next-actions .secondary{width:100%;min-height:48px;padding:13px 18px;background:#fff;border:1px solid var(--plum);color:var(--plum);font-size:.95rem}
.line-result .result-link{justify-self:center;min-height:40px;padding:8px 6px;border:0;background:none;color:var(--muted);font:inherit;font-size:.82rem;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.line-result .next-hint{margin:0;color:var(--muted);font-size:.8rem;line-height:1.7;text-align:center}
.line-result .result-expiry{margin:14px 0 0;color:var(--muted);font-size:.74rem;line-height:1.6}
@media(min-width:720px){
 .line-result.result-card{padding:28px 26px 22px}
 .line-result .result-summary{font-size:1.12rem}
 .line-result .result-grid{grid-template-columns:1fr 1fr;gap:12px}
 .line-result .next-actions{grid-template-columns:auto auto;justify-content:start;align-items:center}
 .line-result .next-actions .primary,.line-result .next-actions .secondary{width:auto}
 .line-result .result-link{grid-column:1/-1;justify-self:start;padding-left:0}
 .line-result .next-hint{grid-column:1/-1;text-align:left}
}

/* スクショの一覧：横一列のはみ出しをやめ、画面幅内で折り返す格子にする */
.image-count{margin:10px 0 0;color:var(--muted);font-size:.82rem;line-height:1.6}
.image-count[hidden]{display:none}
.thumb-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px;min-width:0}
.thumb{position:relative;display:grid;gap:6px;min-width:0}
.thumb-frame{position:relative;border:1px solid var(--line);border-radius:10px;background:#eee;overflow:hidden}
.thumb img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.thumb span{position:absolute;top:0;left:0;right:0;padding:2px 0;background:rgba(0,0,0,.62);color:#fff;text-align:center;font-size:.66rem;line-height:1.5}
.thumb-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px;min-width:0}
.thumb-actions .quiet-button{min-width:0;padding:7px 2px;font-size:.72rem;line-height:1.35;text-align:center;overflow:hidden}
.line-layout,.line-layout>*,.line-card,.message-editor,.message-row{min-width:0}
.message-row select,.message-row input,.message-row textarea{max-width:100%;min-width:0}
.message-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;min-width:0;margin-top:2px}
.message-actions .quiet-button{min-width:0;padding:7px 4px;font-size:.76rem;text-align:center;overflow:hidden}
@media(max-width:600px){.message-row{max-width:92%}}
@media(min-width:720px){.thumb-list{grid-template-columns:repeat(5,minmax(0,1fr))}}
.ocr-card{scroll-margin-top:12px}

/* 回答の直下から続けて質問する欄：分析結果カードと同じ生成り色・細い枠線（スマホ優先） */
.followup{display:grid;gap:10px;min-width:0;margin-top:16px;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:16px}
.followup[hidden]{display:none}
.followup-usage{margin:0;color:var(--muted);font-size:.82rem;line-height:1.6}
.followup-usage[hidden]{display:none}
.followup-warn{justify-self:start;margin:0;padding:5px 12px;border:1px solid #eec49f;border-radius:999px;background:#fff5ea;color:#95561b;font-size:.8rem;font-weight:700;line-height:1.5}
.followup-warn[hidden]{display:none}
#followupFields{display:grid;gap:10px;min-width:0}
#followupFields[hidden]{display:none}
.followup label{color:var(--plum-dark);font-size:.86rem;font-weight:700}
.followup textarea{min-height:96px;font-size:16px;line-height:1.7}
.followup textarea:disabled{opacity:.5}
.followup .primary{justify-self:start;min-height:48px;padding:13px 22px;font-size:.95rem}
.followup .primary:disabled{opacity:.45;cursor:not-allowed}
.followup-closed{display:grid;gap:8px;padding:14px 16px;background:#fff6f8;border:1px solid #e9b9c7;border-radius:12px}
.followup-closed[hidden]{display:none}
.followup-closed p{margin:0;font-size:.9rem;line-height:1.7}
.followup-link{justify-self:start;color:#9d4260;font-size:.85rem;text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){.followup{padding:14px}.followup .primary{width:100%;justify-self:stretch;text-align:center}}

/* 心理テストコーナー：分析結果と同じ生成り色・細い枠線（スマホ優先） */
.daily-one{display:grid;gap:10px;min-width:0;margin:0 0 22px;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:16px}
.daily-one-kicker{margin:0;color:#a8476a;font-size:.72rem;font-weight:700;letter-spacing:.04em}
.daily-one h2{margin:0;font-size:1.02rem;font-weight:700;line-height:1.6}
.daily-one-question{margin:0;font-size:.95rem;line-height:1.75}
.daily-one-options{display:grid;gap:8px;min-width:0}
.daily-one-option,.psych-option{display:block;width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:inherit;font-size:.92rem;line-height:1.6;text-align:left;cursor:pointer}
@media(hover:hover){.daily-one-option:hover,.psych-option:hover{border-color:var(--plum)}}
.daily-one-option.chosen,.psych-option.chosen{border-color:var(--plum);background:#fdeef3;font-weight:700}
.daily-one-option:disabled{cursor:default;opacity:.75}
.daily-one-option:focus-visible,.psych-option:focus-visible{outline:3px solid #ad4358;outline-offset:2px}
.daily-one-reading{padding:14px 16px;background:#fff6f8;border:1px solid #e9b9c7;border-radius:12px}
.daily-one-reading[hidden],.daily-one-next[hidden],.daily-one-week[hidden]{display:none}
.daily-one-reading p{margin:0;font-size:.92rem;line-height:1.75}
.daily-one-tone{margin-top:8px!important;color:var(--muted);font-size:.78rem!important}
.daily-one-next{margin:0;color:var(--muted);font-size:.76rem;line-height:1.6}
.daily-one-week{padding:14px 16px;background:#fffaf3;border:1px solid #ecd7bd;border-radius:12px}
.daily-one-week h3{margin:0 0 8px;color:var(--plum-dark);font-size:.84rem;font-weight:700}
.daily-one-week p{margin:0 0 6px;font-size:.88rem;line-height:1.75}
.psych-change{margin:0 0 12px;color:var(--muted);font-size:.82rem}
.psych-change[hidden]{display:none}
#psychIntro[hidden],#psychForm[hidden],#psychBack[hidden]{display:none}
#psychIntro .primary{width:100%;min-height:48px;padding:13px 20px}
#psychForm{display:grid;gap:10px;min-width:0;margin-top:6px;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:16px}
.psych-progress{margin:0;color:#a8476a;font-size:.78rem;font-weight:700;letter-spacing:.06em}
.psych-axis{margin:0;color:var(--muted);font-size:.78rem}
.psych-question{margin:0 0 2px;font-size:1rem;font-weight:600;line-height:1.75}
#psychQuestions{display:grid;gap:8px;min-width:0}
#psychBack{justify-self:start;margin-top:4px}
.psych-card{margin-top:18px;padding:20px 18px 18px;background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 30px rgba(99,60,52,.06);scroll-margin-top:12px}
.psych-card .result-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}
.psych-card .eyebrow{margin:0;padding:4px 12px;border:1px solid #f1d2dc;border-radius:999px;background:#fdf1f5;color:#a8476a;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:none}
.psych-card .result-badge{flex:0 0 auto;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:#fffdfb;color:var(--muted);font-size:.68rem;font-weight:600;white-space:nowrap}
.psych-change-line{margin:0 0 10px;color:var(--muted);font-size:.8rem;line-height:1.6}
.psych-type-name{margin:0 0 4px;font-size:1.3rem;font-weight:700;line-height:1.5}
.psych-headline{margin:0 0 14px;color:#a8476a;font-size:.92rem;font-weight:600;line-height:1.7}
.psych-description{margin:0 0 16px;font-size:.95rem;line-height:1.8}
.psych-block{margin:0 0 18px;padding:0;background:none;border:0;border-radius:0}
.psych-block h4{margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line);color:var(--plum-dark);font-size:.84rem;font-weight:700}
.psych-block ul,.psych-block ol{margin:0;padding-left:1.15em;display:grid;gap:7px}
.psych-block li{font-size:.93rem;line-height:1.7}
.psych-messages p{margin:0 0 8px;padding:10px 12px;background:#fff6f8;border-radius:10px;font-size:.92rem;line-height:1.75}
.psych-messages p:last-child{margin-bottom:0}
.psych-solidarity{margin-bottom:0;padding-top:16px;border-top:1px solid var(--line)}
.psych-solidarity p{margin:0;font-size:.93rem;line-height:1.85}
.psych-card .next-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.psych-card .next-actions .primary{width:100%;min-height:48px;padding:13px 18px;background:var(--danger);color:#fff;font-size:.95rem}
.psych-card .next-actions .primary:hover{background:#c7262f}
.psych-card .next-actions .secondary{width:100%;min-height:48px;padding:13px 18px;background:#fff;border:1px solid var(--plum);color:var(--plum);font-size:.95rem}
.psych-forget{display:block;margin:20px auto 0;min-height:44px;padding:10px 6px;border:0;background:none;color:var(--muted);font:inherit;font-size:.78rem;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
@media(min-width:720px){
 .daily-one-options,#psychQuestions{grid-template-columns:1fr 1fr}
 .psych-card{padding:26px 24px 20px}
 .psych-card .next-actions{grid-template-columns:auto auto;justify-content:start}
 .psych-card .next-actions .primary,.psych-card .next-actions .secondary{width:auto}
 #psychIntro .primary{width:auto}
}

/* 占いコーナー：カードの周りだけ紺、文章はサイトの生成り色で統一（スマホ優先） */
#fortuneBirthForm{display:grid;gap:8px;min-width:0;margin-top:6px}
#fortuneBirthForm label{color:var(--plum-dark);font-size:.86rem;font-weight:700}
#fortuneBirthForm input[type=date]{width:100%;min-height:48px;padding:12px;border:1px solid #d9b7ad;border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:16px}
#fortuneBirthForm .trial-small{margin:2px 0 4px}
#fortuneDraw{justify-self:start;width:100%;min-height:50px;padding:14px 22px;font-size:.98rem}
.fortune-saved{margin:10px 0 0;color:var(--muted);font-size:.8rem;line-height:1.6}
.fortune-saved[hidden]{display:none}
.card-stage{display:grid;justify-items:center;gap:12px;margin:16px 0 0;padding:26px 18px;border-radius:20px;background:linear-gradient(165deg,#14203f 0%,#1d2d55 46%,#2a3c68 100%);box-shadow:inset 0 0 60px rgba(0,0,0,.28)}
.card-stage[hidden]{display:none}
.card-flip{width:58%;max-width:260px;padding:0;border:0;background:none;cursor:pointer;perspective:1100px;-webkit-tap-highlight-color:transparent}
.card-flip:focus-visible{outline:3px solid #f0c987;outline-offset:6px;border-radius:14px}
.card-inner{position:relative;display:block;width:100%;aspect-ratio:600/1000;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.3,.7,.3,1)}
.card-inner.flipped{transform:rotateY(180deg)}
.card-face{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;border-radius:14px;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 18px 40px rgba(0,0,0,.38)}
.card-front{transform:rotateY(180deg)}
.card-hint{margin:0;color:#e7d6ae;font-size:.82rem;line-height:1.6;text-align:center}
@media(prefers-reduced-motion:reduce){.card-inner{transition:none}}
#fortuneToday,#fortuneMatch,#fortuneRisky{margin-top:16px;padding:20px 18px 18px;background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 30px rgba(99,60,52,.06)}
#fortuneToday[hidden],#fortuneMatch[hidden],#fortuneRisky[hidden],#fortuneActions[hidden],.fortune-next[hidden],.fortune-recent[hidden]{display:none}
#fortuneToday .result-head,#fortuneMatch .result-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}
#fortuneToday .eyebrow,#fortuneMatch .eyebrow{margin:0;padding:4px 12px;border:1px solid #f1d2dc;border-radius:999px;background:#fdf1f5;color:#a8476a;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:none}
#fortuneToday .result-badge,#fortuneMatch .result-badge{flex:0 0 auto;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:#fffdfb;color:var(--muted);font-size:.68rem;font-weight:600;white-space:nowrap}
.fortune-number{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}
.fortune-number strong{font-family:Georgia,serif;font-size:3.1rem;line-height:1;color:#1d2d55}
.fortune-number span{font-size:1.02rem;font-weight:700;line-height:1.6;color:var(--ink)}
.fortune-block{margin:0 0 10px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:14px}
.fortune-block h4{margin:0 0 8px;color:var(--plum-dark);font-size:.84rem;font-weight:700}
.fortune-block p{margin:0;font-size:.93rem;line-height:1.8}
.fortune-essence{margin-top:4px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fffaf3}
.fortune-essence summary{cursor:pointer;min-height:32px;color:var(--plum-dark);font-size:.84rem;font-weight:700}
.fortune-essence p{margin:10px 0 0;font-size:.92rem;line-height:1.8}
.fortune-match-text{margin:0 0 12px;font-size:.93rem;line-height:1.8}
#fortuneRisky h4{margin:0 0 8px;color:var(--plum-dark);font-size:.84rem;font-weight:700}
#fortuneRisky ul{margin:0 0 8px;padding-left:1.15em;display:grid;gap:6px}
#fortuneRisky li{font-size:.93rem;line-height:1.7}
#fortuneRisky .trial-small{margin:0;line-height:1.7}
.fortune-recent{margin:12px 0 0;color:var(--muted);font-size:.8rem;line-height:1.6}
.fortune-next{margin:12px 0 0;color:var(--muted);font-size:.78rem;line-height:1.6}
#fortuneActions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px}
#fortuneActions .primary{width:100%;min-height:48px;padding:13px 18px;background:var(--danger);color:#fff;font-size:.95rem}
#fortuneActions .primary:hover{background:#c7262f}
.fortune-more{margin-top:22px}
.fortune-more h3{font-size:1.05rem;margin:6px 0}
@media(min-width:720px){
 #fortuneBirthForm{grid-template-columns:1fr 1fr;align-items:end}
 #fortuneBirthForm .trial-small,#fortuneDraw{grid-column:1/-1}
 #fortuneDraw{width:auto}
 .card-flip{width:38%;max-width:300px}
 #fortuneToday,#fortuneMatch,#fortuneRisky{padding:26px 24px 20px}
 #fortuneActions{grid-template-columns:auto;justify-content:start}
 #fortuneActions .primary{width:auto}
}

/* 見える化カードと、回答の新しい見せ方（スマホ優先・生成り色に統一） */
.insight-card{display:grid;gap:14px;min-width:0;margin:0 0 16px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:16px}
.insight-card[hidden]{display:none}
.insight-label{display:block;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.04em}
.insight-note{display:block;margin-top:6px;color:var(--muted);font-size:.72rem;line-height:1.6}
.insight-heat{display:grid;gap:6px}
.insight-score{font-family:Georgia,serif;font-size:2.4rem;line-height:1;color:var(--plum-dark)}
.insight-gauge{height:10px;border-radius:999px;background:#f2e3e8;overflow:hidden}
.insight-gauge-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#e9a9bb,#c7405f)}
.insight-balance{display:grid;gap:6px}
.insight-bar{display:flex;height:10px;border-radius:999px;background:#dfe8f0;overflow:hidden}
.insight-bar-self{display:block;height:100%;background:#9d4260}
.insight-phase{display:flex;align-items:center;gap:10px}
.insight-phase-name{padding:5px 14px;border-radius:999px;background:#fdf1f5;border:1px solid #f1d2dc;color:#a8476a;font-size:.9rem;font-weight:700}
.insight-tags{display:flex;flex-wrap:wrap;gap:6px}
.insight-tag{padding:4px 10px;border-radius:999px;font-size:.74rem;font-weight:700;line-height:1.5}
.insight-tag.red{background:#fdecec;border:1px solid #eab6b6;color:#a33131}
.insight-tag.blue{background:#e9f1f8;border:1px solid #b3cbe0;color:#2f5578}
.result-opening{margin:0 0 12px;padding:14px 16px;background:#fffaf3;border:1px solid #ecd7bd;border-radius:14px;font-size:.96rem;line-height:1.85}
.result-opening[hidden]{display:none}
.result-insight{margin:0 0 14px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:14px}
.result-insight[hidden]{display:none}
.result-insight h3{margin:0 0 8px;color:var(--plum-dark);font-size:.84rem;font-weight:700}
.result-insight p{margin:0;font-size:.95rem;line-height:1.8}
.result-phase-note{margin-top:8px!important;color:var(--muted)}
.result-comparison{margin:12px 0 0;padding:12px 14px;background:#f7f3ee;border-left:3px solid #c9b79c;border-radius:0 10px 10px 0;color:var(--ink);font-size:.9rem;line-height:1.75}
.result-comparison[hidden]{display:none}
.result-next-check{margin-top:14px;padding:16px;background:#fff6f8;border:2px solid #d9788f;border-radius:14px}
.result-next-check[hidden]{display:none}
.result-next-check h3{margin:0 0 8px;color:#9d4260;font-size:.86rem;font-weight:700}
.result-next-check p{margin:0;font-size:.95rem;line-height:1.8}
.counsellor{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.counsellor-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--plum-dark);color:#fff;font-size:1.05rem;font-weight:700;flex:0 0 auto}
.counsellor-name{display:grid;line-height:1.4}
.counsellor-name strong{font-size:.95rem}
.counsellor-name small{color:var(--muted);font-size:.72rem}
.counsellor-order{margin-left:auto;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:#fffdfb;color:var(--muted);font-size:.7rem;font-weight:600;white-space:nowrap}
.consult-opening{margin:0 0 10px;padding:12px 14px;background:#fffaf3;border:1px solid #ecd7bd;border-radius:12px;font-size:.94rem;line-height:1.85}
.consult-phase{margin:0 0 10px;color:#a8476a;font-size:.86rem;font-weight:700;line-height:1.7}
@media(min-width:720px){.insight-card{grid-template-columns:1fr 1fr;padding:20px}.insight-phase,.insight-tags{grid-column:1/-1}}

/* 占いの2種類切り替え・タイプ別イラスト・入力欄の整え（スマホ優先） */
.fortune-switch{display:grid;grid-template-columns:1fr;gap:8px;min-width:0;margin:0 0 18px}
.fortune-switch-item{display:grid;gap:4px;min-width:0;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.fortune-switch-item strong{font-size:.95rem;line-height:1.5}
.fortune-switch-item small{color:var(--muted);font-size:.78rem;line-height:1.6}
.fortune-switch-item.active{border-color:var(--plum);background:#fdf1f5;box-shadow:inset 0 0 0 1px var(--plum)}
.fortune-switch-item.active strong{color:#a8476a}
.fortune-switch-item:focus-visible{outline:3px solid #ad4358;outline-offset:2px}
#fortuneDailyPane[hidden],#fortuneDeepPane[hidden]{display:none}
.fortune-deep{display:block;min-width:0}
.fortune-deep h3{margin:0 0 6px;font-size:1.05rem}
.fortune-deep .trial-small{margin:0 0 14px}
/* 入力欄：幅と高さを揃え、値が入っても行が崩れないようにする */
#fortuneDeepPane input[type=date],#fortuneDeepPane input[type=time],#fortuneDeepPane select,#fortuneDeepPane textarea,
#fortuneBirthForm input[type=date]{box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid #d9b7ad;border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:16px;line-height:1.4;-webkit-appearance:none;appearance:none}
#fortuneDeepPane textarea{min-height:120px;line-height:1.7;resize:vertical}
#fortuneDeepPane label,#fortuneBirthForm label{display:block;margin-top:12px;color:var(--plum-dark);font-size:.86rem;font-weight:700;line-height:1.6}
#fortuneDeepPane .trial-check,#fortuneBirthForm .trial-check{display:flex;align-items:flex-start;gap:8px;margin-top:10px;font-weight:400;font-size:.88rem;line-height:1.7;color:var(--ink)}
#fortuneDeepPane .trial-check input,#fortuneBirthForm .trial-check input{flex:0 0 auto;width:20px;height:20px;min-height:0;margin-top:2px;accent-color:#9d4260}
#fortuneDeepPane #trialSend{width:100%;min-height:50px;margin-top:14px;padding:14px 22px;font-size:.98rem}
#fortuneDeepPane .experience-help{margin:12px 0}
#birthFields,#birthTimeFields,#fortuneFields{min-width:0}
#birthTimeFields p{font-size:.82rem;line-height:1.7;color:var(--muted)}
.psych-title{display:flex;align-items:center;gap:12px;min-width:0;margin-bottom:14px}
.psych-portrait{flex:0 0 40%;max-width:40%;min-width:0;display:block}
.psych-portrait img{display:block;width:100%;height:auto;border-radius:14px;background:#fdf1f5}
.psych-title-text{min-width:0}
.psych-title .psych-type-name{margin:0 0 4px}
.psych-title .psych-headline{margin:0}
@media(min-width:720px){.fortune-switch{grid-template-columns:1fr 1fr}#fortuneDeepPane #trialSend{width:auto}}

/* 購入前の確認と、決済から戻ったときの表示（スマホ優先） */
.checkout-sheet,.checkout-return{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;padding:16px;background:rgba(41,26,24,.5);overflow-y:auto}
.checkout-sheet[hidden],.checkout-return[hidden]{display:none}
.checkout-card{width:100%;max-width:520px;margin:auto 0 0;padding:22px 18px 20px;background:var(--panel);border:1px solid var(--line);border-radius:20px 20px 0 0;box-shadow:0 -10px 40px rgba(41,26,24,.25)}
.checkout-card h2{margin:0 0 14px;font-size:1.1rem;line-height:1.6}
.checkout-terms{display:grid;gap:0;margin:0 0 14px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.checkout-terms>div{display:grid;grid-template-columns:6.5em 1fr;gap:10px;padding:11px 14px;border-bottom:1px solid var(--line)}
.checkout-terms>div:last-child{border-bottom:0}
.checkout-terms dt{margin:0;color:var(--muted);font-size:.8rem;font-weight:700;line-height:1.7}
.checkout-terms dd{margin:0;font-size:.88rem;line-height:1.7}
#checkoutPrice{font-weight:700;font-size:1rem}
.checkout-note{margin:0 0 14px;color:var(--muted);font-size:.78rem;line-height:1.7}
.checkout-actions{display:grid;gap:10px}
.checkout-actions .primary,.checkout-actions .secondary{width:100%;min-height:50px;padding:14px 18px;font-size:.95rem}
#checkoutReturnText{margin:0 0 16px;font-size:.92rem;line-height:1.8}
@media(min-width:720px){.checkout-sheet,.checkout-return{align-items:center}.checkout-card{margin:0;border-radius:20px;padding:26px 24px 22px}.checkout-actions{grid-template-columns:auto auto;justify-content:start}.checkout-actions .primary,.checkout-actions .secondary{width:auto}}

#authCard{scroll-margin-top:12px}

/* 占いの表示欄：ボタン直下に出す（最上部の通知は画面外で気づけないため） */
.fortune-notice{display:grid;gap:8px;justify-items:start;margin:12px 0 0;padding:14px 16px;background:#fff6f8;border:1px solid #e9b9c7;border-radius:12px;color:var(--ink);font-size:.9rem;line-height:1.75}
.fortune-notice[hidden]{display:none}
.fortune-notice-link{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;color:#9d4260;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.fortune-gate{margin:0 0 14px;color:var(--muted);font-size:.8rem;line-height:1.7}
.fortune-gate[hidden]{display:none}
