:root{--ink:#0f0f0f;--ink-2:#2a2a28;--muted:#7a7a74;--faint:#a5a59e;--paper:#f3f1ec;--card:#fff;--line:#e6e2da;--line-soft:#f0ede6;--accent:#ff3b30;--accent-soft:#ffedeb;--green:#0b7a3b;--green-soft:#e7f6ed;--amber:#b26b00;--amber-soft:#fff4e5;--blue:#1b4e9b;--blue-soft:#e8f0fc;--r-sm:10px;--r:14px;--r-lg:20px;--r-xl:26px;--shadow-1:0 1px 2px #0f0f0f0a, 0 4px 14px -8px #0f0f0f24;--shadow-2:0 2px 6px #0f0f0f0d, 0 18px 40px -22px #0f0f0f4d;--ease:cubic-bezier(.22,.61,.36,1)}*{box-sizing:border-box}body.gl{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0}.gl ::selection{background:var(--accent);color:#fff}.gl-shell{min-height:100dvh;display:flex}.gl-side{background:var(--ink);color:#fff;flex-direction:column;flex-shrink:0;gap:4px;width:254px;height:100dvh;padding:18px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.gl-side-brand{color:#fff;letter-spacing:-.03em;align-items:center;gap:10px;padding:6px 10px 18px;font-size:19px;font-weight:900;text-decoration:none;display:flex}.gl-side-label{letter-spacing:.16em;text-transform:uppercase;color:#ffffff8c;padding:18px 10px 8px;font-size:10px;font-weight:800}.gl-side a.gl-nav{border-radius:var(--r-sm);color:#fff;transition:background .16s var(--ease), color .16s var(--ease);align-items:center;gap:11px;padding:10px 12px;font-size:14.5px;font-weight:600;text-decoration:none;display:flex}.gl-side a.gl-nav .gl-ico{opacity:.8}.gl-side a.gl-nav:hover{background:#ffffff1a}.gl-side a.gl-nav.on{color:var(--ink);background:#fff}.gl-side a.gl-nav.on .gl-ico{opacity:1}.gl-ico{opacity:.65;flex-shrink:0;width:17px;height:17px}.gl-main{flex-direction:column;flex:1;min-width:0;display:flex}.gl-top{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#f3f1ecd1;align-items:center;gap:14px;height:64px;padding:0 clamp(18px,3vw,34px);display:flex;position:sticky;top:0}.gl-body{padding:clamp(22px,3vw,38px) clamp(18px,3vw,34px) 90px}.gl-wrap{max-width:1180px;margin:0 auto}.gl h1{letter-spacing:-.03em;margin:0 0 4px;font-size:clamp(26px,3vw,34px);font-weight:800}.gl h2{letter-spacing:-.015em;margin:0 0 14px;font-size:19px;font-weight:800}.gl-sub{color:var(--muted);margin:0 0 26px;font-size:15px}.gl-eyebrow{letter-spacing:.13em;text-transform:uppercase;color:var(--faint);margin:0 0 12px;font-size:11px;font-weight:800}.gl-card{background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow-1);transition:transform .18s var(--ease), box-shadow .18s var(--ease);padding:22px 24px}.gl-card.hoverable:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.gl-card.flat{box-shadow:none;border:1px solid var(--line)}.gl-grid{gap:14px;display:grid}.gl-grid.c2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.gl-grid.c3{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.gl-grid.c4{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.gl-stat{flex-direction:column;gap:2px;display:flex}.gl-stat .n{letter-spacing:-.035em;font-size:34px;font-weight:800;line-height:1}.gl-stat .n.accent{color:var(--accent)}.gl-stat .l{letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-size:11px;font-weight:800}.gl-stat .s{color:var(--muted);font-size:12.5px}.gl-progress{background:var(--line-soft);border-radius:99px;height:6px;margin-top:10px;overflow:hidden}.gl-progress i{background:var(--accent);height:100%;transition:width .5s var(--ease);border-radius:99px;display:block}.gl-btn{background:var(--ink);color:#fff;font:inherit;cursor:pointer;white-space:nowrap;transition:transform .12s var(--ease), opacity .16s var(--ease), background .16s var(--ease);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-size:14.5px;font-weight:700;text-decoration:none;display:inline-flex}.gl-btn:hover{transform:translateY(-1px)}.gl-btn:active{transform:translateY(0)}.gl-btn[disabled]{opacity:.45;cursor:default;transform:none}.gl-btn.ghost{background:var(--card);color:var(--ink);border-color:var(--line);box-shadow:var(--shadow-1)}.gl-btn.accent{background:var(--accent)}.gl-btn.quiet{color:var(--muted);background:0 0}.gl-btn.quiet:hover{color:var(--ink);background:#0f0f0f0d}.gl-btn.sm{padding:8px 14px;font-size:13.5px}.gl-btn.icon{border-radius:var(--r-sm);width:34px;height:34px;padding:0}.gl-field{margin-bottom:16px;display:block}.gl-field>span.lbl{letter-spacing:.07em;text-transform:uppercase;color:var(--faint);margin-bottom:7px;font-size:11.5px;font-weight:800;display:block}.gl-field .hint{color:var(--muted);margin-top:6px;font-size:12.5px;display:block}.gl input[type=text],.gl input[type=email],.gl input[type=tel],.gl input[type=number],.gl input[type=datetime-local],.gl input[type=password],.gl select,.gl textarea{border-radius:var(--r);border:1px solid var(--line);width:100%;font:inherit;color:var(--ink);transition:border-color .16s var(--ease), box-shadow .16s var(--ease);background:#fcfbf9;padding:12px 14px;font-size:15px}.gl input:focus,.gl select:focus,.gl textarea:focus{border-color:var(--ink);background:#fff;outline:none;box-shadow:0 0 0 4px #0f0f0f0f}.gl textarea{resize:vertical;line-height:1.6}.gl-check{border-radius:var(--r);cursor:pointer;transition:background .14s var(--ease);align-items:center;gap:10px;padding:9px 12px;font-size:15px;display:flex}.gl-check:hover{background:#0f0f0f09}.gl-check input{accent-color:var(--accent);width:17px;height:17px}.gl-pill{letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 11px;font-size:11.5px;font-weight:800;display:inline-flex}.gl-pill.ink{background:var(--ink);color:#fff}.gl-pill.green{background:var(--green-soft);color:var(--green)}.gl-pill.amber{background:var(--amber-soft);color:var(--amber)}.gl-pill.blue{background:var(--blue-soft);color:var(--blue)}.gl-pill.red{background:var(--accent-soft);color:var(--accent)}.gl-pill.grey{background:var(--line-soft);color:var(--muted)}.gl-table{border-collapse:collapse;width:100%}.gl-table th{text-align:left;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--line);white-space:nowrap;padding:12px 14px;font-size:11px;font-weight:800}.gl-table td{border-bottom:1px solid var(--line-soft);padding:13px 14px;font-size:14.5px}.gl-table tbody tr{transition:background .12s var(--ease)}.gl-table tbody tr:hover{background:#fbfaf7}.gl-block{background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow-1);cursor:grab;transition:transform .16s var(--ease), box-shadow .16s var(--ease), opacity .16s;padding:16px 18px}.gl-block:active{cursor:grabbing}.gl-block.dragging{opacity:.35}.gl-block.over{box-shadow:0 0 0 2px var(--accent), var(--shadow-2)}.gl-block .grip{width:16px;color:var(--faint);letter-spacing:-2px;-webkit-user-select:none;user-select:none;font-size:15px;line-height:1}.gl-lib button{text-align:left;border-radius:var(--r);border:1px solid var(--line);background:var(--card);cursor:pointer;transition:transform .14s var(--ease), border-color .14s var(--ease);padding:15px 16px}.gl-lib button:hover{border-color:var(--ink);transform:translateY(-2px)}.gl-preview{border-radius:var(--r-xl);background:var(--ink);box-shadow:var(--shadow-2);padding:12px;position:sticky;top:84px}.gl-preview .frame{width:100%;transition:max-width .3s var(--ease);background:#fff;border:none;border-radius:16px;margin:0 auto;display:block}.gl-preview .bar{align-items:center;gap:8px;padding:4px 6px 12px;display:flex}.gl-cmd-overlay{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:glFade .16s var(--ease);background:#0f0f0f6b;place-items:start center;padding-top:12vh;display:grid;position:fixed;inset:0}.gl-cmd{background:var(--card);border-radius:var(--r-lg);width:min(560px,92vw);animation:glPop .18s var(--ease);overflow:hidden;box-shadow:0 40px 90px -30px #0009}.gl-cmd input{border:none;border-bottom:1px solid var(--line);width:100%;font:inherit;background:0 0;border-radius:0;padding:18px 20px;font-size:17px}.gl-cmd input:focus{box-shadow:none;outline:none}.gl-cmd-list{max-height:52vh;padding:8px;overflow-y:auto}.gl-cmd-item{border-radius:var(--r-sm);width:100%;font:inherit;text-align:left;cursor:pointer;color:var(--ink);background:0 0;border:none;align-items:center;gap:12px;padding:11px 13px;font-size:15px;text-decoration:none;display:flex}.gl-cmd-item.on{background:var(--paper)}.gl-cmd-item .k{color:var(--faint);margin-left:auto;font-size:12px}.gl-kbd{color:var(--muted);background:#0f0f0f0f;border-radius:6px;align-items:center;gap:2px;padding:3px 7px;font-size:11.5px;font-weight:700;display:inline-flex}@keyframes glFade{0%{opacity:0}to{opacity:1}}@keyframes glPop{0%{opacity:0;transform:translateY(-8px)scale(.985)}to{opacity:1;transform:none}}.gl-toast{z-index:90;background:var(--ink);color:#fff;box-shadow:var(--shadow-2);animation:glPop .2s var(--ease);border-radius:999px;padding:13px 22px;font-size:14.5px;font-weight:700;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@media (max-width:980px){.gl-side{z-index:60;transition:transform .22s var(--ease);box-shadow:var(--shadow-2);position:fixed;top:0;left:0;transform:translate(-100%)}.gl-side.open{transform:none}.gl-burger{display:inline-flex!important}}.gl-burger{display:none}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
