.landing{display:flex;flex-direction:column;min-height:100vh}.l-nav{position:sticky;top:0;z-index:200;height:var(--nav-height);background:#ffffffd9;backdrop-filter:saturate(1.8) blur(16px);-webkit-backdrop-filter:saturate(1.8) blur(16px);border-bottom:1px solid var(--color-hairline);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-lg);transition:box-shadow .2s}.l-nav.scrolled{box-shadow:var(--shadow-3)}.l-logo{font-size:18px;font-weight:600;color:var(--color-ink);letter-spacing:-.03em}.l-nav-links{display:flex;align-items:center;gap:var(--space-sm)}.l-nav-link{font-size:14px;font-weight:400;letter-spacing:-.01em;color:var(--color-body);text-decoration:none;padding:var(--space-xxs) var(--space-xs);border-radius:var(--radius-full);transition:color .15s,background .15s}.l-nav-link:hover{color:var(--color-ink);background:var(--color-canvas-soft)}.l-lang-toggle{background:transparent;border:1px solid var(--color-hairline);border-radius:var(--radius-full);color:var(--color-body);font-size:12px;font-weight:500;padding:4px 12px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.l-lang-toggle:hover{border-color:var(--color-hairline-strong);color:var(--color-ink);background:var(--color-canvas-soft)}.l-tile{width:100%;padding:var(--space-5xl) var(--space-lg)}.l-tile-white{background:var(--color-canvas)}.l-tile-parchment{background:var(--color-canvas-soft)}.l-tile-dark{background:var(--color-primary)}.l-tile-inner{max-width:1040px;margin:0 auto;width:100%}.l-hero{position:relative;overflow:hidden;padding-top:120px;padding-bottom:120px}.l-hero-mesh{position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;z-index:0;pointer-events:none;background:radial-gradient(ellipse 55% 45% at 15% 55%,rgba(0,124,240,.14),transparent),radial-gradient(ellipse 45% 38% at 82% 28%,rgba(121,40,202,.11),transparent),radial-gradient(ellipse 42% 42% at 48% 0%,rgba(0,223,216,.12),transparent),radial-gradient(ellipse 40% 40% at 78% 72%,rgba(255,0,128,.09),transparent),radial-gradient(ellipse 35% 35% at 5% 5%,rgba(249,203,40,.07),transparent);animation:meshDrift 18s ease-in-out infinite alternate}@keyframes meshDrift{0%{transform:translate(0) scale(1)}25%{transform:translate(-2%,3%) scale(1.04)}50%{transform:translate(3%,-2%) scale(.97)}75%{transform:translate(-1%,-3%) scale(1.02)}to{transform:translate(2%,2%) scale(1)}}.l-hero .l-tile-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center}.l-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:var(--radius-full);background:var(--color-canvas-soft);border:1px solid var(--color-hairline);color:var(--color-body);font-size:12px;font-weight:500;letter-spacing:0;font-family:var(--font-mono);margin-bottom:var(--space-xl);box-shadow:var(--shadow-2);animation:fadeUp .5s ease both}.l-hero-title{font-size:56px;font-weight:600;line-height:1.06;letter-spacing:-.05em;color:var(--color-ink);margin-bottom:var(--space-lg);animation:fadeUp .55s .08s ease both}.l-hero-accent{background:linear-gradient(90deg,var(--grad-develop-start),var(--grad-develop-end) 30%,var(--grad-preview-start) 60%,var(--grad-preview-end));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.l-hero-sub{font-size:20px;font-weight:400;line-height:1.5;letter-spacing:-.01em;color:var(--color-body);max-width:540px;margin-bottom:var(--space-3xl);animation:fadeUp .55s .16s ease both}.l-hero-cta{display:flex;gap:var(--space-sm);flex-wrap:wrap;justify-content:center;animation:fadeUp .55s .24s ease both}.l-section-label{font-size:12px;font-weight:500;letter-spacing:0;color:var(--color-mute);margin-bottom:var(--space-sm);font-family:var(--font-mono)}.l-label-on-dark{color:#ffffff80}.l-section-title{font-size:40px;font-weight:600;line-height:1.1;letter-spacing:-.04em;color:var(--color-ink);margin-bottom:var(--space-3xl);max-width:540px}.l-title-on-dark{color:var(--color-on-primary)}.l-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-md)}.l-feature-card{background:var(--color-canvas);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:var(--shadow-3);position:relative;overflow:hidden;opacity:0;animation:fadeUp .55s ease both;transition:transform .2s ease,box-shadow .2s ease}.l-feature-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-4)}.l-feature-card:after{content:"";position:absolute;top:0;left:0;width:60%;height:100%;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translate(-120%);transition:transform .55s ease}.l-feature-card:hover:after{transform:translate(220%)}.l-feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--grad-develop-start),var(--grad-preview-end));opacity:0;transition:opacity .2s}.l-feature-card:hover:before{opacity:1}.l-feature-title{font-size:16px;font-weight:600;letter-spacing:-.02em;margin-bottom:var(--space-xs);color:var(--color-ink)}.l-feature-desc{font-size:14px;line-height:1.5;color:var(--color-body)}.l-steps{display:flex;flex-direction:column}.l-step{display:flex;gap:var(--space-xl);padding:var(--space-xl) 0;border-bottom:1px solid rgba(255,255,255,.07);transition:opacity .2s}.l-step:last-child{border-bottom:none}.l-step:hover{opacity:.9}.l-step-number{font-size:36px;font-weight:600;line-height:1;letter-spacing:-.04em;color:#ffffff1f;min-width:56px;padding-top:2px;font-variant-numeric:tabular-nums}.l-step-title{font-size:20px;font-weight:600;line-height:1.2;letter-spacing:-.02em;color:var(--color-on-primary);margin-bottom:8px}.l-step-desc{font-size:16px;line-height:1.5;color:#ffffff8c}.l-cta-tile{padding-top:var(--space-5xl);padding-bottom:var(--space-5xl)}.l-cta-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-lg)}.l-cta-title{font-size:40px;font-weight:600;line-height:1.1;letter-spacing:-.04em;color:var(--color-ink);max-width:540px}.l-cta-sub{font-size:18px;font-weight:400;letter-spacing:-.01em;color:var(--color-body)}.l-footer{background:var(--color-canvas);border-top:1px solid var(--color-hairline);display:flex;align-items:center;justify-content:space-between;padding:var(--space-xl) var(--space-lg)}.l-footer-logo{font-size:16px;color:var(--color-ink)}.l-footer-copy{font-size:12px;color:var(--color-mute);font-family:var(--font-mono)}.l-showcase{padding-top:var(--space-4xl);padding-bottom:var(--space-4xl)}.l-showcase-inner{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:var(--space-3xl);align-items:center}.l-showcase-inner.reverse{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.l-showcase-inner.reverse .l-showcase-copy{order:2}.l-showcase-inner.reverse .l-showcase-art{order:1}.l-showcase-copy .l-section-title{margin-bottom:var(--space-md)}.l-showcase-desc{font-size:17px;line-height:1.55;color:var(--color-body);max-width:460px}.l-showcase-link{margin-top:var(--space-lg)}.l-showcase-art{display:flex;justify-content:center;align-items:center}.l-mock{width:100%;max-width:640px;border-radius:var(--radius-lg);background:var(--color-canvas);box-shadow:var(--shadow-5);overflow:hidden;border:1px solid var(--color-hairline);font-size:13px;color:var(--color-ink);animation:fadeUp .7s ease both}.l-mock-topbar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:var(--color-canvas-soft);border-bottom:1px solid var(--color-hairline)}.l-mock-dot{width:11px;height:11px;border-radius:50%;background:#ff5f56;display:inline-block}.l-mock-url{margin-left:10px;font-family:var(--font-mono);font-size:11px;color:var(--color-mute);letter-spacing:-.01em}.l-mock-body{display:grid;grid-template-columns:150px 1fr;min-height:320px}.l-mock-side{border-right:1px solid var(--color-hairline);background:var(--color-canvas-soft);padding:14px 10px;display:flex;flex-direction:column;gap:4px}.l-mock-side-logo{padding:2px 4px 14px}.l-mock-side-item{font-size:12.5px;padding:6px 8px;border-radius:var(--radius-sm);color:var(--color-body)}.l-mock-side-item.active{background:var(--color-canvas);color:var(--color-ink);font-weight:500;box-shadow:var(--shadow-2)}.l-mock-content{padding:20px 22px}.l-mock-h1{font-size:18px;font-weight:600;letter-spacing:-.02em}.l-mock-h-sub{font-size:12px;color:var(--color-mute);font-family:var(--font-mono);margin-top:2px;margin-bottom:16px}.l-mock-tabs{display:flex;gap:18px;font-size:12.5px;color:var(--color-mute);border-bottom:1px solid var(--color-hairline);padding-bottom:8px}.l-mock-tabs .active{color:var(--color-ink);position:relative}.l-mock-tabs .active:after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:2px;background:var(--color-ink)}.l-mock-rows{display:flex;flex-direction:column;margin-top:14px}.l-mock-row{display:flex;align-items:center;gap:10px;padding:9px 4px;border-bottom:1px solid var(--color-hairline);font-size:12.5px}.l-mock-row:last-child{border-bottom:none}.l-mock-badge{font-size:10.5px;font-weight:500;padding:2px 7px;border-radius:var(--radius-full);flex-shrink:0}.l-mock-badge.open{background:#d3e5ff;color:#0761d1}.l-mock-badge.progress{background:#ffefcf;color:#ab570a}.l-mock-badge.resolved{background:#d4f7dc;color:#1d6b30}.l-mock-prio{width:8px;height:8px;border-radius:50%;flex-shrink:0}.l-mock-prio.high{background:#e00}.l-mock-prio.med{background:#f5a623}.l-mock-prio.low{background:#a1a1a1}.l-mock-title{flex:1;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.l-mock-tag{font-size:10.5px;padding:2px 7px;border-radius:var(--radius-sm);background:var(--color-canvas-soft-2);color:var(--color-body);font-family:var(--font-mono)}.l-mock-date{font-size:11px;color:var(--color-mute);font-variant-numeric:tabular-nums}.l-mock-report-body{display:grid;grid-template-columns:1fr 1fr;min-height:360px}.l-mock-report-form{background:var(--color-canvas);padding:22px;display:flex;flex-direction:column;gap:12px;border-right:1px solid var(--color-hairline)}.l-mock-overlay-h{font-weight:600;font-size:16px;letter-spacing:-.02em;margin-bottom:4px}.l-mock-field{display:flex;flex-direction:column;gap:4px}.l-mock-field.row{flex-direction:row;gap:6px}.l-mock-label{font-size:11px;color:var(--color-mute);font-family:var(--font-mono)}.l-mock-input{font-size:12px;padding:8px 10px;background:var(--color-canvas-soft);border-radius:var(--radius-sm);border:1px solid var(--color-hairline)}.l-mock-input.multi{min-height:50px;line-height:1.4;color:var(--color-body)}.l-mock-chip{font-size:11px;padding:4px 9px;border-radius:var(--radius-full);background:var(--color-canvas-soft);border:1px solid var(--color-hairline);color:var(--color-body)}.l-mock-chip.on{background:var(--color-ink);color:var(--color-on-primary);border-color:var(--color-ink)}.l-mock-submit{margin-top:4px;background:var(--color-ink);color:var(--color-on-primary);padding:8px;text-align:center;border-radius:var(--radius-sm);font-size:12.5px;font-weight:500}.l-mock-snapshot{padding:22px;background:linear-gradient(150deg,#0a0a0f,#1f1530);color:#ffffffd9;font-size:11.5px;font-family:var(--font-mono);display:flex;flex-direction:column;overflow:hidden}.l-mock-snap-h{color:#ffffff80;margin-bottom:8px;font-size:10.5px}.l-mock-snap-row{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.08)}.l-mock-snap-row span:first-child{color:#ffffff8c;white-space:nowrap}.l-mock-snap-row span:last-child{text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.l-mock-snap-logs{margin-top:10px;display:flex;flex-direction:column;gap:2px;font-size:10.5px}.l-mock-log{color:#fff9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.l-mock-log.warn{color:#f9cb28}.l-mock-log.err{color:#ff8585}.l-mock-arcade-body{padding:22px}.l-mock-arcade-h{margin-bottom:16px}.l-mock-arcade-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.l-mock-arcade-card{display:flex;flex-direction:column;background:var(--color-canvas);border-radius:var(--radius-md);border:1px solid var(--color-hairline);overflow:hidden;box-shadow:var(--shadow-2)}.l-mock-arcade-thumb{aspect-ratio:16/9}.l-mock-arcade-title{font-size:13px;font-weight:600;padding:10px 12px 2px}.l-mock-arcade-desc{font-size:11.5px;color:var(--color-body);padding:0 12px 10px}.l-mock-arcade-cta{font-size:11.5px;font-weight:500;color:var(--color-ink);padding:6px 12px 12px;font-family:var(--font-mono)}@media (max-width: 960px){.l-showcase-inner,.l-showcase-inner.reverse{grid-template-columns:1fr;gap:var(--space-xl)}.l-showcase-inner.reverse .l-showcase-copy{order:1}.l-showcase-inner.reverse .l-showcase-art{order:2}.l-mock-body{grid-template-columns:100px 1fr}}@media (max-width: 834px){.l-nav{padding:0 var(--space-md)}.l-hero-title{font-size:40px}.l-hero-sub{font-size:18px}.l-section-title,.l-cta-title{font-size:30px}.l-step-number{font-size:28px;min-width:44px}.l-tile{padding:var(--space-3xl) var(--space-lg)}.l-hero{padding-top:80px;padding-bottom:80px}.l-mock-report-body{grid-template-columns:1fr}.l-mock-report-form{border-right:none;border-bottom:1px solid var(--color-hairline)}.l-mock-arcade-grid{grid-template-columns:1fr}}@media (max-width: 640px){.l-hero-title{font-size:32px}.l-hero-sub{font-size:16px}.l-features-grid{grid-template-columns:1fr}.l-step{gap:var(--space-lg)}.l-footer{flex-direction:column;gap:8px;text-align:center;padding:var(--space-lg)}.l-nav-links{gap:var(--space-xs)}}.auth-page{min-height:100vh;background:var(--color-canvas-soft);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-lg);position:relative;overflow:hidden}.auth-page:before{content:"";position:fixed;top:-20%;right:-20%;bottom:-20%;left:-20%;pointer-events:none;z-index:0;background:radial-gradient(ellipse 50% 40% at 20% 40%,rgba(0,124,240,.09),transparent),radial-gradient(ellipse 40% 35% at 80% 60%,rgba(121,40,202,.07),transparent),radial-gradient(ellipse 35% 35% at 50% 0%,rgba(0,223,216,.08),transparent);animation:meshDrift 20s ease-in-out infinite alternate}@keyframes meshDrift{0%{transform:translate(0) scale(1)}50%{transform:translate(3%,-2%) scale(.97)}to{transform:translate(-2%,3%) scale(1.04)}}.auth-topbar{position:fixed;top:0;left:0;right:0;height:var(--nav-height);background:#ffffffd9;backdrop-filter:saturate(1.8) blur(16px);-webkit-backdrop-filter:saturate(1.8) blur(16px);border-bottom:1px solid var(--color-hairline);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-lg);z-index:100}.pending-card{max-width:460px;text-align:center}.pending-icon{width:64px;height:64px;border-radius:50%;margin:0 auto var(--space-lg);display:flex;align-items:center;justify-content:center;font-size:28px;background:var(--color-canvas-soft-2);color:var(--color-body)}.pending-body{font-size:14px;color:var(--color-body);line-height:1.55;margin:var(--space-md) 0 var(--space-lg)}.pending-meta{font-size:12px;color:var(--color-mute);font-family:var(--font-mono);padding:10px 0 var(--space-lg);border-top:1px solid var(--color-hairline);border-bottom:1px solid var(--color-hairline);margin-bottom:var(--space-lg)}.pending-actions{display:flex;gap:var(--space-sm);justify-content:center;flex-wrap:wrap}.auth-logo{font-size:18px;font-weight:600;color:var(--color-ink);letter-spacing:-.03em;text-decoration:none}.auth-lang-toggle{background:transparent;border:1px solid var(--color-hairline);border-radius:var(--radius-full);color:var(--color-body);font-size:12px;font-weight:500;padding:4px 12px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.auth-lang-toggle:hover{border-color:var(--color-hairline-strong);color:var(--color-ink);background:var(--color-canvas-soft)}.auth-card{position:relative;z-index:1;width:100%;max-width:420px;background:var(--color-canvas);border-radius:var(--radius-lg);padding:var(--space-3xl) var(--space-xl);margin-top:var(--nav-height);box-shadow:var(--shadow-5);animation:fadeUp .4s ease both}.auth-title{font-size:28px;font-weight:600;line-height:1.2;letter-spacing:-.04em;color:var(--color-ink);margin-bottom:6px}.auth-subtitle{font-size:14px;line-height:1.5;letter-spacing:-.01em;color:var(--color-body);margin-bottom:var(--space-xl)}.btn-github{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:0 var(--space-lg);height:40px;background:#24292e;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);color:#e6edf3;font-size:14px;font-weight:500;letter-spacing:-.01em;cursor:pointer;text-decoration:none;transition:background .15s,transform .1s,box-shadow .15s;box-shadow:0 1px 2px #0000001f}.btn-github:hover{background:#2d333b;box-shadow:0 2px 6px #0000002e}.btn-github:active{transform:scale(.98)}.auth-divider{display:flex;align-items:center;gap:var(--space-sm);margin:var(--space-xl) 0;color:var(--color-mute);font-size:12px;font-family:var(--font-mono)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-hairline)}.auth-form{display:flex;flex-direction:column;gap:var(--space-md)}.auth-submit{width:100%;font-size:14px;font-weight:500;height:40px;border-radius:var(--radius-sm);margin-top:4px;padding:0}.auth-error{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--color-error-soft);border:1px solid rgba(238,0,0,.15);border-radius:var(--radius-sm);color:var(--color-error-deep);font-size:13px;letter-spacing:-.01em;font-family:var(--font-mono)}.auth-footer-link{margin-top:var(--space-lg);text-align:center;font-size:13px;letter-spacing:-.01em;color:var(--color-body)}.auth-footer-link a{color:var(--color-ink);font-weight:500;text-decoration:underline;text-underline-offset:2px}.auth-footer-link a:hover{opacity:.7}@media (max-width: 480px){.auth-card{padding:var(--space-xl) var(--space-lg);border-radius:var(--radius-md);box-shadow:var(--shadow-3)}.auth-title{font-size:24px}}.dash-layout{display:flex;height:100vh;overflow:hidden;background:var(--color-canvas)}.dash-sidebar{width:220px;flex-shrink:0;background:var(--color-canvas-soft);border-right:1px solid var(--color-hairline);display:flex;flex-direction:column;padding:var(--space-lg) var(--space-xs);animation:fadeIn .3s ease both}.dash-logo{font-size:18px;font-weight:600;letter-spacing:-.03em;color:var(--color-ink);padding:0 var(--space-xs);margin-bottom:var(--space-xl)}.dash-nav{display:flex;flex-direction:column;gap:2px;flex:1}.dash-nav-item{display:flex;align-items:center;padding:8px var(--space-xs);border-radius:var(--radius-sm);font-size:14px;font-weight:400;letter-spacing:-.01em;color:var(--color-body);transition:background .12s,color .12s;text-decoration:none;cursor:default}.dash-nav-item:hover{background:#0000000a;color:var(--color-ink)}.dash-nav-item.active{background:#0000000f;color:var(--color-ink);font-weight:500}.dash-sidebar-footer{border-top:1px solid var(--color-hairline);padding-top:var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs)}.dash-user{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:4px}.dash-avatar{width:28px;height:28px;border-radius:50%;background:var(--color-primary);color:var(--color-on-primary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;flex-shrink:0}.dash-user-name{font-size:13px;font-weight:500;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-ink)}.dash-user-email{font-size:11px;color:var(--color-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-footer-btn{background:transparent;border:1px solid var(--color-hairline);border-radius:var(--radius-sm);color:var(--color-body);font-size:12px;letter-spacing:-.01em;padding:6px var(--space-xs);width:100%;cursor:pointer;transition:background .12s,color .12s,border-color .12s;text-align:left}.dash-footer-btn:hover{background:var(--color-canvas-soft-2);color:var(--color-ink);border-color:var(--color-hairline-strong)}.storage-bar-wrap{padding:var(--space-xs);border-top:1px solid var(--color-hairline)}.storage-bar-label{font-size:11px;font-weight:500;letter-spacing:0;font-family:var(--font-mono);color:var(--color-mute);margin-bottom:6px}.storage-bar-track{height:4px;border-radius:99px;background:var(--color-hairline);overflow:hidden;margin-bottom:5px}.storage-bar-fill{height:100%;border-radius:99px;background:var(--color-ink);transition:width .5s ease}.storage-bar-fill.warn{background:var(--color-warning)}.storage-bar-fill.crit{background:var(--color-error)}.storage-bar-numbers{display:flex;justify-content:space-between;font-size:11px;color:var(--color-mute);font-family:var(--font-mono)}.dash-main{flex:1;overflow-y:auto;padding:var(--space-3xl) var(--space-5xl);display:flex;flex-direction:column;animation:fadeUp .35s ease both}.dash-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-3xl);gap:var(--space-lg)}.dash-page-title{font-size:32px;font-weight:600;letter-spacing:-.04em;color:var(--color-ink);margin-bottom:4px}.dash-page-sub{font-size:14px;letter-spacing:-.01em;color:var(--color-body)}.dash-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;max-width:380px;margin:0 auto;gap:var(--space-md);padding:var(--space-5xl) 0}.dash-loading{color:var(--color-mute);font-size:14px;font-family:var(--font-mono)}.dash-empty-title{font-size:20px;font-weight:600;letter-spacing:-.02em;color:var(--color-ink)}.dash-empty-desc{font-size:14px;letter-spacing:-.01em;color:var(--color-body);line-height:1.5;margin-bottom:var(--space-xs)}.dash-create-form{margin-bottom:var(--space-xl);padding:var(--space-lg);background:var(--color-canvas-soft);border:1px solid var(--color-hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-2);animation:fadeUp .3s ease both}.dash-create-row{display:flex;gap:var(--space-xs);align-items:center;flex-wrap:wrap}.dash-create-row .form-input{flex:1;min-width:180px}.dash-form-error{margin-top:var(--space-xs);font-size:13px;letter-spacing:-.01em;color:var(--color-error);font-family:var(--font-mono)}.dash-game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-md)}.dash-game-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg);background:var(--color-canvas);border-radius:var(--radius-md);box-shadow:var(--shadow-2);text-decoration:none;color:var(--color-ink);transition:transform .18s ease,box-shadow .18s ease;animation:fadeUp .35s ease both;position:relative;overflow:hidden}.dash-game-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--grad-develop-start),var(--grad-preview-end));opacity:0;transition:opacity .2s}.dash-game-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-4)}.dash-game-card:hover:before{opacity:1}.dash-game-info{flex:1;min-width:0}.dash-game-name-row{display:flex;align-items:center;gap:8px}.dash-collab-badge{display:inline-flex;align-items:center;height:18px;padding:0 7px;border-radius:var(--radius-full);background:var(--color-link-bg-soft);color:var(--color-link-deep);font-size:10px;font-weight:400;letter-spacing:.04em;flex-shrink:0}.dash-game-name{font-size:15px;font-weight:600;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-ink)}.dash-game-slug{font-size:12px;color:var(--color-mute);margin-top:3px;font-family:var(--font-mono)}.dash-game-arrow{font-size:18px;color:var(--color-mute);flex-shrink:0;transition:transform .15s,color .15s}.dash-game-card:hover .dash-game-arrow{transform:translate(3px);color:var(--color-ink)}@media (max-width: 768px){.dash-layout{flex-direction:column;height:auto;min-height:100vh}.dash-sidebar{width:100%;flex-direction:row;align-items:center;flex-wrap:wrap;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-right:none;border-bottom:1px solid var(--color-hairline)}.dash-nav{flex-direction:row;flex:none}.dash-sidebar-footer{border-top:none;padding-top:0;flex-direction:row;margin-left:auto;align-items:center}.dash-user-email{display:none}.dash-main{padding:var(--space-lg)}}.gd-play-link{font-size:13px;font-family:var(--font-mono);color:var(--color-link);text-decoration:underline;text-underline-offset:2px;transition:opacity .15s}.gd-play-link:hover{opacity:.7}.gd-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-hairline);margin-bottom:var(--space-xl)}.gd-tab{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-body);font-size:14px;font-weight:400;letter-spacing:-.01em;padding:10px 16px;cursor:pointer;margin-bottom:-1px;transition:color .12s,border-color .12s}.gd-tab:hover{color:var(--color-ink)}.gd-tab.active{color:var(--color-ink);border-bottom-color:var(--color-ink);font-weight:500}.gd-section{max-width:760px}.gd-section-title{font-size:20px;font-weight:600;letter-spacing:-.03em;color:var(--color-ink);margin-bottom:var(--space-xs)}.gd-section-desc{font-size:14px;letter-spacing:-.01em;color:var(--color-body);margin-bottom:var(--space-md)}.gd-upload-form{background:var(--color-canvas-soft);border:1px solid var(--color-hairline);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-xl);box-shadow:var(--shadow-2)}.gd-upload-row{display:flex;gap:var(--space-xs);align-items:center;flex-wrap:wrap}.gd-version-input{max-width:200px}.gd-file-label{display:inline-flex;align-items:center;cursor:pointer}.gd-upload-hint{margin-top:var(--space-sm);font-size:12px;color:var(--color-mute);line-height:1.5;font-family:var(--font-mono)}.gd-error{margin-top:var(--space-xs);font-size:13px;color:var(--color-error);font-family:var(--font-mono)}.gd-empty-text{font-size:14px;font-weight:300;color:var(--color-mute);padding:var(--space-xl) 0}.gd-build-list{display:flex;flex-direction:column;gap:var(--space-xs)}.gd-build-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--color-canvas);border-radius:var(--radius-md);box-shadow:var(--shadow-2);flex-wrap:wrap;transition:box-shadow .15s,transform .15s;animation:fadeUp .3s ease both}.gd-build-row:hover{box-shadow:var(--shadow-3);transform:translateY(-1px)}.gd-build-row.active{box-shadow:var(--shadow-2),inset 0 0 0 1px #00000014;background:var(--color-canvas-soft)}.gd-build-meta{display:flex;align-items:center;gap:var(--space-sm);flex:1;min-width:0}.gd-badge{background:var(--color-primary);color:var(--color-on-primary);font-size:10px;font-weight:500;padding:3px 9px;border-radius:var(--radius-full);letter-spacing:.04em;text-transform:uppercase;flex-shrink:0}.gd-build-version{font-size:14px;font-weight:600;letter-spacing:-.02em;color:var(--color-ink)}.gd-build-date{font-size:12px;font-weight:300;color:var(--color-mute)}.gd-build-files{display:flex;gap:var(--space-xxs);flex-wrap:wrap}.gd-file-chip{font-size:11px;font-weight:400;padding:3px 7px;border-radius:var(--radius-xs);background:var(--color-canvas-soft);color:var(--color-mute);border:1px solid var(--color-hairline)}.gd-file-chip.missing{opacity:.3;text-decoration:line-through}.gd-build-actions{display:flex;align-items:center;gap:var(--space-xs);flex-shrink:0}.gd-activate-btn{font-size:12px;height:32px;padding:0 12px;border-radius:var(--radius-sm)}.gd-delete-btn{font-size:12px;height:32px;padding:0 12px;border-radius:var(--radius-sm);background:transparent;border:1px solid rgba(238,0,0,.25);color:var(--color-error-deep);transition:background .12s,border-color .12s}.gd-delete-btn:hover:not(:disabled){background:var(--color-error-soft);border-color:#e006}.gd-delete-btn:disabled{opacity:.35;cursor:not-allowed}.gd-storage-summary{font-size:12px;font-weight:300;color:var(--color-mute);margin-bottom:var(--space-sm)}.gd-storage-summary strong{color:var(--color-ink)}.gd-filter-bar{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-md);flex-wrap:wrap}.gd-filter-search{flex:1;min-width:160px;max-width:260px;height:34px;border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:var(--color-canvas);color:var(--color-ink);font-size:13px;padding:0 10px;outline:none;transition:border-color .15s}.gd-filter-search:focus{border-color:var(--color-link)}.gd-filter-chips{display:flex;gap:4px;flex-wrap:wrap}.gd-filter-chip{height:30px;padding:0 11px;border-radius:var(--radius-full);border:1px solid var(--color-hairline);background:var(--color-canvas);color:var(--color-body);font-size:12px;font-weight:500;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.gd-filter-chip:hover{background:var(--color-canvas-soft)}.gd-filter-chip.active{background:var(--color-link);border-color:var(--color-link);color:#fff}.gd-filter-select{height:30px;border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:var(--color-canvas);color:var(--color-body);font-size:12px;padding:0 8px;cursor:pointer;outline:none}.gd-filter-count{font-size:12px;font-weight:300;color:var(--color-mute);white-space:nowrap}.gd-report-list{display:flex;flex-direction:column;gap:var(--space-xs)}.gd-report-row-wrap{display:flex;align-items:stretch;gap:0;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-2);background:var(--color-canvas);animation:fadeUp .3s ease both;transition:transform .15s ease,box-shadow .15s ease}.gd-report-row-wrap:hover{transform:translateY(-1px);box-shadow:var(--shadow-3)}.gd-report-row{flex:1;display:block;padding:var(--space-sm) var(--space-lg);text-decoration:none;color:var(--color-ink);min-width:0}.gd-report-row-top{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:4px;flex-wrap:wrap}.gd-report-title{font-size:15px;font-weight:600;letter-spacing:-.02em;color:var(--color-ink)}.gd-report-tags{display:flex;gap:4px;flex-wrap:wrap}.gd-tag-chip{font-size:10px;font-weight:400;padding:2px 7px;border-radius:var(--radius-full);background:var(--color-canvas-soft);color:var(--color-mute);border:1px solid var(--color-hairline)}.gd-report-meta{display:flex;gap:var(--space-sm);align-items:baseline;flex-wrap:wrap}.gd-report-desc{font-size:13px;letter-spacing:-.01em;color:var(--color-body);flex:1;min-width:0}.gd-report-date{font-size:11px;font-weight:300;color:var(--color-mute);flex-shrink:0}.gd-report-status-select{flex-shrink:0;align-self:center;margin:0 8px;height:28px;border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:var(--color-canvas-soft);color:var(--color-body);font-size:11px;padding:0 6px;cursor:pointer;outline:none}.gd-status-badge{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:var(--radius-full);font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;flex-shrink:0}.gd-status-badge.open{background:#e6f0ff;color:#05c}.gd-status-badge.in-progress{background:#fff3cd;color:#8a4500}.gd-status-badge.resolved{background:#d4edda;color:#155724}.gd-status-badge.closed{background:#e9ecef;color:#495057}.gd-priority-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.gd-priority-dot.high{background:#dc3545}.gd-priority-dot.medium{background:#fd7e14}.gd-priority-dot.low{background:#6c757d}.gd-collab-list{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-md);max-width:480px}.gd-collab-row{display:flex;align-items:center;gap:var(--space-sm);background:var(--color-canvas);border:1px solid var(--color-hairline);border-radius:var(--radius-md);padding:10px 14px}.gd-collab-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-link-bg-soft);color:var(--color-link-deep);font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.gd-collab-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.gd-collab-name{font-size:14px;font-weight:600;color:var(--color-ink)}.gd-collab-email{font-size:12px;color:var(--color-mute);font-family:var(--font-mono)}.gd-collab-remove{font-size:12px;height:28px;padding:0 10px;border-radius:var(--radius-sm);border:1px solid rgba(238,0,0,.25);color:var(--color-error-deep);flex-shrink:0}.gd-collab-remove:hover:not(:disabled){background:var(--color-error-soft)}.gd-collab-remove:disabled{opacity:.35;cursor:not-allowed}.gd-collab-invite-form{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-top:var(--space-xs)}.gd-collab-err{font-size:13px;color:var(--color-error-deep);flex-basis:100%}.gd-webhook-form{max-width:480px}.gd-webhook-actions{display:flex;gap:var(--space-xs);margin-top:var(--space-sm)}.gd-webhook-display{display:flex;align-items:center;gap:var(--space-md);max-width:480px}.gd-webhook-val{font-size:13px;color:var(--color-mute);word-break:break-all;flex:1;font-family:var(--font-mono)}.gd-not-set{color:var(--color-mute);font-style:normal;font-family:var(--font-mono)}.gi-container{max-width:840px;animation:fadeUp .35s ease both}.gi-intro{font-size:14px;color:var(--color-body);line-height:1.6;margin-bottom:var(--space-xl)}.gi-step{margin-bottom:var(--space-xl)}.gi-step-title{font-size:17px;font-weight:600;letter-spacing:-.02em;color:var(--color-ink);margin-bottom:var(--space-xs)}.gi-step-desc{font-size:14px;color:var(--color-body);margin-bottom:var(--space-md);line-height:1.5}.gi-step-hint{font-size:13px;background:var(--color-link-bg-soft);color:var(--color-link-deep);padding:10px 14px;border-radius:var(--radius-md);margin-bottom:var(--space-md);line-height:1.5;font-family:var(--font-mono)}.gi-step-warn{font-size:13px;background:var(--color-warning-soft);color:#8a4500;padding:10px 14px;border-radius:var(--radius-md);margin-top:var(--space-xs);line-height:1.5;font-family:var(--font-mono)}.gi-code-wrapper{background:#0a0a0a;border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--space-md);box-shadow:var(--shadow-3)}.gi-code-header{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;background:#111;border-bottom:1px solid #2a2a2a}.gi-code-filename{font-family:var(--font-mono);font-size:12px;color:#888}.gi-code-actions{display:flex;gap:8px}.gi-code-btn{background:transparent;border:none;color:var(--color-link);font-size:12px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:var(--radius-xs);transition:background .15s;font-family:var(--font-mono)}.gi-code-btn:hover{background:#0070f31a}.gi-code-btn.copied{color:#00c853}.gi-code-block{margin:0;padding:18px;font-family:var(--font-mono);font-size:13px;line-height:1.65;color:#e5e5e5;overflow-x:auto;white-space:pre}.gi-code-block code{font-family:inherit}.gi-code-block .hljs-comment,.gi-code-block .hljs-quote{color:#5c6370;font-style:italic}.gi-code-block .hljs-keyword,.gi-code-block .hljs-selector-tag,.gi-code-block .hljs-literal,.gi-code-block .hljs-section,.gi-code-block .hljs-link{color:#c678dd}.gi-code-block .hljs-string,.gi-code-block .hljs-meta .hljs-string{color:#98c379}.gi-code-block .hljs-number,.gi-code-block .hljs-regexp,.gi-code-block .hljs-template-variable{color:#d19a66}.gi-code-block .hljs-title,.gi-code-block .hljs-title.class_,.gi-code-block .hljs-title.function_{color:#61afef}.gi-code-block .hljs-type,.gi-code-block .hljs-built_in{color:#e5c07b}.gi-code-block .hljs-attr,.gi-code-block .hljs-variable,.gi-code-block .hljs-template-tag{color:#e06c75}.gi-code-block .hljs-params{color:#abb2bf}.gi-code-block .hljs-meta{color:#56b6c2}.gd-arcade-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:16px 0 24px}.gd-vis-card{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:var(--color-canvas);border:1px solid var(--color-hairline);border-radius:var(--radius-md);cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.gd-vis-card input[type=radio]{position:absolute;opacity:0;pointer-events:none}.gd-vis-card:hover{background:var(--color-canvas-soft)}.gd-vis-card.active{border-color:var(--color-ink);box-shadow:0 0 0 1px var(--color-ink) inset}.gd-vis-card.disabled{opacity:.5;cursor:not-allowed}.gd-vis-card-h{font-size:14px;font-weight:600}.gd-vis-card-d{font-size:12.5px;color:var(--color-mute)}.gd-arcade-warn{font-size:13px;color:var(--color-warning-deep, #ab570a);background:var(--color-warning-soft);border-radius:var(--radius-sm);padding:10px 14px;margin-top:12px}.gd-arcade-block{margin-top:20px}.gd-arcade-desc-input{height:auto!important;min-height:80px;padding:10px 12px;resize:vertical;font-family:inherit;line-height:1.5}.gd-arcade-counter{font-size:11px;font-weight:300;color:var(--color-mute);text-align:right;margin-top:4px}.gd-arcade-hint{margin-bottom:10px}.gd-thumb-row{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.gd-thumb-preview{width:200px;aspect-ratio:16 / 9;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--color-hairline);background:var(--color-canvas-soft)}.gd-thumb-preview.empty{display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--color-mute)}.gd-thumb-actions{display:flex;gap:8px;flex-wrap:wrap}.gd-thumb-actions .btn-ghost{display:inline-flex;align-items:center;cursor:pointer}.gd-arcade-save{margin-top:24px;padding-top:16px;border-top:1px solid var(--color-hairline)}.id-breadcrumb{font-size:12px;color:var(--color-mute);margin-bottom:4px;font-family:var(--font-mono)}.id-date{font-size:13px;color:var(--color-mute);margin-top:4px;font-family:var(--font-mono)}.id-section{max-width:820px;margin-bottom:var(--space-3xl);animation:fadeUp .35s ease both}.id-section-title{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-mute);margin-bottom:var(--space-xs);padding-bottom:var(--space-xxs);border-bottom:1px solid var(--color-hairline);font-family:var(--font-mono)}.id-description{font-size:15px;letter-spacing:-.01em;color:var(--color-ink);line-height:1.6;white-space:pre-wrap;background:var(--color-canvas-soft);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);box-shadow:var(--shadow-2)}.id-grid{display:flex;flex-direction:column;background:var(--color-canvas);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-2)}.id-info-row{display:flex;gap:var(--space-lg);padding:10px var(--space-lg);border-bottom:1px solid var(--color-hairline);transition:background .12s}.id-info-row:last-child{border-bottom:none}.id-info-row:hover{background:var(--color-canvas-soft)}.id-info-label{width:150px;flex-shrink:0;font-size:13px;color:var(--color-mute);font-weight:400;font-family:var(--font-mono)}.id-info-value{font-size:13px;letter-spacing:-.01em;color:var(--color-ink);word-break:break-all;flex:1}.id-json{background:#0a0a0a;border-radius:var(--radius-md);padding:var(--space-lg);font-size:13px;line-height:1.6;color:#e5e5e5;overflow-x:auto;white-space:pre;font-family:var(--font-mono);box-shadow:var(--shadow-3)}.id-log-list{display:flex;flex-direction:column;gap:2px}.id-log-entry{padding:8px var(--space-sm);border-radius:var(--radius-xs);border-left:2px solid transparent;background:var(--color-canvas-soft);font-family:var(--font-mono);font-size:12px;transition:background .12s}.id-log-entry:hover{background:var(--color-canvas-soft-2)}.id-log-entry.log-info{border-left-color:var(--color-link)}.id-log-entry.log-warn{border-left-color:var(--color-warning);background:var(--color-warning-soft)}.id-log-entry.log-error{border-left-color:var(--color-error);background:var(--color-error-soft)}.id-log-header{display:flex;gap:var(--space-xs);align-items:baseline}.id-log-type{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;width:56px;color:var(--color-mute)}.log-warn .id-log-type{color:#8a4500}.log-error .id-log-type{color:var(--color-error-deep)}.log-info .id-log-type{color:var(--color-link-deep)}.id-log-message{flex:1;color:var(--color-ink);word-break:break-word}.id-log-time{font-size:10px;color:var(--color-mute);flex-shrink:0}.id-log-stack{margin-top:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:#0000000d;border-radius:var(--radius-xs);font-size:11px;color:var(--color-body);white-space:pre-wrap;word-break:break-word;overflow-x:auto}.id-logs-toggle{margin-top:var(--space-sm);font-size:12px;height:28px;padding:0 12px;border-radius:var(--radius-sm)}.id-vote-btn{display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--color-canvas-soft);border:1px solid var(--color-hairline);border-radius:var(--radius-md);padding:10px 16px;cursor:pointer;min-width:68px;flex-shrink:0;transition:background .15s,border-color .15s}.id-vote-btn:hover:not(:disabled){background:#e6f0ff;border-color:var(--color-link)}.id-vote-btn.voted{background:#e6f0ff;border-color:var(--color-link)}.id-vote-btn.disabled{opacity:.45;cursor:not-allowed}.id-vote-arrow{font-size:18px;color:var(--color-link);line-height:1}.id-vote-count{font-size:20px;font-weight:700;color:var(--color-ink);line-height:1}.id-vote-label{font-size:10px;color:var(--color-mute);font-family:var(--font-mono)}.id-triage-panel{background:var(--color-canvas);border-radius:var(--radius-md);box-shadow:var(--shadow-2);padding:var(--space-md) var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.id-triage-row{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.id-triage-label{width:88px;flex-shrink:0;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-mute);font-family:var(--font-mono)}.id-status-group,.id-priority-group{display:flex;gap:4px;flex-wrap:wrap}.id-status-btn,.id-priority-btn{height:28px;padding:0 12px;border-radius:var(--radius-full);border:1px solid var(--color-hairline);background:var(--color-canvas-soft);color:var(--color-body);font-size:12px;font-weight:500;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.id-status-btn:hover,.id-priority-btn:hover{background:var(--color-canvas-soft-2)}.id-status-btn.status-open.active{background:#e6f0ff;color:#05c;border-color:#05c}.id-status-btn.status-in-progress.active{background:#fff3cd;color:#8a4500;border-color:#fd7e14}.id-status-btn.status-resolved.active{background:#d4edda;color:#155724;border-color:#28a745}.id-status-btn.status-closed.active{background:#e9ecef;color:#495057;border-color:#6c757d}.id-priority-btn.priority-high.active{background:#fde8e8;color:#c0392b;border-color:#dc3545}.id-priority-btn.priority-medium.active{background:#fff3e0;color:#8a4500;border-color:#fd7e14}.id-priority-btn.priority-low.active{background:#f0f0f0;color:#495057;border-color:#6c757d}.id-priority-btn.priority-none.active{background:var(--color-canvas-soft-2);color:var(--color-mute);border-color:var(--color-mute)}.id-tags-area{display:flex;flex-wrap:wrap;gap:6px;align-items:center;flex:1}.id-tag-chip{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 10px;border-radius:var(--radius-full);background:var(--color-link-bg-soft);color:var(--color-link-deep);font-size:12px;font-family:var(--font-mono);border:1px solid transparent}.id-tag-remove{background:none;border:none;color:var(--color-link-deep);font-size:14px;line-height:1;cursor:pointer;padding:0 2px;opacity:.6;transition:opacity .12s}.id-tag-remove:hover{opacity:1}.id-tag-input{border:none;outline:none;background:transparent;font-size:13px;color:var(--color-ink);min-width:140px;height:24px}.id-tag-input::placeholder{color:var(--color-mute)}.id-no-comments{font-size:13px;color:var(--color-mute);margin-bottom:var(--space-md)}.id-comment-list{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md)}.id-comment{background:var(--color-canvas);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);box-shadow:var(--shadow-2)}.id-comment-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:6px}.id-comment-author{font-size:13px;font-weight:600;color:var(--color-ink)}.id-comment-date{font-size:11px;color:var(--color-mute);font-family:var(--font-mono);flex:1}.id-comment-delete{background:none;border:none;color:var(--color-error-deep);font-size:11px;cursor:pointer;padding:2px 6px;border-radius:var(--radius-xs);opacity:.5;transition:opacity .12s,background .12s}.id-comment-delete:hover:not(:disabled){opacity:1;background:var(--color-error-soft)}.id-comment-delete:disabled{opacity:.2;cursor:not-allowed}.id-comment-body{font-size:14px;color:var(--color-body);line-height:1.5;white-space:pre-wrap}.id-comment-form{display:flex;flex-direction:column;gap:var(--space-xs)}.id-comment-textarea{border:1px solid var(--color-hairline);border-radius:var(--radius-md);background:var(--color-canvas);color:var(--color-ink);font-size:14px;padding:var(--space-sm) var(--space-md);resize:vertical;outline:none;font-family:inherit;transition:border-color .15s;line-height:1.5}.id-comment-textarea:focus{border-color:var(--color-link)}.arcade-page{display:flex;flex-direction:column;min-height:100vh;background:var(--color-canvas-soft)}.arcade-nav{position:sticky;top:0;z-index:100;height:var(--nav-height);background:#ffffffd9;-webkit-backdrop-filter:saturate(1.8) blur(16px);backdrop-filter:saturate(1.8) blur(16px);border-bottom:1px solid var(--color-hairline);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-lg)}.arcade-logo{display:inline-flex}.arcade-nav-links{display:flex;align-items:center;gap:var(--space-sm)}.arcade-hero{position:relative;overflow:hidden;background:var(--color-canvas);padding:80px var(--space-lg) 60px;border-bottom:1px solid var(--color-hairline)}.arcade-hero-mesh{position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;pointer-events:none;background:radial-gradient(ellipse 50% 50% at 15% 40%,rgba(0,124,240,.12),transparent),radial-gradient(ellipse 45% 45% at 85% 60%,rgba(255,0,128,.1),transparent),radial-gradient(ellipse 40% 40% at 50% 100%,rgba(0,223,216,.1),transparent);animation:meshDrift 22s ease-in-out infinite alternate}.arcade-hero-inner{position:relative;max-width:1200px;margin:0 auto}.arcade-hero-title{font-size:44px;font-weight:600;letter-spacing:-.04em;color:var(--color-ink);margin-bottom:12px}.arcade-hero-sub{font-size:18px;color:var(--color-body);max-width:640px;line-height:1.55}.arcade-main{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:var(--space-3xl) var(--space-lg)}.arcade-loading,.arcade-empty{text-align:center;color:var(--color-mute);padding:80px 0;font-size:15px}.arcade-empty{background:var(--color-canvas);border:1px dashed var(--color-hairline);border-radius:var(--radius-lg)}.arcade-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-lg)}.arcade-card{display:flex;flex-direction:column;background:var(--color-canvas);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-3);text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease;animation:fadeUp .5s ease both}.arcade-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-4)}.arcade-card-thumb{aspect-ratio:16 / 9;width:100%;background:var(--color-canvas-soft);position:relative;overflow:hidden}.arcade-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}.arcade-card-thumb-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.arcade-card-thumb-fallback span{font-size:56px;font-weight:600;color:#ffffffd9;letter-spacing:-.04em}.arcade-card-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}.arcade-card-title{font-size:17px;font-weight:600;letter-spacing:-.02em;color:var(--color-ink)}.arcade-card-dev{font-size:12px;color:var(--color-mute);font-family:var(--font-mono)}.arcade-card-desc{font-size:13.5px;color:var(--color-body);line-height:1.45;margin-top:4px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.arcade-card-meta{margin-top:auto;padding-top:12px;display:flex;align-items:center;justify-content:space-between;font-size:12.5px;color:var(--color-mute);font-family:var(--font-mono)}.arcade-card-play{color:var(--color-ink);font-weight:500}@media (max-width: 640px){.arcade-hero-title{font-size:32px}.arcade-hero-sub{font-size:16px}}.adm-filter{display:flex;gap:8px;margin-bottom:var(--space-lg);flex-wrap:wrap}.adm-filter-chip{background:var(--color-canvas);border:1px solid var(--color-hairline);border-radius:var(--radius-full);padding:6px 14px;font-size:13px;color:var(--color-body);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .15s,color .15s,border-color .15s}.adm-filter-chip:hover{background:var(--color-canvas-soft)}.adm-filter-chip.active{background:var(--color-ink);color:var(--color-on-primary);border-color:var(--color-ink)}.adm-count{background:#00000014;color:var(--color-mute);font-size:11px;padding:1px 7px;border-radius:var(--radius-full);font-variant-numeric:tabular-nums}.adm-filter-chip.active .adm-count{background:#ffffff2e;color:var(--color-on-primary)}.adm-table-wrap{background:var(--color-canvas);border:1px solid var(--color-hairline);border-radius:var(--radius-md);overflow:hidden}.adm-table{width:100%;border-collapse:collapse;font-size:13.5px}.adm-table th{text-align:left;font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--color-mute);text-transform:uppercase;letter-spacing:.04em;padding:12px 14px;background:var(--color-canvas-soft);border-bottom:1px solid var(--color-hairline)}.adm-table td{padding:12px 14px;border-bottom:1px solid var(--color-hairline);vertical-align:middle;color:var(--color-ink)}.adm-table tr:last-child td{border-bottom:none}.adm-name-row{display:flex;align-items:center;gap:8px}.adm-name{font-weight:500}.adm-github{font-size:10.5px;font-weight:400;padding:2px 7px;background:var(--color-canvas-soft-2);color:var(--color-body);border-radius:var(--radius-full)}.adm-self{font-size:11px;padding:2px 7px;background:var(--color-link-bg-soft);color:var(--color-link-deep);border-radius:var(--radius-full)}.adm-email{color:var(--color-body);font-family:var(--font-mono);font-size:12.5px}.adm-role,.adm-status{display:inline-block;padding:3px 9px;border-radius:var(--radius-full);font-size:11.5px;font-weight:500}.adm-role.admin{background:#d3e5ff;color:#0761d1}.adm-role.user{background:var(--color-canvas-soft-2);color:var(--color-body)}.adm-status.pending{background:#ffefcf;color:#ab570a}.adm-status.approved{background:#d4f7dc;color:#1d6b30}.adm-status.rejected{background:var(--color-error-soft);color:var(--color-error-deep)}.adm-date{color:var(--color-mute);font-variant-numeric:tabular-nums;font-weight:300;font-size:12px}.adm-action-col{width:1%;white-space:nowrap}.adm-actions{display:flex;gap:6px;flex-wrap:nowrap;justify-content:flex-end;white-space:nowrap}.adm-btn{background:var(--color-canvas);border:1px solid var(--color-hairline);border-radius:var(--radius-sm);padding:5px 10px;font-size:12px;color:var(--color-body);cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}.adm-btn:hover{background:var(--color-canvas-soft);color:var(--color-ink)}.adm-btn:disabled{opacity:.4;cursor:not-allowed}.adm-btn.approve{background:var(--color-ink);color:var(--color-on-primary);border-color:var(--color-ink)}.adm-btn.approve:hover{opacity:.88;background:var(--color-ink);color:var(--color-on-primary)}.adm-btn.reject:hover,.adm-btn.danger:hover{color:var(--color-error-deep);border-color:var(--color-error-deep);background:var(--color-error-soft)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #171717;--color-on-primary: #ffffff;--color-link: #0070f3;--color-link-deep: #0761d1;--color-link-bg-soft: #d3e5ff;--grad-develop-start: #007cf0;--grad-develop-end: #00dfd8;--grad-preview-start: #7928ca;--grad-preview-end: #ff0080;--grad-ship-start: #ff4d4d;--grad-ship-end: #f9cb28;--color-canvas: #ffffff;--color-canvas-soft: #fafafa;--color-canvas-soft-2: #f5f5f5;--color-ink: #171717;--color-body: #4d4d4d;--color-mute: #888888;--color-hairline: #ebebeb;--color-hairline-strong: #a1a1a1;--color-error: #ee0000;--color-error-soft: #f7d4d6;--color-error-deep: #c50000;--color-warning: #f5a623;--color-warning-soft: #ffefcf;--color-success: #0070f3;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill-sm: 64px;--radius-pill: 100px;--radius-full: 9999px;--space-xxs: 4px;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 40px;--space-3xl: 48px;--space-4xl: 64px;--space-5xl: 96px;--space-6xl: 128px;--space-section: 192px;--shadow-0: none;--shadow-1: 0 0 0 1px rgba(0,0,0,.08) inset;--shadow-2: 0px 1px 1px rgba(0,0,0,.03), 0px 2px 2px rgba(0,0,0,.04), 0 0 0 1px rgba(0,0,0,.06) inset;--shadow-3: 0px 2px 2px rgba(0,0,0,.04), 0px 8px 8px -8px rgba(0,0,0,.06), 0 0 0 1px rgba(0,0,0,.06) inset;--shadow-4: 0px 2px 2px rgba(0,0,0,.04), 0px 8px 16px -4px rgba(0,0,0,.06), 0 0 0 1px rgba(0,0,0,.06) inset;--shadow-5: 0px 1px 1px rgba(0,0,0,.03), 0px 8px 16px -4px rgba(0,0,0,.06), 0px 24px 32px -8px rgba(0,0,0,.06), 0 0 0 1px rgba(0,0,0,.06) inset;--font-sans: "Pretendard", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;--font-mono: "SF Mono", "Menlo", "Monaco", "Consolas", monospace;--nav-height: 64px}html,body,#root{height:100%}body{font-family:var(--font-sans);background:var(--color-canvas);color:var(--color-ink);font-size:16px;line-height:1.5;letter-spacing:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-family:var(--font-sans);font-weight:600;letter-spacing:-.02em}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}@keyframes pulse-ring{0%{transform:scale(1);opacity:.4}to{transform:scale(1.6);opacity:0}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--space-lg);height:48px;border-radius:var(--radius-pill);font-size:16px;font-weight:500;border:none;white-space:nowrap;transition:opacity .15s,transform .1s,box-shadow .15s;text-decoration:none;letter-spacing:-.01em;line-height:1;position:relative;overflow:hidden}.btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.18) 50%,transparent 60%);transform:translate(-200%);transition:transform .55s ease}.btn:hover:after{transform:translate(200%)}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.btn-primary:hover{opacity:.88}.btn-secondary{background:var(--color-canvas);color:var(--color-ink);border:1px solid var(--color-hairline);box-shadow:var(--shadow-2)}.btn-secondary:hover{box-shadow:var(--shadow-3)}.btn-ghost{background:var(--color-canvas-soft);color:var(--color-body);border:1px solid var(--color-hairline);border-radius:var(--radius-md);padding:0 14px;height:36px;font-size:14px}.btn-ghost:hover{background:var(--color-canvas-soft-2)}.btn-sm{height:28px;padding:0 var(--space-xs);font-size:14px;font-weight:500;border-radius:var(--radius-sm)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.form-input{width:100%;padding:0 var(--space-sm);height:40px;background:var(--color-canvas);border:1px solid var(--color-hairline);border-radius:var(--radius-sm);color:var(--color-ink);font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--color-ink);box-shadow:0 0 0 3px #17171714}.form-input::placeholder{color:var(--color-mute)}.form-label{display:block;font-size:14px;font-weight:500;color:var(--color-body);margin-bottom:6px;letter-spacing:-.01em}.form-group{display:flex;flex-direction:column}
