html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}:root{font-family:Space Grotesk,IBM Plex Sans,system-ui,sans-serif;color:#e6e8f2;background:radial-gradient(circle at top,#1b1a2a,#14121f 40%,#0b0a12)}*{box-sizing:border-box}body{margin:0}.page{min-height:100vh;display:grid;place-items:center;padding:48px 20px}.page-full{place-items:stretch;padding:0}.page-full .app-layout{min-height:100vh}.public-layout{width:min(1280px,100%);display:grid;gap:24px}.public-header{display:flex;justify-content:flex-end}.home-hero{display:grid;gap:14px;min-height:clamp(240px,32vh,480px);padding:clamp(30px,5vw,72px);position:relative;overflow:hidden;isolation:isolate;color:#f7f8fc}.home-hero>*:not(.home-hero__bg){position:relative;z-index:1}.home-hero .eyebrow{color:#efeaff;text-shadow:0 1px 2px rgba(5,4,10,.7),0 6px 20px rgba(5,4,10,.55)}.home-hero h1{color:#fbfbff;text-shadow:0 2px 2px rgba(5,4,10,.75),0 10px 28px rgba(5,4,10,.7);-webkit-text-stroke:.6px rgba(5,4,10,.35)}.home-hero .lede{color:#edf0fb;text-shadow:0 1px 2px rgba(5,4,10,.75),0 8px 22px rgba(5,4,10,.6)}.home-hero__bg{position:absolute;top:-6%;right:-6%;bottom:-6%;left:-6%;filter:blur(0px);transform:translateZ(0);transition:transform .12s ease-out;z-index:0;background-image:linear-gradient(135deg,#0c0a1475,#0c0a14ad),url(/matrix.gif);background-size:100% auto;background-repeat:no-repeat;background-position:center}@media (prefers-reduced-motion: reduce){.home-hero__bg{transition:none}}.home-actions{display:inline-flex;align-items:center;gap:16px;flex-wrap:wrap}.home-meta{font-size:.9rem;color:#a29cb4}.coins-explorer{display:grid;gap:12px}.coins-explorer__header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.coins-explorer__header h2{margin:0;font-size:clamp(1.3rem,2vw,1.7rem)}.coins-explorer__header span{color:#a29cb4;font-size:.85rem}.coins-explorer__search{width:100%;border-radius:12px;border:1px solid rgba(160,148,190,.4);background:#0a0c1473;color:#f2f0ff;padding:10px 12px}.coins-explorer__select{width:100%}.coins-chart{border-radius:12px;border:1px solid rgba(160,148,190,.2);background:#0b0a1466;padding:10px;display:grid;gap:10px}.coins-chart__svg{width:100%;height:auto;border-radius:10px}.coins-chart__plot{display:grid;grid-template-columns:96px 1fr;gap:8px;align-items:stretch}.coins-chart__canvas{position:relative}.coins-chart__yaxis{display:flex;flex-direction:column;justify-content:space-between;color:#a29cb4;font-size:.78rem;text-align:right}.coins-chart__yaxis--right{position:absolute;right:8px;top:10px;bottom:10px;z-index:2;pointer-events:none;text-align:left;color:#fbbf24;text-shadow:0 0 12px rgba(245,158,11,.2)}.coins-chart__sentiment-line{filter:drop-shadow(0 0 7px rgba(245,158,11,.35))}.coins-chart__legend{display:flex;flex-wrap:wrap;gap:10px}.coins-chart__axis{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;color:#a29cb4;font-size:.78rem}.coins-chart__axis span:nth-child(2){text-align:center}.coins-chart__axis span:nth-child(3){text-align:right}.coins-chart__legend-item{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:#0b0a148c;border:1px solid rgba(160,148,190,.2)}.coins-chart__legend-item span{width:10px;height:10px;border-radius:999px;display:inline-block}.coins-chart__legend-item small{color:#a29cb4}.coins-explorer__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;max-height:320px;overflow:auto}.coins-explorer__item{display:grid;gap:4px;padding:10px 12px;border:1px solid rgba(160,148,190,.18);border-radius:12px;background:#0b0a148c}.coins-explorer__item strong{color:#f7f8fc}.coins-explorer__item span{color:#d5d9ea}.coins-explorer__item small{color:#9aa0b8}.coins-explorer__snippet pre{margin:0;background:#05060ccc;border:1px solid rgba(160,148,190,.2);border-radius:12px;padding:10px 12px;overflow:auto}.coins-explorer__snippet code{color:#b8f5d2;font-family:IBM Plex Mono,JetBrains Mono,monospace;font-size:.85rem}.home-projects{display:grid;gap:16px}.home-projects-headline{display:flex;align-items:center;justify-content:space-between;gap:16px}.home-filter{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:#a29cb4}.home-filter__select{min-width:200px}.home-projects h2{margin:0;font-size:clamp(1.6rem,3vw,2.2rem)}.home-projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.home-projects-grid--fixed{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:start}.home-projects-editor .home-projects-grid--fixed{grid-template-columns:repeat(auto-fill,320px)}@media (max-width: 1100px){.home-projects-grid--fixed{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.home-projects-grid--fixed{grid-template-columns:minmax(0,1fr)}}.home-project{border-radius:18px;overflow:hidden;background:#12101ceb;border:1px solid rgba(160,148,190,.18);box-shadow:0 14px 28px #06050c80;display:grid;min-height:100%;transform-style:preserve-3d;transition:transform .24s ease,box-shadow .24s ease}.home-project:hover{transform:perspective(900px) rotateX(16deg) translateY(-4px);box-shadow:0 22px 48px #06050cb3}.home-project__image{aspect-ratio:3 / 2;overflow:hidden;background:#221f33}.home-project__image img{width:100%;height:100%;object-fit:cover;display:block}.home-project__body{padding:14px;display:grid;gap:8px}.home-project__body h3{margin:0;font-size:1.05rem;color:#f2f0ff}.home-project__body p{margin:0;color:#a29cb4;line-height:1.45}.home-project__body a{color:#d7c8ff;font-weight:600;text-decoration:none}.home-project__labels{display:flex;flex-wrap:wrap;gap:6px}.home-project__labels--top{margin-bottom:6px}.home-project__label{padding:3px 10px;border-radius:10px;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}.home-project__link{opacity:0;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease}.home-project__link--secondary{color:#9aa0b8;font-weight:500}.home-project:hover .home-project__link{opacity:1;transform:translateY(0)}@media (hover: none){.home-project{transform:none}.home-project__link{opacity:1;transform:none}}.home-projects-editor{display:grid;gap:16px}.home-projects-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.home-projects-header h4{margin:0}.home-project-card{border-radius:16px;border:1px solid rgba(15,23,42,.1);background:#fff9;padding:14px;display:grid;gap:12px;cursor:grab}.home-project-card:active{cursor:grabbing}.home-project-card--dragover{border-color:#7c5cff99;box-shadow:0 0 0 2px #7c5cff33}.home-project-card__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.home-project-card__title{font-weight:600}.home-project-card__actions{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap}.home-project-card__body{margin-bottom:0}.home-project-preview{width:100%;border-radius:12px;overflow:hidden;border:1px solid rgba(160,148,190,.18);background:#ece9f4}.home-project-preview img{width:100%;height:auto;display:block}.hero{max-width:100%;padding:48px 40px;border-radius:28px;background:#12101ce6;box-shadow:0 30px 80px #06050c8c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.8rem;color:#b6a8d6;margin:0 0 12px}h1{font-size:clamp(2.8rem,6vw,4.6rem);margin:0 0 16px}.lede{margin:0 0 24px;line-height:1.7;font-size:clamp(1.05rem,2.4vw,1.35rem);color:#c6c7d6}.panel{margin-top:24px;padding:20px 24px;border-radius:16px;background:#101018;color:#f8f4e6}.form{display:grid;gap:14px;margin-top:24px}.form label{font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;color:#b6a8d6}.form input{padding:14px 16px;font-size:1rem;border-radius:12px;border:1px solid #d5cde6;background:#fff}.button{border:none;padding:14px 18px;border-radius:999px;background:#101018;color:#f8f4e6;font-size:1rem;cursor:pointer}.button:disabled{opacity:.6;cursor:not-allowed}.status-text{margin:0;color:#d7c8ff}.status-text.is-error{color:#b42318}.app-layout{margin-top:24px;border-radius:20px;overflow:hidden;background:#f8f4e6;color:#101018}.app-logo{height:96px;margin:16px;padding:4px;display:grid;place-items:center;border-radius:14px;background:transparent;overflow:hidden}.app-logo img{max-height:102px;max-width:100%;object-fit:contain;border-radius:12px;overflow:hidden;display:block;clip-path:inset(0 round 12px)}.app-header{display:flex;align-items:center;justify-content:space-between}.app-header-meta{display:inline-flex;align-items:center;gap:12px;padding-right:16px}.app-header-meta button{color:inherit}.settings-page{display:grid;gap:20px}.settings-summary h2{margin:0 0 8px}.settings-summary p{margin:0;color:#a29cb4}.settings-card{border-radius:18px;padding:18px;border:1px solid rgba(160,148,190,.18);background:#fffc}.settings-card__header h3{margin:0 0 6px}.settings-card__header p{margin:0;color:#a29cb4}.settings-card__controls{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.settings-card__list{margin-top:12px;display:grid;gap:8px}.settings-card__item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:12px;background:#0f172a0d}.settings-card__item-actions{display:inline-flex;gap:8px}.settings-card__item-name{font-weight:600}.icon-option{display:inline-flex;align-items:center;gap:8px}.widget-grid{display:grid;gap:20px}.widget-card{border-radius:18px;padding:18px;border:1px solid rgba(160,148,190,.18);background:#fffc}.widget-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.widget-card__header h3{margin:0}.log-viewer{border-radius:16px;border:1px solid rgba(15,23,42,.1);padding:16px;background:#ffffffb3}.log-viewer--flash{animation:logFlash .65s ease-out;border-color:#38bdf899;box-shadow:0 0 0 2px #38bdf833,0 0 24px #38bdf866}.log-viewer__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.log-viewer__header h3{margin:0}.log-viewer__status{display:inline-flex;margin-top:4px;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#64748b}.log-viewer__actions{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.log-viewer__search{width:220px}.log-viewer__levels{display:inline-flex;gap:6px}.log-viewer__body{max-height:520px;overflow:auto;border-radius:12px;background:#0f172a;color:#e2e8f0;padding:12px}.log-viewer__body ul{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-family:IBM Plex Mono,JetBrains Mono,monospace;font-size:.85rem}.email-template-widget .widget-controls{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.log-viewer__empty{margin:0;color:#cbd5f5}.log-line{display:grid;grid-template-columns:auto auto 1fr;gap:8px}.log-line__time{color:#94a3b8}.log-line__level{text-transform:uppercase;font-size:.7rem;letter-spacing:.14em;color:#38bdf8}.log-line--error .log-line__level{color:#f87171}.log-line--warn .log-line__level{color:#fbbf24}.log-line--info .log-line__level{color:#4ade80}.users-widget .log-line__message button{margin-left:8px}.log-viewer--disabled{opacity:.7}.widget-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:12px}.widget-toggle{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:#c6c7d6}@keyframes logFlash{0%{box-shadow:0 0 #38bdf8cc}to{box-shadow:0 0 0 16px #38bdf800}}.app-content-placeholder h2{margin:0 0 8px}.app-content-placeholder p{margin:0;color:#a29cb4}@media (max-width: 600px){.hero{padding:32px 24px}.page{padding:32px 16px}}
