:root{--sdp-bg:#008080;--sdp-bg-2:#006D6D;--sdp-panel:#0A8E8E;--sdp-panel-2:#109C9C;--sdp-line:#33A6A6;--sdp-line-bright:#5FC2C2;--sdp-ink:#F4FBFB;--sdp-muted:#D2EDED;--sdp-accent:#FFC857;--sdp-accent-bright:#FFD77A;--sdp-cream:#FFFFFF}body{background:var(--sdp-line);color:var(--sdp-ink);font-family:"IBM Plex Sans",system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}.mono{font-family:"IBM Plex Mono",monospace}.eyebrow{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--sdp-accent);margin-bottom:16px}h1,h2,h3{letter-spacing:-.02em;font-weight:600;color:var(--sdp-ink)}.text-secondary{color:var(--sdp-muted)!important}a{text-decoration:none}:focus-visible{outline:2px solid var(--sdp-accent);outline-offset:3px;border-radius:4px}section{padding:84px 0}.band,.section-line{border-top:1px solid var(--sdp-line);border-bottom:1px solid var(--sdp-line);background:var(--sdp-bg-2)}.btn-sdp{background:var(--sdp-cream);color:#055;font-weight:600;border:1px solid transparent;transition:transform .12s,background .15s}.btn-sdp:hover{background:var(--sdp-accent);color:#3a2a00;transform:translateY(-1px)}.btn-sdp-ghost{background:0 0;color:var(--sdp-ink);border:1px solid var(--sdp-line-bright);font-weight:600;transition:border-color .15s,color .15s,background .15s}.btn-sdp-ghost:hover{border-color:var(--sdp-cream);background:rgba(255,255,255,.08);color:var(--sdp-cream)}.navbar.sdp-nav{background:rgba(0,109,109,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--sdp-line)}.sdp-nav .navbar-brand{font-weight:600;font-size:17px;display:flex;align-items:center;gap:10px;color:var(--sdp-ink)}.sdp-nav .brand-dot{width:10px;height:10px;border-radius:50%;background:var(--sdp-accent);box-shadow:0 0 12px var(--sdp-accent)}.sdp-nav .nav-link{color:var(--sdp-muted);font-size:14px}.sdp-nav .nav-link:hover{color:var(--sdp-ink)}.sdp-nav .navbar-toggler{border-color:var(--sdp-line-bright)}.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--sdp-line)}.hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.1) 1px,transparent 0);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse 80% 75% at 65% 35%,#000 40%,transparent 100%);mask-image:radial-gradient(ellipse 80% 75% at 65% 35%,#000 40%,transparent 100%);pointer-events:none}.hero h1{font-size:clamp(34px,4.4vw,50px);line-height:1.05}.hero .lead{color:var(--sdp-muted);font-size:17.5px;max-width:34em}.chip{display:inline-block;font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--sdp-muted);border:1px solid var(--sdp-line);border-radius:6px;padding:6px 11px;background:rgba(255,255,255,.06);margin:0 6px 8px 0}.chip b,.shot .cap b,.spec-strip b{color:var(--sdp-ink);font-weight:600}.app-frame{background:rgba(255,255,255,.1);border:1px solid var(--sdp-line-bright);border-radius:14px;padding:12px;box-shadow:0 24px 60px -28px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.1)}.app-frame img{display:block;width:100%;height:auto;border-radius:8px}.spec-strip{border-bottom:1px solid var(--sdp-line);background:var(--sdp-bg-2);font-family:"IBM Plex Mono",monospace;font-size:13px;color:var(--sdp-muted)}.spec-strip .sep{color:var(--sdp-accent);opacity:.8}.sdp-card{background:var(--sdp-panel);border:1px solid var(--sdp-line);border-radius:10px;height:100%;transition:border-color .18s,transform .18s,background .18s}.sdp-card:hover{border-color:var(--sdp-line-bright);transform:translateY(-3px);background:var(--sdp-panel-2)}.sdp-card .ic{width:38px;height:38px;color:var(--sdp-accent);margin-bottom:16px}.sdp-card h3{font-size:18px;margin-bottom:8px}.sdp-card p{color:var(--sdp-muted);font-size:14.5px;margin-bottom:0}.sdp-card .tag{display:inline-block;margin-top:14px;font-family:"IBM Plex Mono",monospace;font-size:11px;color:var(--sdp-accent-bright);letter-spacing:.05em}.shot{background:var(--sdp-panel);border:1px solid var(--sdp-line);border-radius:12px;overflow:hidden;transition:border-color .18s;height:100%}.shot:hover{border-color:var(--sdp-cream)}.shot .cap{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--sdp-line);font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.05em;color:var(--sdp-muted)}.shot img{display:block;width:100%;height:auto;background:#fff}.io-panel{background:var(--sdp-panel);border:1px solid var(--sdp-line);border-radius:12px;padding:26px;height:100%}.io-panel h3{font-size:14px;font-family:"IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--sdp-accent);font-weight:500;margin-bottom:18px}.io-tag{display:inline-block;font-family:"IBM Plex Mono",monospace;font-size:13px;color:var(--sdp-ink);border:1px solid var(--sdp-line);background:rgba(255,255,255,.06);border-radius:6px;padding:7px 12px;margin:0 8px 8px 0}.band .meta{font-family:"IBM Plex Mono",monospace;font-size:12.5px;color:var(--sdp-muted)}.form-label{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--sdp-muted)}.form-control{background:rgba(255,255,255,.08);border:1px solid var(--sdp-line);color:var(--sdp-ink)}.form-control::placeholder{color:var(--sdp-muted)}.form-control:focus{background:rgba(255,255,255,.12);border-color:var(--sdp-accent);color:var(--sdp-ink);box-shadow:none}.sdp-footer{border-top:1px solid var(--sdp-line);background:var(--sdp-bg-2);color:var(--sdp-muted);font-size:13px}.video-frame{border:1px solid var(--sdp-line-bright);border-radius:14px;overflow:hidden;background:#000}.app-win{background:#fff;border:1px solid var(--sdp-line-bright);border-radius:14px;overflow:hidden;box-shadow:0 24px 60px -28px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.1)}.app-bar{display:flex;align-items:center;gap:14px;padding:10px 16px;background:#e8f2f2;border-bottom:1px solid var(--sdp-line)}.app-dots{display:flex;gap:7px}.app-dots i{width:11px;height:11px;border-radius:50%;display:block}.app-dots i:first-child{background:#e16052}.app-dots i:nth-child(2){background:#d68c1e}.app-dots i:nth-child(3){background:#148c6e}.app-name{font-size:13px;color:#0a4a4a;margin:0 auto;padding-right:40px}.app-body{display:flex;min-height:330px}.app-side{flex:0 0 150px;background:var(--sdp-bg);padding:14px 0;display:flex;flex-direction:column}.app-tab{appearance:none;background:0 0;border:0;cursor:pointer;text-align:left;font-family:"IBM Plex Mono",monospace;font-size:14px;color:#cfeaea;padding:11px 20px;transition:background .15s,color .15s;border-left:3px solid transparent}.app-tab:hover{color:#fff;background:rgba(255,255,255,.06)}.app-tab.active{color:#fff;background:var(--sdp-bg-2);border-left-color:var(--sdp-accent);font-weight:600}.app-tab:focus-visible{outline:2px solid var(--sdp-accent);outline-offset:-2px}.app-main{flex:1 1 auto;padding:18px 20px;background:#fff;min-width:0}.app-main-title{font-size:15px;color:#0a4a4a;margin-bottom:12px}.app-plot{aspect-ratio:4/3;background:#f4fafa;border:1px solid var(--sdp-line);border-radius:8px;overflow:hidden;display:flex}.app-plot img{width:100%;height:100%;object-fit:contain;display:block}@media (max-width:560px){.app-body{flex-direction:column}.app-side{flex-basis:auto;flex-direction:row;overflow-x:auto}.app-tab{border-left:0;border-bottom:3px solid transparent;white-space:nowrap}.app-tab.active{border-left:0;border-bottom-color:var(--sdp-accent)}}