/* SecOne4all Design System v3
   Final shared layer: loaded after every legacy/page stylesheet. */
:root{
  color-scheme:dark;
  --s1-bg:#030806;--s1-bg-raised:#06110c;--s1-surface:#091711;--s1-surface-2:#0d2017;
  --s1-surface-glass:rgba(8,23,16,.86);--s1-text:#edf8f1;--s1-text-2:#b9cec1;--s1-muted:#7f998a;
  --s1-line:rgba(154,201,174,.14);--s1-line-strong:rgba(154,201,174,.26);
  --s1-accent:#35f27a;--s1-accent-2:#4de7cf;--s1-accent-ink:#021108;
  --s1-info:#62b9ff;--s1-warning:#ffc76a;--s1-danger:#ff7587;--s1-success:#4fec8b;
  --s1-radius-xs:8px;--s1-radius-sm:11px;--s1-radius-md:16px;--s1-radius-lg:22px;
  --s1-shadow-sm:0 10px 28px rgba(0,0,0,.18);--s1-shadow:0 24px 70px rgba(0,0,0,.3);
  --s1-font:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --s1-display:"Space Grotesk","DM Sans",system-ui,sans-serif;
  --s1-ease:cubic-bezier(.2,.8,.2,1);--s1-content:min(1440px,calc(100% - 40px));
}
*{box-sizing:border-box}
html{background:var(--s1-bg);scroll-behavior:smooth;scrollbar-color:#2fc86a #07110c;scrollbar-width:thin}
body{min-width:280px;margin:0;background-color:var(--s1-bg);background-image:radial-gradient(circle at 8% 0,rgba(53,242,122,.075),transparent 30rem),radial-gradient(circle at 94% 24%,rgba(77,231,207,.05),transparent 28rem);background-attachment:fixed;color:var(--s1-text);font-family:var(--s1-font);line-height:1.55;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body::selection{background:rgba(53,242,122,.3);color:#fff}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#07110c}::-webkit-scrollbar-thumb{border:2px solid #07110c;border-radius:999px;background:linear-gradient(#217d47,#35f27a)}
img,video,canvas,svg{max-width:100%}button,input,select,textarea{font:inherit}button,a,input,select,textarea,[role="button"]{-webkit-tap-highlight-color:transparent}
a{color:#73f5a1;text-underline-offset:3px}a:hover{color:#adffc9}
.main{position:relative;isolation:isolate;min-width:0;overflow-wrap:anywhere}
.main::before{position:fixed;z-index:-1;inset:0;pointer-events:none;background-image:linear-gradient(rgba(53,242,122,.016) 1px,transparent 1px),linear-gradient(90deg,rgba(53,242,122,.016) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,#000,transparent 72%);content:""}
.main :where(h1,h2,h3,h4){color:var(--s1-text);font-family:var(--s1-display);letter-spacing:-.025em;text-wrap:balance}.main :where(p,li,dd){text-wrap:pretty}.main :where(p,li,dd,td,th,a,code){overflow-wrap:anywhere}.main :where(hr){border:0;border-top:1px solid var(--s1-line)}

/* Shared surfaces */
.main :where(.card,.panel,.content-section,.form-container,.modal-content,.dialog,.settings-card,.stat-card,.metric-card,.empty-state,.error-state){min-width:0;border-color:var(--s1-line);box-shadow:inset 0 1px rgba(255,255,255,.025),var(--s1-shadow-sm)}
.main :where(.card,.panel,.content-section,.form-container,.settings-card){background-color:var(--s1-surface-glass)}
.main :where(.card,.feature-card,.news-card,.tool-card,.bb-service-card,.pt-framework-card,.arena-card,.stat-card,.metric-card){transition:transform .22s var(--s1-ease),border-color .22s ease,box-shadow .22s ease}
@media(hover:hover){.main :where(.card,.feature-card,.news-card,.tool-card,.bb-service-card,.pt-framework-card,.arena-card,.stat-card,.metric-card):hover{border-color:rgba(53,242,122,.3);box-shadow:0 22px 55px rgba(0,0,0,.25)}}

/* Forms */
.main :where(form){min-width:0}.main :where(label){color:var(--s1-text-2);font-weight:650}.main :where(label>span:first-child){display:inline-block;margin-bottom:6px}
.main :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea){max-width:100%;min-height:44px;border:1px solid var(--s1-line-strong);border-radius:var(--s1-radius-sm);background:#07140e;color:var(--s1-text);caret-color:var(--s1-accent);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.main :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea):hover{border-color:rgba(133,194,158,.38);background:#091912}
.main :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea):focus{border-color:rgba(53,242,122,.75)!important;box-shadow:0 0 0 3px rgba(53,242,122,.12),0 12px 28px rgba(0,0,0,.15)!important;outline:0}
.main :where(input,textarea)::placeholder{color:#62796c;opacity:1}.main :where(select option){background:#07140e;color:var(--s1-text)}.main textarea{resize:vertical}.main input[type="file"]{padding:7px}.main input[type="file"]::file-selector-button{margin-right:10px;padding:7px 11px;border:1px solid var(--s1-line-strong);border-radius:8px;background:#10291c;color:#dff7e7;cursor:pointer}
.main :where(input,select,textarea)[aria-invalid="true"],.main :where(input,select,textarea):user-invalid{border-color:rgba(255,117,135,.72)}
.main :where(.help-text,.form-text,.field-help,small.muted){color:var(--s1-muted)}

/* Buttons and actions */
.main :where(button,.btn,[class*="-button"],[role="button"]){min-height:40px;touch-action:manipulation;transition:transform .16s var(--s1-ease),border-color .16s ease,background-color .16s ease,box-shadow .16s ease,opacity .16s ease}
.main :where(button,.btn,[class*="-button"],[role="button"]):not(:disabled):active{transform:translateY(1px)}
.main :where(button,.btn,[class*="-button"],[role="button"]):disabled,.main .is-loading{cursor:not-allowed;filter:saturate(.5);opacity:.58}
.main :where(.primary,.btn-primary,.primary-button,[class*="primary-action"]){border-color:rgba(53,242,122,.65);background:linear-gradient(135deg,#35f27a,#20bf65);color:var(--s1-accent-ink);box-shadow:0 10px 28px rgba(53,242,122,.14)}
.main :where(.danger,.btn-danger,.danger-button,.is-danger,.is-delete){border-color:rgba(255,117,135,.42);color:#ffdce1}
.main :where(a,button,input,select,textarea,[role="button"],summary):focus-visible{outline:2px solid var(--s1-accent)!important;outline-offset:3px!important}
.main :where(summary){cursor:pointer}.main :where([hidden]){display:none!important}

/* Data tables */
.s1-table-scroll{width:100%;max-width:100%;overflow:auto;border:1px solid var(--s1-line);border-radius:var(--s1-radius-md);background:rgba(5,16,11,.62);box-shadow:var(--s1-shadow-sm);scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.s1-table-scroll:focus-visible{outline:2px solid var(--s1-accent);outline-offset:3px}
.s1-table-scroll>table{margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.main table{width:100%;max-width:100%;border-collapse:separate;border-spacing:0;color:var(--s1-text-2)}
.main table :where(th,td){padding:12px 14px;border-color:var(--s1-line);vertical-align:middle}.main table th{background:#0c2016;color:#dff6e7;font-size:.73rem;font-weight:800;letter-spacing:.035em;text-align:left;white-space:nowrap}.main table thead th{position:sticky;z-index:2;top:0}.main table tbody tr{transition:background-color .15s ease}.main table tbody tr:nth-child(even){background:rgba(255,255,255,.012)}.main table tbody tr:hover{background:rgba(53,242,122,.045)}.main table td:empty::after{content:"—";color:#53675b}.main table :where(code,kbd){white-space:nowrap}

/* Flask-Admin uses its own root instead of .main. */
.admin-workspace-main{min-width:0;overflow-wrap:anywhere;color:var(--s1-text)}
.admin-workspace-main :where(h1,h2,h3,h4){color:var(--s1-text);font-family:var(--s1-display);letter-spacing:-.025em;text-wrap:balance}
.admin-workspace-main :where(.container,.container-fluid,.row,[class*="col-"]){min-width:0}
.admin-workspace-main :where(.well,.panel,.card,.modal-content,.select2-container--default .select2-selection--single){border-color:var(--s1-line-strong);background-color:var(--s1-surface);color:var(--s1-text)}
.admin-workspace-main :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea,.form-control){min-height:42px;border:1px solid var(--s1-line-strong);border-radius:9px;background:#07140e;color:var(--s1-text)}
.admin-workspace-main :where(input,select,textarea,.form-control):focus{border-color:rgba(53,242,122,.72);box-shadow:0 0 0 3px rgba(53,242,122,.11);outline:0}
.admin-workspace-main :where(button,.btn,[role="button"]){min-height:40px;touch-action:manipulation}.admin-workspace-main :where(a,button,input,select,textarea,[role="button"]):focus-visible{outline:2px solid var(--s1-accent)!important;outline-offset:3px!important}
.admin-workspace-main table{width:100%;max-width:100%;border-collapse:separate;border-spacing:0;color:var(--s1-text-2)}.admin-workspace-main table :where(th,td){padding:10px 12px;border-color:var(--s1-line);vertical-align:middle}.admin-workspace-main table th{background:#0c2016;color:#dff6e7;font-size:.72rem;font-weight:800;white-space:nowrap}.admin-workspace-main table thead th{position:sticky;z-index:2;top:0}.admin-workspace-main table tbody tr:hover{background:rgba(53,242,122,.045)}
.admin-workspace-main :where(.pagination>li>a,.pagination>li>span){border-color:var(--s1-line);background:#081710;color:var(--s1-text-2)}.admin-workspace-main :where(.pagination>.active>a,.pagination>.active>span){border-color:var(--s1-accent);background:#1c9b50;color:#fff}.admin-workspace-main :where(.alert){border-radius:var(--s1-radius-sm);background:#0a1b13;color:var(--s1-text);box-shadow:var(--s1-shadow-sm)}

/* Status, feedback, and empty/error states */
.site-flash{border:1px solid var(--s1-line-strong);border-left:3px solid var(--s1-accent);border-radius:var(--s1-radius-sm);background:rgba(8,25,17,.94);color:var(--s1-text);box-shadow:0 18px 44px rgba(0,0,0,.3);backdrop-filter:blur(16px)}
.flash-danger,.flash-error{border-left-color:var(--s1-danger)}.flash-warning{border-left-color:var(--s1-warning)}.flash-info{border-left-color:var(--s1-info)}
.main :where(.empty,.empty-state,.no-results,.no-data){color:var(--s1-muted)}
.main :where(.empty-state,.error-state,.no-results,.no-data):not(td):not(option){padding:clamp(22px,4vw,44px);border:1px dashed var(--s1-line-strong);border-radius:var(--s1-radius-md);background:rgba(8,23,16,.52);text-align:center}
.main :where(.badge,.status,.chip,[class*="-status"],[class*="status-"]){max-width:100%;overflow-wrap:normal}
.s1-runtime-status{position:fixed;z-index:1600;right:18px;bottom:80px;display:flex;max-width:min(380px,calc(100% - 24px));align-items:center;gap:9px;padding:11px 14px;border:1px solid var(--s1-line-strong);border-radius:12px;background:rgba(6,19,13,.94);color:var(--s1-text-2);box-shadow:var(--s1-shadow);backdrop-filter:blur(14px);font-size:.76rem;transform:translateY(12px);opacity:0;pointer-events:none;transition:.2s ease}.s1-runtime-status.is-visible{transform:none;opacity:1}.s1-runtime-status i{width:9px;height:9px;border:2px solid rgba(53,242,122,.25);border-top-color:var(--s1-accent);border-radius:50%;animation:s1-spin .75s linear infinite}
@keyframes s1-spin{to{transform:rotate(360deg)}}

/* Decorative glows and compact comparison controls on these dense library
   pages intentionally extend past their cards. Clip only at the page edge. */
.hacktivity-page,.arena-page{max-width:100%;overflow-x:clip}

/* Dialogs, menus, Markdown and long technical content */
.main :where(dialog,[role="dialog"],.modal-content,[class*="-dialog"]){color:var(--s1-text)}
.main dialog::backdrop{background:rgba(1,7,4,.8);backdrop-filter:blur(8px)}
.main :where(.dropdown-menu,.popover,.menu-panel,[class*="popover-panel"]){border-color:var(--s1-line-strong);background:#081710;color:var(--s1-text);box-shadow:var(--s1-shadow)}
.main :where(.markdown-body,.post-content,.report-content,.article-content,.prose){max-width:76ch;color:var(--s1-text-2);line-height:1.72}.main :where(.markdown-body,.post-content,.report-content,.article-content,.prose) :where(h1,h2,h3,h4){scroll-margin-top:100px}.main :where(pre){max-width:100%;overflow:auto;border:1px solid var(--s1-line);border-radius:var(--s1-radius-sm);background:#020b06;color:#c9f6d8;tab-size:2}.main :where(code,kbd,samp){font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace}.main :where(:not(pre)>code){padding:.12em .38em;border:1px solid rgba(53,242,122,.13);border-radius:6px;background:rgba(53,242,122,.065);color:#8ef7b2}.main :where(blockquote){margin-inline:0;padding:4px 0 4px 18px;border-left:3px solid rgba(53,242,122,.45);color:var(--s1-text-2)}

/* Shell/navigation final polish */
.site-header,.site-nav-shell,.admin-context-nav{backdrop-filter:saturate(145%) blur(18px);-webkit-backdrop-filter:saturate(145%) blur(18px)}
.site-footer{position:relative;overflow:hidden;background-image:radial-gradient(circle at 12% 20%,rgba(53,242,122,.08),transparent 24rem),linear-gradient(180deg,rgba(3,10,7,.97),#020604)}.site-footer::before{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(53,242,122,.42),transparent) top/100% 1px no-repeat;content:""}.site-footer a,.site-footer button{transition:color .18s ease,transform .18s ease}.site-footer a:hover,.site-footer button:hover{color:#aaffc7!important;transform:translateX(2px)}
.skip-link{z-index:2147483647!important}.site-drawer :where(a,button),.desktop-nav a,.nav-actions :where(a,button){min-height:40px}.site-drawer a[aria-current="page"],.desktop-nav a[aria-current="page"]{color:#8fffb5}

/* Global page affordances */
.s1-scroll-progress{position:fixed;z-index:2147483000;top:0;left:0;width:100%;height:2px;pointer-events:none;background:rgba(53,242,122,.08)}.s1-scroll-progress>i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#1aa957,#35f27a,#4de7cf);box-shadow:0 0 12px rgba(53,242,122,.65);transform:scaleX(0);transform-origin:left center;will-change:transform}
.s1-back-top{position:fixed;z-index:1200;right:20px;bottom:24px;display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(53,242,122,.34);border-radius:14px;background:rgba(6,20,13,.9);color:#bfffd4;box-shadow:0 16px 42px rgba(0,0,0,.32);backdrop-filter:blur(14px);cursor:pointer;opacity:0;pointer-events:none;transform:translateY(12px);transition:.2s ease}.s1-back-top svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2}.s1-back-top.is-visible{opacity:1;pointer-events:auto;transform:none}.s1-back-top:hover{border-color:var(--s1-accent);background:#0d2c1b;color:#fff;transform:translateY(-2px)}

/* Responsive density and touch behavior */
@media(max-width:900px){:root{--s1-content:calc(100% - 28px)}.main table :where(th,td){padding:10px 12px}.main :where(.toolbar,.actions,.form-actions,.filter-actions){flex-wrap:wrap}}
@media(max-width:640px){:root{--s1-content:calc(100% - 20px)}.main::before{background-size:38px 38px}.main :where(button,.btn,[class*="-button"],[role="button"]){min-height:44px}.main :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea){min-height:46px;font-size:16px}.main table{min-width:620px}.main table :where(th,td){padding:10px;font-size:.75rem}.main :where(.form-actions,.modal-actions,.dialog-actions,.settings-actions){display:grid;grid-template-columns:1fr}.main :where(.form-actions,.modal-actions,.dialog-actions,.settings-actions)>*{width:100%}.s1-back-top{right:12px;bottom:16px;width:42px;height:42px;border-radius:12px}.s1-runtime-status{right:12px;bottom:68px}}
@media(max-width:640px){.admin-workspace-main :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea,.form-control){min-height:46px;font-size:16px}.admin-workspace-main table{min-width:620px}.admin-workspace-main table :where(th,td){padding:9px 10px;font-size:.75rem}.admin-workspace-main :where(.form-actions,.modal-footer){display:grid;grid-template-columns:1fr}.admin-workspace-main :where(.form-actions,.modal-footer)>*{width:100%}}
@media(max-width:380px){.main table{min-width:560px}.site-brand strong{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(prefers-contrast:more){:root{--s1-text:#fff;--s1-text-2:#d8e7de;--s1-muted:#a9bdb1;--s1-line:rgba(210,242,224,.3);--s1-line-strong:rgba(210,242,224,.52)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.main *,.site-footer *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.main :where(.card,.feature-card,.news-card,.tool-card):hover{transform:none!important}}
@media print{.s1-scroll-progress,.s1-back-top,.s1-runtime-status,.site-header,.site-drawer,.cookie-banner{display:none!important}body{background:#fff;color:#111}.main{overflow:visible}.s1-table-scroll{overflow:visible;border-color:#bbb;box-shadow:none}.main table{color:#111}.main table th{position:static;background:#eee;color:#111}}
