:root{--ink:#423d46;--muted:#8d8792;--lav:#917b95;--lav-dark:#74617d;--lav-pale:#eee7ec;--cream:#fbf9f7;--card:#fff;--edge:#eae5e9;--sage:#8faaa0;--peach:#d7ae9e;--shade:0 10px 32px rgba(78,63,80,.05)}*{box-sizing:border-box}html{font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Yu Gothic",Meiryo,sans-serif;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-size:15px;line-height:1.75;font-weight:700;letter-spacing:.008em}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{color:var(--lav-dark)}svg.icon{display:inline-flex;flex:none;vertical-align:middle}h1,h2,h3,p{margin:0}h1{font-size:clamp(24px,3vw,34px);line-height:1.35;font-weight:750;letter-spacing:.01em}h2{font-size:19px;line-height:1.5;font-weight:750}h3{font-size:16px}p{line-height:1.8}small,.muted{color:var(--muted)}.muted{font-size:14px}.eyebrow,.small-caps{font-size:10px;letter-spacing:.18em;font-weight:850;color:var(--lav)}.small-caps{color:#af8595}.icon-button{background:transparent;border:0;display:inline-grid;place-items:center;min-width:40px;min-height:40px;border-radius:10px;color:var(--ink)}.icon-button:hover{background:var(--lav-pale)}:focus-visible{outline:3px solid #bd91c7;outline-offset:3px}.btn{border:1px solid transparent;border-radius:12px;min-height:44px;padding:9px 16px;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-align:center;line-height:1.25;font-weight:750;font-size:13px;transition:transform .16s,background .16s;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn.primary{color:#fff;background:var(--lav-dark);box-shadow:0 5px 12px #75608029}.btn.primary:hover{background:#63516c;color:#fff}.btn.soft{background:#fff;color:var(--lav-dark)}.btn.outline{border-color:#d6cbd6;background:#fff;color:var(--lav-dark)}.btn.compact{min-height:36px;padding:6px 12px}.btn.wide{width:100%}.danger-text{color:#ac6574!important}.text-link{display:inline-flex;gap:8px;color:var(--lav-dark);font-weight:800;font-size:13px;margin-top:13px}.app-shell{display:flex;min-height:100dvh;min-width:0}.sidebar{width:245px;min-width:245px;display:flex;flex-direction:column;position:sticky;top:0;height:100dvh;background:#f3eff2;border-right:1px solid #eee6ec;padding:26px 16px 19px;z-index:10}.brand{display:flex;align-items:center;gap:9px;padding:0 8px;margin-bottom:45px;color:#564957}.brand img{border-radius:12px}.brand span{line-height:1.1;font-size:16px;font-weight:800;letter-spacing:.03em}.brand b{color:#917b95}.brand small{display:block;font-size:8px;letter-spacing:.17em;margin-top:7px;color:#a39aa5}.nav{display:flex;flex-direction:column;gap:4px}.nav-label{font-size:10px;color:#b0a6b1;letter-spacing:.17em;font-weight:800;padding:0 14px;margin:0 0 8px}.nav-label.second{margin-top:22px}.nav-link{display:flex;align-items:center;gap:12px;border-radius:12px;color:#716c75;min-height:43px;padding:8px 13px;font-size:13px;font-weight:700}.nav-link:hover{background:#e8e0e8}.nav-link.selected{background:#fff;box-shadow:0 3px 10px #7a5f7b0c;color:#7c657f}.soon{font-size:9px;color:#b1a4b1;margin-left:auto;letter-spacing:0}.side-bottom{margin-top:auto;padding:10px 5px}.usage-title{display:flex;justify-content:space-between;gap:5px;font-size:11px;font-weight:800;color:#6f6370}.usage-title span{color:var(--lav)}.progress{height:7px;border-radius:50px;overflow:hidden;background:#e2dbe1;margin:9px 0 4px}.progress>span{display:block;height:100%;min-width:0;border-radius:50px;background:linear-gradient(90deg,#b6a2b4,#917b95)}.side-bottom>small{display:block;font-size:10px}.user-chip{display:flex;gap:11px;align-items:center;margin-top:22px;padding:12px 0 0;border-top:1px solid #e2dce3}.user-avatar{width:34px;height:34px;display:grid;place-items:center;background:#e4d4dc;border-radius:50%;font-weight:800;color:#785f73}.user-chip strong,.user-chip small{display:block;font-size:11px}.user-chip small{font-size:10px}.main-column{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:12px;padding:18px clamp(20px,3vw,43px);height:69px;border-bottom:1px solid #eee8ed;background:#fff8;backdrop-filter:blur(6px)}.crumb{font-size:12px;color:#918b96;font-weight:700}.crumb-sep{padding:0 11px;color:#c9bec7}.top-version{margin-left:auto;border-radius:999px;color:#8f7e90;background:#f1eaf0;padding:5px 12px;font-size:10px;font-weight:800;letter-spacing:.04em}.mobile-menu{display:none}.main-content{width:100%;max-width:1320px;padding:32px clamp(18px,3.5vw,50px) 64px;margin:0 auto;flex:1}.page-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:26px}.page-head h1{margin:7px 0}.page-head p{font-size:13px;color:var(--muted)}.site-footer{color:#b1a6b0;font-size:10px;padding:15px 36px;text-align:right;border-top:1px solid #f0e9ee}.welcome-panel{min-height:210px;padding:30px 35px;display:flex;justify-content:space-between;align-items:center;gap:22px;border-radius:20px;overflow:hidden;background:linear-gradient(115deg,#e7dbe3,#f0e7e6 65%,#eee6dd);margin-bottom:33px}.welcome-panel h2{font-size:25px;color:#5b495b;margin:7px 0 8px}.welcome-panel p{max-width:500px;color:#847780;font-size:13px;line-height:1.9;margin-bottom:20px}.welcome-art{width:230px;max-width:33%;height:165px;position:relative}.welcome-art svg{position:relative;height:165px;width:100%;z-index:1}.welcome-art .blob{position:absolute;border-radius:50%;background:#e0d0dc;width:130px;height:130px;top:16px;left:20px}.welcome-art .blob.b{background:#d9e1d9;width:92px;height:92px;left:auto;right:-15px;top:40px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:33px 0 17px}.section-heading>a{color:var(--lav-dark);font-size:12px;font-weight:750;display:inline-flex;gap:7px;align-items:center}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.project-card{background:#fff;display:flex;flex-direction:column;gap:11px;border:1px solid #f1ebed;box-shadow:var(--shade);border-radius:17px;padding:19px;min-height:205px;transition:transform .2s,border-color .2s}.project-card:hover{transform:translateY(-3px);border-color:#d8c7d7}.project-card strong{font-size:15px;color:#544c56}.project-card p{font-size:12px;color:#948b95;line-height:1.7;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:40px}.project-mark{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:13px;color:#7a6a83}.project-mark.tone-1{background:#eadfe9}.project-mark.tone-2{background:#e0e9e1;color:#638a7b}.project-mark.tone-3{background:#f4e7df;color:#ab856d}.project-mark.tone-4{background:#e5e5ef;color:#737996}.card-foot{display:flex;justify-content:space-between;margin-top:auto;padding-top:12px;border-top:1px solid #f5f1f3;color:#aaa0aa;font-size:11px}.muted-count{font-size:12px;color:#afa1ad;padding-left:6px}.item-list{border-radius:16px;overflow:hidden;border:1px solid #eee8ed;background:#fff;box-shadow:var(--shade)}.item-row{padding:14px 19px;display:flex;align-items:center;gap:13px;border-bottom:1px solid #f3eef2}.item-row:last-child{border-bottom:0}.item-row:hover{background:#fbf8fb}.row-icon{display:grid;place-items:center;width:40px;height:40px;background:#f2edf2;border-radius:11px;color:#867489}.row-title{flex:1;min-width:0}.row-title strong,.row-title small{display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.row-title strong{font-size:13px}.row-title small{font-size:11px}.row-date{color:#a6a0a7;font-size:11px}.empty-state{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:#fff;padding:50px 24px;border-radius:16px;border:1px dashed #e1d8e0;gap:14px;color:var(--lav-dark)}.empty-state h3{color:var(--ink)}.empty-state p{color:var(--muted);font-size:13px;max-width:420px}.empty-state.coming{padding:80px 20px}.detail-panel,.surface-card{background:#fff;border-radius:18px;border:1px solid #eee8ed;padding:23px;box-shadow:var(--shade)}.project-heading{display:flex;gap:17px;align-items:center}.project-heading .project-mark{width:66px;height:66px;border-radius:17px}.project-heading p{font-size:13px;color:var(--muted);margin-top:7px}.status-inline{margin-top:22px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:11px;color:#887d86}.status-dot{width:8px;height:8px;background:#a4bcb0;border-radius:50%}.v-divider{width:1px;height:12px;background:#d5ced5}.hint-panel{margin-top:20px;display:flex;gap:10px;align-items:flex-start;background:#f8f5f7;border-radius:12px;padding:13px 15px;font-size:12px;color:#8a7989}.hint-panel .icon{margin-top:2px;flex-shrink:0}.chat-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:16px;min-height:580px}.chat-panel{display:flex;flex-direction:column;min-height:580px;max-height:calc(100dvh - 205px);border:1px solid #eee5ec;background:#fff;border-radius:19px;box-shadow:var(--shade);overflow:hidden}.chat-header{min-height:73px;display:flex;align-items:center;gap:11px;padding:14px 19px;border-bottom:1px solid #f0ebf0}.assistant-avatar,.big-icon{display:grid;place-items:center;width:43px;height:43px;background:#e9dfe8;color:var(--lav-dark);border-radius:13px}.chat-header strong,.chat-header small{display:block}.chat-header strong{font-size:13px}.chat-header small{font-size:10px}.chat-state{font-size:10px;margin-left:auto;color:#8b827d;background:#f1efed;padding:6px 10px;border-radius:50px}.chat-messages{flex:1;overflow-y:auto;min-height:230px;padding:25px 22px;display:flex;flex-direction:column;gap:21px;scroll-behavior:smooth}.chat-intro{margin:auto;text-align:center;display:flex;align-items:center;flex-direction:column;gap:12px;padding:18px 8px}.chat-intro p{max-width:370px;color:#928b94;font-size:13px}.chat-intro small{font-size:11px}.chat-intro .big-icon,.empty-state .big-icon{width:65px;height:65px;border-radius:23px}.message{max-width:min(87%,690px)}.message.user{align-self:flex-end}.message-speaker{font-weight:850;font-size:10px;color:#9c8c9d;margin-bottom:6px}.message.user .message-speaker,.message.user .message-date{text-align:right}.message-bubble{white-space:normal;overflow-wrap:anywhere;border-radius:16px 16px 16px 4px;background:#f5f0f5;padding:13px 16px;font-size:13px;line-height:1.9}.message.user .message-bubble{color:#fff;background:#938095;border-radius:16px 16px 4px 16px}.message.notice .message-bubble{background:#faf0e9;color:#9c5f4e}.message-date{font-size:10px;color:#b5adb5;margin-top:5px}.chat-compose{border-top:1px solid #eee7ee;padding:15px 18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.chat-compose textarea{resize:vertical;min-height:65px;max-height:180px}.chat-compose .send-button{align-self:end;width:49px;height:49px;padding:0}.compose-note{grid-column:1/-1;color:#afa3ac;font-size:10px}.chat-info{background:#fff;border-radius:18px;border:1px solid #eee8ed;padding:20px;align-self:start}.chat-info h3{margin-bottom:17px}.chat-info dl{margin:0}.chat-info dt{font-size:10px;font-weight:800;color:#afa4ad;margin-bottom:3px}.chat-info dd{font-size:12px;margin:0 0 14px}.chat-info .btn{margin-top:14px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}.stat-card{background:#fff;border:1px solid #eee8ed;border-radius:17px;padding:22px;box-shadow:var(--shade)}.stat-card>span{display:block;color:var(--muted);font-size:12px}.stat-card>strong{display:block;font-size:26px;margin-top:11px}.stat-card strong small{font-size:12px;margin-left:5px}.stat-card p{font-size:11px;color:var(--muted)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:17px}.surface-card h2{margin-bottom:10px}.surface-card>p{font-size:13px;color:var(--muted);margin:0 0 15px}.surface-card.history{margin-top:18px}.surface-card.history h2{margin-bottom:18px}.limit-preview{margin:20px 0 24px;padding:15px;border-radius:12px;background:#f6f1f5;display:flex;justify-content:space-between;flex-wrap:wrap}.limit-preview>span{font-size:12px}.limit-preview strong{font-size:15px}.limit-preview .progress{flex-basis:100%;margin:10px 0 0}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th,td{text-align:left;padding:11px;border-bottom:1px solid #f0ebef}th{color:#938895;font-size:11px}.device-row{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #f2edf1}.device-row strong{font-size:11px;display:block;overflow-wrap:anywhere}.device-row small{display:block;font-size:10px}.device-row:last-of-type{margin-bottom:15px}.small-form{margin:13px 0}.notice{border-radius:11px;padding:12px 14px;background:#f4f0f3;border:1px solid #e7dde6;font-size:12px;color:#766477;margin:15px 0}.notice.error{background:#fff1ee;border-color:#f4d5cc;color:#a04b40}.notice.success{background:#edf6f0;border-color:#d8e8dc;color:#557967}.notice p{margin-top:5px}.notice code{overflow-wrap:anywhere}label{display:block;font-weight:750;color:#645a64;font-size:12px}input,select,textarea{width:100%;min-width:0;background:#fff;border:1px solid #dcd4dc;border-radius:11px;padding:10px 12px;color:#3f3a42;font-size:16px;margin-top:7px;outline:none}input:focus,textarea:focus,select:focus{border-color:#a591ad;box-shadow:0 0 0 3px #c9b4d027}textarea{resize:vertical}textarea::placeholder,input::placeholder{color:#b8afb8}.stack{display:flex;flex-direction:column;gap:16px}.sr-only{position:absolute!important;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}.modal-cover[hidden]{display:none}.modal-cover{position:fixed;inset:0;z-index:100;background:#29202c8e;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:#fff;border-radius:20px;padding:25px;width:min(100%,475px);box-shadow:0 25px 70px #271a2a38;max-height:90dvh;overflow-y:auto}.modal-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px}.modal-top h2{font-size:22px;margin-top:5px}.auth-body{min-height:100dvh;background:radial-gradient(ellipse at 25% 18%,#ede1e9 0,transparent 42%),radial-gradient(ellipse at 75% 73%,#e8ede7 0,transparent 38%),#faf8f7}.auth-shell{max-width:520px;margin:0 auto;padding:65px 20px 45px}.auth-brand{display:flex;align-items:center;gap:12px;justify-content:center;margin-bottom:30px}.auth-brand strong{font-size:19px;letter-spacing:.04em;color:#75617b}.auth-brand span{font-size:11px;display:block;color:#988d98}.auth-card{background:#fff;border-radius:24px;border:1px solid #eee4ea;padding:33px;box-shadow:0 15px 55px #6a526a10}.auth-card h1{margin:7px 0 9px}.auth-card>.muted{margin-bottom:28px}.auth-card .form-heading{font-size:14px;border-top:1px solid #f0eaed;padding-top:18px;margin-top:5px}.auth-card .hint{margin-top:22px;font-size:11px;color:#a89ba5;text-align:center}.auth-footer{text-align:center;font-size:10px;color:#ada0ac;margin-top:24px}@media(max-width:1120px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chat-layout{grid-template-columns:minmax(0,1fr)}.chat-info{display:none}.chat-panel{max-height:calc(100dvh - 210px)}}@media(max-width:780px){.sidebar{position:fixed;transform:translateX(-105%);transition:transform .2s;box-shadow:12px 0 22px #281c2824}.sidebar.open{transform:translateX(0)}.mobile-menu{display:inline-grid}.topbar{height:60px;padding:10px 18px}.top-version{font-size:9px}.main-content{padding:25px 17px 50px}.page-head{align-items:flex-start}.page-head>.btn{padding:8px;min-height:42px;font-size:12px}.welcome-panel{padding:27px 23px}.welcome-panel h2{font-size:22px}.welcome-art{max-width:25%;height:130px}.welcome-art svg{height:130px}.two-col{grid-template-columns:1fr}.site-footer{padding:13px 17px}.chat-panel{max-height:calc(100dvh - 180px);min-height:420px}.chat-messages{padding:16px}}@media(max-width:530px){.page-head{flex-wrap:wrap}.page-head>.btn{width:100%}.welcome-panel{min-height:230px}.welcome-art{display:none}.project-grid,.stats-grid{grid-template-columns:1fr}.project-card{min-height:180px}.section-heading h2{font-size:18px}.row-date{display:none}.stats-grid{gap:12px}.stat-card{padding:17px}.chat-layout{margin:0 -7px}.chat-panel{border-radius:14px;max-height:calc(100dvh - 198px);min-height:440px}.chat-compose{padding:12px}.chat-state{font-size:9px;max-width:110px;white-space:nowrap}.auth-shell{padding:50px 15px}.auth-card{padding:25px 21px}.top-version{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

progress.progress{display:block;width:100%;appearance:none;border:0}progress.progress::-webkit-progress-bar{background:#e2dbe1;border-radius:50px}progress.progress::-webkit-progress-value{background:#917b95;border-radius:50px}progress.progress::-moz-progress-bar{background:#917b95;border-radius:50px}

/* アカウント設定（v0.1.1） */
.account-settings{margin-bottom:18px}
.account-settings .stack{max-width:470px}
.account-settings input[readonly]{background:#f8f6f8;color:#807580}
.account-settings .hint{color:var(--muted);font-size:12px;margin-top:14px}

/* v0.1.2: やわらかい丸ゴシックと太めの文字。入力フォントサイズは16pxを維持。 */
h1,h2,h3,.brand,.auth-brand strong{font-weight:900;letter-spacing:.015em}
.btn,.nav-link,.item-row strong,.project-card strong,.chat-header strong,.page-head strong{font-weight:900}
input,textarea,select{font-weight:700;font-size:16px}
input::placeholder,textarea::placeholder{font-weight:500}
.message-bubble,.welcome-panel p,.project-card p,.auth-card p{font-weight:700}
.pwa-help{display:grid;gap:10px;margin-top:12px}
.pwa-help ol{padding-left:1.5em;margin:0;color:var(--muted);font-size:13px;line-height:2}
.pwa-help .hint{font-size:12px;color:var(--muted)}
.offline-card{text-align:center}.offline-card img{display:block;margin:0 auto 12px}.offline-card h1{font-size:22px;margin:12px 0}.offline-card p{font-size:14px;margin:15px 0 22px}

/* v0.2.0: memory/search/specification panels; no icon-font or emoji used. */
.phase2-card{margin-bottom:18px}.phase2-card h2{margin-bottom:12px}.phase2-card p.muted{margin-bottom:17px}
.phase2-list{display:grid;gap:13px;margin-top:14px}
.memory-entry,.spec-entry,.search-result{display:block;border:1px solid #eee6ed;border-radius:14px;padding:16px;background:#fdfbfd;overflow-wrap:anywhere}
.memory-entry-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.memory-entry p{font-size:13px;white-space:normal;line-height:1.9;margin-bottom:5px}
.memory-entry small,.spec-entry small{font-size:11px;color:var(--muted)}
.status-label{display:inline-flex;align-items:center;border:1px solid #e0d7dd;color:#8a7b87;background:#f4f0f3;border-radius:999px;font-size:11px;font-weight:800;padding:3px 10px;flex:none}
.status-label.status-on{background:#eaf4ee;border-color:#d7e8de;color:#4d7e68}
.button-row,.project-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:15px}
.button-row form{display:inline-flex}.button-row .btn{font-size:11px;min-height:36px}
.micro-link{display:inline-block;color:var(--lav-dark);text-decoration:underline;font-size:11px;margin-top:12px}
.revision-panel{border-top:1px solid var(--edge);margin-top:15px;padding:12px 0}.revision-panel p{margin-top:7px}
.filter-row{display:flex;flex-wrap:wrap;align-items:end;gap:13px;margin-top:18px}.filter-row label{flex:1;min-width:min(100%,180px)}
.filter-row .btn{margin-top:7px}.search-controls label:first-of-type{flex:2}
.search-result:hover{border-color:#bba7b7;background:#f9f4f8}.search-result strong,.search-result small{display:block}
.search-result strong{font-size:14px}.search-result small{color:var(--muted);font-size:11px;margin:3px 0 9px}
.search-result p{font-size:12px;line-height:1.7;color:#685f6a}
.spec-text{border:1px solid #ede4eb;background:#fbf8fb;border-radius:13px;padding:16px;margin:12px 0;white-space:normal;overflow-wrap:anywhere;font-size:13px;line-height:1.9}
.spec-entry details{margin:10px 0}.spec-entry summary,.chat-summary-area summary{cursor:pointer;font-weight:800;color:var(--lav-dark)}
.chat-summary-area{border-top:1px solid #eee8ed;padding:12px 18px 16px;background:#fbf8fa}
.chat-summary-area h3{font-size:13px;margin-bottom:7px}.chat-summary-area p{font-size:12px}.chat-summary-area details{padding:8px 0}.chat-summary-area details p{margin-top:10px}.chat-summary-area .hint{font-size:11px;color:var(--muted);margin:8px 0}
#summary-result{font-size:11px;margin-left:9px;color:#75617b}.older-history{display:flex;align-items:center;justify-content:center;padding:9px;margin-bottom:12px;border:1px solid var(--edge);border-radius:9px;background:#fff;font-size:12px;color:var(--lav-dark)}
.message-date a{text-decoration:underline;text-underline-offset:2px}.message:target .message-bubble,.message.focused .message-bubble{outline:3px solid #bb9fb7;outline-offset:3px}
@media(max-width:530px){.filter-row{display:grid;grid-template-columns:1fr}.filter-row label{min-width:0}.filter-row .btn{width:100%}.memory-entry,.spec-entry,.search-result{padding:13px}.chat-summary-area{padding:10px 13px}}
