:root{
 --bg:#f7f2f8;--bg2:#fbf9fb;--surface:#fff;--ink:#302d31;--muted:#858087;
 --accent:#7b3f86;--accent2:#9b62a4;--accent-soft:#f1e6f3;--line:#eadfea;
 --shadow:0 12px 36px rgba(69,45,73,.08);--max:1120px;--radius:30px
}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Hiragino Sans','Yu Gothic',sans-serif;background:linear-gradient(180deg,#fbf7fb 0,#f6eff7 100%);min-height:100vh}
button,textarea{font:inherit}.app{width:min(calc(100% - 56px),var(--max));margin:auto;min-height:100vh;padding:34px 0 72px}.brand{display:flex;align-items:center;justify-content:space-between;margin:0 4px 24px}.brand-id small{display:block;font-size:14px;font-weight:700;letter-spacing:.08em;color:var(--muted);margin-bottom:3px}.brand-id h1{font-size:25px;line-height:1.2;margin:0;font-weight:800;letter-spacing:-.02em}.settings-link{width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.8);box-shadow:0 6px 22px rgba(70,45,73,.07);color:var(--accent);font-size:22px;cursor:pointer}
.home-stage{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(330px,.84fr);gap:28px;align-items:stretch}.hero-panel,.assistant-panel{background:rgba(255,255,255,.78);border:1px solid rgba(123,63,134,.08);border-radius:34px;box-shadow:var(--shadow);overflow:hidden}.hero-panel{padding:18px}.hero{display:block;width:100%;height:auto;aspect-ratio:611/407;object-fit:contain;border-radius:22px}.assistant-panel{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 210px;min-height:100%;padding:34px 0 0 34px;overflow:hidden}.assistant-copy{z-index:2;padding-bottom:34px;align-self:center}.eyebrow{font-size:15px;font-weight:800;color:var(--accent);letter-spacing:.08em;margin-bottom:14px}.assistant-copy h2{font-size:34px;line-height:1.35;letter-spacing:-.035em;margin:0 0 13px}.assistant-copy p{font-size:17px;line-height:1.7;color:var(--muted);margin:0 0 26px}.portrait{width:100%;height:100%;min-height:290px;object-fit:cover;object-position:center top;align-self:end;filter:saturate(.92)}
.primary-action{border:0;background:linear-gradient(135deg,var(--accent),#693474);color:#fff;border-radius:20px;min-height:64px;padding:0 22px;display:inline-flex;align-items:center;gap:22px;font-size:20px;font-weight:800;box-shadow:0 12px 24px rgba(123,63,134,.20);cursor:pointer}.primary-action .arrow{font-size:24px;font-weight:400}.section-label{font-size:17px;color:#777178;font-weight:800;margin:34px 8px 12px}.menu-card{background:rgba(255,255,255,.88);border:1px solid rgba(123,63,134,.10);border-radius:30px;box-shadow:0 8px 30px rgba(69,45,73,.055);overflow:hidden}.menu-row{width:100%;min-height:88px;border:0;border-bottom:1px solid var(--line);background:transparent;padding:16px 22px;display:grid;grid-template-columns:48px 1fr 28px;gap:16px;align-items:center;text-align:left;color:var(--ink);cursor:pointer}.menu-row:last-child{border-bottom:0}.menu-icon{width:42px;height:42px;border-radius:14px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:20px;font-weight:700}.menu-title{font-size:19px;font-weight:800;line-height:1.25}.menu-sub{font-size:15px;color:var(--muted);margin-top:4px;line-height:1.35}.chev{font-size:28px;color:#b6aeb7;font-weight:300}.home-menu{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px}.home-menu .menu-card:first-child{grid-column:1/-1}.home-menu .menu-card:first-child .menu-row{min-height:100px}.home-menu .menu-card:first-child .menu-icon{width:50px;height:50px;border-radius:16px;font-size:22px}
.topbar{display:grid;grid-template-columns:52px 1fr 52px;align-items:center;margin:0 0 30px}.back{border:0;background:rgba(255,255,255,.85);color:var(--accent);font-size:32px;width:50px;height:50px;border-radius:50%;box-shadow:0 6px 22px rgba(70,45,73,.06);cursor:pointer}.title{text-align:center;font-size:30px;line-height:1.25;margin:0;font-weight:850;letter-spacing:-.03em}.sub{font-size:18px;line-height:1.6;color:var(--muted);margin:0 0 18px}.teach-actions,.conversation-wrap{max-width:780px;margin:auto}.btn{width:100%;min-height:76px;border:0;border-bottom:1px solid var(--line);background:transparent;padding:18px 20px;text-align:left;font-size:19px;line-height:1.3;font-weight:800;color:var(--ink);cursor:pointer}.btn:after{content:'›';float:right;color:#b6aeb7;font-size:28px;font-weight:300}.btn span{display:block;font-size:15px;font-weight:500;color:var(--muted);margin-top:5px}.btn.primary{border:0;border-radius:20px;background:linear-gradient(135deg,var(--accent),#693474);color:#fff;box-shadow:0 10px 24px rgba(123,63,134,.17);margin:12px 0 18px;padding:20px 22px}.btn.primary:after{color:#fff}.btn.primary span{color:rgba(255,255,255,.78)}.card,.bubble{background:rgba(255,255,255,.9);border:1px solid rgba(123,63,134,.10);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px;margin:15px 0}.bubble{font-size:19px;line-height:1.7}.status{text-align:center;color:var(--accent);font-size:20px;font-weight:800;margin:22px}.save{text-align:center;color:#66806d;margin:18px;font-size:15px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.metric{font-size:36px;font-weight:850}.label{font-size:15px;color:var(--muted)}.notice{background:var(--accent-soft);border-radius:20px;padding:18px;font-size:15px;color:#6f6171}.advisor{display:flex;align-items:center;gap:22px}.advisor .portrait{width:148px;height:148px;min-height:0;border-radius:26px}.advisor h2{font-size:17px;color:var(--accent);margin:0 0 7px}.advisor p{font-size:19px;margin:0}.settings-choices{display:grid;grid-template-columns:1fr 1fr;gap:18px}.advisor-choice{display:flex;gap:18px;align-items:center;cursor:pointer;min-height:170px}.advisor-choice img{width:125px;height:140px;object-fit:cover;object-position:top;border-radius:22px}.advisor-choice button{border:0;border-radius:12px;padding:10px 14px}.selected{box-shadow:inset 0 0 0 2px var(--accent),var(--shadow)}.feedback-input{width:100%;height:160px;border:1px solid var(--line);border-radius:22px;background:#fff;padding:18px;font-size:18px;line-height:1.55;color:var(--ink);margin:14px 0}.overlay{position:fixed;inset:0;background:rgba(36,25,38,.42);display:flex;align-items:center;justify-content:center;padding:28px;z-index:20;backdrop-filter:blur(10px)}.modal{width:min(100%,620px);background:#fff;border-radius:32px;padding:32px;box-shadow:0 30px 90px rgba(0,0,0,.18)}.modal h2{font-size:28px;margin:0 0 12px}.modal p{font-size:18px;line-height:1.7;color:#625c63}
@media(max-width:899px){.app{width:min(calc(100% - 40px),820px);padding-top:28px}.home-stage{grid-template-columns:1fr}.hero-panel{padding:14px}.assistant-panel{min-height:330px;grid-template-columns:1fr 230px}.home-menu{grid-template-columns:1fr 1fr}.assistant-copy h2{font-size:32px}}
@media(max-width:620px){.app{width:auto;padding:20px 14px 44px}.brand{margin:0 3px 18px}.brand-id small{font-size:13px}.brand-id h1{font-size:23px}.settings-link{width:44px;height:44px}.home-stage{gap:16px}.hero-panel{padding:8px;border-radius:25px}.hero{border-radius:18px}.assistant-panel{grid-template-columns:1fr 118px;min-height:218px;padding:24px 0 0 22px;border-radius:26px}.assistant-copy{padding-bottom:24px}.eyebrow{font-size:13px;margin-bottom:8px}.assistant-copy h2{font-size:25px;line-height:1.3;margin-bottom:7px}.assistant-copy p{font-size:15px;line-height:1.5;margin-bottom:16px}.portrait{min-height:200px}.primary-action{min-height:56px;border-radius:17px;padding:0 18px;font-size:18px;gap:14px}.home-menu{display:block;margin-top:20px}.home-menu .menu-card{margin-bottom:14px}.menu-card{border-radius:24px}.menu-row,.home-menu .menu-card:first-child .menu-row{min-height:82px;padding:14px 16px;grid-template-columns:44px 1fr 22px;gap:12px}.menu-icon,.home-menu .menu-card:first-child .menu-icon{width:40px;height:40px;border-radius:13px;font-size:18px}.menu-title{font-size:18px}.menu-sub{font-size:14px}.section-label{margin:26px 6px 10px}.topbar{margin-bottom:24px}.title{font-size:27px}.settings-choices{grid-template-columns:1fr}.grid{gap:10px}.card{border-radius:24px;padding:21px}.modal{padding:25px;border-radius:28px}}

/* v001-E polish: stronger hierarchy, calmer surfaces, native-app rhythm */
:root{--bg:#f7f3f8;--surface:#fff;--ink:#282529;--muted:#777178;--accent:#82418b;--accent-deep:#6f3478;--accent-soft:#f3e8f5;--line:#eee6ef;--shadow:0 10px 30px rgba(64,38,67,.065);--radius:28px}
body{background:linear-gradient(180deg,#fbf8fb 0%,#f6f0f7 62%,#f4eef5 100%)}
.app{width:min(calc(100% - 64px),1120px);padding:38px 0 76px}
.brand{margin:0 2px 22px}.brand-id small{font-size:13px;letter-spacing:.06em}.brand-id h1{font-size:27px}.settings-link{background:#fff;width:50px;height:50px;box-shadow:0 7px 24px rgba(65,39,68,.07)}
.home-stage{grid-template-columns:minmax(0,1.06fr) minmax(390px,.94fr);gap:22px}.hero-panel,.assistant-panel{border:0;box-shadow:var(--shadow);background:#fff}.hero-panel{padding:12px;border-radius:30px}.hero{border-radius:21px}.assistant-panel{border-radius:30px;grid-template-columns:minmax(0,1fr) 228px;padding:36px 0 0 38px}.assistant-copy h2{font-size:37px;line-height:1.28}.assistant-copy p{font-size:17px;max-width:310px}.portrait{filter:none}.primary-action{background:var(--accent);border-radius:18px;box-shadow:none;transition:.15s ease}.primary-action:active{transform:scale(.985);background:var(--accent-deep)}
.home-menu{grid-template-columns:1fr;margin-top:22px;gap:0;background:#fff;border-radius:28px;box-shadow:var(--shadow);overflow:hidden}.home-menu .menu-card,.home-menu .menu-card:first-child{grid-column:auto;margin:0;border:0;border-radius:0;box-shadow:none;background:transparent}.home-menu .menu-card+.menu-card{border-top:1px solid var(--line)}.home-menu .menu-card:first-child .menu-row,.home-menu .menu-row{min-height:92px;padding:17px 24px}.menu-icon,.home-menu .menu-card:first-child .menu-icon{width:46px;height:46px;border-radius:15px;background:var(--accent-soft);font-size:19px}.menu-title{font-size:20px}.menu-sub{font-size:15px}.chev{font-size:26px;color:#b8b0b9}
.card,.bubble,.menu-card{border:0}.topbar{margin-bottom:34px}.back{background:#fff;box-shadow:0 7px 24px rgba(65,39,68,.06)}
@media(max-width:899px){.app{width:min(calc(100% - 48px),820px)}.home-stage{grid-template-columns:1fr;gap:18px}.assistant-panel{min-height:340px;grid-template-columns:1fr 250px}.home-menu{grid-template-columns:1fr}}
@media(max-width:620px){.app{padding:20px 13px 42px}.brand{margin-bottom:17px}.brand-id h1{font-size:24px}.home-stage{gap:14px}.hero-panel{padding:9px;border-radius:26px}.hero{border-radius:18px}.assistant-panel{grid-template-columns:minmax(0,1fr) 124px;min-height:238px;padding:26px 0 0 22px;border-radius:27px}.assistant-copy h2{font-size:27px;line-height:1.25}.assistant-copy p{font-size:15px;line-height:1.55;margin-bottom:18px}.primary-action{min-height:58px;font-size:18px;padding:0 19px}.home-menu{margin-top:16px;border-radius:25px}.home-menu .menu-card{margin:0}.home-menu .menu-card:first-child .menu-row,.home-menu .menu-row{min-height:82px;padding:14px 16px}.menu-title{font-size:18px}.menu-sub{font-size:14px;line-height:1.4}.menu-icon,.home-menu .menu-card:first-child .menu-icon{width:42px;height:42px;border-radius:14px}}

/* v001-F: advisor portrait integration + visual hierarchy */
.assistant-panel{grid-template-columns:minmax(0,1fr) 250px;padding-right:18px;align-items:stretch}
.portrait{width:100%;height:auto;min-height:0;object-fit:contain;object-position:center bottom;align-self:end;border-radius:24px 24px 0 0;background:#f5f2ef;margin-top:22px}
.assistant-copy{padding-right:20px}
.home-menu{margin-top:24px}
.menu-row{grid-template-columns:52px minmax(0,1fr) 24px}
.menu-row>span:nth-child(2){display:block;min-width:0}.menu-title,.menu-sub{display:block}.menu-title{margin-bottom:4px}.menu-sub{margin-top:0}
.settings-link{font-family:-apple-system,BlinkMacSystemFont,'Hiragino Sans','Yu Gothic',sans-serif;font-size:0}.settings-link:before{content:'⚙︎';font-size:21px}
@media(max-width:899px){.assistant-panel{grid-template-columns:minmax(0,1fr) 265px;padding-right:18px}.portrait{margin-top:20px}}
@media(max-width:620px){.assistant-panel{grid-template-columns:minmax(0,1fr) 142px;padding-right:10px;min-height:250px}.assistant-copy{padding-right:8px}.portrait{margin-top:16px;border-radius:20px 20px 0 0}.menu-row{grid-template-columns:46px minmax(0,1fr) 20px}.menu-title{font-size:17px}.menu-sub{font-size:13px;line-height:1.45}}
