:root{--bg:#14131a;--panel:#1e1c26;--panel-2:#26232f;--ink:#ece9f1;--muted:#a39db4;--accent:#c8a26b;--accent-ink:#1a1620;--line:#322e3c;--hover:#2a2734;--hover-panel:#383345;--user:#2c3a4a}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{background:var(--bg);color:var(--ink);margin:0;font-family:system-ui,Hiragino Sans,Noto Sans JP,sans-serif;line-height:1.7}.app{max-width:1280px;margin:0 auto;padding:24px 16px}.workspace{grid-template-columns:220px 1fr;align-items:start;gap:28px;display:grid}.main{min-width:0;padding-bottom:40px}.sidebar{flex-direction:column;align-self:start;gap:14px;height:calc(100vh - 48px);display:flex;position:sticky;top:24px;overflow:visible}.side-scroll{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex-direction:column;flex:1;gap:14px;min-height:0;padding-right:8px;display:flex;overflow-y:auto}.side-scroll::-webkit-scrollbar{width:6px}.side-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}.side-scroll .side-section,.side-card,.side-item{flex-shrink:0}.brand{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;height:40px;display:flex}.brand-home{color:var(--ink);letter-spacing:.04em;cursor:pointer;background:0 0;border:none;padding:0;font-size:18px;font-weight:600;line-height:1}.brand-new{border:1px solid var(--accent);width:28px;height:28px;color:var(--accent);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;margin:0;padding:0;font-size:0;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;position:relative}.brand-new:before,.brand-new:after{content:"";background:currentColor;border-radius:1px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.brand-new:before{width:13px;height:2.5px}.brand-new:after{width:2.5px;height:13px}.brand-home:hover~.brand-new,.brand-new:hover,.brand-new.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);animation:1.3s ease-in-out infinite brand-glow-pulse;box-shadow:2px 3px 14px #c8a26b73,5px 7px 26px #c8a26b4d}@keyframes brand-glow-pulse{0%,to{box-shadow:2px 3px 12px #c8a26b66,4px 6px 22px #c8a26b3d}50%{box-shadow:2px 3px 20px #c8a26ba8,7px 10px 36px #c8a26b75}}@media (prefers-reduced-motion:reduce){.brand-home:hover~.brand-new,.brand-new:hover,.brand-new.active{animation:none}}.recall-input{min-height:60px;margin-bottom:8px;font-size:13px;transition:border-color .15s}.side-recall:has(.recall-input:placeholder-shown):has(.recall-go:hover) .recall-input{border-color:var(--accent)}.recall-go{background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent);cursor:pointer;border-radius:999px;align-self:flex-end;margin:0;padding:4px 14px;font-size:13px;font-weight:600;transition:box-shadow .15s,opacity .15s}.recall-go:hover{box-shadow:0 0 12px #c8a26b80}.side-recall:has(.recall-input:placeholder-shown) .recall-go:hover{box-shadow:0 0 12px #c8a26b80}.side-recall:has(.recall-input:placeholder-shown) .recall-go:hover{opacity:.75}.side-recall:has(.recall-input:placeholder-shown) .recall-go{opacity:.5;cursor:default}.side-card{text-align:left;width:100%;color:var(--ink);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:1px solid #0000;border-radius:10px;padding:6px 10px;font-size:14px;display:block;overflow:hidden}.side-card:hover{background:var(--hover)}.side-card.active{background:var(--hover);border-color:var(--accent)}.side-all{color:var(--muted);justify-content:flex-end;align-items:center;gap:3px;font-size:12px;display:flex}.side-all svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}.side-all:hover{color:var(--ink)}.side-section{flex-direction:column;gap:6px;display:flex}.side-head{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;font-size:11px}.side-item{text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.side-item:hover{background:var(--hover)}.side-item.active{background:var(--hover);border-color:var(--accent)}.side-item-title{font-size:14px}.side-item-sub,.side-artist{color:var(--muted);font-size:12px}.side-account{background:var(--panel);border-radius:10px;align-items:center;padding-right:4px;display:flex}.side-account-name{text-align:left;min-width:0;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:5px 8px 5px 10px;font-size:12px;transition:background .15s;overflow:hidden}.side-account-name:hover{background:var(--hover-panel)}.side-account-actions{flex-shrink:0;gap:2px;display:flex}.side-account-icon{width:30px;height:30px;color:var(--ink);opacity:.72;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:opacity .15s,color .15s,background .15s;display:inline-flex}.side-account-icon:hover svg,.side-account-icon.active svg{stroke-width:2.1px}.side-account-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.side-account-icon:hover{opacity:1;background:var(--hover-panel)}.side-account-icon.active{color:var(--accent);opacity:1}.page-status{text-align:center;max-width:420px;color:var(--muted);margin:18vh auto 0;padding:0 16px}.sign-in{text-align:center;max-width:420px;margin:18vh auto 0;padding:0 16px}.sign-in h1{letter-spacing:.04em;margin-bottom:10px;font-size:20px;font-weight:600}.sign-in .hint{margin-bottom:20px}.settings{max-width:560px;margin:0 auto}.settings h2{margin:0 0 6px;font-size:17px}.settings h2+.key-group.first{margin-top:0}.settings section+h2{margin-top:28px}.key-group{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.key-group.first{border-top:none;margin-top:0;padding-top:0}.key-title{margin-bottom:8px;font-size:14px;font-weight:600}.key-body{align-items:flex-end;gap:12px;display:flex}.key-fields{flex:1;min-width:0}.key-row{align-items:center;gap:12px;margin-bottom:10px;display:flex}.key-row:last-child{margin-bottom:0}.key-label{width:100px;color:var(--muted);flex-shrink:0;font-size:12px}.key-row input{margin-bottom:0;padding:6px 10px;font-size:13px}.key-value{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;padding:6px 0;font-size:13px;overflow:hidden}.key-hint{color:var(--muted);margin-left:14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.key-input-short{max-width:260px}.key-actions{flex-shrink:0}.key-saved{color:var(--accent);font-size:12px;animation:.15s key-saved-in}@keyframes key-saved-in{0%{opacity:0}}.key-button{border-radius:8px;padding:5px 14px;font-size:13px}.key-button.danger{color:#e08a8a}.setup-missing{color:var(--accent);margin:0 0 16px;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;list-style:none}.side-item.session{flex-direction:row;align-items:center;gap:4px;padding:5px 8px}.side-item-main{text-align:left;min-width:0;color:inherit;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;flex:1;padding:0;font-size:14px;overflow:hidden}.side-item-del{color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:none;padding:0 2px;font-size:12px;line-height:1}.side-item.session:hover .side-item-del{opacity:1}.session-view{grid-template-columns:1fr 320px;align-items:start;gap:28px;display:grid}.conversation{min-width:0}.related-rail{flex-direction:column;gap:12px;display:flex;position:sticky;top:24px}.rail-head{border-bottom:1px solid var(--line);height:40px;color:var(--accent);letter-spacing:.05em;align-items:center;font-size:12px;display:flex}.rail-player .player{margin-top:0}.rail-back{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.rail-detail-link{color:var(--accent);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:4px 0 0;font-size:12px}.rail-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.rail-card-title{text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px}.rail-card-title:hover{color:var(--accent)}.card-actions{flex-shrink:0;gap:16px;display:inline-flex}.card-actions button{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:400}.card-actions .danger{color:#e08a8a}@media (width<=860px){.workspace,.session-view{grid-template-columns:1fr}.sidebar,.related-rail{position:static}.sidebar{height:auto;overflow:visible}.side-scroll{overflow:visible}}.header h1{letter-spacing:.04em;margin:0;font-size:22px}.tagline{color:var(--muted);margin:4px 0 16px;font-size:13px}.tabs{gap:8px;margin-bottom:20px;display:flex}.tab{background:var(--panel);color:var(--muted);border:1px solid var(--line);cursor:pointer;border-radius:10px;flex:1;padding:10px;font-size:14px}.tab.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}input,textarea{background:var(--panel-2);width:100%;color:var(--ink);border:1px solid var(--line);font:inherit;border-radius:10px;margin-bottom:10px;padding:10px 12px}textarea{resize:vertical;min-height:64px}button{background:var(--panel-2);color:var(--ink);border:1px solid var(--line);font:inherit;cursor:pointer;border-radius:10px;padding:10px 16px}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.lead,.hint,.notice{color:var(--muted);font-size:14px}.notice{color:var(--accent)}.error{color:#e08a8a;font-size:14px}.track-header{z-index:5;background:var(--bg);border-bottom:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;height:40px;box-shadow:0 -24px 0 var(--bg);margin-bottom:14px;line-height:40px;position:sticky;top:24px;overflow:hidden}.session-finish{color:var(--accent);border-color:var(--accent);background:0 0;margin-top:28px}.session-finish:hover:not(:disabled){background:var(--accent);color:var(--accent-ink)}.chat-log{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.bubble{white-space:pre-wrap;border-radius:12px;max-width:85%;padding:10px 14px}.bubble.user{background:var(--user);align-self:flex-end}.bubble.assistant{background:var(--panel);border:1px solid var(--line);align-self:flex-start}.fragment-input{flex-direction:column;align-items:stretch;gap:8px;display:flex}.fragment-input textarea{margin-bottom:0}.fragment-actions{justify-content:flex-end;gap:8px;display:flex}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;margin-bottom:16px;padding:16px 18px}.card-target{margin:0 0 10px;font-size:17px}.card-page .card{background:0 0;border:none;border-radius:0;padding:0}.card-page .card-target{z-index:5;background:var(--bg);border-bottom:1px solid var(--line);height:40px;box-shadow:0 -24px 0 var(--bg);justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;display:flex;position:sticky;top:24px}.card-page .card-title-text{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.card-artist{color:var(--muted);font-size:14px;font-weight:400}.inline-edit{cursor:text;border-radius:3px;margin:0 -2px;padding:0 2px;box-shadow:inset 0 -1px #0000}.inline-edit:hover,.inline-edit:focus-visible{box-shadow:inset 0 -1px 0 var(--line);outline:none}.inline-edit-input{font:inherit;vertical-align:baseline;color:inherit;background:var(--panel-2);border:none;border-bottom:1px solid var(--accent);border-radius:3px 3px 0 0;min-width:4ch;margin:0 -2px;padding:0 2px;line-height:1.35}.inline-edit-input:focus{outline:none}.inline-edit-sizer{visibility:hidden;white-space:pre;pointer-events:none;position:absolute}.card-date{color:var(--muted);margin-left:6px;font-size:13px;font-weight:400}.card-fields{margin:0}.card-fields dt{color:var(--accent);letter-spacing:.05em;margin-top:10px;font-size:12px}.card-fields dd{margin:2px 0 0}.recall-phrase{color:#e4d7bf;font-style:italic}.recall-results{margin-top:18px}.card.recalled .reason{background:var(--panel-2);border-left:3px solid var(--accent);border-radius:6px;margin:0 0 10px;padding:10px 12px}.card.recalled .hook{color:var(--muted);font-size:14px}.score{color:var(--muted);font-size:12px}.bubble a{color:var(--accent);text-underline-offset:2px;word-break:break-all;text-decoration:underline}.transcript{border-top:1px dashed var(--line);margin-top:14px;padding-top:10px}.transcript-toggle{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.card-metadata{margin-top:12px}.metadata-toggle{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.metadata-edit{margin-top:8px}.metadata-edit textarea{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.6}.transcript .chat-log{margin-top:10px}.card-meta{color:var(--muted);flex-wrap:wrap;gap:14px;margin-top:14px;font-size:12px;display:flex}.meta-action{margin-left:auto}.recall-action{align-items:center;gap:6px;display:flex}.recall-dir{border-radius:999px;width:260px;max-width:100%;margin-bottom:0;padding:4px 10px;font-size:12px}.recall-btn{background:var(--panel-2);color:var(--accent);border:1px solid var(--accent);border-radius:999px;flex:none;padding:4px 12px;font-size:12px}.recall-source{color:var(--accent);margin-top:14px;font-size:13px}.session-related{margin:8px 0 20px}.player{margin-top:14px}.player p{margin:6px 0 0;font-size:13px}.player a{color:var(--accent)}.embed iframe{border:0;border-radius:12px;width:100%;display:block}.embed-video{aspect-ratio:16/9;position:relative}.embed-video iframe{height:100%;position:absolute;inset:0}.embed-spotify iframe{height:352px}.player-compact{margin-top:10px}.embed-spotify.embed-compact{max-width:320px}.embed-spotify.embed-compact iframe{height:152px}.embed-video.embed-compact,.embed-apple.embed-compact{max-width:320px}.reengage{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.reengage-actions{justify-content:flex-end;gap:8px;display:flex}.card-list{flex-direction:column;gap:12px;display:flex}.card-summary{text-align:left;background:var(--panel);border:1px solid var(--line);cursor:pointer;width:100%;color:var(--ink);border-radius:14px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.card-summary:hover{border-color:var(--accent)}.card-summary .card-target{font-size:16px;font-weight:600}.card-summary .card-meta{margin-top:0}.card.clickable{cursor:pointer}.card.clickable:hover{border-color:var(--accent)}.modal-overlay{z-index:10;background:#0009;justify-content:center;align-items:flex-start;padding:24px 16px;display:flex;position:fixed;inset:0;overflow:auto}.modal{background:var(--bg);border:1px solid var(--line);border-radius:16px;width:100%;max-width:720px;padding:16px}.modal-bar{justify-content:space-between;margin-bottom:12px;display:flex}.modal-bar button{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0}.modal-bar-actions{gap:16px;display:flex}.modal-bar .danger{color:#e08a8a}.start-grid{grid-template-columns:minmax(0,560px);justify-content:center;align-items:start;gap:24px;display:grid}.start-grid.has-preview{grid-template-columns:minmax(0,560px) 320px}.start-preview{position:sticky;top:24px}@media (width<=860px){.start-grid.has-preview{grid-template-columns:1fr}}.start-form .field{margin-bottom:12px;display:block}.start-form .field-label{color:var(--accent);letter-spacing:.05em;margin-bottom:4px;font-size:12px;display:block}.start-form .field input,.start-form .field textarea{margin-bottom:0}.card-edit .field{margin-top:12px;display:block}.card-edit .field span{color:var(--accent);letter-spacing:.05em;margin-bottom:4px;font-size:12px;display:block}.card-edit .field textarea,.card-edit .field input{margin-bottom:0}.edit-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}
