:root{--ink:#222b44;--muted:#737d94;--line:#e3e7f1;--brand:#4d5bd5;--brand2:#6f7deb;--brand-soft:#eef0ff;--bg:#f7f8fc;--card:#fff;--shadow:0 18px 52px rgba(43,53,102,.08)}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 88% 7%,rgba(104,121,232,.10),transparent 28%),linear-gradient(#fff 0,#fbfcff 34%,#f6f7fb 100%);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.7}button,textarea{font:inherit}.oppai-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.oppai-header{position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(224,228,240,.86);background:rgba(255,255,255,.86);backdrop-filter:blur(18px)}.oppai-header-inner{display:flex;align-items:center;justify-content:space-between;min-height:70px;gap:24px}.oppai-brand{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none}.oppai-brand>span:last-child{display:flex;flex-direction:column;line-height:1.05}.oppai-brand strong{font-size:23px;letter-spacing:-.035em;color:#3442a4}.oppai-brand small{margin-top:5px;color:#828aa2;font-size:9px;font-weight:800;letter-spacing:.12em}.oppai-brand-mark{position:relative;display:block;width:36px;height:36px;border-radius:11px;border:1px solid #dce0f5;background:linear-gradient(145deg,#fff,#eef0ff);box-shadow:0 5px 14px rgba(77,91,213,.13)}.oppai-brand-mark:before,.oppai-brand-mark:after{content:"";position:absolute;left:50%;top:50%;background:#6170df;transform:translate(-50%,-50%) rotate(45deg);border-radius:2px}.oppai-brand-mark:before{width:4px;height:17px}.oppai-brand-mark:after{width:17px;height:4px}.oppai-brand-mark i{position:absolute;inset:-6px;border:1px dashed rgba(77,91,213,.2);border-radius:50%}.oppai-brand-mark b{position:absolute;width:5px;height:5px;border-radius:50%;background:#7f8bed;right:-3px;top:5px}.oppai-powered{color:#9aa1b2;font-size:11px;font-weight:700}.oppai-powered a{color:#4654bd;text-decoration:none;font-weight:900}.oppai-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(440px,1fr);align-items:center;gap:30px;padding-top:74px;padding-bottom:58px}.oppai-kicker{display:inline-flex;align-items:center;gap:8px;color:#5966c9;font-size:11px;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.oppai-kicker i{padding:2px 6px;border-radius:999px;background:#eef0ff;color:#6672ce;font-size:8px;font-style:normal;letter-spacing:.08em}.oppai-hero h1{margin:12px 0 18px;font-size:clamp(38px,4.1vw,56px);line-height:1.17;letter-spacing:-.045em;color:#252e48}.oppai-hero-copy>p{max-width:620px;margin:0;color:#657086;font-size:15px;line-height:2}.oppai-hero-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:23px}.oppai-hero-points span{padding:6px 9px;border:1px solid #e1e5f3;border-radius:999px;background:rgba(255,255,255,.78);color:#6d7690;font-size:10px;font-weight:800}.oppai-logo-panel{position:relative;min-height:330px;border:1px solid rgba(224,228,241,.8);border-radius:30px;background:rgba(255,255,255,.7);box-shadow:var(--shadow);overflow:hidden}.oppai-logo-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(77,91,213,.024) 1px,transparent 1px),linear-gradient(90deg,rgba(77,91,213,.024) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}.oppai-logo-panel img{position:absolute;left:50%;top:50%;width:112%;max-width:none;transform:translate(-50%,-50%);display:block}.oppai-talk-section{padding:28px 0 74px}.oppai-talk-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.oppai-talk-heading h2,.oppai-about h2{margin:4px 0 0;font-size:28px;line-height:1.35;letter-spacing:-.025em}.oppai-reset{border:1px solid #dde1ec;border-radius:10px;background:#fff;padding:8px 12px;color:#7a8397;font-size:11px;font-weight:800;cursor:pointer}.oppai-reset:hover{border-color:#cbd1e7;color:#4f5cb8}.oppai-workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.oppai-chat-card,.oppai-profile-card{border:1px solid #e0e4ef;border-radius:22px;background:rgba(255,255,255,.92);box-shadow:0 12px 34px rgba(34,44,87,.055)}.oppai-chat-card{overflow:hidden}.oppai-chat-log{min-height:360px;max-height:720px;overflow-y:auto;padding:25px 25px 15px;scrollbar-width:thin;scrollbar-color:#d8ddea transparent}.oppai-message{display:flex;align-items:flex-start;gap:10px;margin:0 0 18px}.oppai-message.is-user{justify-content:flex-end}.oppai-avatar{position:relative;flex:none;width:30px;height:30px;margin-top:2px;border:1px solid #dce1f5;border-radius:10px;background:linear-gradient(145deg,#fff,#eef0ff);box-shadow:0 4px 10px rgba(77,91,213,.08)}.oppai-avatar:before,.oppai-avatar:after{content:"";position:absolute;left:50%;top:50%;background:#6170df;transform:translate(-50%,-50%) rotate(45deg);border-radius:2px}.oppai-avatar:before{width:3px;height:13px}.oppai-avatar:after{width:13px;height:3px}.oppai-bubble{max-width:min(720px,86%);border:1px solid #e3e6f1;border-radius:7px 17px 17px 17px;background:#fbfcff;padding:12px 15px;color:#39425a;font-size:14px;line-height:1.75}.oppai-message.is-user .oppai-bubble{border-color:#d8dcf6;border-radius:17px 7px 17px 17px;background:#eef0ff;color:#38449b}.oppai-bubble p{margin:0}.oppai-bubble p+p{margin-top:5px}.oppai-subline{color:#858da0;font-size:11px}.oppai-thinking{display:inline-flex;align-items:center;gap:5px}.oppai-thinking i{width:5px;height:5px;border-radius:50%;background:#7884dd;animation:oppaiDot 1s ease-in-out infinite}.oppai-thinking i:nth-child(2){animation-delay:.13s}.oppai-thinking i:nth-child(3){animation-delay:.26s}@keyframes oppaiDot{0%,70%,100%{transform:translateY(0);opacity:.35}35%{transform:translateY(-4px);opacity:1}}.oppai-initial-choices,.oppai-choice-row{display:flex;flex-wrap:wrap;gap:7px;padding:0 25px 15px 65px}.oppai-initial-choices button,.oppai-choice-row button{border:1px solid #dce1f4;border-radius:999px;background:#fff;padding:7px 10px;color:#5864bb;font-size:11px;font-weight:850;cursor:pointer;transition:.15s ease}.oppai-initial-choices button:hover,.oppai-choice-row button:hover{transform:translateY(-1px);border-color:#bdc6ee;background:#f7f8ff}.oppai-recommendations{display:grid;gap:10px;margin:10px 0 3px}.oppai-reco{display:grid;grid-template-columns:110px minmax(0,1fr);gap:13px;border:1px solid #e4e7f0;border-radius:14px;background:#fff;padding:10px;text-decoration:none;color:inherit;transition:.17s ease}.oppai-reco:hover{border-color:#cfd5ee;box-shadow:0 7px 20px rgba(50,61,114,.07);transform:translateY(-1px)}.oppai-reco-thumb{aspect-ratio:4/3;border-radius:10px;background:#f0f1f5;overflow:hidden}.oppai-reco-thumb img{width:100%;height:100%;display:block;object-fit:contain}.oppai-reco-body{min-width:0}.oppai-reco-no{display:inline-block;color:#8089a0;font-size:9px;font-weight:950;letter-spacing:.08em}.oppai-reco-title{margin:2px 0 0;color:#2d354a;font-size:13px;font-weight:900;line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.oppai-reco-maker{margin:3px 0 0;color:#8a92a4;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.oppai-reco-meta,.oppai-evidence{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.oppai-reco-meta span{padding:2px 6px;border-radius:5px;background:#f3f4f8;color:#737d91;font-size:9px;font-weight:750}.oppai-evidence span{padding:3px 6px;border-radius:6px;background:#eef0ff;color:#5360b7;font-size:9px;font-weight:850}.oppai-evidence span small{margin-left:3px;color:#9299b9;font-size:8px;font-weight:700}.oppai-reco-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px;color:#8991a2;font-size:9px}.oppai-reco-foot b{color:#4f5cb7;font-size:10px}.oppai-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin:0 15px 0;border:1px solid #dce0eb;border-radius:16px;background:#fff;padding:9px 9px 9px 14px;box-shadow:0 8px 24px rgba(41,51,95,.06)}.oppai-composer:focus-within{border-color:#bfc7ef;box-shadow:0 0 0 3px rgba(77,91,213,.07),0 8px 24px rgba(41,51,95,.06)}.oppai-composer textarea{width:100%;min-height:50px;max-height:150px;resize:none;border:0;outline:0;background:transparent;padding:4px 0;color:#30384c;font-size:14px;line-height:1.55}.oppai-composer textarea::placeholder{color:#a5acba}.oppai-composer button{align-self:end;min-width:66px;height:40px;border:0;border-radius:11px;background:linear-gradient(135deg,#5361d1,#6978e5);color:#fff;font-size:12px;font-weight:900;cursor:pointer;box-shadow:0 6px 15px rgba(77,91,213,.18)}.oppai-composer button:disabled{opacity:.45;cursor:default}.oppai-composer-note{margin:7px 22px 16px;color:#a0a6b4;font-size:9px}.oppai-profile-card{position:sticky;top:88px;padding:18px}.oppai-profile-head{display:flex;align-items:center;gap:10px;padding-bottom:13px;border-bottom:1px solid #eceef4}.oppai-profile-head>div{display:flex;flex-direction:column}.oppai-profile-head strong{font-size:13px}.oppai-profile-head small{margin-top:3px;color:#939aab;font-size:9px;line-height:1.45}.oppai-profile-pulse{width:9px;height:9px;border-radius:50%;background:#6472df;box-shadow:0 0 0 5px rgba(100,114,223,.09);animation:oppaiPulse 2s ease-out infinite}@keyframes oppaiPulse{0%{box-shadow:0 0 0 0 rgba(100,114,223,.18)}70%{box-shadow:0 0 0 8px rgba(100,114,223,0)}100%{box-shadow:0 0 0 0 rgba(100,114,223,0)}}.oppai-condition-list{display:flex;flex-wrap:wrap;gap:7px;padding:15px 0}.oppai-condition-list p{margin:0;color:#989faf;font-size:10px;line-height:1.7}.oppai-condition{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border:1px solid #e0e4f3;border-radius:7px;background:#f8f9ff;color:#5965bb;font-size:10px;font-weight:850}.oppai-condition.is-negative{border-color:#ece0e5;background:#fff8fa;color:#a15f73}.oppai-condition small{color:#a1a7b9;font-size:8px}.oppai-profile-note{margin-top:4px;border-top:1px solid #eceef4;padding-top:13px}.oppai-profile-note strong{color:#5a6380;font-size:10px}.oppai-profile-note p{margin:5px 0 0;color:#939bac;font-size:9px;line-height:1.7}.oppai-about{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-bottom:80px}.oppai-about-card{border:1px solid #e0e4ef;border-radius:22px;background:#fff;padding:25px;box-shadow:0 9px 30px rgba(41,52,93,.04)}.oppai-about-card h2{font-size:22px}.oppai-about-card>p{margin:12px 0 0;color:#747e92;font-size:12px;line-height:1.9}.oppai-about-card>a{display:inline-block;margin-top:13px;color:#4d5bb8;font-size:11px;font-weight:850;text-decoration:none}.oppai-flow{display:flex;align-items:center;gap:7px;margin-top:20px;overflow-x:auto;padding-bottom:3px}.oppai-flow span{flex:none;padding:6px 8px;border-radius:7px;background:#f2f4ff;color:#5964ba;font-size:9px;font-weight:850}.oppai-flow i{flex:none;width:13px;height:1px;background:#cdd3ef;position:relative}.oppai-flow i:after{content:"";position:absolute;right:0;top:-2px;width:4px;height:4px;border-top:1px solid #aeb7df;border-right:1px solid #aeb7df;transform:rotate(45deg)}.oppai-footer{border-top:1px solid #e3e6ef;background:#fff;padding:24px 0 20px}.oppai-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.oppai-footer-inner>div{display:flex;flex-direction:column}.oppai-footer strong{color:#3c49a9;font-size:17px}.oppai-footer span{color:#9ba2b1;font-size:8px;letter-spacing:.07em}.oppai-footer nav{display:flex;flex-wrap:wrap;gap:15px}.oppai-footer a{color:#737c90;font-size:10px;text-decoration:none}.oppai-age-note{text-align:center;margin:15px 0 0;color:#a1a7b3;font-size:9px}.oppai-profile-bridge{position:absolute;width:1px;height:1px;border:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:900px){.oppai-hero{grid-template-columns:1fr;padding-top:50px}.oppai-logo-panel{min-height:280px;order:-1}.oppai-workspace{grid-template-columns:1fr}.oppai-profile-card{position:static}.oppai-about{grid-template-columns:1fr}.oppai-hero-copy{text-align:center}.oppai-hero-copy>p{margin-inline:auto}.oppai-hero-points{justify-content:center}}
@media(max-width:600px){.oppai-shell{width:min(100% - 24px,1180px)}.oppai-header-inner{min-height:62px}.oppai-brand small{display:none}.oppai-powered{font-size:9px}.oppai-hero{padding-top:28px;padding-bottom:42px}.oppai-logo-panel{min-height:205px;border-radius:20px}.oppai-logo-panel img{width:112%}.oppai-hero h1{font-size:37px}.oppai-hero-copy>p{font-size:13px;line-height:1.85}.oppai-talk-section{padding-top:12px}.oppai-talk-heading h2{font-size:24px}.oppai-reset{font-size:9px}.oppai-chat-log{min-height:290px;padding:18px 13px 10px}.oppai-message{gap:7px}.oppai-avatar{width:27px;height:27px;border-radius:9px}.oppai-bubble{max-width:89%;padding:10px 12px;font-size:12px}.oppai-initial-choices,.oppai-choice-row{padding:0 12px 12px 47px;gap:5px}.oppai-initial-choices button,.oppai-choice-row button{padding:6px 8px;font-size:9.5px}.oppai-reco{grid-template-columns:86px minmax(0,1fr);gap:9px;padding:8px}.oppai-reco-title{font-size:11.5px}.oppai-reco-meta span,.oppai-evidence span{font-size:8px}.oppai-composer{margin:0 10px;padding:7px 7px 7px 11px}.oppai-composer textarea{font-size:12px}.oppai-composer button{min-width:56px;height:37px}.oppai-composer-note{margin-left:16px}.oppai-about{padding-bottom:50px}.oppai-about-card{padding:20px}.oppai-footer-inner{flex-direction:column;align-items:flex-start}.oppai-footer nav{gap:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.oppai-profile-pulse,.oppai-thinking i{animation:none!important}}

/* OppAI Talk condition transparency */
.oppai-condition-list{display:block;padding:13px 0 8px}
.oppai-condition-group{padding:8px 0 10px;border-bottom:1px solid #f0f1f6}
.oppai-condition-group:last-of-type{border-bottom:0}
.oppai-condition-group h3{margin:0 0 7px;color:#7b8396;font-size:9px;font-weight:900;letter-spacing:.04em}
.oppai-condition-group>div{display:flex;flex-wrap:wrap;gap:6px}
.oppai-condition.is-required{border-color:#cdd3f4;background:#eef0ff;color:#414fae}
.oppai-condition.is-term{border-style:dashed;background:#fff}
.oppai-condition.is-profile{border-color:#e5e7ee;background:#f7f8fa;color:#7a8293}
.oppai-condition-help{margin:5px 0 0!important;color:#9ba2b1!important;font-size:8px!important;line-height:1.55!important}
.oppai-understood{margin:0 0 10px;padding:9px 10px;border:1px solid #dde2f5;border-radius:10px;background:#f7f8ff}
.oppai-understood>strong{display:block;margin-bottom:5px;color:#727dbf;font-size:9px;letter-spacing:.05em}
.oppai-understood>div{display:flex;flex-wrap:wrap;gap:5px}
.oppai-understood span{display:inline-flex;padding:3px 6px;border-radius:6px;background:#eef0ff;color:#4f5cb5;font-size:9px;font-weight:850}
.oppai-understood span.is-negative{background:#fff1f5;color:#9d5a70}
.oppai-understood.is-empty{border-style:dashed;background:#fbfbfd}
.oppai-understood.is-empty p{color:#8d94a4;font-size:10px}

/* OppAI selection-first prototype v11.0 */
.oppai-initial-choices{padding-top:2px}
.oppai-initial-choices button small{margin-left:4px;color:#a5abc0;font-size:8px;font-weight:800}
.oppai-initial-choices button:disabled,.oppai-initial-choices .is-disabled-choice{cursor:not-allowed;opacity:.48;transform:none!important;background:#f5f6f9;border-style:dashed;color:#8e95a7}
.oppai-free-input-disabled{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:2px 15px 16px 65px;padding:10px 12px;border:1px dashed #dfe2ec;border-radius:12px;background:#f8f9fb;color:#858da0}
.oppai-free-input-disabled>div{display:flex;flex-direction:column;gap:2px}
.oppai-free-input-disabled strong{font-size:10px;color:#71798c}
.oppai-free-input-disabled span{font-size:8px}
.oppai-free-input-disabled button{border:0;border-radius:999px;background:#eceef3;padding:5px 8px;color:#9ba1ae;font-size:8px;font-weight:900}
.oppai-step{margin-bottom:5px}
.oppai-step span{display:inline-flex;padding:3px 6px;border-radius:5px;background:#eef0ff;color:#6570c6;font-size:8px;font-weight:950;letter-spacing:.06em}
.oppai-step.is-result span{background:#edf7f0;color:#4f8062}
.oppai-restart-inline{border:1px solid #dce1f4!important;border-radius:999px!important;background:#fff!important;padding:7px 10px!important;color:#5864bb!important;font-size:10px!important;font-weight:850!important;cursor:pointer!important}
@media(max-width:600px){.oppai-free-input-disabled{margin:2px 10px 12px 47px;padding:8px 10px}.oppai-free-input-disabled strong{font-size:9px}}

/* v11.1 preference-observation prototype */
.oppai-start-diagnosis{width:100%;padding:18px 22px;border:0;border-radius:16px;background:#202a78;color:#fff;font-weight:800;font-size:16px;cursor:pointer;box-shadow:0 10px 28px rgba(32,42,120,.18)}
.oppai-diagnosis-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%}
.oppai-diagnosis-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:0;border:1px solid #e2e5f1;border-radius:16px;overflow:hidden;background:#fff;text-align:left;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.oppai-diagnosis-card:hover{transform:translateY(-3px);border-color:#aab2ea;box-shadow:0 12px 28px rgba(37,48,118,.14)}
.oppai-diagnosis-card:focus-visible{outline:3px solid rgba(77,91,213,.25);outline-offset:2px}
.oppai-diag-num{position:absolute;z-index:2;top:8px;left:8px;display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:rgba(20,25,65,.82);color:#fff;font-size:12px;font-weight:800}
.oppai-diag-thumb{display:block;aspect-ratio:3/4;background:#f3f4f8;overflow:hidden}
.oppai-diag-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.oppai-diag-body{display:flex;flex-direction:column;gap:6px;padding:11px 11px 12px;min-height:145px}
.oppai-diag-body>b{font-size:13px;line-height:1.45;color:#1f2342;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.oppai-diag-body>small{font-size:11px;color:#737891;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.oppai-diag-meta,.oppai-diag-tags{display:flex;flex-wrap:wrap;gap:4px}
.oppai-diag-meta i,.oppai-diag-tags span{font-style:normal;font-size:10px;line-height:1.25;padding:4px 6px;border-radius:999px;background:#f1f2f8;color:#555c79}
.oppai-diag-tags span{background:#f7f7fb;color:#747990}
.oppai-diagnosis-actions{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.oppai-diagnosis-actions button,.oppai-initial-choices>.is-disabled-choice{padding:11px 14px;border-radius:12px;border:1px solid #dfe2ee;background:#fff;color:#4d526c;font-weight:700;cursor:pointer}
.oppai-diagnosis-actions .is-disabled-choice,.oppai-initial-choices>.is-disabled-choice{opacity:.5;cursor:not-allowed}
.oppai-profile-explain{margin:12px 0 0;font-size:12px;line-height:1.65;color:#737891}
.oppai-condition b{font-weight:800}
@media(max-width:900px){.oppai-diagnosis-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.oppai-diag-body{min-height:130px}}
@media(max-width:520px){.oppai-diagnosis-grid{gap:8px}.oppai-diagnosis-card{border-radius:12px}.oppai-diag-body{padding:9px;min-height:125px}.oppai-diag-body>b{font-size:12px}.oppai-diagnosis-actions{display:grid;grid-template-columns:1fr}.oppai-diagnosis-actions button{width:100%}}

/* v11.2: independent first-impression rating for each work */
.oppai-diagnosis-card{cursor:default}
.oppai-diagnosis-card:hover{transform:none;box-shadow:none;border-color:#e2e5f1}
.oppai-diag-body{min-height:86px}
.oppai-rating-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:0 10px 11px}
.oppai-rating-row button{width:100%;min-height:36px;padding:7px 3px;border:1px solid #dfe2ee;border-radius:9px;background:#fff;color:#555c79;font-size:11px;font-weight:750;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease,box-shadow .14s ease}
.oppai-rating-row button:hover{border-color:#aab2ea;background:#f8f9ff}
.oppai-rating-row button.is-active{border-color:#4d5bd5;background:#eef0ff;color:#303ba0;box-shadow:inset 0 0 0 1px rgba(77,91,213,.18)}
.oppai-diagnosis-actions [data-submit-ratings]{background:#4d5bd5;color:#fff;border-color:#4d5bd5}
.oppai-diagnosis-actions [data-submit-ratings]:disabled{opacity:.42;cursor:not-allowed}
.oppai-initial-diagnosis{margin:14px 0 18px;padding:15px 16px;border:1px solid #e0e4f5;border-radius:14px;background:#f8f9ff}
.oppai-initial-diagnosis h3{margin:0 0 10px;font-size:15px;color:#252b57}
.oppai-initial-diagnosis p{margin:7px 0;line-height:1.65}
@media(max-width:520px){.oppai-rating-row{padding:0 8px 9px;gap:3px}.oppai-rating-row button{font-size:9px;padding:7px 2px}.oppai-diag-body{min-height:78px}}

/* v11.3: immediate viewing route from diagnosis cards */
.oppai-quick-view{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;margin-top:7px;padding:4px 8px;border:1px solid #d9ddea;border-radius:999px;background:#fff;color:#59617d;font-size:10px;font-weight:750;line-height:1.2;text-decoration:none}
.oppai-quick-view:hover{border-color:#aab2ea;background:#f6f7ff;color:#303ba0}

/* v11.4: supplemental keyword/tag observation */
.oppai-keyword-grid{display:flex;flex-wrap:wrap;gap:9px;margin:4px 0 12px}
.oppai-keyword-grid button{border:1px solid #d9ddeb;background:#fff;color:#343a5e;border-radius:999px;padding:9px 13px;font-weight:700;cursor:pointer}
.oppai-keyword-grid button:hover{border-color:#9ca6e6}
.oppai-keyword-grid button.is-active{background:#eef0ff;border-color:#6572da;color:#29369d;box-shadow:0 0 0 2px rgba(77,91,213,.08)}

/* v11.6: coarse preference prior before visual diagnosis */
.oppai-basic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}
.oppai-basic-card{display:grid;grid-template-columns:minmax(115px,.8fr) minmax(0,1.7fr);align-items:center;gap:12px;padding:12px 13px;border:1px solid #e1e4ef;border-radius:14px;background:#fff}
.oppai-basic-title{display:flex;flex-direction:column;gap:3px;min-width:0}
.oppai-basic-title small{color:#969daf;font-size:9px;font-weight:750}
.oppai-basic-title strong{color:#343a59;font-size:13px;line-height:1.35}
.oppai-basic-rating{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.oppai-basic-rating button{min-height:34px;padding:6px 5px;border:1px solid #dfe2ee;border-radius:9px;background:#fff;color:#555c79;font-size:10px;font-weight:750;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease,box-shadow .14s ease}
.oppai-basic-rating button:hover{border-color:#aab2ea;background:#f8f9ff}
.oppai-basic-rating button.is-active{border-color:#4d5bd5;background:#eef0ff;color:#303ba0;box-shadow:inset 0 0 0 1px rgba(77,91,213,.18)}
.oppai-diagnosis-actions [data-submit-basics]{background:#4d5bd5;color:#fff;border-color:#4d5bd5}
.oppai-diagnosis-actions [data-submit-basics]:disabled{opacity:.42;cursor:not-allowed}
@media(max-width:760px){.oppai-basic-grid{grid-template-columns:1fr}.oppai-basic-card{grid-template-columns:1fr;gap:8px}.oppai-basic-title{flex-direction:row;align-items:baseline;gap:7px}}
@media(max-width:430px){.oppai-basic-rating{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}.oppai-basic-rating button{min-height:32px;font-size:9px;padding:5px 2px}}


.oppai-candidate-count{margin:14px 0 18px;padding:14px 16px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.045);display:flex;gap:8px 12px;align-items:baseline;flex-wrap:wrap}.oppai-candidate-count span{font-size:12px;letter-spacing:.08em;opacity:.72}.oppai-candidate-count strong{font-size:22px;line-height:1.2}.oppai-candidate-count small{flex-basis:100%;font-size:11px;line-height:1.55;opacity:.62}

/* v11.8: dedicated chat UI */
.oppai-launch-section{padding:20px 0 74px}.oppai-launch-card{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px;border:1px solid #e0e4ef;border-radius:22px;background:#fff;box-shadow:var(--shadow)}.oppai-launch-card h2{margin:4px 0 8px;font-size:28px}.oppai-launch-card p{margin:0;color:#747e92;font-size:13px}.oppai-launch-button{flex:none;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:14px;background:linear-gradient(135deg,#4d5bd5,#6877e7);color:#fff;text-decoration:none;font-weight:900;box-shadow:0 9px 22px rgba(77,91,213,.22)}
.oppai-talk-page{height:100vh;overflow:hidden;background:#f6f7fb}.oppai-talk-page .oppai-header{position:relative}.oppai-talk-main{height:calc(100vh - 70px);overflow:hidden}.oppai-talk-app{height:100%;display:flex;flex-direction:column;padding:18px 0}.oppai-talk-app-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:12px}.oppai-talk-app-head h1{margin:3px 0 0;font-size:22px;line-height:1.35}.oppai-talk-header-actions{display:flex;align-items:center;gap:10px;color:#7c8498;font-size:11px;font-weight:800}.oppai-workspace.is-dedicated{min-height:0;flex:1;align-items:stretch}.oppai-workspace.is-dedicated .oppai-chat-card{height:100%;display:flex;flex-direction:column;min-height:0}.oppai-workspace.is-dedicated .oppai-chat-log{flex:1;min-height:0;max-height:none;padding:22px 22px 24px;scroll-padding-top:14px}.oppai-input-dock{flex:none;border-top:1px solid #e7e9f2;background:rgba(250,251,255,.96);padding:14px 18px 16px;max-height:58vh;overflow:auto}.oppai-workspace.is-dedicated .oppai-profile-card{height:fit-content;max-height:100%;overflow:auto;top:0}
.oppai-message{animation:oppaiMessageIn .28s ease both}@keyframes oppaiMessageIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.oppai-diagnosis-grid{gap:10px}.oppai-diagnosis-card{position:relative;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}.oppai-diag-thumb{aspect-ratio:560/420;background:#f2f3f8;display:flex;align-items:center;justify-content:center}.oppai-diag-thumb img{width:100%;height:100%;object-fit:contain;background:#f2f3f8}.oppai-diag-body{min-height:92px;padding:10px 11px;display:flex;flex-direction:column}.oppai-diag-body>b{height:2.9em;min-height:2.9em;-webkit-line-clamp:2;line-clamp:2}.oppai-diag-body>small{margin-top:4px}.oppai-quick-view{margin-top:auto;width:max-content}
.oppai-diag-num{transition:.18s ease}.oppai-diagnosis-card.is-rated .oppai-diag-num:after{content:'✓';margin-left:4px;font-weight:900}.oppai-diagnosis-card.is-rated{box-shadow:0 0 0 2px rgba(77,91,213,.06)}.oppai-diagnosis-card.rating-love{border-color:#ee8da8;background:#fff8fa}.oppai-diagnosis-card.rating-like{border-color:#f0b574;background:#fffaf4}.oppai-diagnosis-card.rating-neutral{border-color:#bfc5d4;background:#fbfcfe}.oppai-diagnosis-card.rating-dislike{border-color:#91b3df;background:#f7fbff}.oppai-diagnosis-card.rating-hate{border-color:#9a8bc8;background:#faf8ff}.oppai-diagnosis-card.is-pop{animation:oppaiPick .24s ease}@keyframes oppaiPick{0%{transform:scale(1)}45%{transform:scale(1.018)}100%{transform:scale(1)}}
.oppai-rating-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.oppai-rating-row button,.oppai-basic-rating button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;transition:transform .14s ease,border-color .14s ease,background .14s ease,color .14s ease,box-shadow .14s ease}.oppai-rating-row button:active,.oppai-basic-rating button:active{transform:scale(.94)}.oppai-rating-icon{font-size:15px;line-height:1}.oppai-rating-row button[data-rating="love"].is-active,.oppai-basic-rating button[data-basic-rating="love"].is-active{border-color:#e36c8d;background:#fff0f4;color:#b73e63}.oppai-rating-row button[data-rating="like"].is-active,.oppai-basic-rating button[data-basic-rating="like"].is-active{border-color:#e8a35a;background:#fff5e9;color:#a75e12}.oppai-rating-row button[data-rating="neutral"].is-active,.oppai-basic-rating button[data-basic-rating="neutral"].is-active{border-color:#9da5b8;background:#f2f4f8;color:#555e72}.oppai-rating-row button[data-rating="dislike"].is-active,.oppai-basic-rating button[data-basic-rating="dislike"].is-active{border-color:#6e9fd5;background:#eef6ff;color:#386da9}.oppai-rating-row button[data-rating="hate"].is-active,.oppai-basic-rating button[data-basic-rating="hate"].is-active{border-color:#806db3;background:#f3efff;color:#594291}
.oppai-basic-card.is-rated{box-shadow:0 0 0 1px rgba(77,91,213,.05)}.oppai-basic-card.rating-love{border-color:#ee8da8;background:#fff8fa}.oppai-basic-card.rating-like{border-color:#f0b574;background:#fffaf4}.oppai-basic-card.rating-neutral{border-color:#bfc5d4}.oppai-basic-card.rating-dislike{border-color:#91b3df;background:#f7fbff}.oppai-basic-card.rating-hate{border-color:#9a8bc8;background:#faf8ff}
.oppai-composer-footer{position:sticky;bottom:-16px;z-index:8;display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:14px -18px -16px;padding:11px 18px 13px;border-top:1px solid #e5e8f2;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.oppai-completion{margin-right:auto;color:#8c94a6;font-size:11px;font-weight:800}.oppai-completion.is-complete{color:#3f4fb0}.oppai-send{display:inline-flex!important;align-items:center;gap:8px!important;min-width:92px;justify-content:center;border:0!important;border-radius:13px!important;background:linear-gradient(135deg,#4d5bd5,#6e7cea)!important;color:#fff!important;padding:10px 14px!important;font-weight:900!important;box-shadow:0 8px 20px rgba(77,91,213,.2);cursor:pointer}.oppai-send svg{width:18px;height:18px;fill:currentColor}.oppai-send:disabled{opacity:.38;box-shadow:none;cursor:not-allowed}.oppai-secondary-action{border:1px solid #dfe3ef!important;border-radius:12px!important;background:#fff!important;color:#59617b!important;padding:9px 13px!important}
.oppai-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-width:min(560px,70vw)}.oppai-history-item{display:grid;grid-template-columns:58px minmax(0,1fr);gap:8px;align-items:center;padding:6px;border:1px solid #dfe3f0;border-radius:10px;background:#fff}.oppai-history-thumb{aspect-ratio:560/420;border-radius:7px;background:#f1f2f6;overflow:hidden}.oppai-history-thumb img{width:100%;height:100%;object-fit:contain}.oppai-history-item div:last-child{min-width:0}.oppai-history-item b{display:block;font-size:10px}.oppai-history-item span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#6f778c;font-size:9px}.oppai-history-item.rating-love b{color:#b73e63}.oppai-history-item.rating-like b{color:#a75e12}.oppai-history-item.rating-dislike b{color:#386da9}.oppai-history-item.rating-hate b{color:#594291}.oppai-history-basic{display:flex;flex-wrap:wrap;gap:6px;max-width:620px}.oppai-history-basic>span{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border-radius:8px;background:#fff;border:1px solid #dfe3ef;font-size:9px}.oppai-history-basic small{font-weight:800}.oppai-history-tags{display:flex;align-items:center;gap:8px;max-width:580px}.oppai-history-tags strong{font-size:10px}.oppai-history-tags span{font-size:10px;line-height:1.55}
.oppai-keyword-add{margin-top:12px;padding:12px;border:1px solid #e2e5ef;border-radius:14px;background:#fff}.oppai-keyword-add>label{display:flex;align-items:baseline;gap:6px;margin-bottom:7px;color:#4a526c;font-size:11px;font-weight:850}.oppai-keyword-add label small{color:#9aa1b1;font-size:9px}.oppai-keyword-search-wrap{position:relative}.oppai-keyword-search-wrap input{width:100%;height:40px;border:1px solid #dce1ed;border-radius:10px;padding:0 11px;outline:none;color:#333b53;background:#fbfcff}.oppai-keyword-search-wrap input:focus{border-color:#9da9e6;box-shadow:0 0 0 3px rgba(77,91,213,.07)}.oppai-keyword-suggestions{position:absolute;left:0;right:0;top:44px;z-index:20;padding:6px;border:1px solid #dfe3ed;border-radius:11px;background:#fff;box-shadow:0 12px 28px rgba(37,47,90,.14)}.oppai-keyword-suggestions button{display:block;width:100%;text-align:left;border:0!important;border-radius:8px!important;background:#fff!important;color:#3e465d!important;padding:8px 9px!important}.oppai-keyword-suggestions button:hover{background:#f5f7ff!important}.oppai-keyword-searching,.oppai-keyword-empty{display:flex;align-items:center;gap:7px;padding:9px;color:#7d8497;font-size:10px;font-weight:800}.oppai-keyword-searching span{width:11px;height:11px;border:2px solid #d8dcef;border-top-color:#6674dc;border-radius:50%;animation:oppaiTagSpin .65s linear infinite}@keyframes oppaiTagSpin{to{transform:rotate(360deg)}}.oppai-added-keywords{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.oppai-added-keywords button{border:1px solid #bfc8ef!important;background:#f5f7ff!important;color:#4350ad!important;border-radius:999px!important;padding:5px 8px!important;font-size:10px!important}.oppai-start-box{display:flex;align-items:center;justify-content:space-between;gap:12px}.oppai-start-box p{margin:0;color:#7f8799;font-size:11px}.oppai-start-diagnosis{border-radius:12px!important;background:#4d5bd5!important;color:#fff!important;border-color:#4d5bd5!important;padding:10px 15px!important}
@media(max-width:900px){.oppai-talk-page{height:auto;overflow:auto}.oppai-talk-main{height:auto;overflow:visible}.oppai-talk-app{height:auto}.oppai-workspace.is-dedicated .oppai-chat-card{height:auto}.oppai-workspace.is-dedicated .oppai-chat-log{height:55vh;min-height:360px}.oppai-input-dock{max-height:none}.oppai-workspace.is-dedicated .oppai-profile-card{display:none}.oppai-launch-card{align-items:flex-start;flex-direction:column}.oppai-launch-button{width:100%}.oppai-history-grid{min-width:0}}
@media(max-width:600px){.oppai-talk-main{height:calc(100vh - 62px)}.oppai-talk-app{padding:8px 0}.oppai-talk-app-head{margin-bottom:7px}.oppai-talk-app-head h1{font-size:16px}.oppai-talk-app-head .oppai-powered{display:none}.oppai-workspace.is-dedicated .oppai-chat-log{height:auto;min-height:0;flex:1;padding:14px 10px}.oppai-input-dock{padding:10px 10px 12px;max-height:60vh}.oppai-diagnosis-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.oppai-diag-body{min-height:82px;padding:8px}.oppai-rating-row{padding:0 6px 7px;gap:3px}.oppai-rating-row button{min-height:45px;font-size:8.5px}.oppai-rating-icon{font-size:13px}.oppai-basic-grid{gap:7px}.oppai-composer-footer{margin:10px -10px -12px;padding:9px 10px 11px}.oppai-send span{display:none}.oppai-send{min-width:46px!important;width:46px;padding:10px!important}.oppai-history-grid{grid-template-columns:1fr}.oppai-history-item{grid-template-columns:52px minmax(0,1fr)}}

/* v11.8.1: clearer ratings, animated choice dock, tag-input validation */
.oppai-input-dock{transform:translateY(0);opacity:1;transition:transform .22s cubic-bezier(.22,.8,.3,1),opacity .18s ease}
.oppai-input-dock.is-entering{transform:translateY(28px);opacity:0}
.oppai-input-dock.is-leaving{transform:translateY(34px);opacity:0;pointer-events:none}

.oppai-basic-rating button,.oppai-rating-row button{
  min-height:60px;
  align-items:center;
  justify-content:flex-start;
  padding:8px 4px 6px;
  gap:4px;
  overflow:hidden;
}
.oppai-rating-icon{font-size:19px;line-height:1;font-weight:900;min-height:20px;display:block}
.oppai-rating-label{display:flex;min-height:25px;flex-direction:column;align-items:center;justify-content:flex-start;line-height:1.08;white-space:nowrap}
.oppai-rating-label>span{display:block}
.oppai-basic-rating button.is-active,.oppai-rating-row button.is-active{transform:translateY(-1px);box-shadow:0 4px 11px rgba(54,65,137,.10),inset 0 0 0 1px currentColor}
.oppai-basic-card.is-rated{box-shadow:0 4px 14px rgba(46,56,111,.06)}

.oppai-keyword-hint{margin:7px 2px 0;color:#9299aa;font-size:10px;line-height:1.5;transition:color .15s ease}
.oppai-keyword-add.has-uncommitted-tag{border-color:#e3a4af;background:#fffafb;box-shadow:0 0 0 3px rgba(201,76,99,.055)}
.oppai-keyword-add.has-uncommitted-tag .oppai-keyword-search-wrap input{border-color:#d96b7e;background:#fff8fa;box-shadow:0 0 0 3px rgba(201,76,99,.08)}
.oppai-keyword-add.has-uncommitted-tag .oppai-keyword-hint{color:#b33d55;font-weight:800}
.oppai-keyword-add.has-uncommitted-tag .oppai-keyword-search-wrap:after{content:'候補を選択';position:absolute;right:9px;top:50%;transform:translateY(-50%);padding:2px 6px;border-radius:999px;background:#fff0f3;color:#b33d55;font-size:9px;font-weight:900;pointer-events:none}
.oppai-keyword-add.has-uncommitted-tag input{padding-right:78px}

@media(max-width:600px){
  .oppai-basic-rating button,.oppai-rating-row button{min-height:55px;padding:7px 2px 5px}
  .oppai-rating-icon{font-size:17px}
  .oppai-rating-label{min-height:23px;font-size:8.5px}
}

/* v11.8.2: rating hierarchy + friendly keyword prompt */
.oppai-rating-label.is-mild{gap:1px}
.oppai-rating-label.is-mild>small{display:block;font-size:.72em;font-weight:700;line-height:1;color:currentColor;opacity:.72}
.oppai-rating-label.is-mild>span{font-size:1em;font-weight:800;line-height:1.08}
.oppai-basic-rating button[data-basic-rating="like"] .oppai-rating-icon,
.oppai-basic-rating button[data-basic-rating="dislike"] .oppai-rating-icon,
.oppai-rating-row button[data-rating="like"] .oppai-rating-icon,
.oppai-rating-row button[data-rating="dislike"] .oppai-rating-icon{font-size:14px;opacity:.86}
.oppai-basic-rating button[data-basic-rating="love"] .oppai-rating-icon,
.oppai-basic-rating button[data-basic-rating="hate"] .oppai-rating-icon,
.oppai-rating-row button[data-rating="love"] .oppai-rating-icon,
.oppai-rating-row button[data-rating="hate"] .oppai-rating-icon{font-size:17px}

/* v11.9 onboarding + fixed diagnosis progress */
.oppai-question-progress{margin:-2px 0 15px;padding:12px 13px;border:1px solid #e1e5f1;border-radius:14px;background:linear-gradient(145deg,#fbfcff,#f6f7ff)}
.oppai-question-progress-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#7e879b;font-size:9px;font-weight:850}
.oppai-question-progress-head strong{color:#4a57b7;font-size:11px}.oppai-question-progress-head b{font:inherit}
.oppai-question-progress-track{height:6px;margin:8px 0 6px;border-radius:999px;background:#e7eaf5;overflow:hidden}
.oppai-question-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6573df,#8b74dd);transition:width .45s cubic-bezier(.22,.8,.25,1)}
.oppai-question-progress>small{display:block;color:#979eaf;font-size:9px;font-weight:750}
.oppai-onboarding-question{padding:8px 0 2px}
.oppai-onboarding-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0}
.oppai-onboarding-actions button{min-height:132px;border:1px solid #d9deee;border-radius:20px;background:#fff;color:#5f6880;padding:22px 24px;display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;column-gap:16px;align-items:center;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}
.oppai-onboarding-actions button>span{grid-row:1/3;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#f1f3fb;color:#6873c8;font-size:24px;font-weight:950}
.oppai-onboarding-actions button strong{align-self:end;color:#30394f;font-size:18px;line-height:1.35}
.oppai-onboarding-actions button small{align-self:start;margin-top:5px;color:#939aad;font-size:12px;font-weight:750;line-height:1.45}
.oppai-onboarding-actions button:hover{transform:translateY(-2px);border-color:#bcc5ed;background:#fafbff;box-shadow:0 8px 22px rgba(56,66,120,.08)}
.oppai-onboarding-actions button.is-primary{border-color:#aeb8f1;background:#f3f5ff;box-shadow:0 7px 18px rgba(77,91,213,.10)}
.oppai-onboarding-actions button.is-primary>span{background:#5968d6;color:#fff}
.oppai-onboarding-actions button.is-primary strong{color:#4654bd}
@media(max-width:620px){.oppai-onboarding-actions{grid-template-columns:1fr}.oppai-onboarding-actions button{min-height:108px;padding:18px 20px}}

/* v11.9.2: local-history prefill for the first question */
.oppai-basic-card.is-prefilled{border-color:#b7c3ff;background:linear-gradient(180deg,#fbfcff 0%,#f5f7ff 100%)}
.oppai-basic-title{position:relative}
.oppai-prefill-badge{display:inline-flex;align-items:center;margin-left:auto;padding:3px 7px;border-radius:999px;background:#eef1ff;color:#5867c7;font-size:9px;font-style:normal;font-weight:800;line-height:1.2;white-space:nowrap}
@media(max-width:600px){.oppai-prefill-badge{font-size:8px;padding:3px 5px}}

/* v11.9.7: clickable work thumbnails + work preview modal */
.oppai-diag-thumb.is-previewable,
.oppai-history-thumb.is-previewable{
  position:relative;
  border:0;
  padding:0;
  cursor:zoom-in;
  color:inherit;
  font:inherit;
  appearance:none;
}
.oppai-diag-thumb.is-previewable{width:100%;border-radius:0}
.oppai-history-thumb.is-previewable{width:58px;min-width:58px}
.oppai-diag-thumb.is-previewable img,
.oppai-history-thumb.is-previewable img{transition:transform .2s ease,filter .2s ease}
.oppai-diag-thumb.is-previewable:hover img,
.oppai-history-thumb.is-previewable:hover img{transform:scale(1.025);filter:brightness(.98)}
.oppai-thumb-zoom{position:absolute;right:7px;bottom:7px;display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:rgba(31,37,58,.72);color:#fff;font-size:17px;font-weight:500;line-height:1;box-shadow:0 3px 10px rgba(22,27,43,.18);opacity:.9;transition:transform .16s ease,opacity .16s ease}
.oppai-history-thumb .oppai-thumb-zoom{right:4px;bottom:4px;width:19px;height:19px;font-size:13px}
.oppai-diag-thumb.is-previewable:hover .oppai-thumb-zoom,
.oppai-history-thumb.is-previewable:hover .oppai-thumb-zoom{transform:scale(1.08);opacity:1}
.oppai-history-item>.oppai-history-thumb{grid-column:1}

html.oppai-modal-open,html.oppai-modal-open body{overflow:hidden}
.oppai-work-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px;visibility:hidden;opacity:0;transition:opacity .18s ease,visibility .18s ease}
.oppai-work-modal.is-open{visibility:visible;opacity:1}
.oppai-work-modal-backdrop{position:absolute;inset:0;background:rgba(21,25,39,.72);backdrop-filter:blur(5px)}
.oppai-work-modal-panel{position:relative;z-index:1;width:min(920px,calc(100vw - 36px));max-height:calc(100vh - 42px);overflow:auto;border:1px solid rgba(255,255,255,.65);border-radius:22px;background:#fff;box-shadow:0 30px 80px rgba(10,15,34,.32);transform:translateY(18px) scale(.985);transition:transform .22s cubic-bezier(.2,.8,.25,1);display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr)}
.oppai-work-modal.is-open .oppai-work-modal-panel{transform:translateY(0) scale(1)}
.oppai-work-modal-close{position:absolute;z-index:3;right:12px;top:12px;width:38px;height:38px;border:0;border-radius:999px;background:rgba(28,33,51,.75);color:#fff;font-size:25px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(20,25,45,.2)}
.oppai-work-modal-image{min-height:360px;display:grid;place-items:center;background:#f0f1f5;overflow:hidden;border-radius:21px 0 0 21px}
.oppai-work-modal-image img{display:block;width:100%;height:100%;max-height:72vh;object-fit:contain;background:#f0f1f5}
.oppai-work-modal-copy{display:flex;flex-direction:column;padding:34px 28px 28px;min-width:0}
.oppai-work-modal-copy h2{margin:0 42px 8px 0;color:#30374c;font-size:19px;line-height:1.55;overflow-wrap:anywhere}
.oppai-work-modal-copy>p{margin:0;color:#7d8599;font-size:12px;font-weight:750;line-height:1.55}
.oppai-work-modal-note{margin-top:auto;padding-top:28px}
.oppai-work-modal-note strong{display:block;color:#3f4862;font-size:16px;margin-bottom:4px}
.oppai-work-modal-note span{display:block;color:#8b92a4;font-size:11px;line-height:1.6}
.oppai-work-modal-actions{display:grid;gap:9px;margin-top:14px}
.oppai-work-modal-actions a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px 14px;border:1px solid #d9deea;border-radius:12px;background:#fff;color:#4e5872;font-size:12px;font-weight:900;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease}
.oppai-work-modal-actions a:hover{transform:translateY(-1px);border-color:#b9c2e8;box-shadow:0 5px 14px rgba(52,62,116,.08)}
.oppai-work-modal-actions a.is-fanza{border-color:#ec8eaa;background:#fff3f7;color:#b83d64}
.oppai-work-modal-actions a[hidden]{display:none}

@media(max-width:720px){
  .oppai-work-modal{padding:10px}
  .oppai-work-modal-panel{width:min(100%,620px);max-height:calc(100vh - 20px);grid-template-columns:1fr;border-radius:17px}
  .oppai-work-modal-image{min-height:0;aspect-ratio:560/420;border-radius:17px 17px 0 0}
  .oppai-work-modal-image img{max-height:none}
  .oppai-work-modal-copy{padding:18px 16px 16px}
  .oppai-work-modal-copy h2{font-size:15px;margin-right:34px}
  .oppai-work-modal-note{padding-top:18px}
  .oppai-work-modal-close{right:8px;top:8px;width:34px;height:34px;font-size:22px}
}

/* v11.9.8: modal-side rating for the currently active diagnosis choices */
.oppai-work-modal-rating{margin-top:22px;padding-top:18px;border-top:1px solid #edf0f6}
.oppai-work-modal-rating[hidden]{display:none}
.oppai-work-modal-rating>strong{display:block;margin-bottom:9px;color:#444d67;font-size:13px}
.oppai-work-modal-rating-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.oppai-work-modal-rating-row button{min-width:0;min-height:68px;padding:7px 3px;border:1px solid #e0e4ee;border-radius:10px;background:#fff;color:#687087;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;cursor:pointer;font:inherit;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease,color .14s ease}
.oppai-work-modal-rating-row button:hover{transform:translateY(-1px);box-shadow:0 5px 13px rgba(42,50,88,.08)}
.oppai-work-modal-rating-row .oppai-rating-icon{font-size:19px;line-height:1}
.oppai-work-modal-rating-row .oppai-rating-label{font-size:10px;line-height:1.15;text-align:center}
.oppai-work-modal-rating-row .oppai-rating-label.is-mild small{display:block;font-size:8px;line-height:1;margin-bottom:1px}
.oppai-work-modal-rating-row button.rating-love.is-active{border-color:#ec789e;background:#fff0f5;color:#b72f60;box-shadow:0 0 0 2px rgba(236,120,158,.12)}
.oppai-work-modal-rating-row button.rating-like.is-active{border-color:#efabc0;background:#fff7fa;color:#b55d7a;box-shadow:0 0 0 2px rgba(239,171,192,.10)}
.oppai-work-modal-rating-row button.rating-neutral.is-active{border-color:#9da5b8;background:#f4f5f8;color:#555e73;box-shadow:0 0 0 2px rgba(157,165,184,.10)}
.oppai-work-modal-rating-row button.rating-dislike.is-active{border-color:#82a5d9;background:#f1f6fd;color:#4f72a8;box-shadow:0 0 0 2px rgba(130,165,217,.10)}
.oppai-work-modal-rating-row button.rating-hate.is-active{border-color:#6384bd;background:#edf3fc;color:#365a98;box-shadow:0 0 0 2px rgba(99,132,189,.12)}
@media(max-width:560px){.oppai-work-modal-rating-row{gap:4px}.oppai-work-modal-rating-row button{min-height:61px;padding:6px 2px}.oppai-work-modal-rating-row .oppai-rating-icon{font-size:17px}}

/* v11.10.2: clearer progress feedback + explicit/inferred source + recommendation calibration */
.oppai-question-progress{position:relative;overflow:hidden;padding:14px 15px 13px;border-color:#d9def2;box-shadow:0 6px 18px rgba(58,70,132,.055)}
.oppai-question-progress:after{content:"";position:absolute;inset:-40% auto -40% -35%;width:34%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.82),transparent);transform:skewX(-18deg) translateX(-170%);pointer-events:none}
.oppai-question-progress.is-advancing:after{animation:oppaiProgressShine .68s ease-out}
.oppai-question-progress-head{font-size:10px;letter-spacing:.025em}
.oppai-question-progress-head>span{color:#66708a;font-weight:900}
.oppai-question-progress-head strong{display:flex;align-items:baseline;gap:3px;color:#3f4db3;font-size:13px;font-weight:950}
.oppai-question-progress-head strong b:first-child{font-size:17px;line-height:1}
.oppai-question-progress-track{height:8px;margin:10px 0 7px;overflow:visible;position:relative}
.oppai-question-progress-track i{position:relative;box-shadow:0 2px 8px rgba(91,105,216,.18);transition:width .5s cubic-bezier(.2,.82,.22,1)}
.oppai-question-progress-track i:after{content:"";position:absolute;right:-4px;top:50%;width:10px;height:10px;border-radius:50%;background:#7480df;box-shadow:0 0 0 0 rgba(104,118,222,.34);transform:translateY(-50%) scale(.72);opacity:0}
.oppai-question-progress.is-advancing .oppai-question-progress-track i:after{animation:oppaiProgressPulse .68s ease-out}
.oppai-question-progress.is-advancing{animation:oppaiProgressCard .56s ease-out}
.oppai-question-progress.is-complete{border-color:#cfd6f5;background:linear-gradient(145deg,#fbfcff,#f1f3ff)}
.oppai-question-progress>small{font-size:9.5px;font-weight:800;transition:color .2s ease}
.oppai-question-progress.is-advancing>small{color:#5c69c6}
@keyframes oppaiProgressShine{0%{transform:skewX(-18deg) translateX(-170%)}100%{transform:skewX(-18deg) translateX(520%)}}
@keyframes oppaiProgressPulse{0%{opacity:0;transform:translateY(-50%) scale(.55);box-shadow:0 0 0 0 rgba(104,118,222,.34)}35%{opacity:1;transform:translateY(-50%) scale(1)}100%{opacity:0;transform:translateY(-50%) scale(.86);box-shadow:0 0 0 12px rgba(104,118,222,0)}}
@keyframes oppaiProgressCard{0%{transform:scale(1)}38%{transform:scale(1.012)}100%{transform:scale(1)}}

.oppai-condition.is-direct{border-width:1.5px;box-shadow:0 2px 7px rgba(72,85,164,.045)}
.oppai-condition.is-direct small{color:#6671c8;font-weight:900}
.oppai-condition.is-negative.is-direct small{color:#a96b7c}

.oppai-recommendations.is-calibration{gap:9px}
.oppai-calibration-card{display:grid;grid-template-columns:110px minmax(0,1fr);gap:13px;border:1px solid #e4e7f0;border-radius:14px;background:#fff;padding:10px;color:inherit;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.oppai-calibration-card:hover{border-color:#cfd5ee;box-shadow:0 7px 20px rgba(50,61,114,.06)}
.oppai-calibration-card.is-pop{animation:oppaiCardPop .24s ease-out}
.oppai-calibration-card.is-rated{border-color:#d4d9ee;background:#fdfdff}
.oppai-calibration-card.rating-love,.oppai-calibration-card.rating-like{border-color:#d6dfce}
.oppai-calibration-card.rating-dislike,.oppai-calibration-card.rating-hate{border-color:#ead8df}
.oppai-calibration-card .oppai-reco-thumb{position:relative;width:110px;border:0;padding:0;cursor:zoom-in;appearance:none;overflow:hidden}
.oppai-calibration-card .oppai-reco-thumb img{transition:transform .2s ease,filter .2s ease}
.oppai-calibration-card .oppai-reco-thumb:hover img{transform:scale(1.025);filter:brightness(.98)}
.oppai-calibration-card .oppai-thumb-zoom{right:6px;bottom:6px;width:23px;height:23px;font-size:15px}
.oppai-calibration-rating{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-top:8px}
.oppai-calibration-rating button{min-width:0;border:1px solid #e2e5ef;border-radius:8px;background:#fafbfe;padding:5px 3px;color:#727b92;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:3px;font-size:8.5px;font-weight:850;line-height:1.1;transition:transform .13s ease,border-color .13s ease,background .13s ease,color .13s ease}
.oppai-calibration-rating button:hover{transform:translateY(-1px);border-color:#c8cfec}
.oppai-calibration-rating button .oppai-rating-icon{font-size:11px}
.oppai-calibration-rating button.is-active{border-color:#9eaae7;background:#eef1ff;color:#4d5ab9;box-shadow:0 0 0 2px rgba(91,105,204,.07)}
.oppai-calibration-rating button[data-calibration-rating="love"].is-active,.oppai-calibration-rating button[data-calibration-rating="like"].is-active{border-color:#a9c2a2;background:#f3f8f1;color:#587452}
.oppai-calibration-rating button[data-calibration-rating="dislike"].is-active,.oppai-calibration-rating button[data-calibration-rating="hate"].is-active{border-color:#d5adb9;background:#fff4f7;color:#9a5c6d}

@media(max-width:600px){
  .oppai-question-progress{padding:12px 13px}
  .oppai-question-progress-head strong b:first-child{font-size:15px}
  .oppai-calibration-card{grid-template-columns:86px minmax(0,1fr);gap:9px;padding:8px}
  .oppai-calibration-card .oppai-reco-thumb{width:86px}
  .oppai-calibration-rating{grid-template-columns:repeat(5,1fr);gap:3px}
  .oppai-calibration-rating button{padding:5px 1px;font-size:7px;gap:1px}
  .oppai-calibration-rating button .oppai-rating-icon{font-size:9px}
  .oppai-calibration-rating .oppai-rating-label.is-mild>small{font-size:.65em}
}


/* v11.10.3: repeatable 10-question initial diagnosis + non-ratable vibe showcase */
.oppai-next-result{margin-left:auto;min-width:112px;display:inline-flex!important;align-items:center;justify-content:center;gap:9px}
.oppai-next-result b{font-size:16px;line-height:1}
.oppai-showcase-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.oppai-showcase-card{min-width:0;border:1px solid #e5e8f1;border-radius:12px;background:#fff;overflow:hidden}
.oppai-showcase-thumb{position:relative;display:block;width:100%;aspect-ratio:4/3;border:0;padding:0;background:#f4f5f8;cursor:zoom-in;overflow:hidden}
.oppai-showcase-thumb img{display:block;width:100%;height:100%;object-fit:contain;background:#f7f7f8;transition:transform .2s ease}
.oppai-showcase-thumb:hover img{transform:scale(1.025)}
.oppai-showcase-meta{padding:7px 8px 8px;min-width:0}
.oppai-showcase-meta b{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:9.5px;line-height:1.35;color:#3f465a}
.oppai-showcase-meta small{display:block;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:8px;color:#9299aa}
.oppai-phase-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.oppai-phase-choice button{min-height:64px;border:1px solid #dfe3ef;border-radius:13px;background:#fff;color:#465069;padding:10px 12px;text-align:left;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.oppai-phase-choice button:hover{transform:translateY(-1px);border-color:#bec7ea;box-shadow:0 6px 18px rgba(60,72,128,.07)}
.oppai-phase-choice button.is-primary{border-color:#4d5bd5;background:#4d5bd5;color:#fff}
.oppai-phase-choice strong{display:block;font-size:11px;font-weight:900}
.oppai-phase-choice small{display:block;margin-top:4px;font-size:8.5px;opacity:.76;line-height:1.35}
@media(max-width:700px){.oppai-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.oppai-phase-choice{grid-template-columns:1fr}.oppai-showcase-meta b{font-size:9px}}

/* v11.10.4: make profile reflection visibly precede the next thinking turn. */
.oppai-profile-card.is-reflecting{animation:oppaiProfileReflect .68s cubic-bezier(.2,.8,.2,1)}
@keyframes oppaiProfileReflect{0%{box-shadow:0 12px 34px rgba(34,44,87,.055)}35%{box-shadow:0 0 0 4px rgba(92,108,218,.10),0 14px 38px rgba(62,76,158,.12);transform:translateY(-1px)}100%{box-shadow:0 12px 34px rgba(34,44,87,.055);transform:translateY(0)}}
.oppai-phase-choice.is-decision{grid-template-columns:repeat(2,max-content);justify-content:flex-end;gap:10px}
.oppai-phase-choice.is-decision button{min-height:58px;padding:12px 18px;text-align:center;white-space:nowrap}
.oppai-phase-choice.is-decision strong{font-size:12px;line-height:1;white-space:nowrap}
@media(max-width:700px){.oppai-phase-choice.is-decision{grid-template-columns:1fr}.oppai-phase-choice.is-decision button{width:100%;white-space:normal}.oppai-phase-choice.is-decision strong{white-space:normal;line-height:1.35}}
