:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8fbff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,sans-serif}*{box-sizing:border-box}body{margin:0}button,textarea{font:inherit}.app-shell,.login-page{color:#172033;background:radial-gradient(circle at 0 0,#2684ff1f,#0000 32rem),linear-gradient(#f8fbff 0%,#eef5f7 100%);min-height:100vh}.loading-screen{place-items:center;font-weight:700;display:grid}.login-page{place-items:center;padding:32px;display:grid}.login-panel{background:#ffffffdb;border:1px solid #697fa033;border-radius:8px;width:min(680px,100%);padding:40px;box-shadow:0 24px 80px #1629501f}.brand-mark{color:#fff;background:#1463ff;border-radius:8px;place-items:center;width:52px;height:52px;font-weight:800;display:grid}.login-panel h1,.topbar h1{letter-spacing:0;margin:8px 0 0;line-height:1.12}.login-panel h1{font-size:clamp(2rem,5vw,4rem)}.login-copy{color:#5a667b;max-width:560px;margin:20px 0 28px}.topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:10;background:#ffffffbd;border-bottom:1px solid #697fa02e;justify-content:space-between;align-items:center;gap:24px;padding:24px clamp(18px,4vw,56px);display:flex;position:sticky;top:0}.topbar h1{font-size:clamp(1.4rem,3vw,2.4rem)}.eyebrow{color:#1463ff;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800}.user-area{color:#42506a;align-items:center;gap:10px;font-size:.9rem;display:flex}.user-area img{border-radius:999px;width:34px;height:34px}button,.primary-button{cursor:pointer;border:0;border-radius:8px;padding:11px 16px;font-weight:800;transition:transform .16s,box-shadow .16s,background-color .16s}button:active,.primary-button:active{transform:scale(.98)}button:disabled{cursor:not-allowed;opacity:.62}.primary-button{color:#fff;background:#1463ff;justify-content:center;align-items:center;text-decoration:none;display:inline-flex;box-shadow:0 14px 36px #1463ff3d}.primary-button:hover{background:#0b54df}.ghost-button,.link-button{color:#1463ff;background:#eef4ff}.link-button{background:0 0}.error-banner,.toast{z-index:30;border-radius:8px;max-width:420px;padding:12px 14px;position:fixed;top:96px;right:24px;box-shadow:0 16px 40px #16295029}.error-banner{color:#be123c;background:#fff1f2;border:1px solid #fecdd3}.toast{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.input-layout{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);align-items:start;gap:28px;padding:clamp(22px,4vw,56px);display:grid}.intro,.input-panel,.idea-list,.detail-panel,.history-modal{background:#ffffffdb;border:1px solid #697fa02e;border-radius:8px;box-shadow:0 24px 70px #16295014}.intro{padding:32px}.intro h2,.list-header h2,.empty-state h2,.detail-hero h2{letter-spacing:0;margin:8px 0 12px;line-height:1.16}.intro p,.privacy-note,.empty-state p,.detail-hero p,.detail-content p,.prompt-card p{color:#5a667b}.input-panel{gap:18px;padding:24px;display:grid}label{color:#26344f;gap:8px;font-weight:800;display:grid}textarea{resize:vertical;color:#172033;box-sizing:border-box;background:#f9fbff;border:1px solid #d8e0ec;border-radius:8px;width:100%;min-height:132px;padding:14px;line-height:1.6}textarea:focus{border-color:#1463ff;outline:3px solid #1463ff29}.privacy-note{font-size:.88rem}.workspace{grid-template-columns:minmax(300px,420px) minmax(0,1fr);align-items:start;gap:24px;padding:clamp(18px,3vw,42px);display:grid}.idea-list,.detail-panel{padding:22px}.idea-list{max-height:calc(100vh - 132px);position:sticky;top:110px;overflow:auto}.list-header,.section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.list-header span{color:#1463ff;background:#eaf1ff;border-radius:999px;padding:6px 10px;font-weight:800}.idea-cards{gap:12px;margin-top:18px;display:grid}.idea-card{text-align:left;color:#172033;box-shadow:none;background:#fff;border:1px solid #dde6f2;padding:16px}.idea-card:hover,.idea-card.active{border-color:#1463ff;box-shadow:0 16px 38px #1463ff24}.idea-card div{justify-content:space-between;align-items:center;gap:8px;display:flex}.idea-card h3{margin:12px 0 8px;font-size:1.08rem}.idea-card p{color:#5a667b;line-height:1.55}.idea-card strong{color:#0f766e;margin-top:10px;display:block}.chip,.difficulty{border-radius:999px;align-items:center;padding:4px 8px;font-size:.74rem;font-weight:800;display:inline-flex}.chip{color:#0369a1;background:#e0f2fe}.difficulty{color:#64748b;background:#f4f7fb}.side-actions{gap:10px;margin-top:18px;display:grid}.side-actions textarea{min-height:84px}.side-actions button:not(.link-button),.detail-content button,.history-modal button{color:#fff;background:#172033}.detail-panel{min-height:680px}.empty-state{text-align:center;align-content:center;justify-items:center;gap:8px;min-height:420px;display:grid}.detail-hero{border-bottom:1px solid #e2e8f0;padding-bottom:18px}.detail-hero h2{font-size:clamp(1.7rem,4vw,3rem)}.detail-content{gap:20px;margin-top:22px;display:grid}.detail-content section,.prompt-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:18px}.detail-content h3,.prompt-card h4{color:#172033;margin:0 0 10px}.detail-content ul{color:#5a667b;margin:0;padding-left:20px}.detail-content li+li{margin-top:6px}.io-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.prompt-stack{gap:14px;display:grid}.prompt-card span{color:#1463ff;text-transform:uppercase;font-size:.78rem;font-weight:800}pre{white-space:pre-wrap;word-break:break-word;color:#e2e8f0;background:#0f172a;border-radius:8px;padding:14px;font-size:.9rem;line-height:1.6}.explanation{white-space:pre-wrap}.modal-backdrop{z-index:40;background:#0f172a66;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.history-modal{width:min(760px,100%);max-height:84vh;padding:22px;overflow:auto}.history-list{gap:12px;margin-top:16px;display:grid}.history-list article{grid-template-columns:1fr auto;align-items:stretch;gap:10px;display:grid}.history-list article>button:first-child{text-align:left;color:#172033;background:#f8fbff;border:1px solid #e2e8f0;gap:4px;display:grid}.history-list span{color:#64748b;font-size:.86rem}.danger-button{color:#b91c1c!important;background:#fee2e2!important}@media (width<=900px){.topbar,.user-area,.input-layout,.workspace,.io-grid{grid-template-columns:1fr}.topbar,.user-area{align-items:flex-start}.topbar{display:grid}.user-area{flex-wrap:wrap;display:flex}.idea-list{max-height:none;position:static}}
