:root{--primary: #021024;--bg: #fff;--text: #111;--text-muted: #666;--border: #eee;--gap: 8px;--touch-min: 44px}@media (prefers-color-scheme: dark){:root{--bg: #0f0f0f;--text: #f0f0f0;--text-muted: #999;--border: #333}}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);min-height:100dvh}button,input,textarea{font:inherit;color:inherit}button{min-height:var(--touch-min);padding:0 var(--gap);cursor:pointer;background:transparent;border:none;border-radius:8px}button:focus-visible{outline:2px solid var(--primary)}input,textarea{width:100%;padding:var(--gap) calc(var(--gap) * 2);border:1px solid var(--border);border-radius:8px;background:var(--bg)}.app{display:flex;flex-direction:column;min-height:100dvh}.canvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--gap) calc(var(--gap) * 2);min-height:var(--touch-min);border-bottom:1px solid var(--border)}.canvas-list{flex:1;overflow-y:auto;padding:var(--gap)}.canvas-footer{padding:var(--gap) calc(var(--gap) * 2);border-top:1px solid var(--border);min-height:var(--touch-min)}.object-row{padding:calc(var(--gap) * 2);margin-bottom:var(--gap);border-radius:8px;min-height:var(--touch-min);cursor:pointer}.object-row:active{background:var(--border)}.object-row-content{margin:0 0 var(--gap);white-space:pre-wrap;word-break:break-word}.object-row-meta{display:flex;align-items:center;gap:var(--gap);font-size:.875rem;color:var(--text-muted)}.object-row-tags{display:flex;flex-wrap:wrap;gap:4px}.object-row-tag{padding:2px 6px;border-radius:4px;background:var(--border);font-size:.75rem}.object-create-inline{padding:var(--gap) calc(var(--gap) * 2);margin-bottom:var(--gap)}.object-create-inline input{min-height:var(--touch-min)}.detail-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:100}.detail-sheet{position:fixed;left:0;right:0;bottom:0;max-height:80dvh;background:var(--bg);border-radius:12px 12px 0 0;z-index:101;overflow-y:auto;padding:calc(var(--gap) * 2)}.detail-sheet-close{margin-bottom:var(--gap)}.detail-sheet-content{white-space:pre-wrap;word-break:break-word;margin-bottom:var(--gap)}.detail-sheet-files{font-size:.875rem;color:var(--text-muted)}.empty-state{padding:calc(var(--gap) * 4);text-align:center;color:var(--text-muted)}.loading,.error-state{padding:calc(var(--gap) * 2);text-align:center;color:var(--text-muted)}.error-state{color:#c00}
