:root{--nk-bg: #0f1117;--nk-bg-2: #161b22;--nk-bg-3: #1e2530;--nk-text: #e6edf3;--nk-text-2: #c9d1d9;--nk-text-muted: #768390;--nk-accent: #e8541e;--nk-border: #30363d;--nk-border-2: #444c56;--nk-radius: 8px;--nk-radius-sm: 5px;--nk-danger: #f85149;--nk-shadow: 0 1px 3px rgba(0,0,0,.4);--nk-shadow-lg: 0 8px 24px rgba(0,0,0,.5);--nk-font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--nk-font-ui);background:var(--nk-bg);color:var(--nk-text);height:100vh;overflow:hidden;line-height:1.5}#root{height:100vh;display:flex;flex-direction:column}.auth-shell{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--nk-bg)}.auth-card{width:100%;max-width:360px;padding:40px 36px;background:var(--nk-bg-2);border:1px solid var(--nk-border);border-radius:16px;display:flex;flex-direction:column;gap:0}.auth-logo{font-size:28px;margin-bottom:8px;text-align:center}.auth-title{font-size:20px;font-weight:600;text-align:center;color:var(--nk-text);margin-bottom:4px}.auth-sub{font-size:13px;color:var(--nk-text-muted);text-align:center;margin-bottom:24px}.auth-error{background:#f851491a;border:1px solid rgba(248,81,73,.3);color:var(--nk-danger);font-size:12.5px;padding:8px 12px;border-radius:var(--nk-radius);margin-bottom:12px}.auth-form{display:flex;flex-direction:column;gap:14px;margin-bottom:14px}.auth-label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:500;color:var(--nk-text-2)}.auth-input{padding:9px 12px;background:var(--nk-bg);border:1px solid var(--nk-border);border-radius:var(--nk-radius);font-size:13.5px;color:var(--nk-text);outline:none;transition:border-color .15s;width:100%}.auth-input:focus{border-color:var(--nk-accent)}.auth-btn{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 16px;border-radius:var(--nk-radius);font-size:13.5px;font-weight:500;cursor:pointer;border:none;transition:opacity .15s}.auth-btn:disabled{opacity:.55;cursor:not-allowed}.auth-btn--primary{background:var(--nk-accent);color:#fff}.auth-btn--primary:not(:disabled):hover{opacity:.88}.pk-app{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--nk-bg)}.pk-header{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:44px;flex-shrink:0;border-bottom:1px solid var(--nk-border);background:var(--nk-bg)}.pk-header-left{display:flex;align-items:center;gap:8px}.pk-header-icon{color:var(--nk-accent);flex-shrink:0}.pk-header-title{font-size:13px;font-weight:600;color:var(--nk-text);letter-spacing:-.01em}.pk-header-right{display:flex;align-items:center;gap:4px}.pk-header-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:var(--nk-radius-sm);color:var(--nk-text-muted);cursor:pointer;transition:color .15s,background .15s}.pk-header-btn:hover{color:var(--nk-text);background:var(--nk-bg-3)}.pk-body{display:flex;flex:1;overflow:hidden}.pk-sidebar{width:200px;flex-shrink:0;border-right:1px solid var(--nk-border);display:flex;flex-direction:column;overflow-y:auto;background:var(--nk-bg-2)}.pk-sidebar-section{padding:12px 8px 4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--nk-text-muted)}.pk-nav-item{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:var(--nk-radius-sm);margin:1px 4px;font-size:12.5px;color:var(--nk-text-2);cursor:pointer;background:none;border:none;width:calc(100% - 8px);text-align:left;transition:background .12s,color .12s}.pk-nav-item:hover{background:var(--nk-bg-3);color:var(--nk-text)}.pk-nav-item--active{background:color-mix(in srgb,var(--nk-accent) 12%,transparent);color:var(--nk-accent);font-weight:600}.pk-nav-count{font-size:10.5px;color:var(--nk-text-muted);background:var(--nk-bg-3);border-radius:10px;padding:1px 6px}.pk-tag-item{display:flex;align-items:center;justify-content:space-between;padding:5px 10px;border-radius:var(--nk-radius-sm);margin:1px 4px;font-size:11.5px;color:var(--nk-text-muted);cursor:pointer;background:none;border:none;width:calc(100% - 8px);text-align:left;transition:background .12s,color .12s}.pk-tag-item:hover{background:var(--nk-bg-3);color:var(--nk-text)}.pk-tag-item--active{color:var(--nk-accent)}.pk-tag-count{font-size:10px}.pk-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.pk-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--nk-border);flex-shrink:0}.pk-search{display:flex;align-items:center;gap:6px;flex:1;background:var(--nk-bg-2);border:1px solid var(--nk-border);border-radius:var(--nk-radius-sm);padding:5px 9px}.pk-search-input{flex:1;background:none;border:none;outline:none;font-size:12.5px;color:var(--nk-text)}.pk-search-input::placeholder{color:var(--nk-text-muted)}.pk-search-clear{background:none;border:none;cursor:pointer;color:var(--nk-text-muted);padding:0;font-size:11px}.pk-add-btn{display:flex;align-items:center;gap:5px;padding:5px 10px;background:var(--nk-accent);color:#fff;border:none;border-radius:var(--nk-radius-sm);font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;transition:opacity .15s}.pk-add-btn:hover{opacity:.88}.pk-add-form{padding:12px;border-bottom:1px solid var(--nk-border);background:var(--nk-bg-2);display:flex;flex-direction:column;gap:8px}.pk-add-row{display:flex;gap:6px}.pk-input{flex:1;padding:7px 10px;background:var(--nk-bg);border:1px solid var(--nk-border);border-radius:var(--nk-radius-sm);font-size:12.5px;color:var(--nk-text);outline:none;transition:border-color .15s;font-family:inherit}.pk-input:focus{border-color:var(--nk-accent)}.pk-textarea{resize:vertical;min-height:54px}.pk-btn{padding:6px 12px;border-radius:var(--nk-radius-sm);font-size:12px;font-weight:500;cursor:pointer;border:none;transition:opacity .15s,background .15s}.pk-btn--primary{background:var(--nk-accent);color:#fff}.pk-btn--primary:hover{opacity:.88}.pk-btn--secondary{background:var(--nk-bg-3);color:var(--nk-text-2);border:1px solid var(--nk-border)}.pk-btn--secondary:hover{background:var(--nk-bg)}.pk-btn--danger{background:#f851491f;color:var(--nk-danger);border:1px solid rgba(248,81,73,.3)}.pk-btn--danger:hover{background:#f8514933}.pk-btn:disabled{opacity:.5;cursor:not-allowed}.pk-fetching{font-size:11px;color:var(--nk-text-muted)}.pk-split{display:flex;flex:1;overflow:hidden}.pk-list-pane{width:340px;flex-shrink:0;border-right:1px solid var(--nk-border);display:flex;flex-direction:column;overflow:hidden}.pk-list{flex:1;overflow-y:auto}.pk-list--full{width:100%;border-right:none}.pk-pin{display:flex;gap:10px;padding:10px 12px;border-bottom:1px solid var(--nk-border);cursor:pointer;transition:background .1s}.pk-pin:hover{background:var(--nk-bg-2)}.pk-pin--selected{background:color-mix(in srgb,var(--nk-accent) 8%,transparent)}.pk-pin--read{opacity:.65}.pk-pin-favicon{width:16px;height:16px;border-radius:3px;flex-shrink:0;margin-top:2px}.pk-pin-body{flex:1;min-width:0}.pk-pin-meta{font-size:10.5px;color:var(--nk-text-muted);margin-bottom:2px;display:flex;gap:6px}.pk-pin-title{font-size:12.5px;font-weight:500;color:var(--nk-text);line-height:1.35;margin-bottom:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pk-pin-desc{font-size:11.5px;color:var(--nk-text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:4px}.pk-pin-tags{display:flex;flex-wrap:wrap;gap:4px}.pk-tag{font-size:10px;padding:1px 6px;background:var(--nk-bg-3);border:1px solid var(--nk-border);border-radius:10px;color:var(--nk-text-muted);cursor:pointer}.pk-tag:hover{border-color:var(--nk-accent);color:var(--nk-accent)}.pk-pin-actions{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.pk-icon-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;border-radius:var(--nk-radius-sm);cursor:pointer;color:var(--nk-text-muted);font-size:13px;transition:background .12s,color .12s}.pk-icon-btn:hover{background:var(--nk-bg-3);color:var(--nk-text)}.pk-icon-btn--active{color:var(--nk-accent)}.pk-empty{padding:40px 20px;text-align:center;color:var(--nk-text-muted);font-size:13px}.pk-detail{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px}.pk-detail-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--nk-text-muted);font-size:13px}.pk-detail-header{display:flex;align-items:flex-start;gap:10px}.pk-detail-favicon{width:20px;height:20px;border-radius:4px;flex-shrink:0;margin-top:2px}.pk-detail-title-input{flex:1;font-size:15px;font-weight:600;color:var(--nk-text);background:none;border:none;outline:none;border-bottom:1px solid transparent;transition:border-color .15s;padding-bottom:2px;font-family:inherit}.pk-detail-title-input:focus{border-bottom-color:var(--nk-accent)}.pk-detail-url{font-size:11px;color:var(--nk-accent);text-decoration:none;word-break:break-all}.pk-detail-url:hover{text-decoration:underline}.pk-detail-meta{font-size:11px;color:var(--nk-text-muted)}.pk-detail-desc{width:100%;padding:8px 10px;background:var(--nk-bg-2);border:1px solid var(--nk-border);border-radius:var(--nk-radius-sm);font-size:12.5px;color:var(--nk-text);outline:none;resize:vertical;min-height:72px;font-family:inherit;transition:border-color .15s}.pk-detail-desc:focus{border-color:var(--nk-accent)}.pk-detail-tags-input{width:100%;padding:7px 10px;background:var(--nk-bg-2);border:1px solid var(--nk-border);border-radius:var(--nk-radius-sm);font-size:12.5px;color:var(--nk-text);outline:none;font-family:inherit;transition:border-color .15s}.pk-detail-tags-input:focus{border-color:var(--nk-accent)}.pk-detail-lbl{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--nk-text-muted);margin-bottom:4px}.pk-detail-actions{display:flex;flex-wrap:wrap;gap:6px}.pk-detail-snap{border-top:1px solid var(--nk-border);padding-top:14px;display:flex;flex-direction:column;gap:8px}.pk-detail-snap-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--nk-text-muted)}.pk-detail-snap-btns{display:flex;flex-wrap:wrap;gap:6px}.pk-snap-status{font-size:11px;color:var(--nk-text-muted)}.pk-detail-footer{display:flex;justify-content:space-between;align-items:center;padding-top:6px;border-top:1px solid var(--nk-border)}@keyframes pk-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pk-spin{animation:pk-spin .8s linear infinite}
