:root{--wond-lagoon:#509999;--wond-everglade:#206767;--wond-deep-sea:#053535;--wond-mystic:#DAE9E9;--wond-charcoal:#6D6D70;--wond-eclipse:#3A3A3A;--wond-marine:#F3F9F9;--wond-pueblo:#EDAEA2;--wond-terra-cotta:#DE6C5F;--wond-font:"DM Sans",system-ui,-apple-system,sans-serif;--r-sm:4px;--r-md:8px;--r-lg:16px;--r-xl:24px;--r-full:9999px;--sh-sm:0 1px 2px rgba(5,53,53,0.06);--sh-md:0 4px 12px rgba(5,53,53,0.08);--sh-lg:0 12px 32px rgba(5,53,53,0.12)}*{box-sizing:border-box}body,html{padding:0;margin:0}body{font-family:var(--wond-font);font-size:16px;line-height:1.6;color:var(--wond-eclipse);background:var(--wond-marine);-webkit-font-smoothing:antialiased}a{color:var(--wond-everglade)}h1,h2,h3{color:var(--wond-eclipse);margin:0}h1{font-size:32px;line-height:1.25}h1,h2{font-weight:700}h2{font-size:24px;line-height:1.4}h3{font-size:20px;line-height:1.5;font-weight:500}p{margin:0}.mono,code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.topbar{justify-content:space-between;padding:16px 32px;background:#fff;border-bottom:1px solid var(--wond-mystic)}.topbar,.topbar-left{display:flex;align-items:center;gap:16px}.topbar-left img{height:32px}.topbar-tag{font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;border-left:1px solid var(--wond-mystic);padding-left:16px}.topbar-right,.topbar-tag{color:var(--wond-charcoal)}.topbar-right{display:flex;align-items:center;gap:16px;font-size:14px}.container{max-width:960px;margin:0 auto;padding:48px 32px 96px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}.page-head p{margin-top:4px}.breadcrumb,.page-head p{color:var(--wond-charcoal);font-size:14px}.breadcrumb{margin-bottom:16px}.breadcrumb a{text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.card{background:#fff;border:1px solid var(--wond-mystic);border-radius:var(--r-lg);box-shadow:var(--sh-sm)}.card+.card{margin-top:16px}.card-pad{padding:24px}.btn{font-family:var(--wond-font);font-size:16px;font-weight:500;line-height:1;padding:12px 24px;border-radius:var(--r-md);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;display:inline-flex;align-items:center;gap:8px;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--wond-lagoon);color:#fff;border:none}.btn-primary:hover:not(:disabled){background:var(--wond-everglade)}.btn-secondary{background:transparent;color:var(--wond-everglade);border:1px solid var(--wond-lagoon)}.btn-secondary:hover{background:var(--wond-marine)}.btn-tertiary{background:transparent;color:var(--wond-everglade);border:none;padding:12px 0}.btn-tertiary:hover{color:var(--wond-lagoon)}.btn-danger{background:transparent;color:var(--wond-terra-cotta);border:1px solid var(--wond-pueblo)}.btn-danger:hover{background:#fdf3f1}.btn-sm{padding:8px 16px;font-size:14px}.chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:4px 10px;border-radius:var(--r-full)}.chip-read{background:var(--wond-mystic);color:var(--wond-deep-sea)}.chip-write{background:var(--wond-lagoon);color:#fff}.chip-active{background:#e6f2ec;color:var(--wond-everglade)}.chip-disabled,.chip-revoked{background:#f0e5e3;color:var(--wond-terra-cotta)}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--wond-charcoal);padding:12px 16px;border-bottom:1px solid var(--wond-mystic)}.table td{padding:16px;border-bottom:1px solid var(--wond-marine);font-size:14px;vertical-align:middle}.table tr:last-child td{border-bottom:none}.table a{text-decoration:none;font-weight:500;color:var(--wond-eclipse)}.table a:hover{color:var(--wond-everglade)}.row-hover:hover{background:var(--wond-marine)}.field{margin-bottom:24px}.field label{display:block;font-size:14px;font-weight:500;margin-bottom:8px}.field .hint{font-size:12px;color:var(--wond-charcoal);margin-top:6px}.input{width:100%;font-family:var(--wond-font);font-size:16px;color:var(--wond-eclipse);padding:12px 16px;border:1px solid var(--wond-mystic);border-radius:var(--r-sm);background:#fff}.input:focus{outline:2px solid var(--wond-lagoon);outline-offset:1px;border-color:var(--wond-lagoon)}.scope-group-label{font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--wond-charcoal);margin:24px 0 12px}.scope-row{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border:1px solid var(--wond-mystic);border-radius:var(--r-md);margin-bottom:8px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.scope-row:hover{background:var(--wond-marine)}.scope-row.checked{border-color:var(--wond-lagoon);background:#f2f8f8}.scope-row input{margin-top:3px;width:16px;height:16px;accent-color:var(--wond-lagoon)}.scope-row .scope-name{font-weight:500;font-size:14px}.scope-row .scope-desc,.scope-row .scope-raw{font-size:12px;color:var(--wond-charcoal)}.scope-row .scope-desc{margin-top:2px}.connector-indicator{display:flex;align-items:center;gap:12px;padding:16px 24px;border-radius:var(--r-md);margin:24px 0;background:var(--wond-marine);border:1px solid var(--wond-mystic)}.connector-indicator.write{background:#eef6f6;border-color:var(--wond-lagoon)}.connector-indicator .label{font-size:14px;color:var(--wond-charcoal)}.connector-indicator .value{font-size:16px;font-weight:700;color:var(--wond-deep-sea)}.key-callout{border:1px solid var(--wond-lagoon);background:#f2f8f8;border-radius:var(--r-lg);padding:24px}.key-box{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--wond-deep-sea);color:var(--wond-mystic);border-radius:var(--r-md);padding:16px;margin:16px 0;font-size:14px;word-break:break-all}.key-box .mono{color:#fff}.warn{color:var(--wond-terra-cotta)}.dl,.warn{font-size:14px}.dl{display:grid;grid-template-columns:200px 1fr;grid-gap:12px 24px;gap:12px 24px}.dl dt{color:var(--wond-charcoal)}.dl dd{margin:0}.empty{text-align:center;padding:64px 24px;color:var(--wond-charcoal)}.empty h3{color:var(--wond-eclipse);margin-bottom:8px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{text-align:center;max-width:400px;width:100%}.login-card img{height:36px;margin-bottom:24px}.stack-16>*+*{margin-top:16px}.muted{color:var(--wond-charcoal)}.flex{gap:12px}.flex,.spread{display:flex;align-items:center}.spread{justify-content:space-between;gap:16px}