:root{--cn-bg:#14201f;--cn-bg-alt:#1b2b29;--cn-fg:#eef3f2;--cn-fg-muted:#9fb3b0;--cn-accent:#4fb3a9;--cn-accent-dim:#2d5f58;--cn-border:#263937}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--cn-bg);color:var(--cn-fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}@keyframes wireDraw{0%{stroke-dashoffset:100px;opacity:0}1.5%{stroke-dashoffset:40px;opacity:.9}3.5%{stroke-dashoffset:0;opacity:1}5.5%{stroke-dashoffset:0;opacity:0}to{stroke-dashoffset:100px;opacity:0}}@property --cn-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes cnBorderSpin{to{--cn-angle:360deg}}.cn-glow-border{border-radius:8px;position:relative}.cn-glow-border:before,.cn-glow-border:after{content:"";pointer-events:none;background:conic-gradient(from var(--cn-angle), #fff 0deg, var(--cn-accent) 90deg, #fff 180deg, var(--cn-accent) 270deg, #fff 360deg);border-radius:8px;animation:6s linear infinite cnBorderSpin;position:absolute;inset:-1px}.cn-glow-border:before{-webkit-mask-composite:xor;padding:1.5px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.cn-glow-border:after{z-index:-1;filter:blur(4px);opacity:.85;-webkit-mask-composite:xor;padding:3px;inset:-3px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@keyframes cnNudge{0%,8%,to{transform:translate(0)}1%{transform:translate(-7px)}2%{transform:translate(5px)}3%{transform:translate(-4px)}4%{transform:translate(3px)}5%{transform:translate(-2px)}6%{transform:translate(1px)}}.cn-nudge-btn{transform-origin:50%;animation:10s ease-in-out 2s infinite cnNudge}
