:root{--graphite: #1B1D20;--panel: #272A2E;--graphite-deep: #16181B;--paper: #F1EEE4;--orange: #FF4F00;--text-paper: #F1EEE4;--text-line: #9AA0A6;--text-dim: #5C6166;--hair-dark: #2C2F33;--font-body: "Archivo", sans-serif;--font-mono: "IBM Plex Mono", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-body);background:var(--graphite);color:var(--text-paper);-webkit-font-smoothing:antialiased}button,input,textarea{border-radius:0;font-family:inherit}.shell{display:flex;flex-direction:column;height:100%;max-width:760px;margin:0 auto}.topbar{display:flex;justify-content:space-between;align-items:center;padding:calc(12px + env(safe-area-inset-top)) 18px 12px;border-bottom:.5px solid var(--hair-dark)}.wordmark{font-family:var(--font-mono);font-size:13px;letter-spacing:2px;font-weight:500}.wordmark .designator{color:var(--text-dim);margin-left:10px;letter-spacing:1.5px;font-size:11px}.messages{flex:1;overflow-y:auto;padding:22px 18px 30px;display:flex;flex-direction:column;gap:22px}.msg{max-width:94%;font-size:15px;line-height:1.7}.msg.operator .body{white-space:pre-wrap}.msg .body p{margin:0 0 10px}.msg .body p:last-child,.msg .body ul:last-child,.msg .body ol:last-child{margin-bottom:0}.msg .body strong{color:var(--paper);font-weight:600}.msg .body ul,.msg .body ol{margin:6px 0 10px;padding-left:22px}.msg .body li{margin:4px 0}.msg .body h1,.msg .body h2,.msg .body h3,.msg .body h4{font-size:15px;font-weight:600;color:var(--paper);margin:12px 0 6px}.msg .body code{font-family:var(--font-mono);font-size:13px;background:var(--panel);padding:1px 5px}.msg .body pre{background:var(--panel);padding:10px 12px;overflow-x:auto;margin:8px 0}.msg .body pre code{background:none;padding:0}.msg .body blockquote{border-left:2px solid var(--hair-dark);padding-left:12px;color:var(--text-line);margin:8px 0}.msg .body a{color:var(--text-paper)}.msg .who{font-family:var(--font-mono);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);margin-bottom:4px}.msg.operator{align-self:flex-end}.msg.operator .body{background:var(--panel);padding:10px 14px}.msg.aiden{align-self:flex-start}.msg.aiden .body{color:var(--text-paper)}.msg.aiden.streaming .body:after{content:"▍";color:var(--orange)}.ritual-strip{display:flex;gap:8px;padding:8px 14px 0;border-top:.5px solid var(--hair-dark);overflow-x:auto}.ritual-strip button{background:none;border:.5px solid var(--hair-dark);color:var(--text-line);font-family:var(--font-mono);font-size:10px;letter-spacing:1px;padding:6px 12px;cursor:pointer;white-space:nowrap}.ritual-strip button.done{color:var(--text-dim)}.ritual-strip button.live{border-color:var(--text-line);color:var(--paper)}.ritual-offer button{margin-left:8px}.docket-row,.proposal-row{display:flex;flex-direction:column;gap:4px;padding:10px 0;border-top:.5px solid var(--hair-dark)}.docket-meta{font-family:var(--font-mono);font-size:10px;letter-spacing:1px;color:var(--text-dim)}.docket-title{font-size:14px;color:var(--text-paper)}.docket-detail{color:var(--text-line)}.docket-actions{display:flex;gap:8px;margin-top:2px}.docket-actions button{background:none;border:.5px solid var(--hair-dark);color:var(--text-line);font-family:var(--font-mono);font-size:10px;padding:3px 12px;cursor:pointer}.proposal-body{font-size:13px;color:var(--text-line);line-height:1.6;background:var(--panel);padding:8px 10px;white-space:pre-wrap;max-height:180px;overflow-y:auto}.proposal-why{font-size:12px;color:var(--text-dim);font-style:italic}.composer{display:flex;gap:10px;padding:12px 14px;border-top:.5px solid var(--hair-dark)}.composer textarea{flex:1;background:var(--panel);border:.5px solid var(--hair-dark);color:var(--text-paper);padding:12px 14px;resize:none;min-height:48px;max-height:140px;outline:none;font-size:16px}.composer textarea:focus{border-color:var(--text-dim)}.composer button{background:var(--orange);color:var(--graphite);border:none;font-size:14px;font-weight:500;padding:0 20px;cursor:pointer;min-width:48px;min-height:48px}.composer button:disabled{background:var(--panel);color:var(--text-dim);cursor:default}.meter{font-family:var(--font-mono);font-size:10px;letter-spacing:1.5px;color:var(--text-dim);padding:8px 18px calc(10px + env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;gap:10px 18px;border-top:.5px solid var(--hair-dark);background:var(--graphite-deep)}.meter .alert{color:var(--orange)}.gate{height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.gate-card{width:100%;max-width:420px}.gate .rule{height:2px;background:var(--paper);margin-bottom:14px}.gate h1{font-size:26px;font-weight:700;margin-bottom:6px}.gate .sub{color:var(--text-line);font-size:14px;line-height:1.6;margin-bottom:22px}.gate input{width:100%;background:var(--panel);border:.5px solid var(--hair-dark);color:var(--text-paper);font-family:var(--font-mono);font-size:13px;padding:12px;outline:none;margin-bottom:12px}.gate button{width:100%;background:var(--orange);color:var(--graphite);border:none;font-size:14px;font-weight:500;padding:12px;cursor:pointer}.gate .err{color:var(--orange);font-family:var(--font-mono);font-size:12px;margin-top:10px}.notice{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);padding:8px 16px;border-bottom:.5px solid var(--hair-dark);line-height:1.6}.notice button{background:none;border:.5px solid var(--text-dim);color:var(--text-line);font-family:var(--font-mono);font-size:10px;padding:2px 8px;margin-left:8px;cursor:pointer}.topbar-actions{display:flex;gap:8px}.topbar-btn{background:none;border:.5px solid var(--hair-dark);color:var(--text-line);font-family:var(--font-mono);font-size:11px;letter-spacing:1px;padding:4px 12px;cursor:pointer}.topbar-btn:hover{border-color:var(--text-dim);color:var(--text-paper)}.topbar-btn.active{border-color:var(--text-line);color:var(--paper)}.play-reply{margin-top:6px;background:none;border:.5px solid var(--hair-dark);color:var(--text-line);font-family:var(--font-mono);font-size:10px;padding:3px 10px;cursor:pointer}.composer .mic{background:var(--panel);border:.5px solid var(--hair-dark);color:var(--text-line);font-size:14px;padding:0 14px;cursor:pointer}.composer .mic.recording{border-color:var(--orange);color:var(--orange)}.composer .mic.transcribing{color:var(--text-dim)}.voice-panel{border-bottom:.5px solid var(--hair-dark);padding:12px 16px;max-height:45vh;overflow-y:auto}.voice-head{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:11px;letter-spacing:2px;color:var(--text-line);margin-bottom:10px}.voice-head button,.voice-row button,.voice-hear{background:none;border:.5px solid var(--hair-dark);color:var(--text-line);font-family:var(--font-mono);font-size:10px;padding:3px 10px;cursor:pointer}.voice-row button:disabled{color:var(--text-dim);cursor:default}.voice-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-top:.5px solid var(--hair-dark);font-size:13px}.voice-row.active .voice-name{color:var(--paper);font-weight:500}.voice-name{min-width:90px}.voice-labels{flex:1;color:var(--text-dim);font-size:11px}.voice-err{color:var(--text-dim);font-family:var(--font-mono);font-size:11px;padding:6px 0}.voice-hear{margin-top:10px}.session-search{width:100%;background:var(--panel);border:.5px solid var(--hair-dark);color:var(--text-paper);font-size:16px;padding:10px 12px;outline:none;margin-bottom:8px}.session-search:focus{border-color:var(--text-dim)}.session-rename{background:none;border:none;color:var(--text-dim);font-family:var(--font-mono);font-size:9px;letter-spacing:1px;margin-left:8px;cursor:pointer;text-decoration:underline}.shell{position:relative}.jump-now{position:absolute;bottom:132px;right:16px;background:var(--panel);border:.5px solid var(--text-dim);color:var(--text-paper);font-family:var(--font-mono);font-size:11px;letter-spacing:1px;padding:8px 14px;cursor:pointer}.session-row{display:flex;flex-direction:column;gap:2px;padding:9px 0;border-top:.5px solid var(--hair-dark);cursor:pointer}.session-row.active .session-preview{color:var(--paper)}.session-meta{font-family:var(--font-mono);font-size:10px;letter-spacing:1px;color:var(--text-dim)}.session-preview{font-size:13px;color:var(--text-line);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 480px){.designator{display:none}.topbar-btn{padding:4px 8px;font-size:10px}.topbar-actions{gap:6px}}
