/* Purple / obsidian visual refinement */
:root{font-family:Inter,"Segoe UI",Arial,sans-serif;--bg:#09080d;--panel:#14111c;--line:#292332;--accent:#8848d7;--muted:#a29aae}
body{background:radial-gradient(ellipse at 90% 0,#21113355,transparent 55%),var(--bg);line-height:1.5}
aside{background:linear-gradient(180deg,#100c17,#0c0a10);border-color:#272030;padding:32px 22px}
.brand{font-family:inherit;letter-spacing:3px;font-size:24px;gap:14px}.brand-mark{width:44px;height:46px;flex-shrink:0;font-size:38px;border-radius:13px;background:linear-gradient(145deg,#a46bea,#6424a3);box-shadow:0 6px 24px #6b2ea02a,inset 0 1px 0 #ffffff35}.brand-sub{font-size:10px;letter-spacing:2.2px;font-weight:500;margin-top:2px}
.profile{background:#ffffff03;border-color:#ffffff0d;border-radius:13px;margin-top:38px;padding:14px;gap:11px}.profile>span{border:1px solid #8d53c23b;background:#382047;border-radius:50%;width:36px;height:36px}.profile small{font-size:12px;margin-top:2px}.profile strong{font-weight:600}
nav{gap:7px}.nav{border-radius:10px;min-height:49px;padding:11px 14px;font-weight:500}.nav.active{background:linear-gradient(90deg,#52277866,#271635);border:1px solid #8c51c542;box-shadow:inset 3px 0 #b27bee}.nav:hover{background-color:#38204755}.nav-arrow{font-size:17px}.sidebar-bottom{border-color:#ffffff0d;gap:6px;padding-top:21px}.sidebar-bottom strong{font-family:inherit;font-size:11px;letter-spacing:2px}.sidebar-bottom small{font-size:12px}.little-mark{font-size:24px;color:#ae78df}
header{height:76px;background:#0c0a10aa;border-color:#ffffff09;padding:0 44px}.breadcrumbs{font:14px "Segoe UI",sans-serif;gap:13px}.breadcrumbs a{color:#c6bdcf}.header-tag{font:10px "Segoe UI",sans-serif;letter-spacing:2.5px;color:#83748f}main{max-width:1370px;padding:34px 44px 32px}
.banner{min-height:244px;padding:30px 32px 50px;margin-bottom:35px;border:1px solid #9060b34d;border-radius:20px;background:radial-gradient(ellipse at 90% 20%,#75449e77,transparent 55%),linear-gradient(110deg,#251335,#1c102b 65%,#33164a);box-shadow:0 16px 55px #00000020,inset 0 1px 0 #ffffff07}
.banner:after{content:'';position:absolute;right:-65px;top:-130px;width:400px;height:400px;border:1px solid #dcb1ff12;border-radius:50%;box-shadow:0 0 0 55px #cba0ff05,0 0 0 110px #cba0ff03;pointer-events:none}
.eyebrow{font:600 10px "Segoe UI",sans-serif;letter-spacing:2.8px}.banner .eyebrow{color:#cfabed}.banner h1{font-size:clamp(28px,3.1vw,43px);line-height:1.14;font-weight:650;letter-spacing:-1.6px;margin:13px 0 13px}.banner h1 span{color:#c399e8}.banner p{font-size:14px;color:#bdb0ca;line-height:1.7;max-width:380px}.banner-symbol{font-size:175px;line-height:1;right:9%;top:23px;transform:rotate(8deg);color:#c395ed;opacity:.21;text-shadow:0 0 45px #c792ff44}.banner-bottom{border-color:#ffffff0b;bottom:14px;font:9px "Segoe UI",sans-serif;letter-spacing:2.4px;color:#a589b8;padding-top:10px}
.section-heading{margin-bottom:20px}.title-wrap{gap:12px}h2{font-size:22px;letter-spacing:-.5px;font-weight:600}.title-wrap p{font:12px "Segoe UI",sans-serif;color:#9789a3}.folder-icon.large{margin:12px;background:#b88bdc;width:23px;height:17px}
.button{border-radius:9px;font-size:13px;font-weight:600;padding:10px 16px;min-height:40px;transition:background .15s,border-color .15s,box-shadow .15s}.secondary{background:#ffffff05;border-color:#ffffff15;color:#d3c9df}.secondary:hover{background:#8e51b91a;border-color:#9c65c55c}.primary{background:linear-gradient(130deg,#9554de,#7637b9);border-color:#ad71e672;box-shadow:0 4px 16px #6c2e9f30}.primary:hover{background:#9b59e4;box-shadow:0 4px 20px #783ab74d}
.file-list{gap:12px}.file-row{min-height:92px;padding:20px 22px;border-radius:13px;background:linear-gradient(100deg,#16121e,#121018);border:1px solid #ffffff0d;box-shadow:0 2px 7px #00000015;transition:background .15s,border-color .15s,transform .15s}.file-row:hover{border-color:#9c64c857;background:linear-gradient(100deg,#20172b,#17111f);box-shadow:0 7px 22px #00000020}.item-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(140deg,#49245f66,#2c1b3e);border-color:#a461d228}.item-icon .folder-icon{background:#c995f3}.item-name{font-size:15px;font-weight:600;line-height:1.5}.item-meta{font:12px "Segoe UI",sans-serif;color:#978aA3;margin-top:5px}.item-actions .button{min-width:82px}.icon-button{font-size:12px;color:#a599b3;border-radius:7px}.icon-button:hover{background:#8b50b822}.empty{border:1px dashed #79549242;border-radius:15px;background:radial-gradient(ellipse at 50% 30%,#6d379316,transparent 65%);padding:48px 20px;color:#a396b0}.empty strong{font-size:17px;font-weight:500;margin-bottom:8px}.empty .empty-icon{font-size:36px;color:#b581d8;margin-bottom:14px}footer{font:10px "Segoe UI",sans-serif;letter-spacing:1.5px;margin-top:28px;color:#82738e}footer b{font-weight:600;color:#b590d0}
#admin-tools{background:#27163566;border-color:#8655ad33;border-radius:12px}.admin-label{font:600 10px "Segoe UI",sans-serif;letter-spacing:1.8px;color:#c49ae7}dialog{background:linear-gradient(145deg,#21172d,#120e1a);border-color:#9d62c83d;border-radius:19px;padding:34px;box-shadow:0 28px 100px #0009}dialog h2{font-size:24px;font-weight:600}dialog::backdrop{background:#060409bb;backdrop-filter:blur(8px)}input:not([type=file]){border-color:#65517266;background:#0c0912;border-radius:9px}.close{color:#b79bc8}.error{color:#f0b3ce!important}#toast{background:#25182f;border-color:#9161ae;border-radius:12px}
@media(min-width:1500px){.banner{min-height:260px}main{padding-top:42px}}
@media(max-width:850px){header{padding:0 25px}main{padding:28px 25px}.banner{padding:26px 26px 48px}.banner h1{font-size:32px}.banner-symbol{right:4%;font-size:145px;top:42px}.banner p{max-width:300px}.file-row{padding:17px}}
@media(max-width:640px){header{height:64px;padding:0 18px}main{padding:22px 18px}.banner{min-height:225px;padding:25px 23px 48px;border-radius:16px;margin-bottom:28px}.banner h1{font-size:31px;letter-spacing:-1px;max-width:300px}.banner p{font-size:13px;max-width:255px}.banner-symbol{font-size:135px;right:2px;top:49px;opacity:.12}.banner-bottom{left:23px;right:23px;font-size:8px}.header-tag{display:none}.section-heading h2{font-size:20px}.file-row{padding:16px;border-radius:12px}.item-actions{margin-left:60px;width:calc(100% - 60px)}.item-body{flex-basis:calc(100% - 64px)}.item-name{font-size:15px}.item-actions .button{min-height:36px}footer{font-size:9px;letter-spacing:1px}dialog{padding:26px}.sidebar-bottom{padding-bottom:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}.file-row:hover{transform:none}}

.wordmark{display:block;font-family:'Segoe UI',Arial,sans-serif;font-size:29px;font-weight:900;letter-spacing:-1.5px;white-space:nowrap;line-height:1.15}.wordmark>span:first-child{color:#b985ed}.wordmark .brand-sub{letter-spacing:2.8px;margin-top:9px;font-size:9px;font-weight:500}.banner-symbol.wordmark-watermark{font-size:76px;font-weight:900;letter-spacing:-5px;line-height:.88;right:6%;top:47px;transform:rotate(-8deg);opacity:.11}@media(max-width:850px){.wordmark{font-size:27px}.banner-symbol.wordmark-watermark{font-size:57px;top:65px;right:5%}}@media(max-width:640px){.banner-symbol.wordmark-watermark{font-size:54px;right:12px;top:65px;opacity:.08}}

/* GO BLOX library layout */
aside{position:relative;inset:auto;width:100%;height:auto;min-height:88px;padding:18px max(28px,calc((100vw - 1200px)/2));display:flex;flex-direction:row;align-items:center;gap:36px;border-right:0;border-bottom:1px solid #ffffff0c;background:#0d0a12;transform:none}
.brand{flex-shrink:0}.wordmark{font-size:26px}.wordmark .brand-sub{font-size:8px;letter-spacing:3px;margin-top:5px}.profile{order:3;margin:0 0 0 auto;padding:8px 12px;border:0;background:transparent}.profile>span{width:32px;height:32px}.profile small{font-size:11px}.profile strong{font-size:13px}nav{display:flex;gap:8px;align-items:center;margin-left:25px}.nav{width:auto;min-height:39px;font-size:13px;padding:9px 15px;white-space:nowrap;border-radius:24px}.nav>span:first-child{font-size:17px}.nav.active{box-shadow:none;background:#372047;border-color:#8352a34a}.nav-arrow{display:none}.sidebar-bottom{display:none}.shell{margin-left:0}header{height:60px;max-width:1200px;padding:0;margin:0 auto;border:0;background:transparent}.header-tag{display:block;font-size:9px}.breadcrumbs{font-size:13px}main{max-width:1200px;padding:8px 0 35px;margin:0 auto}.banner{min-height:0;padding:18px 0 34px;margin-bottom:20px;border:0;border-bottom:1px solid #ffffff10;border-radius:0;background:transparent;box-shadow:none;overflow:visible}.banner:after{display:none}.banner .eyebrow{font-size:10px;letter-spacing:3px;color:#a589bd}.banner h1{font-size:clamp(35px,4.5vw,54px);font-weight:600;letter-spacing:-2.1px;line-height:1.2;margin:10px 0}.banner h1 span{color:#b686da}.banner p{max-width:none;font-size:15px;color:#9e92ad}.section-heading{margin:25px 0 24px}.title-wrap{gap:9px}.title-wrap h2{font-size:20px}.folder-icon.large{width:18px;height:14px;margin:10px;background:#a68abd}.file-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.file-row{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:20px;min-height:216px;padding:24px;border:1px solid #ffffff0e;border-radius:17px;background:linear-gradient(145deg,#1c1526,#110e18);box-shadow:none}.file-row:hover{transform:translateY(-3px);border-color:#8e60b166;background:linear-gradient(145deg,#271a35,#17101f);box-shadow:0 14px 30px #0003}.item-icon{width:48px;height:48px;border:0;background:#46265a55;border-radius:13px}.item-icon .folder-icon{width:25px;height:18px;background:#bd90e0}.item-body{width:100%;flex:1}.item-name{font-size:17px;font-weight:600}.item-meta{margin-top:8px;font-size:12px}.item-actions{width:100%;margin:0;justify-content:flex-end;gap:4px;border-top:1px solid #ffffff0a;padding-top:14px}.item-actions .button{background:transparent;border:0;color:#cba4eb;padding:5px 0 5px 14px;min-width:0;min-height:32px}.item-actions .button:hover{color:white}.icon-button{padding:6px 9px;font-size:12px}.empty{grid-column:1/-1;padding:56px 20px;border-style:solid;background:#17101d55;border-color:#ffffff0c}.empty .empty-icon{color:#b487d5}footer{border-top:1px solid #ffffff0b;padding-top:22px;margin-top:34px}#admin-tools{background:#21142d88;border:1px solid #77519540;padding:15px 18px}.mobile-menu{display:none}
@media(min-width:1500px){main{padding-top:8px}.banner{min-height:0}}
@media(max-width:1280px){header,main{margin-left:40px;margin-right:40px}aside{padding:19px 40px}.file-list{gap:16px}}
@media(max-width:950px){aside{gap:20px;padding:18px 28px}nav{margin-left:8px}.profile{padding:0}.profile>div{display:none}header,main{margin-left:28px;margin-right:28px}.file-list{grid-template-columns:repeat(2,minmax(0,1fr))}.banner{padding:18px 0 30px}.banner h1{font-size:43px}.banner p{max-width:none}}
@media(max-width:640px){aside{position:relative;top:auto;transform:none;width:100%;padding:20px;flex-wrap:wrap;gap:18px;min-height:0}.brand{order:0}.wordmark{font-size:25px}.profile{order:1;margin-left:auto}nav{order:2;width:100%;margin:0;display:flex;border-top:1px solid #ffffff0b;padding-top:15px;gap:10px}.nav{flex:1;justify-content:center;min-height:40px;font-size:13px}.nav>span:first-child{font-size:18px}header{height:50px;margin:0 20px;padding:0}.header-tag{display:none}.mobile-menu{display:none}.shell{margin:0}main{margin:0 20px;padding:0 0 25px}.banner{padding:12px 0 26px;margin-bottom:22px;min-height:0}.banner h1{font-size:35px;letter-spacing:-1.5px;max-width:none}.banner p{font-size:14px;max-width:320px}.file-list{grid-template-columns:1fr;gap:14px}.file-row{padding:21px;min-height:192px;gap:16px}.item-body{flex-basis:auto}.item-actions{width:100%;margin:0}.item-actions .button{min-height:34px}.section-heading{margin:0 0 20px}.section-heading h2{font-size:19px}.title-wrap{gap:4px}#admin-tools{gap:12px}#admin-tools>div{width:100%;flex-wrap:wrap}footer{margin-top:28px;font-size:9px}.profile>div{display:none}}

#import-dialog{max-width:620px;max-height:85vh;overflow:auto}.import-row{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid #ffffff15}.import-row>div{min-width:0;overflow-wrap:anywhere}.import-row strong{font-size:14px}.import-row small{display:block;color:var(--muted);margin-top:5px}#admin-tools>div{flex-wrap:wrap}
