:root{--brand: #e6873e;--brand-bright: #ff9d55;--brand-dim: rgba(230, 135, 62, .14);--brand-line: rgba(230, 135, 62, .32);--bg: #0d0e11;--bg-raise: #141619;--surface: rgba(255, 255, 255, .032);--surface-hover: rgba(255, 255, 255, .06);--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .14);--text: #f2f3f5;--text-dim: #9b9ea6;--text-faint: #6b6d73;--radius: 14px;--radius-sm: 10px;--ease: cubic-bezier(.2, .8, .2, 1);--shell: 1120px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(1000px 520px at 50% -12%,rgba(230,135,62,.11),transparent 62%),radial-gradient(760px 420px at 88% 4%,rgba(230,135,62,.05),transparent 60%);z-index:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}::selection{background:var(--brand-line)}.shell{position:relative;z-index:1;min-height:100%;display:flex;flex-direction:column}.wrap{width:100%;max-width:var(--shell);margin:0 auto;padding:0 24px}.topbar{position:sticky;top:0;z-index:20;background:#0d0e11b8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.topbar-inner{display:flex;align-items:center;gap:16px;height:60px}.brand{display:flex;align-items:center;gap:9px;font-weight:700;letter-spacing:-.02em;font-size:15px}.brand svg{color:var(--brand)}.brand span{color:var(--text)}.brand em{font-style:normal;color:var(--text-faint);font-weight:500}.topbar-spacer{flex:1}.navlink{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:9px;color:var(--text-dim);font-size:13.5px;font-weight:500;transition:background .15s var(--ease),color .15s var(--ease)}.navlink:hover{background:var(--surface-hover);color:var(--text)}.navlink[aria-current=page]{background:var(--brand-dim);color:var(--brand-bright)}.avatar{width:30px;height:30px;border-radius:50%;background:var(--brand-dim);border:1px solid var(--brand-line);color:var(--brand-bright);font-size:12px;font-weight:600;display:grid;place-items:center;overflow:hidden;flex:none}.avatar img{width:100%;height:100%;object-fit:cover}.usermenu{position:relative}.usermenu-btn{display:flex;align-items:center;gap:9px;padding:4px 8px 4px 4px;border-radius:999px;transition:background .15s var(--ease)}.usermenu-btn:hover{background:var(--surface-hover)}.usermenu-name{font-size:13.5px;font-weight:500}.usermenu-pop{position:absolute;right:0;top:calc(100% + 8px);min-width:210px;background:var(--bg-raise);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:6px;box-shadow:0 18px 44px #0000008c}.usermenu-meta{padding:9px 10px 11px;border-bottom:1px solid var(--line);margin-bottom:6px}.usermenu-meta strong{display:block;font-size:13.5px;font-weight:600}.usermenu-meta small{display:block;color:var(--text-faint);font-size:12px;margin-top:2px;word-break:break-all}.usermenu-item{display:flex;align-items:center;gap:9px;width:100%;padding:9px 10px;border-radius:8px;font-size:13.5px;color:var(--text-dim);transition:background .12s var(--ease),color .12s var(--ease)}.usermenu-item:hover{background:var(--surface-hover);color:var(--text)}.tag{font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:3px 7px;border-radius:5px;background:var(--brand-dim);color:var(--brand-bright);border:1px solid var(--brand-line)}.hero{padding:52px 0 30px;text-align:center}.hero h1{margin:0 0 8px;font-size:30px;font-weight:700;letter-spacing:-.035em}.hero p{margin:0 0 26px;color:var(--text-dim);font-size:14.5px}.search{position:relative;max-width:620px;margin:0 auto;display:flex;align-items:center;gap:12px;padding:0 16px;height:56px;background:var(--bg-raise);border:1px solid var(--line-strong);border-radius:var(--radius);transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}.search:focus-within{border-color:var(--brand-line);box-shadow:0 0 0 4px #e6873e14}.search svg{color:var(--text-faint);flex:none}.search input{flex:1;background:none;border:none;outline:none;font-size:15px;min-width:0}.search input::placeholder{color:var(--text-faint)}.kbd{display:inline-flex;align-items:center;gap:2px;padding:3px 7px;border-radius:6px;flex:none;background:var(--surface);border:1px solid var(--line);color:var(--text-faint);font-size:11.5px;font-weight:600}.search-clear{color:var(--text-faint);display:grid;place-items:center;padding:4px;border-radius:6px}.search-clear:hover{color:var(--text);background:var(--surface-hover)}main{flex:1;padding-bottom:72px}.section{margin-top:38px}.section-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.section-head svg{color:var(--brand)}.section-head h2{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--text-dim)}.section-head .count{color:var(--text-faint);font-size:11.5px;font-weight:600}.section-head .rule{flex:1;height:1px;background:var(--line)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:12px}.card{position:relative;display:flex;flex-direction:column;gap:10px;padding:16px;min-height:118px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:transform .16s var(--ease),border-color .16s var(--ease),background .16s var(--ease),box-shadow .16s var(--ease)}.card:hover,.card.active{transform:translateY(-2px);background:var(--surface-hover);border-color:var(--brand-line);box-shadow:0 12px 28px #0000006b}.card-icon{width:36px;height:36px;border-radius:var(--radius-sm);display:grid;place-items:center;flex:none;background:var(--brand-dim);color:var(--brand-bright);border:1px solid var(--brand-line)}.card-name{font-size:14px;font-weight:600;letter-spacing:-.01em;line-height:1.3}.card-desc{font-size:12.5px;color:var(--text-dim);line-height:1.45}.card-go{position:absolute;top:15px;right:15px;color:var(--text-faint);opacity:0;transform:translate(-2px,2px);transition:opacity .16s var(--ease),transform .16s var(--ease),color .16s var(--ease)}.card:hover .card-go,.card.active .card-go{opacity:1;transform:none;color:var(--brand)}.wip{align-self:flex-start;margin-top:auto;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:3px 6px;border-radius:5px;background:#ffffff0d;color:var(--text-faint);border:1px solid var(--line)}mark{background:var(--brand-line);color:var(--brand-bright);border-radius:3px;padding:0 1px}.empty{text-align:center;padding:70px 20px;color:var(--text-faint)}.empty svg{color:var(--line-strong);margin-bottom:14px}.empty h3{margin:0 0 6px;font-size:15px;font-weight:600;color:var(--text-dim)}.empty p{margin:0;font-size:13.5px}.skeleton{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-height:118px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:.85}}.center-screen{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;z-index:1}.spinner{width:22px;height:22px;border:2px solid var(--line-strong);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login{width:100%;max-width:396px;padding:40px 34px 30px;text-align:center;background:#141619e6;border:1px solid var(--line-strong);border-radius:20px;box-shadow:0 30px 80px #0009}.login-mark{width:54px;height:54px;margin:0 auto 18px;border-radius:16px;display:grid;place-items:center;background:var(--brand-dim);border:1px solid var(--brand-line);color:var(--brand)}.login h1{margin:0 0 6px;font-size:22px;font-weight:700;letter-spacing:-.03em}.login .sub{margin:0 0 28px;color:var(--text-dim);font-size:13.5px;line-height:1.5}.btn-google{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 18px;border-radius:11px;font-size:14px;font-weight:600;background:var(--text);color:#16181c;transition:transform .14s var(--ease),opacity .14s var(--ease)}.btn-google:hover:not(:disabled){transform:translateY(-1px);opacity:.93}.btn-google:disabled{opacity:.55;cursor:not-allowed}.login-foot{margin:22px 0 0;color:var(--text-faint);font-size:11.5px}.alert{margin-bottom:18px;padding:11px 13px;border-radius:10px;font-size:13px;text-align:left;background:#dc4e411a;border:1px solid rgba(220,78,65,.28);color:#ff9d92}.page-head{display:flex;align-items:flex-start;gap:16px;padding:34px 0 22px}.page-head h1{margin:0 0 5px;font-size:22px;font-weight:700;letter-spacing:-.03em}.page-head p{margin:0;color:var(--text-dim);font-size:13.5px}.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:10px;font-size:13.5px;font-weight:600;background:var(--surface);border:1px solid var(--line-strong);color:var(--text);transition:background .14s var(--ease),border-color .14s var(--ease)}.btn:hover{background:var(--surface-hover);border-color:var(--brand-line)}.btn-primary{background:var(--brand);border-color:var(--brand);color:#16181c}.btn-primary:hover{background:var(--brand-bright);border-color:var(--brand-bright)}.btn-ghost{background:none;border-color:transparent;color:var(--text-dim);padding:7px 9px}.btn-ghost:hover{background:var(--surface-hover);color:var(--text);border-color:transparent}.btn-danger:hover{background:#dc4e4124;border-color:#dc4e4166;color:#ff9d92}.btn:disabled{opacity:.5;cursor:not-allowed}.stats{display:flex;gap:10px;margin-bottom:22px;flex-wrap:wrap}.stat{flex:1;min-width:128px;padding:15px 17px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.stat b{display:block;font-size:24px;font-weight:700;letter-spacing:-.03em}.stat span{font-size:11.5px;color:var(--text-faint);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;overflow:hidden}.panel-head{display:flex;align-items:center;gap:11px;padding:14px 16px;border-bottom:1px solid var(--line)}.panel-head svg{color:var(--brand);flex:none}.panel-head h3{margin:0;font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.panel-head .muted{color:var(--text-faint);font-size:12.5px;font-weight:500;letter-spacing:0;text-transform:none}.panel-body{padding:14px 16px}.row{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:var(--radius-sm);background:#ffffff05;border:1px solid var(--line);margin-bottom:8px}.row:last-child{margin-bottom:0}.row-main{flex:1;min-width:0}.row-main b{display:block;font-size:13.5px;font-weight:600}.row-main small{display:block;color:var(--text-faint);font-size:12px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-actions{display:flex;gap:3px;flex:none}.field{margin-bottom:13px}.field label{display:block;font-size:11.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint);margin-bottom:6px}.field input,.field select{width:100%;padding:10px 12px;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--line-strong);outline:none;font-size:13.5px;transition:border-color .15s var(--ease)}.field input:focus,.field select:focus{border-color:var(--brand-line)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.icon-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:6px;max-height:158px;overflow-y:auto;padding:4px}.icon-opt{aspect-ratio:1;display:grid;place-items:center;border-radius:9px;background:var(--surface);border:1px solid var(--line);color:var(--text-dim);transition:all .13s var(--ease)}.icon-opt:hover{background:var(--surface-hover);color:var(--text)}.icon-opt.on{background:var(--brand-dim);border-color:var(--brand-line);color:var(--brand-bright)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#060709b8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:grid;place-items:center;padding:24px}.modal{width:100%;max-width:470px;max-height:88vh;overflow-y:auto;background:var(--bg-raise);border:1px solid var(--line-strong);border-radius:18px;box-shadow:0 28px 70px #0000009e}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}.modal-head h3{margin:0;font-size:15.5px;font-weight:700;letter-spacing:-.02em}.modal-body{padding:20px}.modal-foot{display:flex;justify-content:flex-end;gap:9px;padding:15px 20px;border-top:1px solid var(--line)}.chip{font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--text-dim)}.chip.ok{background:#4abe821f;border-color:#4abe824d;color:#6fdba2}.chip.warn{background:#e6873e1f;border-color:var(--brand-line);color:var(--brand-bright)}@media(max-width:640px){.wrap{padding:0 16px}.hero{padding:34px 0 22px}.hero h1{font-size:24px}.grid,.field-row{grid-template-columns:1fr}.usermenu-name,.kbd{display:none}}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.segmented{display:inline-flex;padding:3px;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:11px;flex:none}.segmented button{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:8px;font-size:13px;font-weight:500;color:var(--text-dim);transition:background .14s var(--ease),color .14s var(--ease)}.segmented button:hover{color:var(--text)}.segmented button.on{background:var(--brand-dim);color:var(--brand-bright)}.segmented button span{font-size:11px;font-weight:700;color:var(--text-faint)}.segmented button.on span{color:var(--brand-bright);opacity:.8}.hint{margin:-4px 0 14px;padding:10px 13px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);color:var(--text-dim);font-size:12.5px;line-height:1.5}.row-chips{display:flex;gap:6px;flex:none;align-items:center;flex-wrap:wrap;justify-content:flex-end;max-width:45%}.chip.dup{background:#e6873e1a;border-color:var(--brand-line);color:var(--brand-bright)}.unnamed{color:var(--text-faint);font-weight:500;font-style:italic}.row-main small.uid{display:flex;align-items:center;gap:7px}.uid-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:5px;max-width:240px;background:var(--surface);border:1px solid var(--line);color:var(--text-faint);font-size:10.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uid-btn:hover{color:var(--text-dim);border-color:var(--line-strong)}@media(max-width:720px){.row{flex-wrap:wrap}.row-chips{max-width:none;justify-content:flex-start;width:100%}}.applist{display:flex;flex-direction:column;gap:10px}.appcard{display:flex;align-items:center;gap:15px;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:border-color .16s var(--ease),background .16s var(--ease)}.appcard:hover{border-color:var(--brand-line);background:var(--surface-hover)}.appcard-icon{width:48px;height:48px;border-radius:13px;flex:none;display:grid;place-items:center;background:var(--brand-dim);border:1px solid var(--brand-line);color:var(--brand-bright)}.appcard-main{flex:1;min-width:0}.appcard-title{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:15px;font-weight:600;letter-spacing:-.015em}.appcard-ver{font-size:12px;font-weight:600;color:var(--brand-bright)}.appcard-ver .dim{color:var(--text-faint);font-weight:500}.appcard-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:5px;font-size:11.5px;color:var(--text-faint)}.appcard-meta code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;padding:2px 6px;border-radius:5px;background:#ffffff0a;border:1px solid var(--line)}.appcard-notes{margin:9px 0 0;font-size:12.5px;color:var(--text-dim);line-height:1.5}.appcard-actions{flex:none;display:flex;gap:8px}.appcard-actions .btn{padding:10px 18px}.notice{display:flex;gap:12px;align-items:flex-start;padding:13px 15px;margin-bottom:14px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}.notice svg{color:var(--text-dim);flex:none;margin-top:1px}.notice.warn{background:var(--brand-dim);border-color:var(--brand-line)}.notice.warn svg{color:var(--brand-bright)}.notice div{display:flex;flex-direction:column;gap:3px}.notice strong{font-size:13.5px;font-weight:600}.notice span{font-size:12.5px;color:var(--text-dim);line-height:1.5}.notice b{color:var(--text);font-weight:600}.footnote{display:flex;gap:9px;align-items:flex-start;margin-top:16px;padding:12px 14px;border-radius:var(--radius-sm);background:#ffffff05;border:1px solid var(--line);color:var(--text-faint);font-size:12px;line-height:1.55}.footnote svg{flex:none;margin-top:2px}.footnote b{color:var(--text-dim);font-weight:600}.alert code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px}@media(max-width:640px){.appcard{flex-wrap:wrap;align-items:flex-start}.appcard-actions{width:100%}.appcard-actions .btn,.appcard-actions a{flex:1;justify-content:center}}.footnote>span{min-width:0}@media(max-width:560px){.topbar-inner{gap:8px}.navlabel{display:none}.navlink{padding:8px 10px}.brand em{display:none}}.appcard-icon-img{object-fit:cover;background:var(--surface);padding:0}.segmented button .soon{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 5px;border-radius:4px;background:#ffffff0f;color:var(--text-faint)}.segmented button.on .soon{background:#e6873e2e;color:var(--brand-bright);opacity:1}.empty code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.inline-link{display:inline-flex;align-items:baseline;gap:4px;color:var(--brand-bright);font-weight:600;border-bottom:1px solid var(--brand-line)}.inline-link:hover{border-bottom-color:var(--brand-bright)}.inline-link svg{transform:translateY(1px)}
