draken 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +37 -0
- package/MEMORY.md +8 -4
- package/README.md +12 -6
- package/SETUP.md +4 -2
- package/SOURCES.md +1 -1
- package/VOICE.md +5 -1
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +9 -0
- package/dist/db/schema.js.map +1 -1
- package/dist/memory/automatic.d.ts +1 -1
- package/dist/memory/automatic.d.ts.map +1 -1
- package/dist/memory/automatic.js +3 -2
- package/dist/memory/automatic.js.map +1 -1
- package/dist/memory/context.d.ts +1 -0
- package/dist/memory/context.d.ts.map +1 -1
- package/dist/memory/context.js +4 -0
- package/dist/memory/context.js.map +1 -1
- package/dist/sync/manager.d.ts.map +1 -1
- package/dist/sync/manager.js +13 -16
- package/dist/sync/manager.js.map +1 -1
- package/dist/voice/continuation.d.ts.map +1 -1
- package/dist/voice/continuation.js +7 -2
- package/dist/voice/continuation.js.map +1 -1
- package/dist/voice/history-delivery.d.ts +19 -0
- package/dist/voice/history-delivery.d.ts.map +1 -0
- package/dist/voice/history-delivery.js +57 -0
- package/dist/voice/history-delivery.js.map +1 -0
- package/dist/voice/history-focus.d.ts +4 -0
- package/dist/voice/history-focus.d.ts.map +1 -1
- package/dist/voice/history-focus.js +15 -0
- package/dist/voice/history-focus.js.map +1 -1
- package/dist/voice/live-context.d.ts +1 -1
- package/dist/voice/live-context.d.ts.map +1 -1
- package/dist/voice/live-context.js +2 -1
- package/dist/voice/live-context.js.map +1 -1
- package/dist/voice/live.d.ts.map +1 -1
- package/dist/voice/live.js +62 -28
- package/dist/voice/live.js.map +1 -1
- package/package.json +1 -1
- package/public/assets/index-ClbxoVQK.js +131 -0
- package/public/assets/index-D79D-rxm.css +1 -0
- package/public/assets/{persona-BgbqhiLa.js → persona-CsDA3JtF.js} +1 -1
- package/public/index.html +3 -3
- package/public/persona.html +3 -3
- package/public/assets/index-BCDcSZkB.css +0 -1
- package/public/assets/index-SXgKBqZw.js +0 -131
- /package/public/assets/{index-S46UUaj8.js → index-B13h0MjX.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.dp-stage{position:relative;isolation:isolate;margin:0;width:100%;height:100%;min-height:280px;overflow:hidden;border:2px solid var(--ink, #111);background:#707c72}.dp-poster,.dp-canvas{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.dp-canvas{opacity:0}.dp-canvas.is-ready{opacity:1}.dp-caption{position:absolute;bottom:15px;left:15px;padding:9px 11px;background:#172923ed;color:#fff5dc;font:800 10px/1.4 Avenir Next,Arial,sans-serif;letter-spacing:.12em;pointer-events:none}.dp-caption-sub{display:block;margin-top:3px;color:#d2d9cc;font-size:8px;letter-spacing:.08em}.dp-dot{display:inline-block;width:6px;height:6px;margin-right:7px;background:#e5bc63;border-radius:50%;vertical-align:middle}.dp-tools{position:absolute;right:15px;top:15px}.dp-tools button{padding:8px 10px;border:1px solid #c5b995;color:#fff5dc;background:#172923ed;font:700 10px/1.3 Avenir Next,Arial,sans-serif;cursor:pointer}.dp-tools button:hover:not(:disabled){background:#30483b}.dp-tools button:focus-visible{outline:3px solid #f2c230;outline-offset:3px}.dp-tools button:disabled{cursor:default}.dp-fallback{position:absolute;left:12px;right:12px;top:60px;color:#fff5dc;background:#172923ed;padding:8px 12px;font-size:12px;line-height:1.5}@media(max-width:760px){.dp-stage{min-height:190px}.dp-caption{left:10px;bottom:10px;padding:7px 9px;font-size:9px}.dp-tools{right:10px;top:10px}}@media(forced-colors:active){.dp-caption,.dp-tools button,.dp-fallback{color:CanvasText;background:Canvas;border:1px solid CanvasText}.dp-caption-sub{color:CanvasText}}:root{font-family:Avenir Next,Futura,Century Gothic,Arial Narrow,Arial,sans-serif;font-synthesis:none;color-scheme:light;color:var(--ink);background:var(--paper);--paper: #c7c6c0;--panel: #deddd7;--ink: #111111;--line: var(--ink);--rule: #a9a79f;--surface-muted: #bbb9b1;--muted: #4f4d47;--accent: #9136d8;--red: #e33b2e;--blue: #1746a2;--yellow: #f2c230;--green: #0b7a53;--success-surface: #dfeee4;--warning-surface: #fff0b8;--danger-surface: #fbe0dc;--concrete-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='4' seed='8' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='table' tableValues='0 .32'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}*{box-sizing:border-box}body{margin:0;background-color:var(--paper);background-image:var(--concrete-noise),radial-gradient(circle at 2rem 2rem,rgb(39 39 37 / 34%) 0 2px,rgb(255 255 255 / 24%) 2.5px 3.5px,transparent 4px),linear-gradient(to bottom,rgb(17 17 17 / 14%) 1px,transparent 1px),linear-gradient(to right,rgb(17 17 17 / 12%) 1px,transparent 1px);background-position:0 0,0 0,-1px -1px,-1px -1px;background-size:180px 180px,14rem 14rem,28rem 14rem,28rem 14rem;background-blend-mode:soft-light,multiply,multiply,multiply}button,input,textarea,select{font:inherit;border-radius:0}button{cursor:pointer}button,input,textarea,select{transition:background-color .12s,transform .12s,box-shadow .12s}button:disabled,input:disabled,textarea:disabled,select:disabled{cursor:not-allowed;opacity:.55;box-shadow:none;transform:none}:where(button,a,input,textarea,select,summary):focus-visible{outline:3px solid var(--accent);outline-offset:3px}::selection{background:#f4a097;color:var(--ink)}input[type=checkbox]{accent-color:var(--accent);width:18px;height:18px;flex:0 0 18px;margin:2px 0 0}textarea,.input{width:100%;min-width:0;border:2px solid var(--line);padding:12px 14px;background:var(--panel);color:var(--ink);resize:vertical;line-height:1.65}textarea::placeholder,.input::placeholder{color:var(--muted);opacity:1}h1,h2,h3{letter-spacing:-.04em;font-weight:900;text-transform:uppercase;overflow-wrap:anywhere}h1{font-size:clamp(32px,3.4vw,48px);line-height:1.04;margin:16px 0;letter-spacing:-.055em}h2{font-size:20px;margin:0 0 16px}h3{font-size:16px}p{line-height:1.7}.muted{color:var(--muted)}.small{font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px max(24px,calc((100vw - 1550px)/2 + 24px));border-bottom:2px solid var(--line);background:var(--panel)}.brand{display:flex;align-items:center;gap:14px}.brand img{width:44px;height:44px;object-fit:contain}.brand strong{display:block;font-size:28px;font-weight:900;letter-spacing:-.06em;text-transform:uppercase;line-height:1}.brand span{display:block;font-size:10px;font-weight:800;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-top:6px}.header-right{display:flex;align-items:center;flex-wrap:wrap;gap:16px;min-width:0}.header-right .header-settings{min-height:36px;padding:7px 10px;font-size:10px}.settings-dialog{--settings-padding: 24px;width:min(960px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:var(--settings-padding);border:2px solid var(--line);background:var(--panel);color:var(--ink);box-shadow:8px 8px 0 var(--ink);overflow:auto;overscroll-behavior:contain}.preparation-usage{border-bottom:1px solid var(--rule);margin-bottom:24px;padding-bottom:16px}.usage-controls,.usage-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.usage-controls label{display:grid;gap:6px;font-size:13px;font-weight:700;min-width:0}.usage-controls select{width:100%;min-width:0;min-height:40px;padding:8px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-weight:400}.usage-totals>div{min-width:0;display:flex;flex-direction:column;gap:6px;border:1px solid var(--rule);padding:12px}.usage-totals strong{font-size:28px;line-height:1.1;overflow-wrap:anywhere}.usage-chart-heading,.usage-chart-axis{display:flex;justify-content:space-between;gap:8px}.usage-chart-frame{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:8px;margin-top:12px}.usage-axis-unit{grid-column:1 / -1;margin-bottom:6px}.usage-y-axis{position:relative;height:120px;font-variant-numeric:tabular-nums}.usage-y-axis span{position:absolute;right:0;transform:translateY(-50%);white-space:nowrap}.usage-chart{display:block;width:100%;height:120px}.usage-chart rect{fill:var(--blue)}.usage-chart .usage-incomplete{fill:var(--muted)}.usage-chart line{stroke:var(--rule);vector-effect:non-scaling-stroke}.usage-chart .usage-gridline{stroke-dasharray:3 4}.usage-chart-axis{grid-column:2;margin-top:10px;font-variant-numeric:tabular-nums}.home-preparation-info{margin:16px 0;padding:12px;border:1px solid var(--rule)}.home-preparation-info summary{cursor:pointer;font-weight:700}.home-preparation-info p{margin-top:12px}.usage-details{margin-top:16px}.usage-details summary{cursor:pointer;font-weight:700}.usage-table-wrap{overflow:auto;max-height:320px;margin-top:12px}.usage-table-wrap table{width:100%;min-width:600px;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.usage-table-wrap th,.usage-table-wrap td{padding:8px;border-bottom:1px solid var(--rule);text-align:left}.usage-table-wrap th[scope=row]{font-weight:400;white-space:nowrap}@media(max-width:600px){.usage-controls,.usage-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.usage-controls label:last-child,.usage-totals>div:first-child{grid-column:1 / -1}}.settings-dialog::backdrop{background:#1119}.settings-dialog>.section-heading{position:sticky;top:calc(-1 * var(--settings-padding));z-index:1;margin-top:calc(-1 * var(--settings-padding));padding-block:var(--settings-padding) 12px;background:var(--panel)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading>*{min-width:0}.section-heading h2{margin-bottom:0}.source-path{display:block;overflow-wrap:anywhere;font-size:11px;color:var(--muted);line-height:1.65;background:var(--paper);border:1px solid var(--rule);padding:10px}.session-list{margin-top:20px;max-height:440px;overflow-y:auto;padding:3px}.session-source{display:flex;align-items:flex-start;gap:10px;padding:12px;margin-bottom:10px;border:2px solid var(--line);cursor:pointer;background:var(--paper)}.session-source:has(input:checked){background:var(--panel);box-shadow:inset 4px 0 0 var(--accent)}.session-source>span{min-width:0}.session-source strong{display:block;font-size:13px;overflow-wrap:anywhere;font-weight:800}.source-cwd{display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;color:var(--muted);font-size:11px;margin:5px 0}.session-source .small{font-size:10px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}.page-heading>div{min-width:0}.page-heading>.btn{flex-shrink:0}.page-heading h1{max-width:22ch;text-wrap:balance}.page-heading p{font-size:13px;margin-bottom:0}.eyebrow{display:inline-block;padding:6px 8px;border:1px solid var(--line);background:var(--yellow);font-size:10px;font-weight:900;letter-spacing:.1em}.btn{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:42px;padding:11px 16px;border:2px solid var(--line);font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;line-height:1.4}.btn svg,.icon-button svg{flex-shrink:0}.btn-primary{color:#fff;background:var(--accent);box-shadow:4px 4px 0 var(--ink)}.btn-secondary{color:var(--ink);background:var(--panel)}.btn-ghost{color:var(--muted);background:transparent;border-color:transparent}.btn-primary:hover:not(:disabled),.btn-secondary:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}.btn-secondary:hover:not(:disabled),.icon-button:hover:not(:disabled){background:var(--yellow)}.btn-ghost:hover:not(:disabled){color:var(--ink);border-color:var(--line);background:var(--danger-surface)}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;border:2px solid var(--line);padding:7px;background:var(--panel);color:var(--ink)}.btn:active:not(:disabled),.icon-button:active:not(:disabled){transform:translate(1px,1px);box-shadow:none}.card{background:var(--panel);border:2px solid var(--line);padding:26px;margin-bottom:28px;box-shadow:6px 6px 0 var(--surface-muted)}.briefing-card,.welcome{box-shadow:8px 8px 0 var(--accent)}.welcome{text-align:center;padding:40px 30px}.welcome h2{font-size:clamp(22px,2.2vw,30px);margin-top:24px}.welcome>p{color:var(--muted);max-width:540px;margin:18px auto;font-size:14px}.status{display:inline-block;font-size:10px;line-height:1.3;letter-spacing:.03em;border:1px solid var(--line);padding:4px 7px;background:var(--surface-muted);color:var(--ink);vertical-align:middle;font-weight:800;text-transform:uppercase;white-space:nowrap}.status.open,.status.running{background:var(--yellow)}.status.completed,.status.done,.status.cached{background:var(--success-surface);border-color:var(--green)}.status.failed,.status.cancelled,.status.interrupted{background:var(--danger-surface);border-color:var(--red)}.prose{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;font-size:14px}.briefing-card>.prose{padding:18px 0 8px}.citation{display:inline;background:var(--panel);border:1px solid var(--blue);color:var(--blue);font-size:12px;font-weight:800;padding:2px 5px;vertical-align:baseline;margin:0 2px}.citation:hover{background:var(--yellow)}.discussion{box-shadow:6px 6px 0 var(--ink)}.message{padding:16px 18px;margin:16px 0;border:1px solid var(--rule);border-left:4px solid var(--accent);background:var(--panel)}.message.user{background:var(--paper);border-left-color:var(--blue)}.message-author{font-size:10px;color:var(--ink);font-weight:900;text-transform:uppercase;letter-spacing:.1em;display:block;margin-bottom:10px}.discussion form{margin-top:20px}.form-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px}.notes-card{box-shadow:6px 6px 0 var(--yellow)}.notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0 10px}.notes-grid>div{min-width:0}.notes-grid label{font-size:12px;font-weight:800}.notes-grid textarea{margin-top:9px;font-size:13px;min-height:165px}.alert{padding:14px 16px;border:2px solid var(--line);border-left-width:6px;font-size:12px;line-height:1.7;margin-bottom:20px;overflow-wrap:anywhere;color:var(--ink)}.alert.error{background:var(--danger-surface);border-left-color:var(--red)}.alert.warning{background:var(--warning-surface);border-left-color:var(--yellow)}summary{cursor:pointer}.working{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;color:var(--ink);margin:18px 0;padding:12px;background:var(--warning-surface);border:2px solid var(--line)}.spinner{width:18px;height:18px;flex-shrink:0;display:inline-block;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.tree-card progress,.history-progress progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:14px;border:2px solid var(--line);border-radius:0;background:var(--paper);accent-color:var(--accent)}.tree-card progress::-webkit-progress-bar,.history-progress progress::-webkit-progress-bar{background:var(--paper)}.tree-card progress::-webkit-progress-value,.history-progress progress::-webkit-progress-value{background:var(--accent)}.tree-card progress::-moz-progress-bar,.history-progress progress::-moz-progress-bar{background:var(--accent)}.tree-stats{display:flex;flex-wrap:wrap;gap:10px 18px;margin:12px 0;color:var(--muted);font-size:11px}.tree-browser{margin-top:20px;font-size:12px}.tree-browser>summary{font-weight:800;padding:6px 0}.tree-browser ul{list-style:none;padding-left:16px;margin:8px 0}.tree-browser>ul{padding-left:0}.tree-node{display:flex;align-items:center;min-width:0;gap:6px;padding:8px 0;border-bottom:1px solid var(--rule)}.tree-toggle{flex:0 0 28px;min-height:28px;border:1px solid transparent;background:transparent;color:var(--ink);padding:3px}.tree-toggle:hover:not(:disabled){border-color:var(--line);background:var(--yellow)}.tree-label{flex:1;min-width:0;min-height:28px;border:0;background:transparent;color:var(--ink);text-align:left;font-size:12px;overflow-wrap:anywhere}.tree-label:hover:not(:disabled){color:var(--blue);text-decoration:underline}.node-inspector{margin-top:22px;border:2px solid var(--line);border-top:5px solid var(--accent);padding:18px}.node-observation{margin:18px 0}.node-observation>strong{font-size:13px}.node-observation .prose{font-size:13px;margin-top:10px}.evidence-section{margin-top:34px}.evidence-section h3{line-height:1.6}.count{display:inline-block;background:var(--yellow);color:var(--ink);border:1px solid var(--line);padding:2px 7px;font-size:11px;margin-left:7px;vertical-align:middle}.evidence{background:var(--panel);border:2px solid var(--line);margin:10px 0;scroll-margin-top:24px}.evidence[open]{box-shadow:4px 4px 0 var(--blue)}.evidence summary{display:flex;align-items:center;gap:12px;padding:14px;list-style:none}.evidence summary::-webkit-details-marker{display:none}.evidence summary:hover{background:var(--paper)}.reference{border:1px solid var(--line);background:var(--yellow);font:11px ui-monospace,monospace;padding:6px;color:var(--ink);flex-shrink:0}.evidence-title{min-width:0;flex:1}.evidence-title strong{display:block;color:var(--ink);font-size:12px;font-weight:800;overflow-wrap:anywhere}.evidence-title>span{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:12px;color:var(--muted);margin-top:5px}.role-label{font-size:10px;color:var(--muted)}.evidence-body{border-top:1px solid var(--rule);padding:16px}dl{display:grid;grid-template-columns:75px minmax(0,1fr);font:11px ui-monospace,monospace;gap:8px;line-height:1.8}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere;color:var(--ink)}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.8 ui-monospace,monospace;color:var(--ink);max-height:550px;overflow-y:auto}.evidence-controls{margin:16px 0}.evidence-controls .input{font-size:12px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;font-size:11px;color:var(--muted)}.app-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:15px;color:var(--ink);font-weight:800}.login-page{min-height:100vh;display:grid;place-items:center;padding:28px}.login-card{background:var(--panel);border:2px solid var(--line);box-shadow:10px 10px 0 var(--accent);padding:36px;width:min(100%,420px)}.login-header{text-align:center;margin-bottom:28px}.login-logo{width:64px;height:64px;object-fit:contain}.login-header h1{font-size:40px}.login-subtitle{color:var(--muted);font-size:13px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:9px}.input-with-icon{position:relative}.input-icon{position:absolute;top:17px;left:13px;color:var(--muted);pointer-events:none}.input-with-icon .input{padding-left:40px}.login-btn{width:100%;margin-top:12px}.login-error{display:flex;gap:9px;align-items:center;color:var(--ink);background:var(--danger-surface);border-left:4px solid var(--red);padding:12px;font-size:12px;margin-bottom:20px}.login-error svg{flex-shrink:0}.conversation-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.text-chat{padding:24px}.chat-heading{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.chat-heading>div{flex:1;min-width:160px}.chat-heading h2,.chat-heading p{margin:0}.chat-heading p{margin-top:5px}.chat-avatar{flex-shrink:0;object-fit:cover;border:2px solid var(--line);border-radius:0;background:var(--yellow)}.chat-thread{max-height:min(65dvh,640px);min-height:180px;overflow-y:auto;overscroll-behavior:contain;padding:12px 4px}.chat-welcome{max-width:520px;margin:30px auto;text-align:center;line-height:1.7}.chat-welcome h3{font-size:20px}.chat-message{display:flex;align-items:flex-start;gap:12px;margin-bottom:22px}.chat-message.user{justify-content:flex-end;padding-left:40px}.chat-bubble{min-width:0;max-width:90%;padding:14px 18px;background:var(--paper);border:1px solid var(--rule);overflow-wrap:anywhere}.chat-message.user .chat-bubble{background:var(--yellow);border-color:var(--line)}.chat-bubble .prose{margin:8px 0 0}.chat-author{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:baseline;font-size:12px}.chat-author time{color:var(--muted);font-size:10px}.chat-thinking{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.chat-thinking>.small{flex-basis:100%}.chat-compose{border-top:1px solid var(--rule);padding-top:16px}.chat-compose textarea{width:100%;resize:vertical;min-height:82px}.chat-compose-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap}.chat-refresh{margin-top:14px}.chat-boundary{margin:18px 0 0}@media(max-width:600px){.text-chat{padding:16px}.chat-heading>.btn{width:100%}.chat-message{gap:8px}.chat-message.user{padding-left:24px}.chat-bubble{padding:12px;max-width:100%}.chat-message .chat-avatar{width:30px;height:30px}.conversation-actions{width:100%}.conversation-actions>.btn{flex:1}}.voice-entry{padding:20px 24px}.voice-entry-main{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.voice-entry-main>div:nth-child(2){flex:1;min-width:180px}.voice-entry-main h2{font-size:18px;margin:0}.voice-entry-main p{margin:8px 0 0}.voice-entry-main>.btn{text-decoration:none}.voice-entry-icon{width:46px;height:46px;flex-shrink:0;display:grid;place-items:center;border:2px solid var(--line);background:var(--yellow)}.voice-history{margin-top:18px;font-size:12px}.voice-history>summary{color:var(--muted)}.voice-history-call{border-top:1px solid var(--rule);margin-top:14px;padding-top:12px}.voice-history-turn{border-left:3px solid var(--accent);padding-left:14px;margin:20px 0}.voice-history-turn>p{margin-top:8px}.voice-reconnect{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:18px}.voice-dialog{width:min(900px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:26px;color:var(--ink);background:var(--panel);border:2px solid var(--line);box-shadow:8px 8px 0 var(--accent);overscroll-behavior:contain}.voice-dialog::backdrop{background:#111111b3}.voice-dialog-header{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:2px solid var(--line)}.voice-dialog-header>div{flex:1}.voice-dialog-header h2{margin:12px 0 0;font-size:18px}.voice-clock{font:14px ui-monospace,monospace;font-variant-numeric:tabular-nums}.voice-call-body{--scene-height: clamp(280px, 46dvh, 460px);margin-top:18px}.voice-preparation{padding:20px;border:2px solid var(--line)}.voice-scene{position:relative;isolation:isolate;min-width:0;height:var(--scene-height);overflow:hidden}.voice-scene-poster{display:block;width:100%;height:100%;object-fit:cover;border:2px solid var(--line)}.voice-captions{position:absolute;z-index:1;inset:auto 2px 2px;padding:32px 18px 16px;color:#fff;background:linear-gradient(transparent,#000000c7);text-align:center;font-size:clamp(16px,1.8vw,21px);line-height:1.5;text-shadow:0 1px 3px #000;pointer-events:none}.voice-caption-speaker{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;margin-bottom:3px}.voice-caption-window{display:flex;align-items:flex-end;justify-content:center;max-height:4.5em;overflow:hidden}.voice-caption-window p{margin:0;min-width:0;max-width:70ch;overflow-wrap:anywhere}.voice-captions[data-kind=status]{font-style:italic}.voice-conversation{margin-top:14px;border-top:1px solid var(--rule);padding-top:12px;font-size:12px}.voice-conversation>summary{color:var(--muted);cursor:pointer}.voice-call-details{min-width:0;max-height:min(48dvh,440px);overflow-y:auto;padding-right:5px}.voice-answer{overflow-wrap:anywhere}.voice-sources{display:flex;gap:6px;justify-content:flex-start;flex-wrap:wrap;margin-top:18px}.voice-notice{padding:10px 12px;border:1px solid var(--rule)}.voice-source{border:2px solid var(--line);padding:14px;margin:14px 0;font-size:12px;overflow-wrap:anywhere}.voice-source pre{max-height:180px}.voice-controls{display:flex;align-items:stretch;justify-content:center;gap:12px;margin-top:18px}.voice-controls .btn{min-width:0}.btn-danger{color:var(--ink);background:var(--red);border-color:var(--line);box-shadow:3px 3px 0 var(--ink)}.btn-danger:hover:not(:disabled){background:var(--danger-surface)}.is-muted{background:var(--yellow)}.voice-options{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:10px}.voice-options .voice-keyboard-toggle{margin:0}.voice-keyboard-toggle{display:flex;align-items:center;gap:8px;margin:auto;padding:8px;border:0;background:transparent;color:var(--muted);font-size:12px}.voice-keyboard-toggle[aria-pressed=true]{background:var(--yellow);color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}.voice-compose{display:flex;gap:10px;margin-top:12px}.voice-compose .input{flex:1}.voice-compose .btn{padding:10px;flex-shrink:0}.voice-transcript{font-size:14px;line-height:1.6}.voice-transcript>div{margin-top:18px;overflow-wrap:anywhere}.voice-transcript p{white-space:pre-wrap;overflow-wrap:anywhere;margin-block:8px}.voice-footer{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:20px;color:var(--muted);font-size:10px;line-height:1.6}.voice-footer svg{flex-shrink:0}.brand{color:inherit;text-decoration:none}.sync-home,.sync-detail{width:min(100%,1060px);margin:auto;padding:40px 30px 72px;min-width:0}.sync-detail{width:min(100%,1180px)}.home-hint{max-width:75ch;margin:22px 0}.setup-panel{margin-block:24px;padding:18px;border:2px solid var(--line);background:var(--panel);overflow-wrap:anywhere}.settings-dialog .setup-panel{padding:14px;margin-bottom:0}.setup-panel h2{font-size:18px}.setup-panel p,.setup-panel ul{margin-block:10px}.setup-panel code{font-size:.9em;white-space:normal}.setup-commands{font-size:13px;padding-left:12px;border-left:3px solid var(--accent)}.home-counts{display:flex;flex-wrap:wrap;gap:10px 24px;border-block:2px solid var(--line);padding:15px 0;font-size:12px}.home-counts strong{font-size:20px;margin-right:5px}.sync-feed{display:grid;gap:20px;margin:30px 0}.sync-tile{display:block;min-width:0;padding:20px 24px;margin:0;color:var(--ink);text-decoration:none;box-shadow:8px 8px 0 var(--accent)}.sync-tile:hover{border-color:var(--accent)}.sync-tile-heading{display:flex;gap:12px;align-items:center;margin-bottom:7px}.sync-tile-heading>strong{font-size:17px;text-transform:uppercase}.sync-tile-heading>svg{margin-left:auto;flex-shrink:0}.sync-tile-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;max-height:4.5em;line-height:1.5;margin:12px 0 8px;font-size:14px;white-space:pre-line;overflow-wrap:anywhere}.sync-tile-kind{font-size:10px}.sync-cost{display:inline-block}.source-settings{margin-top:35px;padding-top:18px;border-top:1px solid var(--rule)}.source-settings>summary,.detail-section>summary{cursor:pointer;font-weight:800}.agent-source{margin-top:20px;padding-top:16px;border-top:1px solid var(--rule);min-width:0}.agent-source h3{margin:0}.source-session-meta{display:block;margin-block:6px;overflow-wrap:anywhere}.source-warnings{padding-left:20px;overflow-wrap:anywhere}.index-toggle{display:flex;align-items:flex-start;gap:10px;padding:12px;margin-top:14px;border:2px solid var(--line);cursor:pointer;background:var(--paper)}.index-toggle>span{min-width:0}.index-toggle strong,.index-toggle .small{display:block}.back-link{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-size:12px;margin-bottom:24px}.sync-detail>.page-heading{margin-bottom:28px}.detail-section{border:2px solid var(--line);background:var(--panel);margin:18px 0;padding:18px 22px;min-width:0}.detail-section[open]>summary{margin-bottom:22px}.detail-section .briefing-card,.detail-section .card{box-shadow:none}.memory-recap{padding-block:14px;border-top:1px solid var(--rule)}.memory-recap>a{color:var(--blue);font-weight:800}.detail-footer{display:flex;gap:20px;align-items:center;justify-content:space-between}.sync-detail .working{flex-wrap:wrap}.sync-detail .working .btn{margin-left:auto}@media(max-width:760px){.sync-home,.sync-detail{padding:26px 20px 56px}.sync-home>.page-heading>.btn{width:100%}.sync-tile{padding:16px}.sync-tile .small{font-size:11px}.sync-tile-kind{display:none}.detail-section{padding:16px}.detail-footer{flex-direction:column;align-items:flex-start}.recap-card .section-heading{flex-wrap:wrap}}@media(max-width:1100px){.page-heading{align-items:flex-start;flex-direction:column;gap:20px}}@media(max-width:760px){.header{padding:14px 16px;flex-wrap:wrap}.header-right{gap:10px}.brand strong{font-size:24px}.brand img{width:36px;height:36px}.brand span{font-size:9px}.settings-dialog{--settings-padding: 16px}.session-list{max-height:180px}.notes-grid{grid-template-columns:1fr}.card{padding:20px}.section-heading,.form-footer{flex-wrap:wrap}.form-footer>.btn{margin-left:auto}.tree-browser ul{padding-left:8px}.tree-browser>ul{padding-left:0}.role-label{display:none}.login-card{padding:28px 22px}.voice-entry{padding:18px}.voice-entry-main{gap:12px}.voice-entry-main>.btn{width:100%}.voice-dialog{padding:14px}.voice-dialog-header{gap:10px}.voice-dialog-header .eyebrow{font-size:8px}.voice-controls{gap:8px}.voice-controls .btn{flex:1;flex-direction:column;padding:10px 6px;font-size:10px}.voice-call-body{--scene-height: clamp(200px, 40dvh, 340px);margin-top:12px}.voice-captions{padding:24px 12px 12px;font-size:17px}.voice-footer{margin-top:12px}}.history-progress{padding:14px;margin-block:16px;border:2px solid var(--line);background:var(--panel);text-align:left}.history-progress p{margin-block:8px;overflow-wrap:anywhere}.history-page .card{margin-block:20px}.history-search{margin-block:28px}.history-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:end;margin-block:16px}.history-excerpt{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.6}.history-source,.history-result{min-width:0;overflow-wrap:anywhere}@media(max-width:540px){.header-right{gap:10px;font-size:12px}.history-actions{align-items:stretch;flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}.spinner{animation:none}}@media(forced-colors:active){body{background-image:none}.btn,.icon-button,.card,.login-card,.evidence{box-shadow:none}.tree-card progress,.history-progress progress{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.voice-captions{background:Canvas;color:CanvasText;text-shadow:none}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as g,j as e,r as s,P as b}from"./index-
|
|
1
|
+
import{c as g,j as e,r as s,P as b}from"./index-B13h0MjX.js";function y(){const[m,o]=s.useState("idle"),[h,f]=s.useState(""),a=s.useRef(null),l=s.useRef(),i=s.useRef(),d=s.useRef(!0),t=s.useRef(0),p=()=>{var r;t.current++,(r=i.current)==null||r.stop(),i.current=void 0,a.current=null,o("idle")};s.useEffect(()=>()=>{var r,n;d.current=!1,t.current++,(r=i.current)==null||r.stop(),a.current=null,(n=l.current)==null||n.close()},[]);const w=async()=>{p();const r=t.current;f("");try{const n=l.current||(l.current=new AudioContext);await n.resume();const x=await fetch("/persona/sample.wav");if(!x.ok)throw Error("The local sample could not be loaded.");const u=await n.decodeAudioData(await x.arrayBuffer());if(!d.current||r!==t.current)return;const c=n.createBufferSource();i.current=c,c.buffer=u,c.connect(n.destination);const j=n.currentTime;a.current={text:"Did the export tests pass?",samples:u.getChannelData(0).slice(),sampleRate:u.sampleRate,duration:u.duration,startedAt:j,now:()=>n.state==="running"?n.currentTime:NaN},c.onended=()=>{c.disconnect(),r===t.current&&d.current&&(i.current=void 0,a.current=null,o("idle"))},o("speaking"),c.start(j)}catch(n){d.current&&r===t.current&&(f(n instanceof Error?n.message:"Sample playback failed"),o("idle"),a.current=null)}};return e.jsxs("main",{className:"dp-preview",children:[e.jsxs("header",{className:"dp-preview-heading",children:[e.jsxs("div",{children:[e.jsx("span",{className:"eyebrow",children:"DRAKEN / PERSONA STUDIO"}),e.jsxs("h1",{children:["A little warmth.",e.jsx("br",{}),"A clear head."]})]}),e.jsx("a",{className:"btn btn-secondary",href:"/",children:"Back to Draken"})]}),e.jsx("div",{className:"dp-preview-scene",children:e.jsx(b,{mode:m,playback:a,studioControls:!0})}),e.jsxs("section",{className:"dp-preview-controls","aria-label":"Persona preview controls",children:[["idle","listening","thinking"].map(r=>e.jsx("button",{className:"btn btn-secondary","aria-pressed":m===r,onClick:()=>{p(),o(r)},children:r},r)),e.jsx("button",{className:"btn btn-primary",onClick:()=>void w(),children:"Play speech sample"}),e.jsx("button",{className:"btn btn-secondary",onClick:p,disabled:m!=="speaking",children:"Stop sample"})]}),h&&e.jsx("p",{role:"alert",children:h}),e.jsx("p",{className:"muted small",children:"Standalone presentation module. No microphone, login, model request, or session data. The sample is generated speech. Mouth timing follows audio energy and approximate English text cues, not exact phoneme alignment."}),e.jsxs("details",{className:"dp-reference",children:[e.jsx("summary",{children:"Character reference"}),e.jsx("img",{loading:"lazy",src:"/persona/reference.jpg",alt:"The original illustrated mechanical Draken dragon with wooden jaw and wings, amber eyes, ivory horns, and mustard knitwear."}),e.jsx("p",{className:"small muted",children:"Based on the exact illustration from draken.mehanig.com. The beanie and seated workshop scene are a new 3D interpretation."})]})]})}g.createRoot(document.getElementById("root")).render(e.jsx(y,{}));
|
package/public/index.html
CHANGED
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<meta name="description" content="A local-first engineering sync across your pi sessions." />
|
|
8
8
|
<title>Draken — Session Sync</title>
|
|
9
|
-
<script type="module" crossorigin src="/assets/index-
|
|
10
|
-
<link rel="modulepreload" crossorigin href="/assets/index-
|
|
11
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
9
|
+
<script type="module" crossorigin src="/assets/index-ClbxoVQK.js"></script>
|
|
10
|
+
<link rel="modulepreload" crossorigin href="/assets/index-B13h0MjX.js">
|
|
11
|
+
<link rel="stylesheet" crossorigin href="/assets/index-D79D-rxm.css">
|
|
12
12
|
</head>
|
|
13
13
|
<body>
|
|
14
14
|
<div id="root"></div>
|
package/public/persona.html
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
|
-
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Draken · Persona studio</title><link rel="icon" href="/favicon.png" /> <script type="module" crossorigin src="/assets/persona-
|
|
3
|
-
<link rel="modulepreload" crossorigin href="/assets/index-
|
|
4
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
2
|
+
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Draken · Persona studio</title><link rel="icon" href="/favicon.png" /> <script type="module" crossorigin src="/assets/persona-CsDA3JtF.js"></script>
|
|
3
|
+
<link rel="modulepreload" crossorigin href="/assets/index-B13h0MjX.js">
|
|
4
|
+
<link rel="stylesheet" crossorigin href="/assets/index-D79D-rxm.css">
|
|
5
5
|
<link rel="stylesheet" crossorigin href="/assets/persona-C_m1CVKe.css">
|
|
6
6
|
</head>
|
|
7
7
|
<body><div id="root"></div></body></html>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.dp-stage{position:relative;isolation:isolate;margin:0;width:100%;height:100%;min-height:280px;overflow:hidden;border:2px solid var(--ink, #111);background:#707c72}.dp-poster,.dp-canvas{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.dp-canvas{opacity:0}.dp-canvas.is-ready{opacity:1}.dp-caption{position:absolute;bottom:15px;left:15px;padding:9px 11px;background:#172923ed;color:#fff5dc;font:800 10px/1.4 Avenir Next,Arial,sans-serif;letter-spacing:.12em;pointer-events:none}.dp-caption-sub{display:block;margin-top:3px;color:#d2d9cc;font-size:8px;letter-spacing:.08em}.dp-dot{display:inline-block;width:6px;height:6px;margin-right:7px;background:#e5bc63;border-radius:50%;vertical-align:middle}.dp-tools{position:absolute;right:15px;top:15px}.dp-tools button{padding:8px 10px;border:1px solid #c5b995;color:#fff5dc;background:#172923ed;font:700 10px/1.3 Avenir Next,Arial,sans-serif;cursor:pointer}.dp-tools button:hover:not(:disabled){background:#30483b}.dp-tools button:focus-visible{outline:3px solid #f2c230;outline-offset:3px}.dp-tools button:disabled{cursor:default}.dp-fallback{position:absolute;left:12px;right:12px;top:60px;color:#fff5dc;background:#172923ed;padding:8px 12px;font-size:12px;line-height:1.5}@media(max-width:760px){.dp-stage{min-height:190px}.dp-caption{left:10px;bottom:10px;padding:7px 9px;font-size:9px}.dp-tools{right:10px;top:10px}}@media(forced-colors:active){.dp-caption,.dp-tools button,.dp-fallback{color:CanvasText;background:Canvas;border:1px solid CanvasText}.dp-caption-sub{color:CanvasText}}:root{font-family:Avenir Next,Futura,Century Gothic,Arial Narrow,Arial,sans-serif;font-synthesis:none;color-scheme:light;color:var(--ink);background:var(--paper);--paper: #c7c6c0;--panel: #deddd7;--ink: #111111;--line: var(--ink);--rule: #a9a79f;--surface-muted: #bbb9b1;--muted: #4f4d47;--accent: #9136d8;--red: #e33b2e;--blue: #1746a2;--yellow: #f2c230;--green: #0b7a53;--success-surface: #dfeee4;--warning-surface: #fff0b8;--danger-surface: #fbe0dc;--concrete-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='4' seed='8' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='table' tableValues='0 .32'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}*{box-sizing:border-box}body{margin:0;background-color:var(--paper);background-image:var(--concrete-noise),radial-gradient(circle at 2rem 2rem,rgb(39 39 37 / 34%) 0 2px,rgb(255 255 255 / 24%) 2.5px 3.5px,transparent 4px),linear-gradient(to bottom,rgb(17 17 17 / 14%) 1px,transparent 1px),linear-gradient(to right,rgb(17 17 17 / 12%) 1px,transparent 1px);background-position:0 0,0 0,-1px -1px,-1px -1px;background-size:180px 180px,14rem 14rem,28rem 14rem,28rem 14rem;background-blend-mode:soft-light,multiply,multiply,multiply}button,input,textarea,select{font:inherit;border-radius:0}button{cursor:pointer}button,input,textarea,select{transition:background-color .12s,transform .12s,box-shadow .12s}button:disabled,input:disabled,textarea:disabled,select:disabled{cursor:not-allowed;opacity:.55;box-shadow:none;transform:none}:where(button,a,input,textarea,select,summary):focus-visible{outline:3px solid var(--accent);outline-offset:3px}::selection{background:#f4a097;color:var(--ink)}input[type=checkbox]{accent-color:var(--accent);width:18px;height:18px;flex:0 0 18px;margin:2px 0 0}textarea,.input{width:100%;min-width:0;border:2px solid var(--line);padding:12px 14px;background:var(--panel);color:var(--ink);resize:vertical;line-height:1.65}textarea::placeholder,.input::placeholder{color:var(--muted);opacity:1}h1,h2,h3{letter-spacing:-.04em;font-weight:900;text-transform:uppercase;overflow-wrap:anywhere}h1{font-size:clamp(32px,3.4vw,48px);line-height:1.04;margin:16px 0;letter-spacing:-.055em}h2{font-size:20px;margin:0 0 16px}h3{font-size:16px}p{line-height:1.7}.muted{color:var(--muted)}.small{font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px max(24px,calc((100vw - 1550px)/2 + 24px));border-bottom:2px solid var(--line);background:var(--panel)}.brand{display:flex;align-items:center;gap:14px}.brand img{width:44px;height:44px;object-fit:contain}.brand strong{display:block;font-size:28px;font-weight:900;letter-spacing:-.06em;text-transform:uppercase;line-height:1}.brand span{display:block;font-size:10px;font-weight:800;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-top:6px}.header-right{display:flex;align-items:center;flex-wrap:wrap;gap:16px;min-width:0}.header-right .header-settings{min-height:36px;padding:7px 10px;font-size:10px}.settings-dialog{--settings-padding: 24px;width:min(960px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:var(--settings-padding);border:2px solid var(--line);background:var(--panel);color:var(--ink);box-shadow:8px 8px 0 var(--ink);overflow:auto;overscroll-behavior:contain}.preparation-usage{border-bottom:1px solid var(--rule);margin-bottom:24px;padding-bottom:16px}.usage-controls,.usage-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.usage-controls label{display:grid;gap:6px;font-size:13px;font-weight:700;min-width:0}.usage-controls select{width:100%;min-width:0;min-height:40px;padding:8px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-weight:400}.usage-totals>div{min-width:0;display:flex;flex-direction:column;gap:6px;border:1px solid var(--rule);padding:12px}.usage-totals strong{font-size:28px;line-height:1.1;overflow-wrap:anywhere}.usage-chart-heading,.usage-chart-axis{display:flex;justify-content:space-between;gap:8px}.usage-chart{display:block;width:100%;height:120px;margin-top:12px}.usage-chart rect{fill:var(--blue)}.usage-chart .usage-incomplete{fill:var(--muted)}.usage-chart line{stroke:var(--rule)}.usage-chart-axis{margin-top:6px;font-variant-numeric:tabular-nums}.usage-details{margin-top:16px}.usage-details summary{cursor:pointer;font-weight:700}.usage-table-wrap{overflow:auto;max-height:320px;margin-top:12px}.usage-table-wrap table{width:100%;min-width:600px;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.usage-table-wrap th,.usage-table-wrap td{padding:8px;border-bottom:1px solid var(--rule);text-align:left}.usage-table-wrap th[scope=row]{font-weight:400;white-space:nowrap}@media(max-width:600px){.usage-controls,.usage-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.usage-controls label:last-child,.usage-totals>div:first-child{grid-column:1 / -1}}.settings-dialog::backdrop{background:#1119}.settings-dialog>.section-heading{position:sticky;top:calc(-1 * var(--settings-padding));z-index:1;margin-top:calc(-1 * var(--settings-padding));padding-block:var(--settings-padding) 12px;background:var(--panel)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading>*{min-width:0}.section-heading h2{margin-bottom:0}.source-path{display:block;overflow-wrap:anywhere;font-size:11px;color:var(--muted);line-height:1.65;background:var(--paper);border:1px solid var(--rule);padding:10px}.session-list{margin-top:20px;max-height:440px;overflow-y:auto;padding:3px}.session-source{display:flex;align-items:flex-start;gap:10px;padding:12px;margin-bottom:10px;border:2px solid var(--line);cursor:pointer;background:var(--paper)}.session-source:has(input:checked){background:var(--panel);box-shadow:inset 4px 0 0 var(--accent)}.session-source>span{min-width:0}.session-source strong{display:block;font-size:13px;overflow-wrap:anywhere;font-weight:800}.source-cwd{display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;color:var(--muted);font-size:11px;margin:5px 0}.session-source .small{font-size:10px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}.page-heading>div{min-width:0}.page-heading>.btn{flex-shrink:0}.page-heading h1{max-width:22ch;text-wrap:balance}.page-heading p{font-size:13px;margin-bottom:0}.eyebrow{display:inline-block;padding:6px 8px;border:1px solid var(--line);background:var(--yellow);font-size:10px;font-weight:900;letter-spacing:.1em}.btn{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:42px;padding:11px 16px;border:2px solid var(--line);font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;line-height:1.4}.btn svg,.icon-button svg{flex-shrink:0}.btn-primary{color:#fff;background:var(--accent);box-shadow:4px 4px 0 var(--ink)}.btn-secondary{color:var(--ink);background:var(--panel)}.btn-ghost{color:var(--muted);background:transparent;border-color:transparent}.btn-primary:hover:not(:disabled),.btn-secondary:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}.btn-secondary:hover:not(:disabled),.icon-button:hover:not(:disabled){background:var(--yellow)}.btn-ghost:hover:not(:disabled){color:var(--ink);border-color:var(--line);background:var(--danger-surface)}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;border:2px solid var(--line);padding:7px;background:var(--panel);color:var(--ink)}.btn:active:not(:disabled),.icon-button:active:not(:disabled){transform:translate(1px,1px);box-shadow:none}.card{background:var(--panel);border:2px solid var(--line);padding:26px;margin-bottom:28px;box-shadow:6px 6px 0 var(--surface-muted)}.briefing-card,.welcome{box-shadow:8px 8px 0 var(--accent)}.welcome{text-align:center;padding:40px 30px}.welcome h2{font-size:clamp(22px,2.2vw,30px);margin-top:24px}.welcome>p{color:var(--muted);max-width:540px;margin:18px auto;font-size:14px}.status{display:inline-block;font-size:10px;line-height:1.3;letter-spacing:.03em;border:1px solid var(--line);padding:4px 7px;background:var(--surface-muted);color:var(--ink);vertical-align:middle;font-weight:800;text-transform:uppercase;white-space:nowrap}.status.open,.status.running{background:var(--yellow)}.status.completed,.status.done,.status.cached{background:var(--success-surface);border-color:var(--green)}.status.failed,.status.cancelled,.status.interrupted{background:var(--danger-surface);border-color:var(--red)}.prose{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;font-size:14px}.briefing-card>.prose{padding:18px 0 8px}.citation{display:inline;background:var(--panel);border:1px solid var(--blue);color:var(--blue);font-size:12px;font-weight:800;padding:2px 5px;vertical-align:baseline;margin:0 2px}.citation:hover{background:var(--yellow)}.discussion{box-shadow:6px 6px 0 var(--ink)}.message{padding:16px 18px;margin:16px 0;border:1px solid var(--rule);border-left:4px solid var(--accent);background:var(--panel)}.message.user{background:var(--paper);border-left-color:var(--blue)}.message-author{font-size:10px;color:var(--ink);font-weight:900;text-transform:uppercase;letter-spacing:.1em;display:block;margin-bottom:10px}.discussion form{margin-top:20px}.form-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px}.notes-card{box-shadow:6px 6px 0 var(--yellow)}.notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0 10px}.notes-grid>div{min-width:0}.notes-grid label{font-size:12px;font-weight:800}.notes-grid textarea{margin-top:9px;font-size:13px;min-height:165px}.alert{padding:14px 16px;border:2px solid var(--line);border-left-width:6px;font-size:12px;line-height:1.7;margin-bottom:20px;overflow-wrap:anywhere;color:var(--ink)}.alert.error{background:var(--danger-surface);border-left-color:var(--red)}.alert.warning{background:var(--warning-surface);border-left-color:var(--yellow)}summary{cursor:pointer}.working{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;color:var(--ink);margin:18px 0;padding:12px;background:var(--warning-surface);border:2px solid var(--line)}.spinner{width:18px;height:18px;flex-shrink:0;display:inline-block;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.tree-card progress,.history-progress progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:14px;border:2px solid var(--line);border-radius:0;background:var(--paper);accent-color:var(--accent)}.tree-card progress::-webkit-progress-bar,.history-progress progress::-webkit-progress-bar{background:var(--paper)}.tree-card progress::-webkit-progress-value,.history-progress progress::-webkit-progress-value{background:var(--accent)}.tree-card progress::-moz-progress-bar,.history-progress progress::-moz-progress-bar{background:var(--accent)}.tree-stats{display:flex;flex-wrap:wrap;gap:10px 18px;margin:12px 0;color:var(--muted);font-size:11px}.tree-browser{margin-top:20px;font-size:12px}.tree-browser>summary{font-weight:800;padding:6px 0}.tree-browser ul{list-style:none;padding-left:16px;margin:8px 0}.tree-browser>ul{padding-left:0}.tree-node{display:flex;align-items:center;min-width:0;gap:6px;padding:8px 0;border-bottom:1px solid var(--rule)}.tree-toggle{flex:0 0 28px;min-height:28px;border:1px solid transparent;background:transparent;color:var(--ink);padding:3px}.tree-toggle:hover:not(:disabled){border-color:var(--line);background:var(--yellow)}.tree-label{flex:1;min-width:0;min-height:28px;border:0;background:transparent;color:var(--ink);text-align:left;font-size:12px;overflow-wrap:anywhere}.tree-label:hover:not(:disabled){color:var(--blue);text-decoration:underline}.node-inspector{margin-top:22px;border:2px solid var(--line);border-top:5px solid var(--accent);padding:18px}.node-observation{margin:18px 0}.node-observation>strong{font-size:13px}.node-observation .prose{font-size:13px;margin-top:10px}.evidence-section{margin-top:34px}.evidence-section h3{line-height:1.6}.count{display:inline-block;background:var(--yellow);color:var(--ink);border:1px solid var(--line);padding:2px 7px;font-size:11px;margin-left:7px;vertical-align:middle}.evidence{background:var(--panel);border:2px solid var(--line);margin:10px 0;scroll-margin-top:24px}.evidence[open]{box-shadow:4px 4px 0 var(--blue)}.evidence summary{display:flex;align-items:center;gap:12px;padding:14px;list-style:none}.evidence summary::-webkit-details-marker{display:none}.evidence summary:hover{background:var(--paper)}.reference{border:1px solid var(--line);background:var(--yellow);font:11px ui-monospace,monospace;padding:6px;color:var(--ink);flex-shrink:0}.evidence-title{min-width:0;flex:1}.evidence-title strong{display:block;color:var(--ink);font-size:12px;font-weight:800;overflow-wrap:anywhere}.evidence-title>span{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:12px;color:var(--muted);margin-top:5px}.role-label{font-size:10px;color:var(--muted)}.evidence-body{border-top:1px solid var(--rule);padding:16px}dl{display:grid;grid-template-columns:75px minmax(0,1fr);font:11px ui-monospace,monospace;gap:8px;line-height:1.8}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere;color:var(--ink)}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.8 ui-monospace,monospace;color:var(--ink);max-height:550px;overflow-y:auto}.evidence-controls{margin:16px 0}.evidence-controls .input{font-size:12px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;font-size:11px;color:var(--muted)}.app-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:15px;color:var(--ink);font-weight:800}.login-page{min-height:100vh;display:grid;place-items:center;padding:28px}.login-card{background:var(--panel);border:2px solid var(--line);box-shadow:10px 10px 0 var(--accent);padding:36px;width:min(100%,420px)}.login-header{text-align:center;margin-bottom:28px}.login-logo{width:64px;height:64px;object-fit:contain}.login-header h1{font-size:40px}.login-subtitle{color:var(--muted);font-size:13px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:9px}.input-with-icon{position:relative}.input-icon{position:absolute;top:17px;left:13px;color:var(--muted);pointer-events:none}.input-with-icon .input{padding-left:40px}.login-btn{width:100%;margin-top:12px}.login-error{display:flex;gap:9px;align-items:center;color:var(--ink);background:var(--danger-surface);border-left:4px solid var(--red);padding:12px;font-size:12px;margin-bottom:20px}.login-error svg{flex-shrink:0}.conversation-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.text-chat{padding:24px}.chat-heading{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.chat-heading>div{flex:1;min-width:160px}.chat-heading h2,.chat-heading p{margin:0}.chat-heading p{margin-top:5px}.chat-avatar{flex-shrink:0;object-fit:cover;border:2px solid var(--line);border-radius:0;background:var(--yellow)}.chat-thread{max-height:min(65dvh,640px);min-height:180px;overflow-y:auto;overscroll-behavior:contain;padding:12px 4px}.chat-welcome{max-width:520px;margin:30px auto;text-align:center;line-height:1.7}.chat-welcome h3{font-size:20px}.chat-message{display:flex;align-items:flex-start;gap:12px;margin-bottom:22px}.chat-message.user{justify-content:flex-end;padding-left:40px}.chat-bubble{min-width:0;max-width:90%;padding:14px 18px;background:var(--paper);border:1px solid var(--rule);overflow-wrap:anywhere}.chat-message.user .chat-bubble{background:var(--yellow);border-color:var(--line)}.chat-bubble .prose{margin:8px 0 0}.chat-author{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:baseline;font-size:12px}.chat-author time{color:var(--muted);font-size:10px}.chat-thinking{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.chat-thinking>.small{flex-basis:100%}.chat-compose{border-top:1px solid var(--rule);padding-top:16px}.chat-compose textarea{width:100%;resize:vertical;min-height:82px}.chat-compose-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap}.chat-refresh{margin-top:14px}.chat-boundary{margin:18px 0 0}@media(max-width:600px){.text-chat{padding:16px}.chat-heading>.btn{width:100%}.chat-message{gap:8px}.chat-message.user{padding-left:24px}.chat-bubble{padding:12px;max-width:100%}.chat-message .chat-avatar{width:30px;height:30px}.conversation-actions{width:100%}.conversation-actions>.btn{flex:1}}.voice-entry{padding:20px 24px}.voice-entry-main{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.voice-entry-main>div:nth-child(2){flex:1;min-width:180px}.voice-entry-main h2{font-size:18px;margin:0}.voice-entry-main p{margin:8px 0 0}.voice-entry-main>.btn{text-decoration:none}.voice-entry-icon{width:46px;height:46px;flex-shrink:0;display:grid;place-items:center;border:2px solid var(--line);background:var(--yellow)}.voice-history{margin-top:18px;font-size:12px}.voice-history>summary{color:var(--muted)}.voice-history-call{border-top:1px solid var(--rule);margin-top:14px;padding-top:12px}.voice-history-turn{border-left:3px solid var(--accent);padding-left:14px;margin:20px 0}.voice-history-turn>p{margin-top:8px}.voice-reconnect{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:18px}.voice-dialog{width:min(900px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:26px;color:var(--ink);background:var(--panel);border:2px solid var(--line);box-shadow:8px 8px 0 var(--accent);overscroll-behavior:contain}.voice-dialog::backdrop{background:#111111b3}.voice-dialog-header{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:2px solid var(--line)}.voice-dialog-header>div{flex:1}.voice-dialog-header h2{margin:12px 0 0;font-size:18px}.voice-clock{font:14px ui-monospace,monospace;font-variant-numeric:tabular-nums}.voice-call-body{--scene-height: clamp(280px, 46dvh, 460px);margin-top:18px}.voice-preparation{padding:20px;border:2px solid var(--line)}.voice-scene{position:relative;isolation:isolate;min-width:0;height:var(--scene-height);overflow:hidden}.voice-scene-poster{display:block;width:100%;height:100%;object-fit:cover;border:2px solid var(--line)}.voice-captions{position:absolute;z-index:1;inset:auto 2px 2px;padding:32px 18px 16px;color:#fff;background:linear-gradient(transparent,#000000c7);text-align:center;font-size:clamp(16px,1.8vw,21px);line-height:1.5;text-shadow:0 1px 3px #000;pointer-events:none}.voice-caption-speaker{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;margin-bottom:3px}.voice-caption-window{display:flex;align-items:flex-end;justify-content:center;max-height:4.5em;overflow:hidden}.voice-caption-window p{margin:0;min-width:0;max-width:70ch;overflow-wrap:anywhere}.voice-captions[data-kind=status]{font-style:italic}.voice-conversation{margin-top:14px;border-top:1px solid var(--rule);padding-top:12px;font-size:12px}.voice-conversation>summary{color:var(--muted);cursor:pointer}.voice-call-details{min-width:0;max-height:min(48dvh,440px);overflow-y:auto;padding-right:5px}.voice-answer{overflow-wrap:anywhere}.voice-sources{display:flex;gap:6px;justify-content:flex-start;flex-wrap:wrap;margin-top:18px}.voice-notice{padding:10px 12px;border:1px solid var(--rule)}.voice-source{border:2px solid var(--line);padding:14px;margin:14px 0;font-size:12px;overflow-wrap:anywhere}.voice-source pre{max-height:180px}.voice-controls{display:flex;align-items:stretch;justify-content:center;gap:12px;margin-top:18px}.voice-controls .btn{min-width:0}.btn-danger{color:var(--ink);background:var(--red);border-color:var(--line);box-shadow:3px 3px 0 var(--ink)}.btn-danger:hover:not(:disabled){background:var(--danger-surface)}.is-muted{background:var(--yellow)}.voice-options{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:10px}.voice-options .voice-keyboard-toggle{margin:0}.voice-keyboard-toggle{display:flex;align-items:center;gap:8px;margin:auto;padding:8px;border:0;background:transparent;color:var(--muted);font-size:12px}.voice-keyboard-toggle[aria-pressed=true]{background:var(--yellow);color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}.voice-compose{display:flex;gap:10px;margin-top:12px}.voice-compose .input{flex:1}.voice-compose .btn{padding:10px;flex-shrink:0}.voice-transcript{font-size:14px;line-height:1.6}.voice-transcript>div{margin-top:18px;overflow-wrap:anywhere}.voice-transcript p{white-space:pre-wrap;overflow-wrap:anywhere;margin-block:8px}.voice-footer{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:20px;color:var(--muted);font-size:10px;line-height:1.6}.voice-footer svg{flex-shrink:0}.brand{color:inherit;text-decoration:none}.sync-home,.sync-detail{width:min(100%,1060px);margin:auto;padding:40px 30px 72px;min-width:0}.sync-detail{width:min(100%,1180px)}.home-hint{max-width:75ch;margin:22px 0}.setup-panel{margin-block:24px;padding:18px;border:2px solid var(--line);background:var(--panel);overflow-wrap:anywhere}.settings-dialog .setup-panel{padding:14px;margin-bottom:0}.setup-panel h2{font-size:18px}.setup-panel p,.setup-panel ul{margin-block:10px}.setup-panel code{font-size:.9em;white-space:normal}.setup-commands{font-size:13px;padding-left:12px;border-left:3px solid var(--accent)}.home-counts{display:flex;flex-wrap:wrap;gap:10px 24px;border-block:2px solid var(--line);padding:15px 0;font-size:12px}.home-counts strong{font-size:20px;margin-right:5px}.sync-feed{display:grid;gap:20px;margin:30px 0}.sync-tile{display:block;min-width:0;padding:20px 24px;margin:0;color:var(--ink);text-decoration:none;box-shadow:8px 8px 0 var(--accent)}.sync-tile:hover{border-color:var(--accent)}.sync-tile-heading{display:flex;gap:12px;align-items:center;margin-bottom:7px}.sync-tile-heading>strong{font-size:17px;text-transform:uppercase}.sync-tile-heading>svg{margin-left:auto;flex-shrink:0}.sync-tile-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;max-height:4.5em;line-height:1.5;margin:12px 0 8px;font-size:14px;white-space:pre-line;overflow-wrap:anywhere}.sync-tile-kind{font-size:10px}.sync-cost{display:inline-block}.source-settings{margin-top:35px;padding-top:18px;border-top:1px solid var(--rule)}.source-settings>summary,.detail-section>summary{cursor:pointer;font-weight:800}.agent-source{margin-top:20px;padding-top:16px;border-top:1px solid var(--rule);min-width:0}.agent-source h3{margin:0}.source-session-meta{display:block;margin-block:6px;overflow-wrap:anywhere}.source-warnings{padding-left:20px;overflow-wrap:anywhere}.index-toggle{display:flex;align-items:flex-start;gap:10px;padding:12px;margin-top:14px;border:2px solid var(--line);cursor:pointer;background:var(--paper)}.index-toggle>span{min-width:0}.index-toggle strong,.index-toggle .small{display:block}.back-link{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-size:12px;margin-bottom:24px}.sync-detail>.page-heading{margin-bottom:28px}.detail-section{border:2px solid var(--line);background:var(--panel);margin:18px 0;padding:18px 22px;min-width:0}.detail-section[open]>summary{margin-bottom:22px}.detail-section .briefing-card,.detail-section .card{box-shadow:none}.memory-recap{padding-block:14px;border-top:1px solid var(--rule)}.memory-recap>a{color:var(--blue);font-weight:800}.detail-footer{display:flex;gap:20px;align-items:center;justify-content:space-between}.sync-detail .working{flex-wrap:wrap}.sync-detail .working .btn{margin-left:auto}@media(max-width:760px){.sync-home,.sync-detail{padding:26px 20px 56px}.sync-home>.page-heading>.btn{width:100%}.sync-tile{padding:16px}.sync-tile .small{font-size:11px}.sync-tile-kind{display:none}.detail-section{padding:16px}.detail-footer{flex-direction:column;align-items:flex-start}.recap-card .section-heading{flex-wrap:wrap}}@media(max-width:1100px){.page-heading{align-items:flex-start;flex-direction:column;gap:20px}}@media(max-width:760px){.header{padding:14px 16px;flex-wrap:wrap}.header-right{gap:10px}.brand strong{font-size:24px}.brand img{width:36px;height:36px}.brand span{font-size:9px}.settings-dialog{--settings-padding: 16px}.session-list{max-height:180px}.notes-grid{grid-template-columns:1fr}.card{padding:20px}.section-heading,.form-footer{flex-wrap:wrap}.form-footer>.btn{margin-left:auto}.tree-browser ul{padding-left:8px}.tree-browser>ul{padding-left:0}.role-label{display:none}.login-card{padding:28px 22px}.voice-entry{padding:18px}.voice-entry-main{gap:12px}.voice-entry-main>.btn{width:100%}.voice-dialog{padding:14px}.voice-dialog-header{gap:10px}.voice-dialog-header .eyebrow{font-size:8px}.voice-controls{gap:8px}.voice-controls .btn{flex:1;flex-direction:column;padding:10px 6px;font-size:10px}.voice-call-body{--scene-height: clamp(200px, 40dvh, 340px);margin-top:12px}.voice-captions{padding:24px 12px 12px;font-size:17px}.voice-footer{margin-top:12px}}.history-progress{padding:14px;margin-block:16px;border:2px solid var(--line);background:var(--panel);text-align:left}.history-progress p{margin-block:8px;overflow-wrap:anywhere}.history-page .card{margin-block:20px}.history-search{margin-block:28px}.history-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:end;margin-block:16px}.history-excerpt{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.6}.history-source,.history-result{min-width:0;overflow-wrap:anywhere}@media(max-width:540px){.header-right{gap:10px;font-size:12px}.history-actions{align-items:stretch;flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}.spinner{animation:none}}@media(forced-colors:active){body{background-image:none}.btn,.icon-button,.card,.login-card,.evidence{box-shadow:none}.tree-card progress,.history-progress progress{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.voice-captions{background:Canvas;color:CanvasText;text-shadow:none}}
|