:root{--ink:#16233A;--ink-fg:#F6F4EF;--brass:#C08A2E;--brass-fg:#1B160E;--moss:#2F5D4E;--moss-deep:#234A3D;--rust:#C0442A;--rust-deep:#8C2F1D;--paper:#F6F4EF;--page:#EFECE5;--surface:#FFFFFF;--surface-warm:#FBFAF7;--line:#E7E3DA;--line-2:#D8D3C9;--field-border:#C6C0B4;--text:#22201C;--text-2:#55524B;--text-3:#9A958A;--moss-tint:#E8EFEB;--rust-tint:#F6E5E1;--brass-tint:#F7EEDC;--draft-tint:#E4E0D6;--sans:"Helvetica Neue",Helvetica,Arial,sans-serif;--mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Monaco,monospace}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--page);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.num{font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}::selection{background:rgba(192,138,46,.24)}.tf-input{width:100%;border:1px solid var(--field-border);border-radius:5px;padding:12px 13px;font-size:14px;background:var(--surface);color:var(--text);outline:none}.tf-input::placeholder{color:var(--text-3)}.tf-input:focus{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.tf-btn{border:none;border-radius:5px;font-weight:500;cursor:pointer}.tf-btn:disabled{opacity:.55;cursor:default}.auth-grid{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh}@media (max-width:860px){.auth-grid{grid-template-columns:1fr}.auth-narrative{display:none!important}}.shell{display:grid;grid-template-columns:60px 250px 1fr;min-height:100vh}.shell-rail{background:var(--ink);padding:16px 0;align-items:center;gap:8px}.shell-col,.shell-rail{display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh}.shell-col{background:var(--paper);-webkit-border-end:1px solid var(--line-2);border-inline-end:1px solid var(--line-2);padding:18px 16px;gap:12px;overflow-y:auto}.shell-main{background:var(--surface-warm);display:flex;flex-direction:column;min-width:0}.shell-topbar{border-bottom:1px solid var(--line);padding:14px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.shell-body{flex:1 1;padding:30px 32px 48px;min-width:0}.shell-bottomnav,.shell-mobiletop{display:none}@media (max-width:900px){.shell{grid-template-columns:1fr}.shell-col,.shell-rail,.shell-topbar{display:none}.shell-mobiletop{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;background:var(--ink);position:-webkit-sticky;position:sticky;top:0;z-index:30}.shell-body{padding:20px 16px 90px}.shell-bottomnav{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;inset-inline:0;bottom:0;height:60px;background:var(--ink);border-top:1px solid rgba(246,244,239,.1);z-index:30}}.tf-overlay{position:fixed;inset:0;background:rgba(11,17,26,.44);z-index:50;display:flex}.tf-sheet{margin-top:auto;width:100%;background:var(--surface);border-radius:16px 16px 0 0;padding:10px 10px 26px;animation:tfUp .18s ease-out}@keyframes tfUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.tf-clickaway{position:fixed;inset:0;z-index:40}.tf-menu{position:absolute;top:calc(100% + 8px);inset-inline-end:0;z-index:41;width:258px;background:var(--surface);border:1px solid var(--line-2);border-radius:12px;box-shadow:0 16px 40px rgba(11,17,26,.16);overflow:hidden;animation:tfIn .13s ease-out}.tf-menu-item{display:block;width:100%;text-align:start;padding:9px 10px;border-radius:7px;font-size:13.5px;color:var(--text);background:transparent;border:none;cursor:pointer}.tf-menu-item:hover{background:var(--page)}@keyframes tfIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.conn-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid var(--line)}.conn-row-main{min-width:0;max-width:560px}.conn-actions{flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.conn-actions,.conn-form{display:flex;gap:8px;align-items:center}.conn-input{width:240px;max-width:100%}@media (max-width:640px){.conn-row{flex-direction:column;align-items:stretch;gap:12px}.conn-actions{width:100%;justify-content:flex-start}.conn-form{width:100%}.conn-input{flex:1 1 auto;width:auto;min-width:0}}