*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{min-height:100vh;line-height:1.55}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none}input,textarea,select{font:inherit;color:inherit}.picker{flex-direction:column;align-items:center;min-height:100%;padding:28px 24px 24px;display:flex;position:relative}.picker__bg{z-index:0;background:radial-gradient(700px 500px at 30% 20%,#d4940a14,#0000 60%),radial-gradient(500px 400px at 75% 70%,#f0b8400a,#0000 55%),linear-gradient(#0d0d10 0%,#0a0a0c 50%);position:absolute;inset:0}.picker__bg:before{content:"";background-image:linear-gradient(#ffffff04 1px,#0000 1px),linear-gradient(90deg,#ffffff04 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 30%,#000 0%,#0000 70%);mask-image:radial-gradient(70% 60% at 50% 30%,#000 0%,#0000 70%)}.picker__content{z-index:1;width:100%;max-width:1280px;margin:0 auto;animation:.5s cubic-bezier(.16,1,.3,1) backwards picker-enter;position:relative}.picker__hero{text-align:center;margin-bottom:18px}.picker__title{color:#e4e2dc;letter-spacing:-.03em;margin-bottom:6px;font-size:28px;font-weight:700}.picker__description{color:#8e8c84;margin:0;font-size:13px;line-height:1.5}.picker__controls{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.picker__search{flex:320px;align-items:center;min-width:240px;display:flex;position:relative}.picker__search-icon{color:#5a5850;pointer-events:none;display:inline-flex;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.picker__search-input{color:#e4e2dc;background:#19191e;border:1px solid #2a2926;border-radius:8px;width:100%;padding:10px 36px;font-family:inherit;font-size:13px;transition:border-color .12s,box-shadow .12s}.picker__search-input::placeholder{color:#5a5850}.picker__search-input:focus{border-color:#d4940a80;outline:none;box-shadow:0 0 0 3px #d4940a1f}.picker__search-clear{color:#5a5850;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:color .12s,background .12s;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.picker__search-clear:hover{color:#e4e2dc;background:#222228}.picker__footer{z-index:1;color:#5a5850;opacity:.7;justify-content:center;align-items:center;gap:14px;margin-top:auto;padding-top:28px;font-size:11px;display:flex;position:relative}.picker__version{font-variant-numeric:tabular-nums}.picker__credit a{color:#e8a634;text-decoration:none}.picker__credit a:hover{text-decoration:underline}.picker__intro{color:#8e8c84;text-align:center;letter-spacing:0;max-width:720px;margin:0 auto;font-size:16px;font-weight:400;line-height:1.6}.bento{flex-direction:column;gap:28px;display:flex}.bento-section{flex-direction:column;gap:12px;display:flex}.bento-section__header{border-bottom:1px solid #2a2926;flex-direction:column;gap:4px;padding-bottom:10px;display:flex}.bento-section__title{letter-spacing:-.01em;color:#e4e2dc;margin:0;font-size:15px;font-weight:600}.bento-section__description{color:#5a5850;margin:0;font-size:12.5px;line-height:1.5}.bento-section__tiles{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;display:grid}.bento-section__empty{text-align:center;color:#5a5850;border:1px dashed #2a2926;border-radius:8px;padding:24px 12px;font-size:12.5px}.bento-tile{color:#8e8c84;text-align:center;background:linear-gradient(170deg,#19191ef5,#19191e);border:1px solid #2a2926;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-width:0;height:130px;padding:12px 10px;font-size:11.5px;font-weight:500;line-height:1.3;text-decoration:none;transition:all .15s;display:flex;position:relative;overflow:hidden}.bento-tile:hover{color:#e4e2dc;border-color:#d4940a66;transform:translateY(-1px);box-shadow:0 4px 14px #0000004d}.bento-tile:focus-visible{border-color:#d4940a99;outline:none;box-shadow:0 0 0 3px #d4940a2e}.bento-tile__icon{color:#d4940a;justify-content:center;align-items:center;line-height:1;display:inline-flex}.bento-tile__icon svg{width:28px;height:28px}.bento-tile__label{-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;min-height:2.6em;display:-webkit-box;overflow:hidden}.bento-tile__badges{gap:4px;display:flex;position:absolute;top:6px;right:6px}.bento-tile__badge{letter-spacing:.05em;color:#a06e00;background:#d4940a2e;border-radius:4px;padding:2px 5px;font-size:9px;font-weight:700;line-height:1.4}.bento-tile--more{color:#f0b840;background:0 0;border-style:dashed}.bento-tile--more .bento-tile__icon{font-size:26px;font-weight:400}.bento-tile--more:hover{color:#f0b840;background:#d4940a14;border-style:solid;border-color:#d4940a99}.picker__grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;display:grid}.picker__item{color:#8e8c84;background:linear-gradient(170deg,#19191ef5,#19191e);border:1px solid #2a2926;border-radius:8px;align-items:center;gap:10px;min-height:48px;padding:8px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s;display:flex;position:relative;overflow:hidden}.picker__item:hover{color:#e4e2dc;background:linear-gradient(170deg,#1b1a1eed,#19191e);border-color:#d4940a66;transform:translateY(-1px);box-shadow:0 4px 14px #0000004d}.picker__item:focus-visible{border-color:#d4940a99;outline:none;box-shadow:0 0 0 3px #d4940a2e}.picker__icon{color:#d4940a;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.picker__label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.picker__badge{letter-spacing:.05em;color:#a06e00;background:#d4940a26;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:700;line-height:1.4}.picker__empty{text-align:center;background:#19191e66;border:1px dashed #2a2926;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.picker__empty-text{color:#8e8c84;margin:0;font-size:13px}.picker__empty-btn{color:#f0b840;cursor:pointer;background:#d4940a1f;border:1px solid #d4940a66;border-radius:8px;padding:8px 14px;font-family:inherit;font-size:12px;font-weight:500;transition:all .12s}.picker__empty-btn:hover{color:#e4e2dc;background:#d4940a33}@keyframes picker-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.not-found{flex-direction:column;justify-content:center;align-items:center;min-height:100%;padding:48px 24px;display:flex;position:relative}.not-found__bg{z-index:0;background:radial-gradient(700px 500px at 30% 20%,#d4940a14,#0000 60%),radial-gradient(500px 400px at 75% 70%,#f0b8400a,#0000 55%),linear-gradient(#0d0d10 0%,#0a0a0c 50%);position:absolute;inset:0}.not-found__bg:before{content:"";background-image:linear-gradient(#ffffff04 1px,#0000 1px),linear-gradient(90deg,#ffffff04 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 30%,#000 0%,#0000 70%);mask-image:radial-gradient(70% 60% at 50% 30%,#000 0%,#0000 70%)}.not-found__content{z-index:1;text-align:center;width:100%;max-width:520px;margin:auto;animation:.5s cubic-bezier(.16,1,.3,1) backwards not-found-enter;position:relative}.not-found__code{letter-spacing:-.05em;background:linear-gradient(#f0b840 0%,#a06e00 100%);-webkit-text-fill-color:#0000;text-shadow:0 4px 24px #d4940a26;-webkit-background-clip:text;background-clip:text;margin-bottom:12px;font-size:120px;font-weight:700;line-height:1}.not-found__title{color:#e4e2dc;letter-spacing:-.03em;margin-bottom:12px;font-size:24px;font-weight:700}.not-found__description{color:#8e8c84;margin-bottom:28px;font-size:14px;line-height:1.6}.not-found__button{color:#8e8c84;background:linear-gradient(170deg,#19191ef5,#19191e);border:1px solid #2a2926;border-radius:8px;align-items:center;gap:8px;padding:12px 22px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.not-found__button:hover{color:#e4e2dc;background:linear-gradient(170deg,#1b1a1eed,#19191e);border-color:#d4940a66;transform:translateY(-1px);box-shadow:0 4px 14px #0000004d}@keyframes not-found-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.skills{flex-direction:column;align-items:center;min-height:100%;padding:28px 24px 24px;display:flex;position:relative}.skills__bg{z-index:0;background:radial-gradient(700px 500px at 30% 20%,#d4940a14,#0000 60%),radial-gradient(500px 400px at 75% 70%,#f0b8400a,#0000 55%),linear-gradient(#0d0d10 0%,#0a0a0c 50%);position:absolute;inset:0}.skills__bg:before{content:"";background-image:linear-gradient(#ffffff04 1px,#0000 1px),linear-gradient(90deg,#ffffff04 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 30%,#000 0%,#0000 70%);mask-image:radial-gradient(70% 60% at 50% 30%,#000 0%,#0000 70%)}.skills__content{z-index:1;width:100%;max-width:1280px;margin:0 auto;animation:.5s cubic-bezier(.16,1,.3,1) backwards skills-enter;position:relative}.skills__content--narrow{max-width:920px}.skills__title--left{text-align:left}.skills__hero{text-align:center;margin-bottom:18px}.skills__title{color:#e4e2dc;letter-spacing:-.03em;margin-bottom:6px;font-size:28px;font-weight:700}.skills__description{color:#8e8c84;margin:0;font-size:13px;line-height:1.5}.skills__controls{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.skills__search{flex:320px;align-items:center;min-width:240px;display:flex;position:relative}.skills__search-icon{color:#5a5850;pointer-events:none;display:inline-flex;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.skills__search-input{color:#e4e2dc;background:#19191e;border:1px solid #2a2926;border-radius:8px;width:100%;padding:10px 36px;font-family:inherit;font-size:13px;transition:border-color .12s,box-shadow .12s}.skills__search-input::placeholder{color:#5a5850}.skills__search-input:focus{border-color:#d4940a80;outline:none;box-shadow:0 0 0 3px #d4940a1f}.skills__search-clear{color:#5a5850;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:color .12s,background .12s;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.skills__search-clear:hover{color:#e4e2dc;background:#222228}.skills__section{letter-spacing:.12em;text-transform:uppercase;color:#5a5850;border-bottom:1px solid #2a2926;margin-bottom:10px;padding-bottom:6px;font-size:11px;font-weight:600}.skills__section+.skills__grid+.skills__section{margin-top:20px}.skills__grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:12px;display:grid}.skills__card{background:linear-gradient(170deg,#19191ef5,#19191e);border:1px solid #2a2926;border-radius:10px;flex-direction:column;padding:0;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;overflow:hidden}.skills__card:hover{border-color:#d4940a59;transform:translateY(-1px);box-shadow:0 4px 14px #0000004d}.skills__card-body{color:inherit;cursor:pointer;flex-direction:column;flex:1;gap:10px;padding:14px 16px 12px;text-decoration:none;display:flex}.skills__card-body:hover .skills__card-title{color:#f0b840}.skills__card-header{align-items:center;gap:10px;min-width:0;display:flex}.skills__card-title{color:#e4e2dc;letter-spacing:-.01em;text-overflow:ellipsis;flex:1;min-width:0;margin:0;font-size:14px;font-weight:600;transition:color .12s;overflow:hidden}.skills__card-description{color:#8e8c84;margin:0;font-size:12px;line-height:1.5}.skills__card-actions{border-top:1px solid #2a2926;align-items:center;gap:6px;margin-top:auto;padding:8px 16px 12px;display:flex}.skills__action{color:#8e8c84;cursor:pointer;background:0 0;border:1px solid #2a2926;border-radius:4px;justify-content:center;align-items:center;gap:6px;min-height:30px;padding:4px 10px;font-family:inherit;font-size:12px;font-weight:500;transition:color .12s,background .12s,border-color .12s;display:inline-flex}.skills__action:hover:not(:disabled){color:#e4e2dc;background:#222228;border-color:#d4940a66}.skills__action:focus-visible{border-color:#d4940a99;outline:none;box-shadow:0 0 0 3px #d4940a2e}.skills__action:disabled{opacity:.55;cursor:not-allowed}.skills__action--like{min-width:48px;margin-right:auto}.skills__action--like:hover:not(:disabled){color:#d94e3f;background:#d94e3f14;border-color:#d94e3f66}.skills__action--liked{color:#d94e3f;background:#d94e3f1a;border-color:#d94e3f80}.skills__action--liked:hover:not(:disabled){color:#d94e3f;background:#d94e3f29;border-color:#d94e3fb3}.skills__count{font-variant-numeric:tabular-nums;font-size:12px;line-height:1}.skills__copied{color:#3ec97a;font-size:12px;font-weight:500}.skills__empty{text-align:center;background:#19191e66;border:1px dashed #2a2926;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.skills__empty-text{color:#8e8c84;margin:0;font-size:13px}.skills__empty-btn{color:#f0b840;cursor:pointer;background:#d4940a1f;border:1px solid #d4940a66;border-radius:8px;padding:8px 14px;font-family:inherit;font-size:12px;font-weight:500;transition:all .12s}.skills__empty-btn:hover{color:#e4e2dc;background:#d4940a33}@keyframes skills-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.skills__new-btn{color:#f0b840;cursor:pointer;background:#d4940a1f;border:1px solid #d4940a66;border-radius:8px;align-items:center;gap:6px;padding:9px 14px;font-size:12px;font-weight:500;text-decoration:none;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.skills__new-btn:hover{color:#e4e2dc;background:#d4940a33;border-color:#d4940a99}.skills__action--admin{color:#f0b840;border-color:#d4940a66;text-decoration:none}.skills__action--admin:hover:not(:disabled){color:#e4e2dc;background:#d4940a29;border-color:#d4940a99}.skill-detail__header{align-items:center;gap:14px;margin-bottom:12px;display:flex}.skill-detail__icon{color:#d4940a;background:#d4940a1f;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.skill-detail__heading{min-width:0}.skill-detail__title{letter-spacing:-.02em;color:#e4e2dc;margin:0;font-size:22px;font-weight:700}.skill-detail__description{color:#8e8c84;margin:0 0 16px;font-size:14px;line-height:1.6}.skill-detail__actions{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:16px;display:flex}.skill-detail__body{color:#e4e2dc;white-space:pre-wrap;word-break:break-word;background:#19191e;border:1px solid #2a2926;border-radius:8px;margin:0;padding:16px 18px;font-family:Space Mono,monospace;font-size:12.5px;line-height:1.6;overflow-x:auto}.skills-form{flex-direction:column;gap:16px;margin-top:16px;display:flex}.skills-form__row{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:640px){.skills-form__row{grid-template-columns:1fr}}.skills-form__field{flex-direction:column;gap:6px;display:flex}.skills-form__field--narrow{max-width:320px}.skills-form__label{letter-spacing:.08em;text-transform:uppercase;color:#5a5850;font-size:11px;font-weight:600}.skills-form__hint{color:#5a5850;font-size:11px;line-height:1.5}.skills-form__hint code{background:#19191e;border:1px solid #2a2926;border-radius:3px;padding:1px 4px;font-family:Space Mono,monospace;font-size:10.5px}.skills-form__derived{background:#19191e;border:1px solid #2a2926;border-radius:8px;padding:12px 14px}.skills-form__derived-title{letter-spacing:.08em;text-transform:uppercase;color:#5a5850;margin-bottom:8px;font-size:11px;font-weight:600}.skills-form__derived-list{grid-template-columns:110px 1fr;gap:4px 12px;margin:0;display:grid}.skills-form__derived-list>div{display:contents}.skills-form__derived-list dt{color:#5a5850;text-transform:uppercase;letter-spacing:.08em;align-self:center;font-size:11px}.skills-form__derived-list dd{color:#e4e2dc;word-break:break-word;margin:0;font-size:13px;line-height:1.5}.skills-form__derived-mono{color:#f0b840;font-family:Space Mono,monospace;font-size:12px}.skills-form__derived-empty{color:#f0b840;margin:0;font-size:12.5px}.skills-form__derived-warning{color:#f0b840;background:#f0b84014;border:1px solid #f0b8404d;border-radius:4px;margin:10px 0 0;padding:8px 10px;font-size:12px;line-height:1.5}.skills-form__derived-warning code{color:#e4e2dc;background:#0000004d;border-radius:3px;padding:1px 4px;font-family:Space Mono,monospace;font-size:11.5px}.skills-form__input,.skills-form__textarea{color:#e4e2dc;background:#19191e;border:1px solid #2a2926;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:13px;transition:border-color .12s,box-shadow .12s}.skills-form__input:focus,.skills-form__textarea:focus{border-color:#d4940a80;outline:none;box-shadow:0 0 0 3px #d4940a1f}.skills-form__input:disabled,.skills-form__textarea:disabled{opacity:.7;cursor:not-allowed}.skills-form__textarea{resize:vertical;min-height:90px;line-height:1.5}.skills-form__textarea--mono{font-family:Space Mono,monospace;font-size:12.5px}.skills-form__error{color:#d94e3f;background:#d94e3f14;border:1px solid #d94e3f4d;border-radius:8px;padding:10px 12px;font-size:13px}.skills-form__actions{align-items:center;gap:8px;margin-top:4px;display:flex}.skills-form__cancel{color:#8e8c84;border:1px solid #2a2926;border-radius:8px;padding:8px 14px;font-size:12px;font-weight:500;text-decoration:none;transition:background .12s,color .12s}.skills-form__cancel:hover{color:#e4e2dc;background:#222228}.skills-form__submit{color:#e4e2dc;cursor:pointer;background:#d4940a33;border:1px solid #d4940a80;border-radius:8px;padding:9px 16px;font-family:inherit;font-size:12px;font-weight:600;transition:background .12s,border-color .12s}.skills-form__submit:hover:not(:disabled){background:#d4940a4d;border-color:#d4940ab3}.skills-form__submit:disabled{opacity:.6;cursor:not-allowed}.skills-form__danger{color:#d94e3f;cursor:pointer;background:#d94e3f14;border:1px solid #d94e3f59;border-radius:8px;align-items:center;gap:6px;margin-right:auto;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.skills-form__danger:hover:not(:disabled){background:#d94e3f29;border-color:#d94e3f8c}.skills-form__danger:disabled{opacity:.6;cursor:not-allowed}.admin{min-height:100%;display:flex;position:relative}.admin__bg{z-index:0;pointer-events:none;background:radial-gradient(700px 500px at 30% 20%,#d4940a0f,#0000 60%),linear-gradient(#0d0d10 0%,#0a0a0c 60%);position:absolute;inset:0}.admin__sidebar{z-index:1;background:#0000002e;border-right:1px solid #2a2926;flex-direction:column;flex:0 0 200px;gap:16px;padding:24px 16px;display:flex;position:relative}.admin__brand{letter-spacing:.16em;text-transform:uppercase;color:#5a5850;padding:0 8px;font-size:11px;font-weight:600}.admin__nav{flex-direction:column;gap:2px;display:flex}.admin__nav-link{color:#8e8c84;border-radius:4px;padding:8px 10px;font-size:13px;text-decoration:none;transition:background .12s,color .12s}.admin__nav-link:hover{color:#e4e2dc;background:#222228}.admin__content{z-index:1;flex:1;min-width:0;padding:28px 32px;position:relative}.admin__panel{width:100%;max-width:920px;margin:0 auto}.admin__panel--narrow{max-width:720px}.admin__panel-header{align-items:center;gap:12px;margin-bottom:20px;display:flex}.admin__title{letter-spacing:-.02em;color:#e4e2dc;flex:1;margin:0;font-size:22px;font-weight:700}.admin__lede{color:#8e8c84;margin:0 0 20px;font-size:13px;line-height:1.6}.admin__cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.admin__card{color:inherit;background:#19191e;border:1px solid #2a2926;border-radius:10px;flex-direction:column;gap:6px;padding:16px 18px;text-decoration:none;transition:border-color .12s,transform .12s;display:flex}.admin__card:hover{border-color:#d4940a66;transform:translateY(-1px)}.admin__card-title{color:#e4e2dc;font-size:14px;font-weight:600}.admin__card-description{color:#8e8c84;font-size:12.5px;line-height:1.5}.admin__primary-btn{color:#f0b840;cursor:pointer;background:#d4940a1f;border:1px solid #d4940a66;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:500;text-decoration:none;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.admin__primary-btn:hover{color:#e4e2dc;background:#d4940a33;border-color:#d4940a99}.admin__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.admin__list-item{background:#19191e;border:1px solid #2a2926;border-radius:8px;grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:12px 14px;display:grid}.admin__list-main{grid-area:1/1;align-items:center;gap:8px;min-width:0;display:flex}.admin__list-title{color:#e4e2dc;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;text-decoration:none;overflow:hidden}.admin__list-title:hover{color:#f0b840}.admin__list-badge{color:#8e8c84;background:#ffffff0a;border:1px solid #2a2926;border-radius:4px;padding:2px 8px;font-size:10.5px;font-weight:500}.admin__list-description{color:#8e8c84;grid-area:2/1;margin:0;font-size:12px;line-height:1.5}.admin__list-actions{grid-area:1/2/span 2;align-items:center;gap:6px;display:flex}.admin__action{color:#8e8c84;cursor:pointer;background:0 0;border:1px solid #2a2926;border-radius:4px;align-items:center;gap:6px;padding:6px 10px;font-family:inherit;font-size:12px;font-weight:500;text-decoration:none;transition:color .12s,background .12s,border-color .12s;display:inline-flex}.admin__action:hover:not(:disabled){color:#e4e2dc;background:#222228;border-color:#d4940a66}.admin__action:disabled{opacity:.55;cursor:not-allowed}.admin__action--primary{color:#f0b840;border-color:#d4940a66}.admin__action--primary:hover:not(:disabled){color:#e4e2dc;background:#d4940a29;border-color:#d4940a99}.admin__action--danger{color:#d94e3f;border-color:#d94e3f59}.admin__action--danger:hover:not(:disabled){color:#d94e3f;background:#d94e3f1a;border-color:#d94e3f8c}.admin__inline-form{flex:1;align-items:center;gap:8px;min-width:0;margin-bottom:12px;display:flex}.admin__inline-form .skills-form__input{flex:1;min-width:0}.admin__empty{text-align:center;color:#5a5850;border:1px dashed #2a2926;border-radius:8px;margin:0;padding:24px;font-size:13px}:root{--background:#0a0a0c;--foreground:#e4e2dc;--card:#19191e;--card-foreground:#e4e2dc;--popover:#131316;--popover-foreground:#e4e2dc;--primary:#d4940a;--primary-foreground:#0a0a0c;--secondary:#131316;--secondary-foreground:#e4e2dc;--muted:#131316;--muted-foreground:#8e8c84;--accent:#222228;--accent-foreground:#e4e2dc;--destructive:#d94e3f;--destructive-foreground:#fff;--border:#2a2926;--input:#2a2926;--ring:#f0b840;--radius:8px;--glow:#d4940a26}.app-shell{background:radial-gradient(ellipse 700px 500px at 30% 20%, #d4940a14, transparent 60%),radial-gradient(ellipse 500px 400px at 75% 70%, #f0b8400a, transparent 55%),linear-gradient(180deg, #0d0d10 0%, var(--background) 50%);color:var(--foreground);position:relative;overflow:hidden}.app-shell:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#ffffff04 1px,#0000 1px),linear-gradient(90deg,#ffffff04 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 30%,#000 0%,#0000 70%);mask-image:radial-gradient(70% 60% at 50% 30%,#000 0%,#0000 70%)}.glass-panel{border:1px solid color-mix(in srgb, var(--border) 70%, transparent);background:linear-gradient(170deg, color-mix(in srgb, var(--card) 96%, #d4940a0f), var(--card));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 1px #ffffff08,0 8px 24px #0000003d}.toolbar-surface{background:linear-gradient(170deg, color-mix(in srgb, var(--card) 96%, #d4940a0f), var(--card));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 24px #0000003d}.menu-btn{height:28px;color:var(--muted-foreground);white-space:nowrap;cursor:pointer;letter-spacing:.01em;background:0 0;border:none;border-radius:6px;outline:none;align-items:center;gap:5px;padding:0 10px;font-size:12px;font-weight:500;transition:background .12s,color .12s;display:inline-flex}.menu-btn:hover{background:color-mix(in srgb, var(--accent) 80%, transparent);color:var(--foreground)}.menu-btn:active{background:color-mix(in srgb, var(--accent) 100%, transparent)}.menu-btn:disabled{opacity:.35;pointer-events:none}.drag-overlay{border:2px dashed var(--primary);color:var(--primary-light,var(--ring));letter-spacing:.03em;z-index:10;pointer-events:none;opacity:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0a0cb3;justify-content:center;align-items:center;font-size:14px;font-weight:600;transition:opacity .18s;display:flex;position:absolute;inset:0}.drag-overlay.drag-active{opacity:1}.placeholder{color:var(--muted-foreground);letter-spacing:.01em;--fade-offset:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;font-size:13px;font-weight:400;animation:.4s cubic-bezier(.16,1,.3,1) backwards fade-in-up;display:flex}.placeholder svg{opacity:.25;stroke:var(--primary)}.placeholder span{opacity:.6}.placeholder .placeholder-hint{opacity:.35;font-size:11px}.checker-bg{border:1px solid color-mix(in srgb, var(--border) 60%, transparent);background-color:#111;background-image:linear-gradient(45deg,#1a1a1a 25%,#0000 25%),linear-gradient(-45deg,#1a1a1a 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#1a1a1a 75%),linear-gradient(-45deg,#0000 75%,#1a1a1a 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;border-radius:4px;overflow:hidden;box-shadow:0 0 0 1px #0000004d,0 12px 32px #0000004d}.tool-nav{position:relative}.tool-nav__menu{z-index:20;--fade-offset:6px;background:linear-gradient(170deg, color-mix(in srgb, var(--card) 96%, #d4940a0f), var(--card));border:1px solid color-mix(in srgb, var(--border) 70%, transparent);border-radius:8px;min-width:180px;margin-top:4px;padding:4px;animation:.15s cubic-bezier(.16,1,.3,1) fade-in-up;position:absolute;top:100%;left:0;box-shadow:inset 0 1px #ffffff08,0 12px 32px #0006}.tool-nav__item{width:100%;color:var(--muted-foreground);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:5px;padding:7px 10px;font-size:12px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:block}.tool-nav__item:hover{background:color-mix(in srgb, var(--accent) 80%, transparent);color:var(--foreground)}.tool-label{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600;line-height:1}[data-pz-content]{position:absolute;top:0;left:0}@keyframes fade-in-up{0%{opacity:0;transform:translateY(var(--fade-offset,6px))}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.tool-toolbar{border-bottom:1px solid color-mix(in srgb, var(--border) 70%, transparent);z-index:5;flex-direction:column;flex-shrink:0;display:flex}.tool-toolbar__row{flex-wrap:wrap;align-items:center;gap:4px;padding:6px 8px;display:flex}.tool-toolbar__row+.tool-toolbar__row{border-top:1px solid color-mix(in srgb, var(--border) 50%, transparent)}.tool-toolbar__row--disabled{opacity:.5;pointer-events:none}.tool-toolbar__separator{background:color-mix(in srgb, var(--border) 60%, transparent);align-self:stretch;width:1px;margin:4px}.tool-mode-switch{border:1px solid color-mix(in srgb, var(--border) 70%, transparent);background:#00000040;border-radius:6px;align-items:center;gap:2px;padding:2px;display:inline-flex}.tool-mode-btn{appearance:none;color:var(--muted-foreground);letter-spacing:.04em;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;height:22px;padding:0 12px;font-size:11px;font-weight:600;line-height:1;transition:background .16s,color .16s,box-shadow .16s;display:inline-flex}.tool-mode-btn:hover:not(:disabled):not(.active){color:var(--foreground);background:#ffffff0d}.tool-mode-btn.active{background:var(--primary);color:var(--primary-foreground);box-shadow:0 0 8px #d4940a4d}.tool-mode-btn:disabled{opacity:.35;cursor:not-allowed}.modal-overlay{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000a6;justify-content:center;align-items:center;animation:.2s modal-fade-in;display:flex;position:fixed;inset:0}.modal-content{background:linear-gradient(170deg, color-mix(in srgb, var(--card) 96%, #d4940a0a), var(--card));color:var(--popover-foreground);border:1px solid color-mix(in srgb, var(--border) 80%, transparent);border-radius:12px;min-width:400px;max-width:90vw;max-height:90vh;padding:24px;animation:.25s cubic-bezier(.16,1,.3,1) modal-slide-up;overflow-y:auto;box-shadow:inset 0 1px #ffffff08,0 24px 64px #00000080}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-title{letter-spacing:-.01em;font-size:15px;font-weight:600}.modal-close-btn{width:28px;height:28px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.modal-close-btn:hover{background:var(--accent);color:var(--foreground)}.modal-body{flex-direction:column;gap:12px;display:flex}.modal-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:24px;display:flex}.btn{white-space:nowrap;cursor:pointer;letter-spacing:.01em;border:none;border-radius:8px;justify-content:center;align-items:center;height:34px;padding:0 14px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.btn:disabled{pointer-events:none;opacity:.4}.btn--primary{background:var(--primary);color:var(--primary-foreground);box-shadow:0 1px 2px #0003,inset 0 0 0 1px #d4940a26}.btn--primary:hover{background:var(--ring);box-shadow:0 2px 8px #d4940a40,inset 0 0 0 1px #d4940a33}.btn--outline{color:var(--muted-foreground);border:1px solid var(--border);background:0 0}.btn--outline:hover{background:var(--accent);color:var(--foreground)}.btn--danger{color:#fff;background:#b3322f;box-shadow:0 1px 2px #00000040,inset 0 0 0 1px #ff78782e}.btn--danger:hover{background:#c93a37;box-shadow:0 2px 8px #c93a3759,inset 0 0 0 1px #ff787840}.modal-message{color:var(--muted-foreground);margin:0;font-size:13px;line-height:1.5}.input-field{border:1px solid var(--input);background:var(--background);width:100%;height:34px;color:var(--foreground);border-radius:8px;outline:none;padding:0 12px;font-size:13px;transition:border-color .16s,box-shadow .16s}.input-field:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow)}.image-preview-overlay{cursor:zoom-out;padding:32px}.image-preview-img{border:1px solid color-mix(in srgb, var(--border) 60%, transparent);cursor:default;background-color:#111;background-image:linear-gradient(45deg,#1a1a1a 25%,#0000 25%),linear-gradient(-45deg,#1a1a1a 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#1a1a1a 75%),linear-gradient(-45deg,#0000 75%,#1a1a1a 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;border-radius:10px;width:auto;max-width:min(92vw,1600px);height:auto;max-height:88vh;animation:.25s cubic-bezier(.16,1,.3,1) modal-slide-up;display:block;box-shadow:0 24px 64px #0000008c}.image-preview-close{background:color-mix(in srgb, var(--card) 75%, transparent);width:36px;height:36px;color:var(--foreground);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:background .15s,color .15s,transform .15s;display:flex;position:absolute;top:16px;right:16px}.image-preview-close:hover{background:var(--accent);transform:scale(1.05)}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.ie-app{flex-direction:column;height:100%;display:flex}.ie-aspect-group,.ie-rotation-group{align-items:center;gap:6px;display:flex}.ie-rotation-input{width:52px}.ie-rotation-suffix{color:var(--muted-foreground);opacity:.6;font-size:12px}.ie-size-inputs{align-items:center;gap:4px;display:flex}.ie-size-input{border:1px solid color-mix(in srgb, var(--border) 70%, transparent);width:64px;height:26px;color:var(--foreground);text-align:center;-moz-appearance:textfield;background:#0003;border-radius:6px;padding:0 6px;font-size:12px}.ie-size-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ie-size-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ie-size-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow);outline:none}.ie-size-input:disabled{opacity:.35;pointer-events:none}.ie-size-sep{color:var(--muted-foreground);opacity:.5;font-size:12px}.ie-checkbox-group{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:flex}.ie-checkbox{appearance:none;border:1px solid color-mix(in srgb, var(--border) 70%, transparent);cursor:pointer;background:#0003;border-radius:3px;flex-shrink:0;width:14px;height:14px;transition:border-color .16s,background .16s;position:relative}.ie-checkbox:checked{background:var(--primary);border-color:var(--primary)}.ie-checkbox:checked:after{content:"";border:solid var(--background);border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.ie-content{z-index:1;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.ie-canvas-wrapper{cursor:grab;border-radius:0;flex-shrink:0;position:relative;overflow:visible}.ie-crop-ghost{opacity:.3;pointer-events:none;-webkit-user-select:none;user-select:none;transform-origin:50%;max-width:none;max-height:none;position:absolute}.ie-frame{border:dashed var(--primary);border-width:calc(1px/var(--pz-scale,1));pointer-events:none;z-index:4;box-shadow:0 0 0 calc(1px/var(--pz-scale,1)) #d4940a1a;position:absolute}.ie-handle{--_s:calc(10px / var(--pz-scale,1));width:var(--_s);height:var(--_s);background:var(--primary);border:solid var(--primary-foreground);border-width:calc(2px/var(--pz-scale,1));z-index:5;border-radius:2px;transition:box-shadow .12s,transform .12s;position:absolute;transform:translate(-50%,-50%)}.ie-handle:hover{box-shadow:0 0 0 calc(3px/var(--pz-scale,1)) var(--glow),0 0 12px #d4940a4d;transform:translate(-50%,-50%)scale(1.15)}.ie-image-box{transform-origin:0 0;pointer-events:none;position:absolute;top:0;left:0}.ie-image-box .ie-handle,.ie-image-box .ie-rotation-handle{pointer-events:auto}.ie-rotation-line{width:calc(1px/var(--pz-scale,1));background:var(--primary);opacity:.6;pointer-events:none;z-index:5;position:absolute;transform:translate(-50%)}.ie-rotation-handle{--_s:calc(12px / var(--pz-scale,1));width:var(--_s);height:var(--_s);background:var(--primary);border:solid var(--primary-foreground);border-width:calc(2px/var(--pz-scale,1));z-index:6;cursor:grab;border-radius:50%;transition:box-shadow .12s,transform .12s;position:absolute;transform:translate(-50%,-50%)}.ie-rotation-handle:hover{box-shadow:0 0 0 calc(3px/var(--pz-scale,1)) var(--glow),0 0 12px #d4940a4d;transform:translate(-50%,-50%)scale(1.15)}.ie-rotation-handle:active{cursor:grabbing}.ie-snap-guide{opacity:.85;pointer-events:none;z-index:7;background:#f59e0b;position:absolute}.ie-snap-guide.vertical{width:calc(1px/var(--pz-scale,1));top:0;bottom:0;transform:translate(-50%)}.ie-snap-guide.horizontal{height:calc(1px/var(--pz-scale,1));left:0;right:0;transform:translateY(-50%)}.slicer-app{flex-direction:column;height:100%;display:flex}.slicer-param-group{align-items:center;gap:6px;display:flex}.slicer-num-input{text-align:center;width:52px;height:24px;color:var(--foreground);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);-moz-appearance:textfield;background:#0003;border-radius:6px;outline:none;padding:0 6px;font-size:12px;transition:border-color .16s,box-shadow .16s}.slicer-num-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.slicer-num-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.slicer-num-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow)}.slicer-num-input:disabled{opacity:.35;pointer-events:none}.slicer-info-group{align-items:center;gap:8px;display:flex}.slicer-info-text{color:var(--foreground);font-size:12px;font-weight:600}.slicer-info-dim{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:11px}.slicer-content{z-index:1;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.slicer-preview-area{--fade-offset:5px;animation:.3s cubic-bezier(.16,1,.3,1) backwards fade-in-up;display:inline-block}.slicer-image-wrapper{border-radius:4px;display:inline-block;position:relative;box-shadow:0 12px 32px #0000004d}.slicer-image-wrapper.checker-bg{overflow:visible}.slicer-canvas{display:block}.slicer-grid-overlay{pointer-events:none;position:absolute;inset:0}.slicer-grid-line{background:var(--primary);opacity:.7;position:absolute}.slicer-grid-line-v{width:1px;top:0;bottom:0;box-shadow:0 0 6px #d4940a4d}.slicer-grid-line-h{height:1px;left:0;right:0;box-shadow:0 0 6px #d4940a4d}.slicer-cell-overlay{pointer-events:none;position:absolute;inset:0}.slicer-cell{pointer-events:auto;position:absolute}.slicer-cell-actions{top:calc(6px/var(--pz-scale,1));right:calc(6px/var(--pz-scale,1));align-items:center;gap:calc(4px/var(--pz-scale,1));visibility:hidden;z-index:4;display:inline-flex;position:absolute}.slicer-cell:hover .slicer-cell-actions{visibility:visible}.slicer-region-overlay{pointer-events:none;position:absolute;inset:0}.slicer-region{border:calc(1px/var(--pz-scale,1)) solid #fff9;box-shadow:0 0 0 calc(1px/var(--pz-scale,1)) #0006 inset,0 0 calc(6px/var(--pz-scale,1)) #0000004d;pointer-events:auto;cursor:move;box-sizing:border-box;transition:border-color .12s;position:absolute}.slicer-region:hover{border-color:var(--primary)}.slicer-region.is-selected{border-color:var(--primary);box-shadow:0 0 0 calc(1px/var(--pz-scale,1)) #0009 inset,0 0 calc(8px/var(--pz-scale,1)) #d4940a80}.slicer-region-drawing{border:calc(1px/var(--pz-scale,1)) dashed var(--primary);pointer-events:none;box-sizing:border-box;background:#d4940a14;position:absolute}.slicer-region-handle{width:calc(8px/var(--pz-scale,1));height:calc(8px/var(--pz-scale,1));background:var(--primary);border:calc(1px/var(--pz-scale,1)) solid #fff;border-radius:calc(2px/var(--pz-scale,1));box-shadow:0 0 calc(3px/var(--pz-scale,1)) #0009;pointer-events:auto;z-index:2;box-sizing:border-box;position:absolute}.slicer-region-handle-nw{cursor:nwse-resize;top:0;left:0;transform:translate(-50%,-50%)}.slicer-region-handle-n{cursor:ns-resize;top:0;left:50%;transform:translate(-50%,-50%)}.slicer-region-handle-ne{cursor:nesw-resize;top:0;right:0;transform:translate(50%,-50%)}.slicer-region-handle-e{cursor:ew-resize;top:50%;right:0;transform:translate(50%,-50%)}.slicer-region-handle-se{cursor:nwse-resize;bottom:0;right:0;transform:translate(50%,50%)}.slicer-region-handle-s{cursor:ns-resize;bottom:0;left:50%;transform:translate(-50%,50%)}.slicer-region-handle-sw{cursor:nesw-resize;bottom:0;left:0;transform:translate(-50%,50%)}.slicer-region-handle-w{cursor:ew-resize;top:50%;left:0;transform:translate(-50%,-50%)}.slicer-region-actions{top:calc(6px/var(--pz-scale,1));right:calc(6px/var(--pz-scale,1));align-items:center;gap:calc(4px/var(--pz-scale,1));visibility:hidden;pointer-events:auto;z-index:3;display:inline-flex;position:absolute}.slicer-region:hover .slicer-region-actions,.slicer-region.is-selected .slicer-region-actions{visibility:visible}.slicer-region-close:hover{color:#fff;background:#c0392b;border-color:#e74c3c}.slicer-cell-btn{width:calc(24px/var(--pz-scale,1));height:calc(24px/var(--pz-scale,1));color:#fff;border-radius:calc(6px/var(--pz-scale,1));box-shadow:0 0 0 calc(1px/var(--pz-scale,1)) #00000040,0 calc(2px/var(--pz-scale,1)) calc(6px/var(--pz-scale,1)) #00000059;cursor:pointer;pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#14141473;border:1px solid #ffffff2e;justify-content:center;align-items:center;padding:0;transition:background .16s,color .16s,border-color .16s;display:inline-flex}.slicer-cell-btn svg{width:calc(14px/var(--pz-scale,1));height:calc(14px/var(--pz-scale,1))}.slicer-cell-btn:hover{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.slicer-cell-btn.is-copied{color:#fff;background:#1f8a4c;border-color:#2bb56a}.batch-trim-app{flex-direction:column;height:100%;display:flex}.batch-trim-content{z-index:1;flex:1;justify-content:center;align-items:center;padding:24px;display:flex;position:relative;overflow:auto}.batch-trim-grid{--fade-offset:5px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));align-self:start;gap:16px;width:100%;animation:.3s cubic-bezier(.16,1,.3,1) backwards fade-in-up;display:grid}.batch-trim-card{border:1px solid color-mix(in srgb, var(--border) 50%, transparent);background:color-mix(in srgb, var(--card) 80%, transparent);border-radius:8px;transition:border-color .15s,box-shadow .15s;position:relative;overflow:hidden}.batch-trim-card:hover{border-color:color-mix(in srgb, var(--border) 90%, transparent);box-shadow:0 4px 16px #0003}.batch-trim-card:hover .batch-trim-card-actions{opacity:1}.batch-trim-card-actions{z-index:2;opacity:0;align-items:center;gap:4px;transition:opacity .15s;display:inline-flex;position:absolute;top:6px;right:6px}.batch-trim-card-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1414148c;border:1px solid #ffffff2e;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:background .16s,color .16s,border-color .16s;display:inline-flex;box-shadow:0 0 0 1px #00000040,0 2px 6px #00000059}.batch-trim-card-btn svg{width:14px;height:14px}.batch-trim-card-btn:hover{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.batch-trim-card-btn.is-copied{color:#fff;background:#1f8a4c;border-color:#2bb56a}.batch-trim-card-btn--danger:hover{color:#fff;background:#c83232d9;border-color:#dc5050e6}.batch-trim-card-preview{aspect-ratio:1;justify-content:center;align-items:center;padding:8px;display:flex}.batch-trim-card-preview img{object-fit:contain;max-width:100%;max-height:100%;display:block}.batch-trim-card-preview .checker-bg{box-shadow:none;border:none;border-radius:2px}.batch-trim-card-info{border-top:1px solid color-mix(in srgb, var(--border) 40%, transparent);flex-direction:column;gap:2px;padding:8px 10px;display:flex}.batch-trim-card-name{color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:500;overflow:hidden}.batch-trim-card-dim{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:10px}.bgr-app{flex-direction:column;height:100%;display:flex}.bgr-color-group{align-items:center;gap:6px;display:flex}.bgr-color-row{align-items:center;gap:4px;display:flex}.bgr-color-swatch{border:2px solid color-mix(in srgb, var(--border) 80%, transparent);border-radius:6px;flex-shrink:0;width:24px;height:24px;transition:border-color .16s,box-shadow .16s,transform .16s;box-shadow:0 2px 6px #0003}.bgr-color-swatch:hover{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow),0 4px 10px #00000040;transform:scale(1.08)}.bgr-color-input{width:72px;height:24px;color:var(--foreground);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);background:#0003;border-radius:6px;outline:none;padding:0 6px;font-size:11px;transition:border-color .16s,box-shadow .16s}.bgr-color-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow)}.bgr-pick-btn{width:24px;height:24px;color:var(--muted-foreground);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);cursor:pointer;background:#0003;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:all .16s;display:flex}.bgr-pick-btn:hover{color:var(--foreground);border-color:var(--primary);background:var(--accent);transform:translateY(-1px)}.bgr-pick-btn.active{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary);box-shadow:0 0 8px #d4940a4d}.bgr-param-group{align-items:center;gap:6px;display:flex}.bgr-param-label{white-space:nowrap;align-items:center;gap:4px;display:flex}.bgr-param-value{text-align:right;font-variant-numeric:tabular-nums;min-width:24px;display:inline-block}.bgr-info{border:1px solid var(--muted-foreground);width:14px;height:14px;color:var(--muted-foreground);cursor:help;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:serif;font-size:9px;font-style:italic;font-weight:700;transition:border-color .16s,color .16s;display:inline-flex;position:relative}.bgr-info:hover{border-color:var(--primary);color:var(--primary)}.bgr-info:after{content:attr(data-tooltip);background:linear-gradient(170deg, color-mix(in srgb, var(--card) 96%, #d4940a0f), var(--card));width:240px;color:var(--popover-foreground);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);white-space:normal;pointer-events:none;opacity:0;z-index:100;border-radius:8px;padding:10px 12px;font-family:Space Mono,monospace;font-size:11px;font-style:normal;font-weight:400;line-height:1.5;transition:opacity .16s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 12px 32px #0006}.bgr-info:hover:after{opacity:1}.bgr-param-group:last-child .bgr-info:after{left:auto;right:0;transform:none}.bgr-toggle-label{cursor:pointer;align-items:center;gap:6px;display:flex}.bgr-toggle{border:1px solid color-mix(in srgb, var(--border) 70%, transparent);cursor:pointer;background:#ffffff14;border-radius:8px;flex-shrink:0;width:30px;height:16px;transition:background .2s,border-color .2s,box-shadow .2s;position:relative}.bgr-toggle:hover{background:#ffffff1f}.bgr-toggle.active{background:var(--primary);border-color:var(--primary);box-shadow:0 0 8px #d4940a40}.bgr-toggle.active .bgr-toggle-knob{background:var(--primary-foreground);transform:translate(14px)}.bgr-toggle-knob{background:var(--muted-foreground);border-radius:50%;width:10px;height:10px;transition:transform .2s cubic-bezier(.16,1,.3,1),background .2s;position:absolute;top:2px;left:2px}.bgr-slider{width:100px;accent-color:var(--primary);outline:none}.bgr-content{z-index:1;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.bgr-preview-area{--fade-offset:5px;animation:.3s cubic-bezier(.16,1,.3,1) backwards fade-in-up;display:inline-block}.bgr-canvas{display:block}.bgr-result-image{border-radius:4px;display:block;box-shadow:0 12px 32px #0000004d}.ai-bgr-error{color:#f87171;white-space:nowrap;margin-left:8px;font-size:12px}.dfr-app{flex-direction:column;height:100%;display:flex}.dfr-color-group{align-items:center;gap:6px;transition:opacity .16s;display:flex}.dfr-color-group--disabled{opacity:.35;pointer-events:none}.dfr-color-row{align-items:center;gap:4px;display:flex}.dfr-color-swatch{border:2px solid color-mix(in srgb, var(--border) 80%, transparent);border-radius:6px;flex-shrink:0;width:24px;height:24px;transition:border-color .16s,box-shadow .16s,transform .16s;box-shadow:0 2px 6px #0003}.dfr-color-swatch:hover{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow),0 4px 10px #00000040;transform:scale(1.08)}.dfr-color-input{width:72px;height:24px;color:var(--foreground);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);background:#0003;border-radius:6px;outline:none;padding:0 6px;font-size:11px;transition:border-color .16s,box-shadow .16s}.dfr-color-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow)}.dfr-pick-btn{width:24px;height:24px;color:var(--muted-foreground);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);cursor:pointer;background:#0003;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:all .16s;display:flex}.dfr-pick-btn:hover{color:var(--foreground);border-color:var(--primary);background:var(--accent);transform:translateY(-1px)}.dfr-pick-btn.active{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary);box-shadow:0 0 8px #d4940a4d}.dfr-pick-btn:disabled{opacity:.35;pointer-events:none}.dfr-param-group{align-items:center;gap:6px;display:flex}.dfr-param-label{white-space:nowrap;align-items:center;gap:4px;display:flex}.dfr-param-value{text-align:right;font-variant-numeric:tabular-nums;min-width:24px;display:inline-block}.dfr-info{border:1px solid var(--muted-foreground);width:14px;height:14px;color:var(--muted-foreground);cursor:help;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:serif;font-size:9px;font-style:italic;font-weight:700;transition:border-color .16s,color .16s;display:inline-flex;position:relative}.dfr-info:hover{border-color:var(--primary);color:var(--primary)}.dfr-info:after{content:attr(data-tooltip);background:linear-gradient(170deg, color-mix(in srgb, var(--card) 96%, #d4940a0f), var(--card));width:240px;color:var(--popover-foreground);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);white-space:normal;pointer-events:none;opacity:0;z-index:100;border-radius:8px;padding:10px 12px;font-family:Space Mono,monospace;font-size:11px;font-style:normal;font-weight:400;line-height:1.5;transition:opacity .16s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 12px 32px #0006}.dfr-info:hover:after{opacity:1}.dfr-param-group:last-child .dfr-info:after{left:auto;right:0;transform:none}.dfr-slider{width:100px;accent-color:var(--primary);outline:none}.dfr-content{z-index:1;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.dfr-preview-area{--fade-offset:5px;animation:.3s cubic-bezier(.16,1,.3,1) backwards fade-in-up;display:inline-block}.dfr-canvas{display:block}.dfr-result-image{border-radius:4px;display:block;box-shadow:0 12px 32px #0000004d}.generator-app{flex-direction:column;height:100%;display:flex}.generator-app>.drag-overlay{z-index:100;background:color-mix(in srgb, var(--primary) 12%, transparent);border-color:var(--primary);border-radius:12px;position:fixed}.generator-app>.drag-overlay span{color:var(--primary);font-size:16px}.generator-content{z-index:1;flex:1;position:relative;overflow:hidden}.generator-content:has(.placeholder){justify-content:center;align-items:center;display:flex}.generator-form{z-index:1;background:color-mix(in srgb, var(--card) 96%, transparent);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;flex-direction:column;gap:10px;width:100%;max-width:800px;margin:0 auto 16px;padding:12px;display:flex;position:relative;box-shadow:0 2px 8px #00000059}.prompt-textarea{resize:none;background:color-mix(in srgb, var(--background) 84%, transparent);width:100%;min-height:80px;max-height:200px;color:var(--foreground);border:1px solid color-mix(in srgb, var(--border) 85%, transparent);box-sizing:border-box;border-radius:10px;outline:none;padding:8px 10px;font-family:inherit;font-size:13px;line-height:1.5;transition:border-color .16s,box-shadow .16s}.prompt-textarea:focus{border-color:var(--ring);box-shadow:0 0 0 1px var(--ring)}.form-bottom-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.auth-required-notice{background:color-mix(in srgb, var(--primary) 10%, transparent);border:1px solid color-mix(in srgb, var(--primary) 35%, transparent);color:var(--foreground);border-radius:10px;align-items:center;gap:10px;padding:10px 14px;font-size:13px;line-height:1.4;display:flex}.auth-required-notice svg{color:var(--primary);flex-shrink:0}.auth-required-notice__text{flex:1;min-width:0}.auth-required-notice__link{background:var(--primary);color:var(--primary-foreground);border-radius:6px;flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:600;text-decoration:none;transition:filter .15s}.auth-required-notice__link:hover{filter:brightness(1.1)}.model-selector-select{background:color-mix(in srgb, var(--background) 84%, transparent);min-width:0;height:34px;color:var(--foreground);border:1px solid color-mix(in srgb, var(--border) 85%, transparent);cursor:pointer;border-radius:8px;outline:none;flex:1;padding:0 10px;font-size:12px;transition:border-color .16s,box-shadow .16s}.model-selector-select:focus{border-color:var(--ring);box-shadow:0 0 0 1px var(--ring)}.model-selector-select:hover{border-color:color-mix(in srgb, var(--ring) 56%, var(--border))}.aspect-ratio-select,.resolution-select,.grid-size-select{background:color-mix(in srgb, var(--background) 84%, transparent);width:72px;height:34px;color:var(--foreground);border:1px solid color-mix(in srgb, var(--border) 85%, transparent);cursor:pointer;border-radius:8px;outline:none;flex-shrink:0;padding:0 8px;font-size:12px;transition:border-color .16s,box-shadow .16s}.aspect-ratio-select:focus,.resolution-select:focus,.grid-size-select:focus{border-color:var(--ring);box-shadow:0 0 0 1px var(--ring)}.aspect-ratio-select:hover,.resolution-select:hover,.grid-size-select:hover{border-color:color-mix(in srgb, var(--ring) 56%, var(--border))}.resolution-select{width:64px}.generate-btn{background:var(--primary);height:34px;color:var(--primary-foreground);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;flex-shrink:0;margin-left:auto;padding:0 14px;font-size:12px;font-weight:600;transition:filter .15s,box-shadow .18s}.generate-btn:hover{filter:brightness(1.1);box-shadow:0 4px 12px #0003}.generate-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.result-image{border:1px solid color-mix(in srgb, var(--border) 85%, transparent);border-radius:12px;display:block;box-shadow:0 10px 24px #00000029}.result-image--pixelated{box-shadow:none;image-rendering:pixelated;image-rendering:crisp-edges;border:none;border-radius:0}.result-checker-wrap{line-height:0;display:inline-block}.loading-spinner{color:var(--muted-foreground);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-message{border:1px solid var(--destructive);max-width:760px;color:var(--destructive);background:#ff44441a;border-radius:10px;margin:20px auto;padding:12px;font-size:13px}.reference-image-bar{background:color-mix(in srgb, var(--background) 60%, transparent);border:1px solid color-mix(in srgb, var(--border) 50%, transparent);border-radius:8px;align-items:center;gap:8px;padding:6px 10px 6px 6px;display:flex}.reference-image-thumb-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:0;line-height:0;transition:transform .15s,box-shadow .15s;display:block}.reference-image-thumb-btn:hover{box-shadow:0 0 0 2px color-mix(in srgb, var(--ring) 55%, transparent);transform:scale(1.04)}.reference-image-thumb-btn:focus-visible{box-shadow:0 0 0 2px var(--ring);outline:none}.reference-image-thumb{object-fit:cover;border:1px solid color-mix(in srgb, var(--border) 60%, transparent);border-radius:6px;flex-shrink:0;width:36px;height:36px;display:block}.reference-image-label{color:var(--muted-foreground);flex:1;font-size:12px}.reference-image-action{width:24px;height:24px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s;display:flex}.reference-image-action:hover{color:var(--foreground);background:color-mix(in srgb, var(--accent) 70%, transparent)}.reference-image-action.reference-image-remove:hover{color:var(--destructive);background:color-mix(in srgb, var(--destructive) 12%, transparent)}.reference-image-action.is-copied,.reference-image-action.is-copied:hover{color:#22c55e;background:color-mix(in srgb, var(--accent) 70%, transparent)}.bg-color-group{border:1px solid color-mix(in srgb, var(--border) 85%, transparent);background:color-mix(in srgb, var(--background) 84%, transparent);border-radius:8px;flex-shrink:0;align-items:center;height:34px;transition:border-color .16s,box-shadow .16s;display:flex;overflow:hidden}.bg-color-group:focus-within{border-color:var(--ring);box-shadow:0 0 0 1px var(--ring)}.bg-color-group:hover{border-color:color-mix(in srgb, var(--ring) 56%, var(--border))}.bg-color-preview{border:1px solid color-mix(in srgb, var(--border) 60%, transparent);border-radius:4px;flex-shrink:0;width:22px;height:22px;margin-left:6px}.bg-color-input{width:80px;height:100%;color:var(--foreground);box-sizing:border-box;background:0 0;border:none;outline:none;padding:0 8px;font-size:12px}.pixel-art-style-select{background:color-mix(in srgb, var(--background) 84%, transparent);width:auto;min-width:180px;height:34px;color:var(--foreground);border:1px solid color-mix(in srgb, var(--border) 85%, transparent);cursor:pointer;border-radius:8px;outline:none;flex-shrink:0;padding:0 8px;font-size:12px;transition:border-color .16s,box-shadow .16s}.pixel-art-style-select:focus{border-color:var(--ring);box-shadow:0 0 0 1px var(--ring)}.pixel-art-style-select:hover{border-color:color-mix(in srgb, var(--ring) 56%, var(--border))}.pixel-art-preset-select{background:color-mix(in srgb, var(--background) 84%, transparent);width:auto;min-width:110px;height:34px;color:var(--foreground);border:1px solid color-mix(in srgb, var(--border) 85%, transparent);cursor:pointer;border-radius:8px;outline:none;flex-shrink:0;padding:0 8px;font-size:12px;transition:border-color .16s,box-shadow .16s}.pixel-art-preset-select:focus{border-color:var(--ring);box-shadow:0 0 0 1px var(--ring)}.pixel-art-preset-select:hover{border-color:color-mix(in srgb, var(--ring) 56%, var(--border))}.pixel-art-dim-field{border:1px solid color-mix(in srgb, var(--border) 85%, transparent);background:color-mix(in srgb, var(--background) 84%, transparent);border-radius:8px;flex-shrink:0;align-items:center;height:34px;transition:border-color .16s,box-shadow .16s;display:flex;overflow:hidden}.pixel-art-dim-field:focus-within{border-color:var(--ring);box-shadow:0 0 0 1px var(--ring)}.pixel-art-dim-field:hover{border-color:color-mix(in srgb, var(--ring) 56%, var(--border))}.pixel-art-dim-label{letter-spacing:.04em;height:100%;color:var(--muted-foreground);background:color-mix(in srgb, var(--background) 60%, transparent);border-right:1px solid color-mix(in srgb, var(--border) 60%, transparent);justify-content:center;align-items:center;padding:0 8px;font-size:11px;font-weight:600;display:flex}.pixel-art-dim-input{width:56px;height:100%;color:var(--foreground);text-align:center;box-sizing:border-box;background:0 0;border:none;outline:none;padding:0 6px;font-size:12px}.pixel-art-dim-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pixel-art-dim-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pixel-art-dim-input{appearance:textfield}.pixel-art-control-label{color:var(--foreground);align-items:center;gap:6px;font-size:12px;display:flex}.asm-app{flex-direction:column;height:100%;display:flex}.asm-param-group{align-items:center;gap:6px;display:flex}.asm-num-input{text-align:center;width:52px;height:24px;color:var(--foreground);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);-moz-appearance:textfield;background:#0003;border-radius:6px;outline:none;padding:0 6px;font-size:12px;transition:border-color .16s,box-shadow .16s}.asm-num-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.asm-num-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.asm-num-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow)}.asm-num-input--wide{width:64px}.asm-checkbox-group{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:flex}.asm-checkbox{appearance:none;border:1px solid color-mix(in srgb, var(--border) 70%, transparent);cursor:pointer;background:#0003;border-radius:3px;flex-shrink:0;width:14px;height:14px;transition:border-color .16s,background .16s;position:relative}.asm-checkbox:checked{background:var(--primary);border-color:var(--primary)}.asm-checkbox:checked:after{content:"";border:solid var(--background);border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.asm-checkbox:hover{border-color:var(--primary)}.asm-info-group{align-items:center;gap:8px;display:flex}.asm-info-text{color:var(--foreground);font-size:12px;font-weight:600}.asm-info-dim{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:11px}.asm-content{z-index:1;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.asm-grid-wrapper{--fade-offset:5px;border-radius:4px;animation:.3s cubic-bezier(.16,1,.3,1) backwards fade-in-up;display:inline-block;box-shadow:0 12px 32px #0000004d}.asm-grid{display:grid}.asm-cell{border:1px dashed color-mix(in srgb, var(--border) 40%, transparent);cursor:pointer;justify-content:center;align-items:center;transition:border-color .15s,background .15s;display:flex;position:relative;overflow:hidden}.asm-cell:hover{border-color:color-mix(in srgb, var(--primary) 50%, transparent);background:#d4940a0a}.asm-cell--filled{border-style:solid;border-color:color-mix(in srgb, var(--border) 60%, transparent)}.asm-cell--drop-target{border-color:var(--primary);background:#d4940a14;box-shadow:inset 0 0 12px #d4940a1a}.asm-cell-img{object-fit:contain;max-width:100%;max-height:100%;image-rendering:pixelated;pointer-events:none;display:block}.asm-cell-actions-overlay{pointer-events:none;z-index:6;position:absolute;overflow:hidden}.asm-cell-actions{pointer-events:auto;align-items:center;gap:3px;display:inline-flex;position:absolute;top:4px;right:4px}.asm-cell-btn{color:#fff;cursor:pointer;pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1414148c;border:1px solid #ffffff2e;border-radius:5px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;transition:background .16s,color .16s,border-color .16s;display:inline-flex;box-shadow:0 0 0 1px #00000040,0 2px 6px #00000059}.asm-cell-btn svg{width:12px;height:12px}.asm-cell-btn:hover{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.asm-cell-btn.is-copied{color:#fff;background:#1f8a4c;border-color:#2bb56a}.asm-cell-btn--danger:hover{color:#fff;background:#c83232d9;border-color:#dc5050e6}.tp-app{flex-direction:column;height:100%;display:flex}.tp-param-group{align-items:center;gap:6px;display:flex}.tp-num-input{text-align:center;width:52px;height:24px;color:var(--foreground);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);-moz-appearance:textfield;background:#0003;border-radius:6px;outline:none;padding:0 6px;font-size:12px;transition:border-color .16s,box-shadow .16s}.tp-num-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tp-num-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tp-num-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow)}.tp-num-input--wide{width:64px}.tp-checkbox-group{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:flex}.tp-checkbox{appearance:none;border:1px solid color-mix(in srgb, var(--border) 70%, transparent);cursor:pointer;background:#0003;border-radius:3px;flex-shrink:0;width:14px;height:14px;transition:border-color .16s,background .16s;position:relative}.tp-checkbox:checked{background:var(--primary);border-color:var(--primary)}.tp-checkbox:checked:after{content:"";border:solid var(--background);border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.tp-checkbox:hover{border-color:var(--primary)}.tp-info-group{align-items:center;gap:8px;display:flex}.tp-info-text{color:var(--foreground);font-size:12px;font-weight:600}.tp-info-dim{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:11px}.tp-select{height:24px;color:var(--foreground);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);cursor:pointer;appearance:none;background:#0003 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath fill='none' stroke='%23999' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M2 4l3 3 3-3'/%3E%3C/svg%3E") right 6px center no-repeat;border-radius:6px;outline:none;padding:0 22px 0 8px;font-size:12px;transition:border-color .16s,box-shadow .16s}.tp-select:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow)}.tp-select option{background:var(--background);color:var(--foreground)}.tp-overflow-warning{color:#e57373;font-size:11px;font-weight:500}.tp-content{z-index:1;flex:1;display:flex;position:relative;overflow:hidden}.tp-sidebar{border-left:1px solid color-mix(in srgb, var(--border) 60%, transparent);background:linear-gradient(170deg, color-mix(in srgb, var(--card) 96%, #d4940a0f), var(--card));--fade-offset:-6px;flex-direction:column;flex-shrink:0;width:240px;animation:.3s cubic-bezier(.16,1,.3,1) backwards fade-in-up;display:flex;overflow:hidden;box-shadow:-4px 0 16px #0003}.tp-panel-header{border-bottom:1px solid color-mix(in srgb, var(--border) 40%, transparent);color:var(--foreground);background:#00000026;flex-shrink:0;justify-content:space-between;align-items:center;gap:6px;padding:10px 12px;font-size:12px;font-weight:600;display:flex}.tp-panel-header .tool-label{flex:1}.tp-panel-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.tp-sprite-list{flex-direction:column;gap:2px;padding:4px;display:flex}.tp-sprite-item{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:4px 6px;transition:background .15s;display:flex}.tp-sprite-item:hover{background:color-mix(in srgb, var(--primary) 10%, transparent)}.tp-sprite-item--active{background:color-mix(in srgb, var(--primary) 18%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary) 40%, transparent)}.tp-sprite-thumb{border:1px solid color-mix(in srgb, var(--border) 60%, transparent);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;overflow:hidden}.tp-sprite-thumb img{object-fit:contain;max-width:100%;max-height:100%;image-rendering:pixelated;display:block}.tp-sprite-name{min-width:0;color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.tp-sprite-remove{width:20px;height:20px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.tp-sprite-remove svg{width:12px;height:12px}.tp-sprite-remove:hover{color:#fff;background:#c83232d9;border-color:#dc5050e6}.tp-sidebar-empty{text-align:center;color:var(--muted-foreground);flex:1;justify-content:center;align-items:center;padding:24px 16px;font-size:12px;line-height:1.5;display:flex}.tp-sprite-item .tp-sprite-thumb.checker-bg{box-shadow:none}.tp-canvas-area{flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.tp-atlas-canvas{image-rendering:pixelated;--fade-offset:5px;border-radius:4px;animation:.3s cubic-bezier(.16,1,.3,1) backwards fade-in-up;display:block;box-shadow:0 12px 32px #0000004d}.sa-app{flex-direction:column;height:100%;display:flex}.sa-param-group{align-items:center;gap:6px;display:flex}.sa-num-input{text-align:center;width:52px;height:24px;color:var(--foreground);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);-moz-appearance:textfield;background:#0003;border-radius:6px;outline:none;padding:0 6px;font-size:12px;transition:border-color .16s,box-shadow .16s}.sa-num-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.sa-num-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.sa-num-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow)}.sa-num-input:disabled{opacity:.35;pointer-events:none}.sa-select{height:24px;color:var(--foreground);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);cursor:pointer;background:#0003;border-radius:6px;outline:none;padding:0 6px;font-size:12px;transition:border-color .16s,box-shadow .16s}.sa-select:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow)}.sa-select:disabled{opacity:.35;pointer-events:none}.sa-select option{background:var(--card);color:var(--foreground)}.sa-playback-controls{align-items:center;gap:2px;display:flex}.sa-play-btn{color:var(--primary)!important}.sa-info-group{align-items:center;gap:8px;display:flex}.sa-info-text{color:var(--foreground);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.sa-info-dim{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:11px}.sa-body{flex:1;display:flex;overflow:hidden}.sa-content{z-index:1;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.sa-sheet-section{--fade-offset:5px;flex-direction:column;gap:8px;animation:.3s cubic-bezier(.16,1,.3,1) backwards fade-in-up;display:flex}.sa-sheet-wrapper{display:inline-block;position:relative}.sa-sheet-canvas{display:block}.sa-resize-handle{cursor:col-resize;background:color-mix(in srgb, var(--border) 60%, transparent);flex-shrink:0;width:4px;transition:background .15s}.sa-resize-handle:hover,.sa-resize-handle:active{background:var(--primary)}.sa-preview-panel{--fade-offset:5px;flex-shrink:0;justify-content:center;align-items:center;animation:.3s cubic-bezier(.16,1,.3,1) backwards fade-in-up;display:flex;overflow:hidden}.sa-preview-canvas{object-fit:contain;max-width:100%;max-height:100%;image-rendering:pixelated;display:block}.sa-grid-overlay{pointer-events:none;position:absolute;inset:0}.sa-grid-line{background:var(--primary);opacity:.4;position:absolute}.sa-grid-line-v{width:1px;top:0;bottom:0}.sa-grid-line-h{height:1px;left:0;right:0}.sa-frame-highlight{border:2px solid var(--primary);pointer-events:none;transition:left 80ms,top 80ms;position:absolute;box-shadow:0 0 8px #d4940a66}.sa-timeline{z-index:10;border-top:1px solid color-mix(in srgb, var(--border) 60%, transparent);--fade-offset:6px;padding:8px 16px;animation:.3s cubic-bezier(.16,1,.3,1) .1s backwards fade-in-up;position:relative}.sa-timeline-frames{gap:4px;padding-bottom:4px;display:flex;overflow-x:auto}.sa-timeline-frames::-webkit-scrollbar{height:4px}.sa-timeline-frames::-webkit-scrollbar-thumb{border-radius:2px}.sa-timeline-frame{border:1px solid color-mix(in srgb, var(--border) 50%, transparent);cursor:pointer;background:0 0;border-radius:6px;flex-direction:column;flex-shrink:0;align-items:center;gap:3px;padding:4px;transition:border-color .12s,background .12s;display:flex}.sa-timeline-frame:hover{background:color-mix(in srgb, var(--accent) 60%, transparent);border-color:color-mix(in srgb, var(--border) 80%, transparent)}.sa-timeline-frame--active{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, transparent);box-shadow:0 0 6px #d4940a26}.sa-thumb-canvas{image-rendering:pixelated;display:block}.sa-timeline-frame-num{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:9px}.extract-style-app{flex-direction:column;height:100%;min-height:0;display:flex}.extract-style-content{flex:1;justify-content:center;align-items:center;min-height:0;padding:24px;display:flex;overflow:hidden}.extract-style-result{color:#e4e2dc;white-space:pre-wrap;word-break:break-word;background:#19191e;border:1px solid #2a2926;border-radius:8px;max-width:min(820px,100%);max-height:100%;margin:0;padding:20px 24px;font-family:Space Mono,monospace;font-size:12.5px;line-height:1.55;overflow:auto;box-shadow:0 8px 32px #00000040}.describe-image-app{flex-direction:column;height:100%;min-height:0;display:flex}.describe-image-content{flex:1;justify-content:center;align-items:center;min-height:0;padding:24px;display:flex;overflow:hidden}.describe-image-result{color:#e4e2dc;white-space:pre-wrap;word-break:break-word;background:#19191e;border:1px solid #2a2926;border-radius:8px;max-width:min(820px,100%);max-height:100%;margin:0;padding:20px 24px;font-family:Space Mono,monospace;font-size:12.5px;line-height:1.55;overflow:auto;box-shadow:0 8px 32px #00000040}.nav-cube{--nav-cube-size:44px;width:var(--nav-cube-size);height:var(--nav-cube-size);pointer-events:none;-webkit-user-select:none;user-select:none;--fade-offset:-6px;animation:.3s cubic-bezier(.16,1,.3,1) backwards fade-in-up;position:relative}.nav-cube__scene{perspective:260px;pointer-events:none;width:100%;height:100%}.nav-cube__cube{width:100%;height:100%;transform-style:preserve-3d;pointer-events:none;position:relative;transform:rotateX(-26deg)rotateY(-32deg)}.nav-cube__face{pointer-events:auto;cursor:pointer;background:color-mix(in srgb, var(--card) 78%, #d4940a17);border:1px solid color-mix(in srgb, var(--border) 80%, transparent);width:100%;height:100%;color:color-mix(in srgb, var(--foreground) 76%, transparent);letter-spacing:.06em;text-transform:uppercase;backface-visibility:hidden;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-content:center;align-items:center;margin:0;font-family:inherit;font-size:7px;font-weight:700;transition:background .14s,color .14s,border-color .14s;display:flex;position:absolute;inset:0;box-shadow:0 0 #0000}.nav-cube__face:hover{background:color-mix(in srgb, var(--primary) 22%, var(--card));color:var(--primary);border-color:var(--primary)}.nav-cube__face:active{background:color-mix(in srgb, var(--primary) 32%, var(--card))}.pxa-app{flex-direction:column;height:100%;display:flex}.pxa-size-inputs{align-items:center;gap:6px;display:flex}.pxa-size-sep{color:var(--muted-foreground);opacity:.5;font-size:12px}.pxa-input{border:1px solid color-mix(in srgb, var(--border) 70%, transparent);width:56px;height:26px;color:var(--foreground);text-align:center;background:#0003;border-radius:6px;padding:0 6px;font-family:inherit;font-size:12px}.pxa-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow);outline:none}.pxa-input:disabled{opacity:.35;pointer-events:none}.pxa-input--narrow{width:44px}.pxa-hex-input{text-align:left;letter-spacing:.04em;text-transform:uppercase;width:86px}.pxa-check{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:flex}.pxa-checkbox{appearance:none;border:1px solid color-mix(in srgb, var(--border) 70%, transparent);cursor:pointer;background:#0003;border-radius:3px;flex-shrink:0;width:14px;height:14px;transition:border-color .16s,background .16s;position:relative}.pxa-checkbox:checked{background:var(--primary);border-color:var(--primary)}.pxa-checkbox:checked:after{content:"";border:solid var(--background);border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.pxa-brush-group{align-items:center;gap:8px;display:flex}.pxa-slider{width:96px;accent-color:var(--primary);outline:none}.pxa-slider--thin{width:100%;height:12px}.pxa-brush-value{color:var(--muted-foreground);font-variant-numeric:tabular-nums;text-align:right;min-width:36px;font-size:11px}.pxa-cursor-pos-overlay{z-index:5;border:1px solid color-mix(in srgb, var(--border) 60%, transparent);color:var(--muted-foreground);font-variant-numeric:tabular-nums;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;border-radius:6px;padding:4px 8px;font-size:11px;position:absolute;bottom:10px;right:10px}.pxa-color-group{align-items:center;gap:6px;display:flex}.pxa-color-swatch{border:2px solid color-mix(in srgb, var(--border) 80%, transparent);cursor:pointer;border-radius:6px;flex-shrink:0;width:26px;height:26px;transition:border-color .16s,box-shadow .16s,transform .16s;display:inline-block;position:relative;overflow:hidden;box-shadow:0 2px 6px #0003}.pxa-color-swatch:hover{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow),0 4px 10px #00000040;transform:scale(1.06)}.pxa-color-native{opacity:0;cursor:pointer;border:none;padding:0;position:absolute;inset:0}.pxa-mini-btn{justify-content:center;align-items:center;width:26px;height:26px;padding:0;font-size:16px;line-height:1;display:inline-flex}.pxa-workspace{z-index:1;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.pxa-tools-sidebar{z-index:5;border:1px solid color-mix(in srgb, var(--border) 60%, transparent);background:linear-gradient(170deg, color-mix(in srgb, var(--card) 96%, #d4940a0f), var(--card));border-radius:8px;flex-direction:column;align-items:center;gap:3px;width:44px;padding:6px 4px;animation:.3s backwards fade-in;display:flex;position:absolute;top:50%;left:10px;transform:translateY(-50%);box-shadow:0 4px 16px #0003}.pxa-tool{width:32px;height:32px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s,box-shadow .12s;display:inline-flex}.pxa-tool:hover{color:var(--foreground);background:color-mix(in srgb, var(--accent) 70%, transparent)}.pxa-tool--active{color:var(--primary-foreground);background:var(--primary);box-shadow:0 0 8px #d4940a4d}.pxa-tool--active:hover{color:var(--primary-foreground);background:var(--primary)}.pxa-tool__icon{width:18px;height:18px;display:inline-flex}.pxa-tool__icon svg{width:100%;height:100%}.pxa-content{flex:1;justify-content:center;align-items:center;min-width:0;display:flex;position:relative;overflow:hidden}.pxa-stage{touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;background:0 0;flex-shrink:0;position:relative;overflow:visible}.pxa-stage--move{cursor:grab}.pxa-stage--move:active{cursor:grabbing}.pxa-canvas{width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;pointer-events:none;display:block;position:absolute;inset:0}.pxa-canvas--checker{z-index:0}.pxa-canvas--preview{z-index:2}.pxa-grid{pointer-events:none;z-index:3;background-image:linear-gradient(to right, #ffffff24 0, #ffffff24 calc(1px / var(--pz-scale,1)), transparent calc(1px / var(--pz-scale,1))),linear-gradient(to bottom, #ffffff24 0, #ffffff24 calc(1px / var(--pz-scale,1)), transparent calc(1px / var(--pz-scale,1)));opacity:clamp(0,(var(--pz-scale,1) - 3)/3,1);mix-blend-mode:screen;background-size:1px 1px;position:absolute;inset:0}.pxa-resize-handle{z-index:2;background:0 0;flex-shrink:0;transition:background .15s;position:relative}.pxa-resize-handle:before{content:"";background:color-mix(in srgb, var(--primary) 40%, transparent);opacity:0;transition:opacity .15s;position:absolute}.pxa-resize-handle:hover:before,.pxa-resize-handle:active:before{opacity:1}.pxa-resize-handle--v{cursor:ew-resize;width:4px}.pxa-resize-handle--v:before{inset:0 1px}.pxa-resize-handle--h{cursor:ns-resize;height:4px}.pxa-resize-handle--h:before{inset:1px 0}.pxa-sidebar{border-left:1px solid color-mix(in srgb, var(--border) 60%, transparent);background:linear-gradient(170deg, color-mix(in srgb, var(--card) 96%, #d4940a0f), var(--card));--fade-offset:-6px;flex-direction:column;flex-shrink:0;min-width:200px;max-width:560px;animation:.3s cubic-bezier(.16,1,.3,1) backwards fade-in-up;display:flex;overflow:hidden;box-shadow:-4px 0 16px #0003}.pxa-layers{flex-direction:column;flex-grow:0;flex-shrink:1;min-height:100px;display:flex;overflow:hidden}.pxa-palette-panel{flex-direction:column;flex:auto;min-height:100px;display:flex;overflow:hidden}.pxa-panel-header{border-bottom:1px solid color-mix(in srgb, var(--border) 40%, transparent);background:#00000026;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.pxa-panel-actions{gap:2px;display:flex}.pxa-panel-body{flex:1;min-height:0;overflow-y:auto}.pxa-icon-btn{width:24px;height:24px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.pxa-icon-btn svg{width:14px;height:14px}.pxa-icon-btn:hover{color:var(--foreground);background:color-mix(in srgb, var(--accent) 80%, transparent)}.pxa-layers__list{flex-direction:column;gap:4px;padding:6px 6px 12px;display:flex}.pxa-layer{cursor:pointer;background:#ffffff05;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;transition:background .12s,border-color .12s;display:flex}.pxa-layer:hover{background:#ffffff0a}.pxa-layer--active{background:color-mix(in srgb, var(--primary) 15%, transparent);border-color:color-mix(in srgb, var(--primary) 55%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--primary) 30%, transparent) inset}.pxa-layer__eye{width:22px;height:22px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .12s,background .12s;display:inline-flex}.pxa-layer__eye svg{width:14px;height:14px}.pxa-layer__eye:hover{color:var(--foreground);background:#ffffff0d}.pxa-layer__eye--off{opacity:.45}.pxa-layer__thumb{border:1px solid color-mix(in srgb, var(--border) 60%, transparent);background-color:#2c2c2c;background-image:linear-gradient(45deg,#242424 25%,#0000 25% 75%,#242424 75%),linear-gradient(45deg,#242424 25%,#0000 25% 75%,#242424 75%);background-position:0 0,3px 3px;background-size:6px 6px;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;overflow:hidden}.pxa-layer__thumb img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;display:block}.pxa-layer__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.pxa-layer__name{width:100%;color:var(--foreground);background:0 0;border:1px solid #0000;border-radius:3px;outline:none;padding:2px 4px;font-family:inherit;font-size:12px;transition:border-color .12s,background .12s}.pxa-layer__name:hover{border-color:color-mix(in srgb, var(--border) 60%, transparent)}.pxa-layer__name:focus{border-color:var(--primary);background:#00000040}.pxa-layer__opacity-row{align-items:center;gap:6px;display:flex}.pxa-layer__opacity-value{color:var(--muted-foreground);opacity:.7;font-variant-numeric:tabular-nums;text-align:right;min-width:24px;font-size:10px}.pxa-palette{flex-wrap:wrap;align-content:flex-start;gap:4px;padding:10px 12px 14px;display:flex}.pxa-swatch{cursor:pointer;border:1px solid #0006;border-radius:3px;flex-shrink:0;width:20px;height:20px;padding:0;transition:transform .12s,box-shadow .12s,border-color .12s;box-shadow:inset 0 0 0 1px #ffffff0f}.pxa-swatch:hover{z-index:1;border-color:var(--primary);box-shadow:0 0 0 1px var(--primary),0 2px 6px #0006;transform:scale(1.15)}.pxa-swatch--active{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary),0 0 0 3px #0009;transform:scale(1.12)}.vxe-app{flex-direction:column;height:100%;display:flex}.vxe-size-inputs{align-items:center;gap:6px;display:flex}.vxe-size-sep{color:var(--muted-foreground);opacity:.5;font-size:12px}.vxe-input{border:1px solid color-mix(in srgb, var(--border) 70%, transparent);width:52px;height:26px;color:var(--foreground);text-align:center;background:#0003;border-radius:6px;padding:0 6px;font-family:inherit;font-size:12px}.vxe-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow);outline:none}.vxe-hex-input{text-align:left;letter-spacing:.04em;text-transform:uppercase;width:86px}.vxe-check{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:flex}.vxe-checkbox{appearance:none;border:1px solid color-mix(in srgb, var(--border) 70%, transparent);cursor:pointer;background:#0003;border-radius:3px;flex-shrink:0;width:14px;height:14px;transition:border-color .16s,background .16s;position:relative}.vxe-checkbox:checked{background:var(--primary);border-color:var(--primary)}.vxe-checkbox:checked:after{content:"";border:solid var(--background);border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.vxe-color-group{align-items:center;gap:6px;display:flex}.vxe-color-swatch{border:2px solid color-mix(in srgb, var(--border) 80%, transparent);cursor:pointer;border-radius:6px;flex-shrink:0;width:26px;height:26px;transition:border-color .16s,box-shadow .16s,transform .16s;display:inline-block;position:relative;overflow:hidden;box-shadow:0 2px 6px #0003}.vxe-color-swatch:hover{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow),0 4px 10px #00000040;transform:scale(1.06)}.vxe-color-native{opacity:0;cursor:pointer;border:none;padding:0;position:absolute;inset:0}.vxe-workspace{z-index:1;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.vxe-tools-sidebar{z-index:5;border:1px solid color-mix(in srgb, var(--border) 60%, transparent);background:linear-gradient(170deg, color-mix(in srgb, var(--card) 96%, #d4940a0f), var(--card));border-radius:8px;flex-direction:column;align-items:center;gap:3px;width:44px;padding:6px 4px;animation:.3s backwards fade-in;display:flex;position:absolute;top:50%;left:10px;transform:translateY(-50%);box-shadow:0 4px 16px #0003}.vxe-tool{width:32px;height:32px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s,box-shadow .12s;display:inline-flex}.vxe-tool:hover{color:var(--foreground);background:color-mix(in srgb, var(--accent) 70%, transparent)}.vxe-tool--active{color:var(--primary-foreground);background:var(--primary);box-shadow:0 0 8px #d4940a4d}.vxe-tool--active:hover{color:var(--primary-foreground);background:var(--primary)}.vxe-tool__icon{width:18px;height:18px;display:inline-flex}.vxe-tool__icon svg{width:100%;height:100%}.vxe-content{background:var(--background);flex:1;justify-content:stretch;align-items:stretch;min-width:0;display:flex;position:relative;overflow:hidden}.vxe-canvas{touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;background:0 0;width:100%;height:100%;display:block}.vxe-stats-overlay,.vxe-hint-overlay{z-index:5;border:1px solid color-mix(in srgb, var(--border) 60%, transparent);color:var(--muted-foreground);font-variant-numeric:tabular-nums;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;border-radius:6px;padding:4px 10px;font-size:11px;position:absolute}.vxe-stats-overlay{top:10px;left:10px}.vxe-hint-overlay{white-space:nowrap;text-overflow:ellipsis;max-width:calc(100% - 24px);bottom:10px;left:50%;overflow:hidden;transform:translate(-50%)}.vxe-view-controls{z-index:5;pointer-events:none;flex-direction:column;align-items:center;gap:28px;display:flex;position:absolute;top:16px;right:16px}.vxe-view-controls>*{pointer-events:auto}.vxe-proj-toggle{border:1px solid color-mix(in srgb, var(--border) 55%, transparent);background:linear-gradient(170deg, color-mix(in srgb, var(--card) 94%, #d4940a14), color-mix(in srgb, var(--card) 98%, transparent));color:var(--foreground);cursor:pointer;letter-spacing:.06em;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:border-color .14s,color .14s,transform .14s;animation:.3s backwards fade-in;display:inline-flex;box-shadow:inset 0 1px #ffffff0a,0 8px 22px #00000059}.vxe-proj-toggle:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.vxe-proj-toggle[aria-pressed=true]{border-color:color-mix(in srgb, var(--primary) 80%, transparent);color:var(--primary)}.vxe-proj-toggle__icon{width:16px;height:16px;display:inline-flex}.vxe-proj-toggle__icon svg{width:100%;height:100%}.vxe-proj-toggle__label{white-space:nowrap}.vxe-resize-handle{z-index:2;background:0 0;flex-shrink:0;transition:background .15s;position:relative}.vxe-resize-handle:before{content:"";background:color-mix(in srgb, var(--primary) 40%, transparent);opacity:0;transition:opacity .15s;position:absolute}.vxe-resize-handle:hover:before,.vxe-resize-handle:active:before{opacity:1}.vxe-resize-handle--v{cursor:ew-resize;width:4px}.vxe-resize-handle--v:before{inset:0 1px}.vxe-sidebar{border-left:1px solid color-mix(in srgb, var(--border) 60%, transparent);background:linear-gradient(170deg, color-mix(in srgb, var(--card) 96%, #d4940a0f), var(--card));--fade-offset:-6px;flex-direction:column;flex-shrink:0;min-width:200px;max-width:560px;animation:.3s cubic-bezier(.16,1,.3,1) backwards fade-in-up;display:flex;overflow:hidden;box-shadow:-4px 0 16px #0003}.vxe-palette-panel{flex-direction:column;flex:auto;min-height:100px;display:flex;overflow:hidden}.vxe-panel-header{border-bottom:1px solid color-mix(in srgb, var(--border) 40%, transparent);background:#00000026;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.vxe-panel-actions{gap:2px;display:flex}.vxe-panel-body{flex:1;min-height:0;overflow-y:auto}.vxe-icon-btn{width:24px;height:24px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.vxe-icon-btn svg{width:14px;height:14px}.vxe-icon-btn:hover{color:var(--foreground);background:color-mix(in srgb, var(--accent) 80%, transparent)}.vxe-palette{flex-wrap:wrap;align-content:flex-start;gap:4px;padding:10px 12px 14px;display:flex}.vxe-swatch{cursor:pointer;border:1px solid #0006;border-radius:3px;flex-shrink:0;width:20px;height:20px;padding:0;transition:transform .12s,box-shadow .12s,border-color .12s;box-shadow:inset 0 0 0 1px #ffffff0f}.vxe-swatch:hover{z-index:1;border-color:var(--primary);box-shadow:0 0 0 1px var(--primary),0 2px 6px #0006;transform:scale(1.15)}.vxe-swatch--active{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary),0 0 0 3px #0009;transform:scale(1.12)}.pa3-app{flex-direction:column;height:100%;display:flex}.pa3-size-inputs{align-items:center;gap:6px;display:flex}.pa3-size-sep{color:var(--muted-foreground);opacity:.5;font-size:12px}.pa3-input{border:1px solid color-mix(in srgb, var(--border) 70%, transparent);width:52px;height:26px;color:var(--foreground);text-align:center;background:#0003;border-radius:6px;padding:0 6px;font-family:inherit;font-size:12px}.pa3-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow);outline:none}.pa3-input:disabled{opacity:.35;pointer-events:none}.pa3-input--narrow{width:44px}.pa3-hex-input{text-align:left;letter-spacing:.04em;text-transform:uppercase;width:86px}.pa3-check{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:flex}.pa3-checkbox{appearance:none;border:1px solid color-mix(in srgb, var(--border) 70%, transparent);cursor:pointer;background:#0003;border-radius:3px;flex-shrink:0;width:14px;height:14px;transition:border-color .16s,background .16s;position:relative}.pa3-checkbox:checked{background:var(--primary);border-color:var(--primary)}.pa3-checkbox:checked:after{content:"";border:solid var(--background);border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.pa3-brush-group{align-items:center;gap:8px;display:flex}.pa3-slider{width:96px;accent-color:var(--primary);outline:none}.pa3-color-group{align-items:center;gap:6px;display:flex}.pa3-color-swatch{border:2px solid color-mix(in srgb, var(--border) 80%, transparent);cursor:pointer;border-radius:6px;flex-shrink:0;width:26px;height:26px;display:inline-block;position:relative;overflow:hidden}.pa3-color-swatch:hover{border-color:var(--primary)}.pa3-color-swatch--sm{border-radius:4px;width:20px;height:20px}.pa3-color-native{opacity:0;cursor:pointer;border:none;padding:0;position:absolute;inset:0}.pa3-select{border:1px solid color-mix(in srgb, var(--border) 70%, transparent);color:var(--foreground);cursor:pointer;background:#0003;border-radius:6px;padding:4px 8px;font-family:inherit;font-size:12px}.pa3-side-badge{letter-spacing:.08em;text-transform:uppercase;color:var(--primary);font-size:12px;font-weight:600}.pa3-side-badge--floating{z-index:5;background:color-mix(in srgb, var(--card) 88%, transparent);border:1px solid color-mix(in srgb, var(--border) 60%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:6px;padding:4px 10px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.pa3-back-btn{z-index:5;border:1px solid color-mix(in srgb, var(--border) 60%, transparent);background:color-mix(in srgb, var(--card) 92%, transparent);height:28px;color:var(--muted-foreground);white-space:nowrap;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:6px;align-items:center;padding:0 10px;font-family:inherit;font-size:12px;font-weight:500;transition:background .12s,color .12s;display:inline-flex;position:absolute;top:12px;left:12px}.pa3-back-btn:hover{background:color-mix(in srgb, var(--accent) 80%, transparent);color:var(--foreground)}.pa3-workspace{z-index:1;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.pa3-tools-sidebar{z-index:5;border:1px solid color-mix(in srgb, var(--border) 60%, transparent);background:linear-gradient(170deg, color-mix(in srgb, var(--card) 96%, #d4940a0f), var(--card));border-radius:8px;flex-direction:column;align-items:center;gap:3px;width:44px;padding:6px 4px;animation:.3s backwards fade-in;display:flex;position:absolute;top:50%;left:10px;transform:translateY(-50%);box-shadow:0 4px 16px #0003}.pa3-tool{width:32px;height:32px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.pa3-tool:hover:not(:disabled){color:var(--foreground);background:color-mix(in srgb, var(--accent) 70%, transparent)}.pa3-tool:disabled{opacity:.35;cursor:default}.pa3-tool--active{color:var(--primary-foreground);background:var(--primary)}.pa3-tool--active:hover{background:var(--primary)}.pa3-tool__icon{width:18px;height:18px;display:inline-flex}.pa3-tool__icon svg{width:100%;height:100%}.pa3-content{background:var(--background);flex:1;justify-content:center;align-items:center;min-width:0;display:flex;position:relative;overflow:hidden}.pa3-content--hidden{display:none}.pa3-canvas{touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;background:0 0;width:100%;height:100%;display:block;position:absolute;inset:0}.pa3-stage{touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;background:0 0;flex-shrink:0;position:relative;overflow:visible}.pa3-stage--move{cursor:grab}.pa3-stage--move:active{cursor:grabbing}.pa3-stage-canvas{width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;pointer-events:none;display:block;position:absolute;inset:0}.pa3-stage-canvas--checker{z-index:0}.pa3-stage-canvas--preview{z-index:2}.pa3-stage-grid{pointer-events:none;z-index:3;background-image:linear-gradient(to right, #ffffff24 0, #ffffff24 calc(1px / var(--pz-scale,1)), transparent calc(1px / var(--pz-scale,1))),linear-gradient(to bottom, #ffffff24 0, #ffffff24 calc(1px / var(--pz-scale,1)), transparent calc(1px / var(--pz-scale,1)));opacity:clamp(0,(var(--pz-scale,1) - 3)/3,1);mix-blend-mode:screen;background-size:1px 1px;position:absolute;inset:0}.pa3-cursor-pos-overlay{z-index:5;border:1px solid color-mix(in srgb, var(--border) 60%, transparent);color:var(--muted-foreground);font-variant-numeric:tabular-nums;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;border-radius:6px;padding:4px 8px;font-size:11px;position:absolute;bottom:10px;right:10px}.pa3-slots-panel{z-index:5;border:1px solid color-mix(in srgb, var(--border) 60%, transparent);background:linear-gradient(170deg, color-mix(in srgb, var(--card) 94%, #d4940a14), color-mix(in srgb, var(--card) 98%, transparent));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;flex-direction:column;gap:8px;max-height:calc(100% - 32px);padding:12px;animation:.3s backwards fade-in;display:flex;position:absolute;top:50%;left:16px;overflow-y:auto;transform:translateY(-50%);box-shadow:inset 0 1px #ffffff08,0 10px 28px #00000059}.pa3-slot{border:1px solid color-mix(in srgb, var(--border) 55%, transparent);color:var(--muted-foreground);cursor:pointer;background:#00000040;border-radius:8px;flex-direction:column;align-items:center;gap:5px;padding:8px;transition:border-color .14s,color .14s,background .14s,transform .14s;display:flex}.pa3-slot:hover{border-color:var(--primary);color:var(--foreground);background:#00000073;transform:translate(2px)}.pa3-slot--empty{opacity:.75;border-style:dashed}.pa3-slot__canvas{width:64px;height:64px;image-rendering:pixelated;image-rendering:crisp-edges;background:repeating-conic-gradient(#ffffff0a 0% 25%,#0000 0% 50%) 50%/8px 8px;border-radius:4px;display:block;box-shadow:inset 0 0 0 1px #ffffff0d}.pa3-slot__label{letter-spacing:.12em;text-transform:uppercase;-webkit-user-select:none;user-select:none;font-size:9px;font-weight:600}.pa3-resize-handle{z-index:2;background:0 0;flex-shrink:0;position:relative}.pa3-resize-handle:before{content:"";background:color-mix(in srgb, var(--primary) 40%, transparent);opacity:0;transition:opacity .15s;position:absolute}.pa3-resize-handle:hover:before,.pa3-resize-handle:active:before{opacity:1}.pa3-resize-handle--v{cursor:ew-resize;width:4px}.pa3-resize-handle--v:before{inset:0 1px}.pa3-resize-handle--h{cursor:ns-resize;height:4px}.pa3-resize-handle--h:before{inset:1px 0}.pa3-sidebar{border-left:1px solid color-mix(in srgb, var(--border) 60%, transparent);background:linear-gradient(170deg, color-mix(in srgb, var(--card) 96%, #d4940a0f), var(--card));--fade-offset:-6px;flex-direction:column;flex-shrink:0;min-width:200px;max-width:480px;animation:.3s cubic-bezier(.16,1,.3,1) backwards fade-in-up;display:flex;overflow:hidden;box-shadow:-4px 0 16px #0003}.pa3-layers-panel{flex-direction:column;flex-grow:0;flex-shrink:1;min-height:100px;display:flex;overflow:hidden}.pa3-palette-panel{flex-direction:column;flex:auto;min-height:100px;display:flex;overflow:hidden}.pa3-panel-header{border-bottom:1px solid color-mix(in srgb, var(--border) 40%, transparent);background:#00000026;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.pa3-panel-actions{gap:2px;display:flex}.pa3-panel-body{flex:1;min-height:0;overflow-y:auto}.pa3-section{border-bottom:1px solid color-mix(in srgb, var(--border) 40%, transparent);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.pa3-section:last-child{border-bottom:none}.pa3-section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);justify-content:space-between;align-items:center;font-size:11px;display:flex}.pa3-icon-btn{width:24px;height:24px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.pa3-icon-btn svg{width:14px;height:14px}.pa3-icon-btn:hover{color:var(--foreground);background:color-mix(in srgb, var(--accent) 80%, transparent)}.pa3-layers__list{flex-direction:column;gap:4px;padding:6px 6px 12px;display:flex}.pa3-layer{cursor:pointer;background:#ffffff05;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;transition:background .12s,border-color .12s;display:flex}.pa3-layer:hover{background:#ffffff0a}.pa3-layer--active{background:color-mix(in srgb, var(--primary) 15%, transparent);border-color:color-mix(in srgb, var(--primary) 55%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--primary) 30%, transparent) inset}.pa3-layer__eye{width:22px;height:22px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .12s,background .12s;display:inline-flex}.pa3-layer__eye svg{width:14px;height:14px}.pa3-layer__eye:hover{color:var(--foreground);background:#ffffff0d}.pa3-layer__eye--off{opacity:.45}.pa3-layer__thumb{border:1px solid color-mix(in srgb, var(--border) 60%, transparent);background-color:#2c2c2c;background-image:linear-gradient(45deg,#242424 25%,#0000 25% 75%,#242424 75%),linear-gradient(45deg,#242424 25%,#0000 25% 75%,#242424 75%);background-position:0 0,3px 3px;background-size:6px 6px;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;overflow:hidden}.pa3-layer__thumb img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;display:block}.pa3-layer__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.pa3-layer__name{width:100%;color:var(--foreground);background:0 0;border:1px solid #0000;border-radius:3px;outline:none;padding:2px 4px;font-family:inherit;font-size:12px;transition:border-color .12s,background .12s}.pa3-layer__name:hover{border-color:color-mix(in srgb, var(--border) 60%, transparent)}.pa3-layer__name:focus{border-color:var(--primary);background:#00000040}.pa3-layer__opacity-row{align-items:center;gap:6px;display:flex}.pa3-layer__opacity-value{color:var(--muted-foreground);opacity:.7;font-variant-numeric:tabular-nums;text-align:right;min-width:24px;font-size:10px}.pa3-slider--thin{width:100%;height:12px}.pa3-palette{flex-wrap:wrap;align-content:flex-start;gap:3px;padding:10px 12px 14px;display:flex}.pa3-swatch{cursor:pointer;border:1px solid #0006;border-radius:3px;flex-shrink:0;width:20px;height:20px;padding:0;transition:transform .12s,box-shadow .12s,border-color .12s;box-shadow:inset 0 0 0 1px #ffffff0f}.pa3-swatch:hover{z-index:1;border-color:var(--primary);box-shadow:0 0 0 1px var(--primary),0 2px 6px #0006;transform:scale(1.15)}.pa3-swatch--active{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary),0 0 0 3px #0009;transform:scale(1.12)}.pa3-view-controls{z-index:5;pointer-events:none;flex-direction:column;align-items:center;gap:18px;display:flex;position:absolute;top:16px;right:16px}.pa3-view-controls>*{pointer-events:auto}.pa3-cam-angles{border:1px solid color-mix(in srgb, var(--border) 55%, transparent);background:linear-gradient(170deg, color-mix(in srgb, var(--card) 94%, #d4940a0f), color-mix(in srgb, var(--card) 98%, transparent));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:8px;flex-direction:column;gap:6px;padding:8px 10px;display:flex;box-shadow:inset 0 1px #ffffff0a,0 8px 22px #00000059}.pa3-cam-angle{align-items:center;gap:6px;display:inline-flex}.pa3-cam-angle__label{letter-spacing:.06em;width:14px;color:var(--muted-foreground);text-align:center;font-size:11px;font-weight:700}.pa3-cam-angle__unit{color:var(--muted-foreground);opacity:.7;font-size:11px}.pa3-proj-toggle{border:1px solid color-mix(in srgb, var(--border) 55%, transparent);background:linear-gradient(170deg, color-mix(in srgb, var(--card) 94%, #d4940a14), color-mix(in srgb, var(--card) 98%, transparent));color:var(--foreground);cursor:pointer;letter-spacing:.06em;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);--fade-offset:-6px;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:border-color .14s,color .14s,transform .14s;animation:.3s cubic-bezier(.16,1,.3,1) backwards fade-in-up;display:inline-flex;box-shadow:inset 0 1px #ffffff0a,0 8px 22px #00000059}.pa3-proj-toggle:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.pa3-proj-toggle[aria-pressed=true]{border-color:color-mix(in srgb, var(--primary) 80%, transparent);color:var(--primary)}.pa3-proj-toggle__icon{width:16px;height:16px;display:inline-flex}.pa3-proj-toggle__icon svg{width:100%;height:100%}.pa3-proj-toggle__label{white-space:nowrap}.pa3-example-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;min-width:320px;display:grid}.pa3-example-card{border:1px solid color-mix(in srgb, var(--border) 70%, transparent);color:var(--foreground);cursor:pointer;background:#00000040;border-radius:8px;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;font-family:inherit;transition:border-color .12s,background .12s;display:flex}.pa3-example-card:hover{border-color:var(--primary);background:#0006}.pa3-example-card__label{font-size:13px;font-weight:600}.pa3-example-card__dim{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:11px}.stc-app{flex-direction:column;height:100%;display:flex}.stc-layer-count{color:var(--muted-foreground);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px}.stc-param-group{align-items:center;gap:6px;display:flex}.stc-select{height:24px;color:var(--foreground);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);cursor:pointer;background:#0003;border-radius:6px;outline:none;padding:0 8px;font-size:12px;transition:border-color .16s,box-shadow .16s}.stc-select:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow)}.stc-num-input{text-align:center;width:64px;height:24px;color:var(--foreground);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);-moz-appearance:textfield;background:#0003;border-radius:6px;outline:none;padding:0 6px;font-size:12px;transition:border-color .16s,box-shadow .16s}.stc-num-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stc-num-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stc-num-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow)}.stc-num-input:disabled{opacity:.45;pointer-events:none}.stc-color-group{align-items:center;gap:6px;display:flex}.stc-color-swatch{border:2px solid color-mix(in srgb, var(--border) 80%, transparent);cursor:pointer;border-radius:6px;flex-shrink:0;width:26px;height:26px;transition:border-color .16s,box-shadow .16s,transform .16s;display:inline-block;position:relative;overflow:hidden;box-shadow:0 2px 6px #0003}.stc-color-swatch:hover{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow),0 4px 10px #00000040;transform:scale(1.06)}.stc-color-native{opacity:0;cursor:pointer;border:none;padding:0;position:absolute;inset:0}.stc-hex-input{min-width:0;height:24px;color:var(--foreground);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);text-transform:lowercase;background:#0003;border-radius:6px;outline:none;flex:1;padding:0 8px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;transition:border-color .16s,box-shadow .16s}.stc-hex-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow)}.stc-workspace{z-index:1;flex:1;display:flex;position:relative;overflow:hidden}.stc-content{flex:1;position:relative;overflow:hidden}.stc-content.is-dragging:after{content:"Drop image here";border:2px dashed var(--primary);color:var(--primary);letter-spacing:.03em;z-index:10;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0a0cb3;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex;position:absolute;inset:0}.stc-canvas-board{position:relative}.stc-frame{cursor:pointer;flex-direction:column;display:flex;position:absolute}.stc-frame.has-overlay{z-index:2}.stc-frame-label{height:28px;color:var(--muted-foreground);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:8px;padding:0 4px;font-size:12px;transition:color .16s;display:flex}.stc-frame-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.stc-frame-size{font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.stc-frame.is-active .stc-frame-label{color:var(--primary)}.stc-canvas-wrapper{border-radius:4px;transition:box-shadow .16s;position:relative;overflow:hidden;box-shadow:0 0 0 1px #0006,0 12px 32px #0000004d}.stc-frame.is-active .stc-canvas-wrapper{box-shadow:0 0 0 2px var(--primary),0 12px 32px #0000004d}.stc-active-info{border:1px solid color-mix(in srgb, var(--border) 50%, transparent);background:#0003;border-radius:6px;flex-direction:column;gap:2px;padding:6px 10px;display:flex}.stc-active-name{color:var(--foreground);font-size:12px;font-weight:600}.stc-active-size{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:11px}.stc-side-panel{z-index:2;border-left:1px solid color-mix(in srgb, var(--border) 60%, transparent);flex-direction:column;flex-shrink:0;gap:12px;padding:12px;display:flex;position:relative;overflow:hidden auto}.stc-side-resizer{z-index:3;cursor:col-resize;background:0 0;flex-shrink:0;width:6px;transition:background .14s;position:relative}.stc-side-resizer:before{content:"";background:color-mix(in srgb, var(--border) 60%, transparent);width:1px;height:32px;transition:background .14s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.stc-side-resizer:hover{background:color-mix(in srgb, var(--primary) 12%, transparent)}.stc-side-resizer:hover:before{background:var(--primary)}.stc-side-title{margin-top:4px}.stc-side-empty{color:var(--muted-foreground);text-align:center;border:1px dashed color-mix(in srgb, var(--border) 50%, transparent);background:#00000026;border-radius:6px;padding:12px 6px;font-size:12px}.stc-action-row{flex-wrap:wrap;gap:4px;display:flex}.stc-props{flex-direction:column;gap:8px;display:flex}.stc-prop-grid{grid-template-columns:1fr 1fr;gap:6px 8px;display:grid}.stc-prop-cell{flex-direction:column;align-items:stretch;gap:2px;min-width:0;display:flex}.stc-prop-cell .tool-label{font-size:10px}.stc-prop-cell .stc-num-input{width:100%;min-width:0;padding:0 4px}.stc-prop-cell-wide{grid-column:1/-1}.stc-layer-list{flex-direction:column;gap:4px;max-height:360px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.stc-layer-row{cursor:pointer;background:#0000002e;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:4px 6px;transition:background .14s,border-color .14s,opacity .14s;display:flex}.stc-layer-row:hover{background:#ffffff0a}.stc-layer-row.is-selected{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, transparent)}.stc-layer-row.is-hidden{opacity:.55}.stc-layer-row.is-hidden .stc-layer-thumb,.stc-layer-row.is-hidden .stc-layer-name{opacity:.7}.stc-visibility-btn{width:22px;height:22px;color:var(--foreground);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.stc-visibility-btn svg{width:14px;height:14px}.stc-layer-thumb{border:1px solid color-mix(in srgb, var(--border) 60%, transparent);background-color:#111;background-image:linear-gradient(45deg,#1a1a1a 25%,#0000 25%),linear-gradient(-45deg,#1a1a1a 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#1a1a1a 75%),linear-gradient(-45deg,#0000 75%,#1a1a1a 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;overflow:hidden}.stc-layer-thumb img{object-fit:contain;max-width:100%;max-height:100%;display:block}.stc-layer-name{min-width:0;color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:500;overflow:hidden}.stc-layer-actions{flex-shrink:0;align-items:center;gap:2px;display:inline-flex}.stc-icon-btn{justify-content:center;width:22px;height:22px;padding:0;font-size:11px;line-height:1}.stc-overlay{pointer-events:none;z-index:5;position:absolute;top:28px;left:0;overflow:visible}.stc-ghost{opacity:.3;pointer-events:none;-webkit-user-select:none;user-select:none;transform-origin:50%;z-index:1;max-width:none;max-height:none;position:absolute}.stc-image-box{transform-origin:0 0;pointer-events:none;z-index:2;position:absolute;top:0;left:0}.stc-image-box .stc-handle,.stc-image-box .stc-rotation-handle{pointer-events:auto}.stc-frame-rect{border:dashed var(--primary);border-width:calc(1px/var(--pz-scale,1));pointer-events:none;z-index:4;box-shadow:0 0 0 calc(1px/var(--pz-scale,1)) #d4940a1a;position:absolute;top:0;left:0}.stc-handle{--_s:calc(10px / var(--pz-scale,1));width:var(--_s);height:var(--_s);background:var(--primary);border:solid var(--primary-foreground);border-width:calc(2px/var(--pz-scale,1));z-index:5;border-radius:2px;transition:box-shadow .12s,transform .12s;position:absolute;transform:translate(-50%,-50%)}.stc-handle:hover{box-shadow:0 0 0 calc(3px/var(--pz-scale,1)) var(--glow),0 0 12px #d4940a4d;transform:translate(-50%,-50%)scale(1.15)}.stc-rotation-line{width:calc(1px/var(--pz-scale,1));background:var(--primary);opacity:.6;pointer-events:none;z-index:5;position:absolute;transform:translate(-50%)}.stc-rotation-handle{--_s:calc(12px / var(--pz-scale,1));width:var(--_s);height:var(--_s);background:var(--primary);border:solid var(--primary-foreground);border-width:calc(2px/var(--pz-scale,1));z-index:6;cursor:grab;border-radius:50%;transition:box-shadow .12s,transform .12s;position:absolute;transform:translate(-50%,-50%)}.stc-rotation-handle:hover{box-shadow:0 0 0 calc(3px/var(--pz-scale,1)) var(--glow),0 0 12px #d4940a4d;transform:translate(-50%,-50%)scale(1.15)}.stc-rotation-handle:active{cursor:grabbing}.e3d-app{flex-direction:column;height:100%;display:flex}.e3d-add-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.e3d-add-btn{padding:4px 10px;font-size:11px}.e3d-input{border:1px solid color-mix(in srgb, var(--border) 70%, transparent);width:64px;height:26px;color:var(--foreground);text-align:center;background:#0003;border-radius:6px;padding:0 6px;font-family:inherit;font-size:12px}.e3d-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow);outline:none}.e3d-input:disabled{opacity:.5;cursor:not-allowed}.e3d-input--wide{text-align:left;width:100%}.e3d-hex-input{text-align:left;letter-spacing:.04em;text-transform:uppercase;width:86px}.e3d-check{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:flex}.e3d-checkbox{appearance:none;border:1px solid color-mix(in srgb, var(--border) 70%, transparent);cursor:pointer;background:#0003;border-radius:3px;flex-shrink:0;width:14px;height:14px;transition:border-color .16s,background .16s;position:relative}.e3d-checkbox:checked{background:var(--primary);border-color:var(--primary)}.e3d-checkbox:checked:after{content:"";border:solid var(--background);border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.e3d-color-group{align-items:center;gap:6px;display:flex}.e3d-color-swatch{border:2px solid color-mix(in srgb, var(--border) 80%, transparent);cursor:pointer;border-radius:6px;flex-shrink:0;width:26px;height:26px;transition:border-color .16s,box-shadow .16s,transform .16s;display:inline-block;position:relative;overflow:hidden;box-shadow:0 2px 6px #0003}.e3d-color-swatch:hover{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow),0 4px 10px #00000040;transform:scale(1.06)}.e3d-color-native{opacity:0;cursor:pointer;border:none;padding:0;position:absolute;inset:0}.e3d-workspace{z-index:1;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.e3d-tools-sidebar{z-index:5;border:1px solid color-mix(in srgb, var(--border) 60%, transparent);background:linear-gradient(170deg, color-mix(in srgb, var(--card) 96%, #d4940a0f), var(--card));border-radius:8px;flex-direction:column;align-items:center;gap:3px;width:44px;padding:6px 4px;animation:.3s backwards fade-in;display:flex;position:absolute;top:50%;left:10px;transform:translateY(-50%);box-shadow:0 4px 16px #0003}.e3d-tool{width:32px;height:32px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s,box-shadow .12s;display:inline-flex}.e3d-tool:hover{color:var(--foreground);background:color-mix(in srgb, var(--accent) 70%, transparent)}.e3d-tool--active{color:var(--primary-foreground);background:var(--primary);box-shadow:0 0 8px #d4940a4d}.e3d-tool--active:hover{color:var(--primary-foreground);background:var(--primary)}.e3d-tool__icon{width:18px;height:18px;display:inline-flex}.e3d-tool__icon svg{width:100%;height:100%}.e3d-content{background:var(--background);flex:1;justify-content:stretch;align-items:stretch;min-width:0;display:flex;position:relative;overflow:hidden}.e3d-canvas{touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;background:0 0;width:100%;height:100%;display:block}.e3d-stats-overlay,.e3d-hint-overlay{z-index:5;border:1px solid color-mix(in srgb, var(--border) 60%, transparent);color:var(--muted-foreground);font-variant-numeric:tabular-nums;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;border-radius:6px;padding:4px 10px;font-size:11px;position:absolute}.e3d-stats-overlay{top:10px;left:10px}.e3d-hint-overlay{white-space:nowrap;text-overflow:ellipsis;max-width:calc(100% - 24px);bottom:10px;left:50%;overflow:hidden;transform:translate(-50%)}.e3d-view-controls{z-index:5;pointer-events:none;flex-direction:column;align-items:center;gap:28px;display:flex;position:absolute;top:16px;right:16px}.e3d-view-controls>*{pointer-events:auto}.e3d-proj-toggle{border:1px solid color-mix(in srgb, var(--border) 55%, transparent);background:linear-gradient(170deg, color-mix(in srgb, var(--card) 94%, #d4940a14), color-mix(in srgb, var(--card) 98%, transparent));color:var(--foreground);cursor:pointer;letter-spacing:.06em;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:border-color .14s,color .14s,transform .14s;animation:.3s backwards fade-in;display:inline-flex;box-shadow:inset 0 1px #ffffff0a,0 8px 22px #00000059}.e3d-proj-toggle:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.e3d-proj-toggle[aria-pressed=true]{border-color:color-mix(in srgb, var(--primary) 80%, transparent);color:var(--primary)}.e3d-proj-toggle__icon{width:16px;height:16px;display:inline-flex}.e3d-proj-toggle__icon svg{width:100%;height:100%}.e3d-proj-toggle__label{white-space:nowrap}.e3d-resize-handle{z-index:2;background:0 0;flex-shrink:0;transition:background .15s;position:relative}.e3d-resize-handle:before{content:"";background:color-mix(in srgb, var(--primary) 40%, transparent);opacity:0;transition:opacity .15s;position:absolute}.e3d-resize-handle:hover:before,.e3d-resize-handle:active:before{opacity:1}.e3d-resize-handle--v{cursor:ew-resize;width:4px}.e3d-resize-handle--v:before{inset:0 1px}.e3d-sidebar{border-left:1px solid color-mix(in srgb, var(--border) 60%, transparent);background:linear-gradient(170deg, color-mix(in srgb, var(--card) 96%, #d4940a0f), var(--card));--fade-offset:-6px;flex-direction:column;flex-shrink:0;min-width:220px;max-width:560px;animation:.3s cubic-bezier(.16,1,.3,1) backwards fade-in-up;display:flex;overflow:hidden;box-shadow:-4px 0 16px #0003}.e3d-outliner-panel,.e3d-properties-panel{flex-direction:column;flex:auto;min-height:100px;display:flex;overflow:hidden}.e3d-properties-panel{border-top:1px solid color-mix(in srgb, var(--border) 40%, transparent);flex:0 auto}.e3d-panel-header{border-bottom:1px solid color-mix(in srgb, var(--border) 40%, transparent);background:#00000026;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.e3d-panel-actions{gap:2px;display:flex}.e3d-panel-body{flex:1;min-height:0;overflow-y:auto}.e3d-icon-btn{min-width:24px;height:24px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0 6px;font-family:inherit;font-size:11px;transition:background .12s,color .12s;display:inline-flex}.e3d-icon-btn svg{width:14px;height:14px}.e3d-icon-btn:hover{color:var(--foreground);background:color-mix(in srgb, var(--accent) 80%, transparent)}.e3d-empty{color:var(--muted-foreground);text-align:center;opacity:.7;padding:14px 12px;font-size:12px}.e3d-outliner-row{cursor:pointer;border-bottom:1px solid color-mix(in srgb, var(--border) 25%, transparent);color:var(--foreground);align-items:center;gap:4px;padding:6px 10px;transition:background .12s,color .12s;display:flex}.e3d-outliner-row:hover{background:color-mix(in srgb, var(--accent) 50%, transparent)}.e3d-outliner-row--active{background:color-mix(in srgb, var(--primary) 25%, transparent);color:var(--primary-foreground)}.e3d-outliner-row--active:hover{background:color-mix(in srgb, var(--primary) 35%, transparent)}.e3d-outliner-row__name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;overflow:hidden}.e3d-outliner-row__btn{width:22px;height:22px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.e3d-outliner-row__btn svg{width:14px;height:14px}.e3d-outliner-row__btn:hover{color:var(--foreground);background:color-mix(in srgb, var(--accent) 80%, transparent)}.e3d-properties{padding:8px 0}.e3d-prop-row{align-items:center;gap:6px;padding:6px 10px;display:flex}.e3d-prop-row__label{width:60px;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;font-size:11px}.e3d-prop-row__inputs{flex:1;grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.e3d-prop-row__inputs .e3d-input{width:100%}.vec-app{flex-direction:column;height:100%;display:flex}.vec-size-inputs{align-items:center;gap:6px;display:flex}.vec-size-sep{color:var(--muted-foreground);opacity:.5;font-size:12px}.vec-input{border:1px solid color-mix(in srgb, var(--border) 70%, transparent);width:64px;height:26px;color:var(--foreground);text-align:center;background:#0003;border-radius:6px;padding:0 6px;font-family:inherit;font-size:12px}.vec-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow);outline:none}.vec-hex-input{text-align:left;letter-spacing:.04em;text-transform:uppercase;width:96px}.vec-color-group{align-items:center;gap:6px;display:flex}.vec-color-swatch{border:2px solid color-mix(in srgb, var(--border) 80%, transparent);cursor:pointer;border-radius:6px;flex-shrink:0;width:26px;height:26px;transition:border-color .16s,box-shadow .16s,transform .16s;display:inline-block;position:relative;overflow:hidden;box-shadow:0 2px 6px #0003}.vec-color-swatch:hover{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow),0 4px 10px #00000040;transform:scale(1.06)}.vec-color-native{opacity:0;cursor:pointer;border:none;padding:0;position:absolute;inset:0}.vec-zoom-group{border:1px solid color-mix(in srgb, var(--border) 50%, transparent);background:#0003;border-radius:6px;align-items:center;gap:2px;padding:0 2px;display:inline-flex}.vec-zoom-btn{width:22px;height:22px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:12px;line-height:1;transition:background .12s,color .12s;display:inline-flex}.vec-zoom-btn:hover{color:var(--foreground);background:color-mix(in srgb, var(--accent) 60%, transparent)}.vec-zoom-readout{text-align:center;font-variant-numeric:tabular-nums;min-width:44px;color:var(--foreground);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:11px}.vec-zoom-readout:hover{color:var(--primary)}.vec-workspace{z-index:1;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.vec-tools-sidebar{z-index:5;border:1px solid color-mix(in srgb, var(--border) 60%, transparent);background:linear-gradient(170deg, color-mix(in srgb, var(--card) 96%, #d4940a0f), var(--card));border-radius:8px;flex-direction:column;align-items:center;gap:3px;width:44px;padding:6px 4px;animation:.3s backwards fade-in;display:flex;position:absolute;top:50%;left:10px;transform:translateY(-50%);box-shadow:0 4px 16px #0003}.vec-tool{width:32px;height:32px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s,box-shadow .12s;display:inline-flex}.vec-tool:hover{color:var(--foreground);background:color-mix(in srgb, var(--accent) 70%, transparent)}.vec-tool--active{color:var(--primary-foreground);background:var(--primary);box-shadow:0 0 8px #d4940a4d}.vec-tool--active:hover{color:var(--primary-foreground);background:var(--primary)}.vec-tool__icon{width:18px;height:18px;display:inline-flex}.vec-tool__icon svg{width:100%;height:100%}.vec-content{background:var(--background);flex:1;justify-content:stretch;align-items:stretch;min-width:0;display:flex;position:relative;overflow:hidden}.vec-stage-host{-webkit-user-select:none;user-select:none;flex:1;min-width:0;min-height:0;position:relative;overflow:hidden}.vec-stage-host--select{cursor:default}.vec-stage-host--rect,.vec-stage-host--ellipse,.vec-stage-host--line,.vec-stage-host--polygon,.vec-stage-host--text{cursor:crosshair}.vec-hint-overlay{z-index:5;border:1px solid color-mix(in srgb, var(--border) 60%, transparent);color:var(--muted-foreground);font-variant-numeric:tabular-nums;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);white-space:nowrap;text-overflow:ellipsis;background:#0000008c;border-radius:6px;max-width:calc(100% - 24px);padding:4px 10px;font-size:11px;position:absolute;bottom:10px;left:50%;overflow:hidden;transform:translate(-50%)}.vec-zoom-controls{z-index:5;border:1px solid color-mix(in srgb, var(--border) 55%, transparent);background:linear-gradient(170deg, color-mix(in srgb, var(--card) 94%, #d4940a14), color-mix(in srgb, var(--card) 98%, transparent));color:var(--foreground);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;align-items:center;gap:4px;padding:4px 6px;font-size:12px;animation:.3s backwards fade-in;display:flex;position:absolute;top:16px;right:16px;box-shadow:inset 0 1px #ffffff0a,0 8px 22px #00000059}.vec-zoom-controls__btn{width:26px;height:26px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:999px;font-size:13px;line-height:1;transition:background .12s,color .12s}.vec-zoom-controls__btn:hover{color:var(--primary);background:color-mix(in srgb, var(--accent) 60%, transparent)}.vec-zoom-controls__readout{text-align:center;font-variant-numeric:tabular-nums;min-width:48px;color:var(--foreground);cursor:pointer;-webkit-user-select:none;user-select:none;padding:0 4px;font-weight:600}.vec-zoom-controls__readout:hover{color:var(--primary)}.vec-resize-handle{z-index:2;background:0 0;flex-shrink:0;transition:background .15s;position:relative}.vec-resize-handle:before{content:"";background:color-mix(in srgb, var(--primary) 40%, transparent);opacity:0;transition:opacity .15s;position:absolute}.vec-resize-handle:hover:before,.vec-resize-handle:active:before{opacity:1}.vec-resize-handle--v{cursor:ew-resize;width:4px}.vec-resize-handle--v:before{inset:0 1px}.vec-sidebar{border-left:1px solid color-mix(in srgb, var(--border) 60%, transparent);background:linear-gradient(170deg, color-mix(in srgb, var(--card) 96%, #d4940a0f), var(--card));--fade-offset:-6px;flex-direction:column;flex-shrink:0;min-width:220px;max-width:560px;animation:.3s cubic-bezier(.16,1,.3,1) backwards fade-in-up;display:flex;overflow:hidden;box-shadow:-4px 0 16px #0003}.vec-panel{flex-direction:column;min-height:0;display:flex;overflow:hidden}.vec-panel+.vec-panel{border-top:1px solid color-mix(in srgb, var(--border) 40%, transparent)}.vec-panel--layers{flex:auto}.vec-panel--props{flex:none;max-height:60%;overflow-y:auto}.vec-panel-header{border-bottom:1px solid color-mix(in srgb, var(--border) 40%, transparent);background:#00000026;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.vec-panel-body{flex:1;min-height:0;padding:8px 10px 12px;overflow-y:auto}.vec-panel-empty{color:var(--muted-foreground);text-align:center;border:1px dashed color-mix(in srgb, var(--border) 50%, transparent);background:#00000026;border-radius:6px;padding:12px 6px;font-size:12px}.vec-icon-btn{width:22px;height:22px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.vec-icon-btn svg{width:14px;height:14px}.vec-icon-btn:hover{color:var(--foreground);background:color-mix(in srgb, var(--accent) 80%, transparent)}.vec-icon-btn:disabled{opacity:.4;cursor:not-allowed}.vec-layer-list{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.vec-layer-row{cursor:pointer;background:#0000002e;border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;padding:3px 6px;transition:background .14s,border-color .14s,opacity .14s;display:flex}.vec-layer-row:hover{background:#ffffff0a}.vec-layer-row--active{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, transparent)}.vec-layer-row--hidden{opacity:.55}.vec-layer-row--locked .vec-layer-row__name{color:var(--muted-foreground)}.vec-layer-row__name{min-width:0;color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:4px;flex:1;padding:2px 4px;font-family:inherit;font-size:12px;font-weight:500;overflow:hidden}.vec-layer-row__name:focus{border-color:var(--primary);background:#00000040;outline:none}.vec-layer-row__btn{flex-shrink:0}.vec-layer-row__actions{flex-shrink:0;align-items:center;gap:1px;display:inline-flex}.vec-prop-row{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.vec-prop-row:last-child{margin-bottom:0}.vec-prop-grid{grid-template-columns:1fr 1fr;gap:6px 8px;display:grid}.vec-prop-cell{flex-direction:column;gap:2px;min-width:0;display:flex}.vec-prop-cell .tool-label{font-size:10px}.vec-prop-cell--wide{grid-column:1/-1}.vec-num-input,.vec-text-input{text-align:center;width:100%;min-width:0;height:24px;color:var(--foreground);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);background:#0003;border-radius:6px;outline:none;padding:0 6px;font-family:inherit;font-size:12px;transition:border-color .16s,box-shadow .16s}.vec-num-input:focus,.vec-text-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow)}.vec-text-input{text-align:left}.vec-textarea{width:100%;min-height:60px;color:var(--foreground);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);resize:vertical;background:#0003;border-radius:6px;outline:none;padding:6px 8px;font-family:inherit;font-size:12px;transition:border-color .16s,box-shadow .16s}.vec-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow)}.vec-prop-color{align-items:center;gap:6px;display:flex}.vec-prop-color__hex{min-width:0;height:24px;color:var(--foreground);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);text-transform:uppercase;letter-spacing:.04em;background:#0003;border-radius:6px;outline:none;flex:1;padding:0 8px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;transition:border-color .16s,box-shadow .16s}.vec-prop-color__hex:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow)}.vec-prop-color__swatch{border:1px solid color-mix(in srgb, var(--border) 80%, transparent);cursor:pointer;background-color:#0006;background-image:linear-gradient(45deg,#1a1a1a 25%,#0000 25%),linear-gradient(-45deg,#1a1a1a 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#1a1a1a 75%),linear-gradient(-45deg,#0000 75%,#1a1a1a 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px;border-radius:5px;flex-shrink:0;width:22px;height:22px;display:inline-block;position:relative;overflow:hidden}.vec-prop-color__swatch>span{position:absolute;inset:0}.vec-prop-color__native{opacity:0;cursor:pointer;border:none;padding:0;position:absolute;inset:0}.vec-prop-color__clear{border:1px solid color-mix(in srgb, var(--border) 70%, transparent);width:22px;height:22px;color:var(--muted-foreground);cursor:pointer;background:#0003;border-radius:5px;flex-shrink:0;font-size:12px;line-height:1;transition:color .12s,border-color .12s}.vec-prop-color__clear:hover{color:var(--primary);border-color:var(--primary)}.vec-slider{width:100%;accent-color:var(--primary)}.vec-align-group{border:1px solid color-mix(in srgb, var(--border) 60%, transparent);background:#0003;border-radius:6px;align-items:center;gap:2px;padding:2px;display:inline-flex}.vec-align-btn{width:26px;height:22px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:11px;line-height:1;transition:background .12s,color .12s;display:inline-flex}.vec-align-btn svg{width:12px;height:12px}.vec-align-btn:hover{color:var(--foreground);background:color-mix(in srgb, var(--accent) 70%, transparent)}.vec-align-btn--active,.vec-align-btn--active:hover{color:var(--primary-foreground);background:var(--primary)}.vec-palette-row{flex-wrap:wrap;gap:4px;display:flex}.vec-palette-swatch{cursor:pointer;border:1px solid #0006;border-radius:3px;flex-shrink:0;width:18px;height:18px;padding:0;transition:transform .12s,box-shadow .12s,border-color .12s;box-shadow:inset 0 0 0 1px #ffffff0f}.vec-palette-swatch:hover{z-index:1;border-color:var(--primary);box-shadow:0 0 0 1px var(--primary),0 2px 6px #0006;transform:scale(1.15)}.vec-text-edit-overlay{z-index:10;border:1px solid var(--primary);background:#0a0a0cf2;border-radius:4px;padding:4px 6px;position:absolute;box-shadow:0 4px 12px #0006}.vec-text-edit-overlay textarea{color:var(--foreground);resize:none;background:0 0;border:none;outline:none;min-width:120px;font-family:inherit}.ras-app{flex-direction:column;height:100%;display:flex}.ras-size-inputs{align-items:center;gap:6px;display:flex}.ras-size-sep{color:var(--muted-foreground);opacity:.5;font-size:12px}.ras-input{border:1px solid color-mix(in srgb, var(--border) 70%, transparent);width:56px;height:26px;color:var(--foreground);text-align:center;background:#0003;border-radius:6px;padding:0 6px;font-family:inherit;font-size:12px}.ras-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow);outline:none}.ras-input:disabled{opacity:.35;pointer-events:none}.ras-input--narrow{width:44px}.ras-input--text{text-align:left;width:160px}.ras-hex-input{text-align:left;letter-spacing:.04em;text-transform:uppercase;width:86px}.ras-brush-group{align-items:center;gap:8px;display:flex}.ras-slider{width:96px;accent-color:var(--primary);outline:none}.ras-slider--thin{width:100%;height:12px}.ras-hardness-slider{width:84px}.ras-brush-value{color:var(--muted-foreground);font-variant-numeric:tabular-nums;text-align:right;min-width:28px;font-size:11px}.ras-cursor-pos-overlay{z-index:5;border:1px solid color-mix(in srgb, var(--border) 60%, transparent);color:var(--muted-foreground);font-variant-numeric:tabular-nums;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;border-radius:6px;padding:4px 8px;font-size:11px;position:absolute;bottom:10px;right:10px}.ras-color-group{align-items:center;gap:6px;display:flex}.ras-color-swatch{border:2px solid color-mix(in srgb, var(--border) 80%, transparent);cursor:pointer;border-radius:6px;flex-shrink:0;width:26px;height:26px;transition:border-color .16s,box-shadow .16s,transform .16s;display:inline-block;position:relative;overflow:hidden;box-shadow:0 2px 6px #0003}.ras-color-swatch:hover{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow),0 4px 10px #00000040;transform:scale(1.06)}.ras-color-native{opacity:0;cursor:pointer;border:none;padding:0;position:absolute;inset:0}.ras-workspace{z-index:1;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.ras-tools-sidebar{z-index:5;border:1px solid color-mix(in srgb, var(--border) 60%, transparent);background:linear-gradient(170deg, color-mix(in srgb, var(--card) 96%, #d4940a0f), var(--card));border-radius:8px;flex-direction:column;align-items:center;gap:3px;width:44px;padding:6px 4px;animation:.3s backwards fade-in;display:flex;position:absolute;top:50%;left:10px;transform:translateY(-50%);box-shadow:0 4px 16px #0003}.ras-tool{width:32px;height:32px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s,box-shadow .12s;display:inline-flex}.ras-tool:hover{color:var(--foreground);background:color-mix(in srgb, var(--accent) 70%, transparent)}.ras-tool--active{color:var(--primary-foreground);background:var(--primary);box-shadow:0 0 8px #d4940a4d}.ras-tool--active:hover{color:var(--primary-foreground);background:var(--primary)}.ras-tool__icon{width:18px;height:18px;display:inline-flex}.ras-tool__icon svg{width:100%;height:100%}.ras-content{flex:1;justify-content:center;align-items:center;min-width:0;display:flex;position:relative;overflow:hidden}.ras-stage{touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;background:0 0;flex-shrink:0;position:relative;overflow:visible}.ras-canvas{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.ras-canvas--checker{z-index:0;image-rendering:pixelated;image-rendering:crisp-edges}.ras-canvas--preview{z-index:2}.ras-marquee-overlay{z-index:3;pointer-events:none;background:#ffffff0a;background-image:linear-gradient(90deg, var(--foreground) 50%, transparent 50%),linear-gradient(90deg, var(--foreground) 50%, transparent 50%),linear-gradient(0deg, var(--foreground) 50%, transparent 50%),linear-gradient(0deg, var(--foreground) 50%, transparent 50%);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:8px 1px,8px 1px,1px 8px,1px 8px;animation:.6s linear infinite ras-marching-ants;position:absolute;box-shadow:0 0 0 1px #0009}@keyframes ras-marching-ants{to{background-position:8px 0,-8px 100%,0 -8px,100% 8px}}.ras-resize-handle{z-index:2;background:0 0;flex-shrink:0;transition:background .15s;position:relative}.ras-resize-handle:before{content:"";background:color-mix(in srgb, var(--primary) 40%, transparent);opacity:0;transition:opacity .15s;position:absolute}.ras-resize-handle:hover:before,.ras-resize-handle:active:before{opacity:1}.ras-resize-handle--v{cursor:ew-resize;width:4px}.ras-resize-handle--v:before{inset:0 1px}.ras-resize-handle--h{cursor:ns-resize;height:4px}.ras-resize-handle--h:before{inset:1px 0}.ras-sidebar{border-left:1px solid color-mix(in srgb, var(--border) 60%, transparent);background:linear-gradient(170deg, color-mix(in srgb, var(--card) 96%, #d4940a0f), var(--card));--fade-offset:-6px;flex-direction:column;flex-shrink:0;min-width:220px;max-width:560px;animation:.3s cubic-bezier(.16,1,.3,1) backwards fade-in-up;display:flex;overflow:hidden;box-shadow:-4px 0 16px #0003}.ras-layers{flex-direction:column;flex-grow:0;flex-shrink:1;min-height:100px;display:flex;overflow:hidden}.ras-palette-panel{flex-direction:column;flex:auto;min-height:100px;display:flex;overflow:hidden}.ras-panel-header{border-bottom:1px solid color-mix(in srgb, var(--border) 40%, transparent);background:#00000026;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.ras-panel-actions{gap:2px;display:flex}.ras-panel-body{flex:1;min-height:0;overflow-y:auto}.ras-icon-btn{width:24px;height:24px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.ras-icon-btn svg{width:14px;height:14px}.ras-icon-btn:hover{color:var(--foreground);background:color-mix(in srgb, var(--accent) 80%, transparent)}.ras-layers__list{flex-direction:column;gap:4px;padding:6px 6px 12px;display:flex}.ras-layer{cursor:pointer;background:#ffffff05;border:1px solid #0000;border-radius:6px;align-items:flex-start;gap:8px;padding:6px 8px;transition:background .12s,border-color .12s;display:flex}.ras-layer:hover{background:#ffffff0a}.ras-layer--active{background:color-mix(in srgb, var(--primary) 15%, transparent);border-color:color-mix(in srgb, var(--primary) 55%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--primary) 30%, transparent) inset}.ras-layer__eye{width:22px;height:22px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .12s,background .12s;display:inline-flex}.ras-layer__eye svg{width:14px;height:14px}.ras-layer__eye:hover{color:var(--foreground);background:#ffffff0d}.ras-layer__eye--off{opacity:.45}.ras-layer__thumb{border:1px solid color-mix(in srgb, var(--border) 60%, transparent);background-color:#2c2c2c;background-image:linear-gradient(45deg,#242424 25%,#0000 25% 75%,#242424 75%),linear-gradient(45deg,#242424 25%,#0000 25% 75%,#242424 75%);background-position:0 0,3px 3px;background-size:6px 6px;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;overflow:hidden}.ras-layer__thumb img{object-fit:contain;width:100%;height:100%;display:block}.ras-layer__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ras-layer__name{width:100%;color:var(--foreground);background:0 0;border:1px solid #0000;border-radius:3px;outline:none;padding:2px 4px;font-family:inherit;font-size:12px;transition:border-color .12s,background .12s}.ras-layer__name:hover{border-color:color-mix(in srgb, var(--border) 60%, transparent)}.ras-layer__name:focus{border-color:var(--primary);background:#00000040}.ras-layer__row,.ras-layer__opacity-row{align-items:center;gap:6px;display:flex}.ras-layer__opacity-value{color:var(--muted-foreground);opacity:.7;font-variant-numeric:tabular-nums;text-align:right;min-width:24px;font-size:10px}.ras-blend-select{border:1px solid color-mix(in srgb, var(--border) 70%, transparent);width:100%;height:22px;color:var(--foreground);cursor:pointer;appearance:none;background:#00000040;background-image:linear-gradient(45deg, transparent 50%, var(--muted-foreground) 50%),linear-gradient(135deg, var(--muted-foreground) 50%, transparent 50%);background-position:calc(100% - 12px),calc(100% - 7px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;border-radius:4px;padding:0 22px 0 6px;font-family:inherit;font-size:11px}.ras-blend-select:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow);outline:none}.ras-blend-select option{background:var(--card);color:var(--foreground)}.ras-palette{flex-wrap:wrap;align-content:flex-start;gap:4px;padding:10px 12px 14px;display:flex}.ras-swatch{cursor:pointer;border:1px solid #0006;border-radius:3px;flex-shrink:0;width:20px;height:20px;padding:0;transition:transform .12s,box-shadow .12s,border-color .12s;box-shadow:inset 0 0 0 1px #ffffff0f}.ras-swatch:hover{z-index:1;border-color:var(--primary);box-shadow:0 0 0 1px var(--primary),0 2px 6px #0006;transform:scale(1.15)}.ras-swatch--active{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary),0 0 0 3px #0009;transform:scale(1.12)}.audio-trim-app{flex-direction:column;height:100%;display:flex}.audio-trim-info{align-items:center;gap:10px;min-width:0;margin-left:auto;display:flex}.audio-trim-info-text{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;max-width:280px;font-size:12px;font-weight:500;overflow:hidden}.audio-trim-info-dim{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:11px}.audio-trim-info-badge{text-transform:uppercase;letter-spacing:.06em;color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, transparent);border:1px solid color-mix(in srgb, var(--primary) 30%, transparent);font-variant-numeric:tabular-nums;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.audio-trim-content{z-index:1;flex-direction:column;flex:1;justify-content:center;align-items:stretch;padding:24px;display:flex;position:relative;overflow:auto}.audio-trim-panel{--fade-offset:6px;flex-direction:column;gap:16px;width:100%;max-width:1200px;margin:0 auto;animation:.3s cubic-bezier(.16,1,.3,1) backwards fade-in-up;display:flex}.audio-trim-waveform-wrap{flex-direction:column;gap:6px;display:flex}.wave-view-timestrip{color:var(--muted-foreground);font-variant-numeric:tabular-nums;letter-spacing:.04em;justify-content:space-between;padding:0 4px;font-size:10px;display:flex}.wave-view{border:1px solid color-mix(in srgb, var(--border) 60%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--card) 92%, #d4940a0d), color-mix(in srgb, var(--card) 96%, transparent));touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;border-radius:8px;width:100%;height:180px;position:relative;overflow:hidden;box-shadow:0 0 0 1px #00000040,0 10px 28px #00000047}.wave-view--dragging{cursor:grabbing}.wave-view--dragging-seek,.wave-view--dragging-trim-start,.wave-view--dragging-trim-end{cursor:ew-resize}.wave-view__canvas{pointer-events:none;display:block;position:absolute;inset:0}.wave-view__dim{pointer-events:none;-webkit-backdrop-filter:grayscale(.7);backdrop-filter:grayscale(.7);background:#08080aa8;position:absolute;top:0;bottom:0}.wave-view__dim--left{left:0}.wave-view__handle{cursor:ew-resize;z-index:3;justify-content:center;align-items:center;width:10px;display:flex;position:absolute;top:-2px;bottom:-2px;transform:translate(-5px)}.wave-view__handle:before{content:"";background:var(--primary);width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 0 10px #d4940a73}.wave-view__handle:hover:before,.wave-view--dragging-trim-start .wave-view__handle--start:before,.wave-view--dragging-trim-end .wave-view__handle--end:before{background:var(--ring);box-shadow:0 0 14px #f0b840b3}.wave-view__handle-grip{z-index:1;background:var(--primary);border:1px solid #0006;border-radius:4px;width:8px;height:28px;position:relative;box-shadow:0 1px 2px #0006,inset 0 1px #ffffff2e}.wave-view__handle:hover .wave-view__handle-grip{background:var(--ring)}.wave-view__zoom-controls{z-index:4;background:color-mix(in srgb, var(--card) 80%, transparent);border:1px solid color-mix(in srgb, var(--border) 60%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:6px;align-items:center;gap:4px;padding:4px;display:flex;position:absolute;top:8px;right:8px;box-shadow:0 2px 8px #00000040}.wave-view__zoom-btn{border:1px solid color-mix(in srgb, var(--border) 60%, transparent);background:color-mix(in srgb, var(--card) 90%, transparent);min-width:24px;height:22px;color:var(--muted-foreground);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:600;line-height:1;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.wave-view__zoom-btn:hover:not(:disabled){background:var(--accent);color:var(--foreground);border-color:color-mix(in srgb, var(--primary) 45%, transparent)}.wave-view__zoom-btn:disabled{opacity:.4;cursor:not-allowed}.wave-view__zoom-value{min-width:36px;color:var(--muted-foreground);font-variant-numeric:tabular-nums;text-align:center;padding:0 4px;font-size:11px}.wave-view__scrollbar{background:color-mix(in srgb, var(--card) 70%, transparent);border:1px solid color-mix(in srgb, var(--border) 45%, transparent);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:5px;height:10px;position:relative}.wave-view__scrollbar-thumb{background:color-mix(in srgb, var(--primary) 40%, transparent);border:1px solid color-mix(in srgb, var(--primary) 55%, transparent);cursor:grab;border-radius:4px;min-width:12px;transition:background .15s;position:absolute;top:1px;bottom:1px}.wave-view__scrollbar-thumb:hover{background:color-mix(in srgb, var(--primary) 55%, transparent)}.wave-view__scrollbar-thumb:active{cursor:grabbing;background:color-mix(in srgb, var(--primary) 65%, transparent)}.wave-view__playhead{cursor:ew-resize;z-index:2;width:10px;position:absolute;top:0;bottom:0;transform:translate(-5px)}.wave-view__playhead:before{content:"";background:#f5cc6a;width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 0 6px #f5cc6a99}.wave-view__playhead:after{content:"";background:#f5cc6a;width:10px;height:10px;position:absolute;top:-3px;left:50%;transform:translate(-50%)rotate(45deg);box-shadow:0 1px 3px #0006}.audio-trim-controls{border:1px solid color-mix(in srgb, var(--border) 55%, transparent);background:color-mix(in srgb, var(--card) 85%, transparent);border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;display:flex}.audio-trim-btn{border:1px solid color-mix(in srgb, var(--border) 70%, transparent);background:color-mix(in srgb, var(--card) 90%, transparent);color:var(--muted-foreground);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s,transform .1s;display:inline-flex}.audio-trim-btn:hover{background:var(--accent);color:var(--foreground);border-color:color-mix(in srgb, var(--border) 90%, transparent)}.audio-trim-btn:active{transform:scale(.96)}.audio-trim-btn--icon{width:32px;height:32px}.audio-trim-btn--icon svg{width:16px;height:16px}.audio-trim-btn--play{background:var(--primary);width:44px;height:44px;color:var(--primary-foreground);border-color:color-mix(in srgb, var(--primary) 60%, transparent);border-radius:50%;box-shadow:0 4px 14px #d4940a59}.audio-trim-btn--play svg{width:20px;height:20px}.audio-trim-btn--play:hover{background:var(--ring);color:var(--primary-foreground);border-color:var(--ring)}.audio-trim-btn--toggle.is-active{background:color-mix(in srgb, var(--primary) 20%, transparent);color:var(--primary);border-color:color-mix(in srgb, var(--primary) 55%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--primary) 25%, transparent) inset}.audio-trim-btn--toggle.is-active:hover{background:color-mix(in srgb, var(--primary) 28%, transparent);color:var(--primary)}.audio-trim-time{font-variant-numeric:tabular-nums;align-items:baseline;gap:4px;padding:0 6px;font-size:13px;display:inline-flex}.audio-trim-time-current{color:var(--foreground);font-weight:600}.audio-trim-time-sep{color:var(--muted-foreground);opacity:.5}.audio-trim-time-total{color:var(--muted-foreground)}.audio-trim-range-fields{align-items:center;gap:10px;margin-left:auto;display:flex}.audio-trim-range-field{flex-direction:column;gap:2px;display:inline-flex}.audio-trim-num-input{border:1px solid var(--input);background:var(--background);width:88px;height:28px;color:var(--foreground);font-variant-numeric:tabular-nums;border-radius:6px;outline:none;padding:0 8px;font-size:12px;transition:border-color .15s,box-shadow .15s}.audio-trim-num-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--glow)}.audio-trim-error{color:var(--destructive);border:1px solid color-mix(in srgb, var(--destructive) 30%, transparent);background:color-mix(in srgb, var(--destructive) 10%, transparent);border-radius:6px;padding:8px 12px;font-size:12px;font-weight:500}.audio-save-filename{align-items:center;gap:8px;display:flex}.audio-save-ext{color:var(--muted-foreground);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.audio-save-format-label{margin-top:4px}.audio-save-format{flex-wrap:wrap;gap:6px;display:flex}.audio-save-format-btn{border:1px solid var(--input);background:var(--background);height:30px;color:var(--muted-foreground);cursor:pointer;border-radius:6px;padding:0 12px;font-size:12px;font-weight:500;transition:background .15s,color .15s,border-color .15s}.audio-save-format-btn:hover{color:var(--foreground);border-color:color-mix(in srgb, var(--primary) 40%, transparent)}.audio-save-format-btn.is-active{background:color-mix(in srgb, var(--primary) 18%, transparent);border-color:var(--primary);color:var(--foreground)}.layout-with-tabs{flex-direction:column;height:100vh;min-height:0;display:flex}.layout-main{flex:1;min-width:0;min-height:0;overflow:auto}.topbar{z-index:20;background:#131316;border-bottom:1px solid #2a292699;flex-shrink:0;align-items:center;gap:8px;height:40px;padding:0 8px 0 12px;display:flex}.topbar__logo{letter-spacing:-.03em;color:#e4e2dc;background:linear-gradient(135deg,#e4e2dc 40%,#f0b840 100%);-webkit-text-fill-color:#0000;-webkit-background-clip:text;background-clip:text;flex-shrink:0;align-items:center;padding:0 10px 0 4px;font-size:13px;font-weight:700;line-height:1;text-decoration:none;transition:opacity .15s;display:flex}.topbar__logo:hover{opacity:.8}.topbar__tabs{scrollbar-width:none;flex:1;align-items:center;gap:2px;min-width:0;display:flex;overflow-x:auto}.topbar__tabs::-webkit-scrollbar{display:none}.tab{color:#8e8c84;cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;align-items:stretch;max-width:220px;height:26px;padding:0;font-size:12px;font-weight:500;line-height:1;text-decoration:none;transition:background .12s,color .12s;display:inline-flex;position:relative}.tab:hover{color:#e4e2dc;background:#ffffff0a}.tab--active{color:#f0b840;background:#d4940a1f}.tab--active:hover{color:#f0b840;background:#d4940a29}.tab--active .tab__icon{color:#d4940a}.tab--dragging{opacity:.4}.tab__link{min-width:0;color:inherit;flex:1;align-items:center;gap:6px;padding:0 4px 0 10px;line-height:1;text-decoration:none;display:inline-flex}.tab__icon{color:#5a5850;flex-shrink:0;transition:color .12s;display:inline-flex}.tab__label{text-overflow:ellipsis;white-space:nowrap;line-height:1.4;overflow:hidden}.tab__close{color:#5a5850;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-self:center;align-items:center;width:18px;height:18px;margin-right:4px;padding:0;transition:background .12s,color .12s;display:inline-flex}.tab__close:hover{color:#e4e2dc;background:#ffffff14}.tab--new{color:#5a5850;justify-content:center;align-items:center;width:26px;padding:0}.tab--new:hover{color:#e4e2dc}.tab--new.tab--active,.tab--new.tab--active:hover{color:#f0b840}.tab--new-fixed{flex-shrink:0}.tab--new-hidden{visibility:hidden;pointer-events:none}.topbar__icon-btn{color:#8e8c84;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;text-decoration:none;transition:background .12s,color .12s;display:inline-flex}.topbar__icon-btn:hover{color:#e4e2dc;background:#ffffff0f}.topbar__icon-btn--active{color:#f0b840;background:#d4940a1a}.topbar__icon-btn--active:hover{color:#f0b840;background:#d4940a1f}.topbar__icon-btn--discord:hover{color:#5865f2;background:#5865f21f}.section-menu{flex-shrink:0;position:relative}.section-menu__btn{color:#f0b840;letter-spacing:.02em;cursor:pointer;background:#d4940a1a;border:1px solid #d4940a40;border-radius:6px;align-items:center;gap:6px;height:26px;padding:0 8px;font-family:inherit;font-size:12px;font-weight:700;line-height:1;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.section-menu__btn:hover{color:#f0b840;background:#d4940a29;border-color:#d4940a66}.section-menu__btn--open{color:#f0b840;background:#d4940a2e;border-color:#d4940a73}.section-menu__label{white-space:nowrap;line-height:1}.section-menu__chevron{color:#5a5850;align-items:center;transition:transform .12s;display:inline-flex}.section-menu__btn--open .section-menu__chevron{transform:rotate(180deg)}.section-menu__dropdown{z-index:30;background:#131316;border:1px solid #2a2926;border-radius:8px;flex-direction:column;min-width:220px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #0006}.section-menu__item{color:#8e8c84;border-radius:4px;align-items:center;padding:8px 10px;font-size:12.5px;text-decoration:none;transition:background .12s,color .12s;display:flex}.section-menu__item:hover{color:#e4e2dc;background:#ffffff0d}.section-menu__item--active{color:#f0b840;background:#d4940a1a}.auth-page{box-sizing:border-box;justify-content:center;align-items:flex-start;min-height:100%;padding:64px 24px;display:flex}.auth-card{background:#19191e;border:1px solid #2a2926;border-radius:12px;width:100%;max-width:400px;padding:32px 28px}.auth-card__title{letter-spacing:-.02em;margin:0 0 6px;font-size:1.5rem;font-weight:700}.auth-card__subtitle{color:#8e8c84;margin:0 0 24px;font-size:.8125rem}.auth-card__footer{color:#8e8c84;text-align:center;margin:20px 0 0;font-size:.8125rem}.auth-card__footer a{color:#d4940a;font-weight:500;text-decoration:none}.auth-card__footer a:hover{text-decoration:underline}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-form__field{flex-direction:column;gap:6px;display:flex}.auth-form__label{color:#8e8c84;text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:600}.auth-form input{color:#e4e2dc;background:#0a0a0c;border:1px solid #2a2926;border-radius:8px;outline:none;height:38px;padding:0 12px;font-family:Space Mono,monospace;font-size:.8125rem;transition:border-color .12s,box-shadow .12s}.auth-form input:focus{border-color:#d4940a;box-shadow:0 0 0 2px #d4940a33}.auth-form input:disabled{opacity:.6;cursor:not-allowed}.auth-form__error{color:#d94e3f;background:#d94e3f14;border:1px solid #d94e3f66;border-radius:8px;padding:10px 12px;font-size:.75rem}.auth-form__submit{color:#0a0a0c;letter-spacing:.02em;cursor:pointer;background:#d4940a;border:none;border-radius:8px;height:40px;margin-top:4px;font-family:Space Mono,monospace;font-size:.8125rem;font-weight:700;transition:background .12s}.auth-form__submit:hover:not(:disabled){background:#f0b840}.auth-form__submit:disabled{opacity:.6;cursor:not-allowed}.auth-form__divider{color:#5a5850;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:10px;margin:18px 0;font-size:.75rem;display:flex}.auth-form__divider:before,.auth-form__divider:after{content:"";background:#2a2926;flex:1;height:1px}.auth-form__google{color:#e4e2dc;cursor:pointer;background:#0a0a0c;border:1px solid #2a2926;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;height:40px;font-family:Space Mono,monospace;font-size:.8125rem;font-weight:500;transition:background .12s,border-color .12s;display:flex}.auth-form__google:hover:not(:disabled){background:#222228;border-color:#5a5850}.auth-form__google:disabled{opacity:.6;cursor:not-allowed}.auth-menu__placeholder{flex-shrink:0;width:28px;height:28px}.auth-menu__signin{color:#8e8c84;border:1px solid #2a2926;border-radius:6px;flex-shrink:0;align-items:center;height:28px;padding:0 12px;font-family:Space Mono,monospace;font-size:.75rem;font-weight:500;text-decoration:none;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.auth-menu__signin:hover{color:#f0b840;background:#d4940a14;border-color:#d4940a66}.profile-app{justify-content:center;align-items:flex-start;height:100%;padding:48px 24px;display:flex;overflow-y:auto}.profile-container{width:100%;max-width:560px}.profile-header{align-items:center;gap:16px;margin-bottom:28px;display:flex}.profile-avatar{color:#0a0a0c;text-transform:uppercase;background:linear-gradient(135deg,#d4940a 0%,#a06e00 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:22px;font-weight:700;display:flex}.profile-heading{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.profile-title{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:700}.profile-email{color:#8e8c84;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;overflow:hidden}.profile-panel{background:#19191e;border:1px solid #2a2926;border-radius:12px;flex-direction:column;gap:14px;padding:20px 24px;display:flex}.profile-field{justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.profile-label{color:#8e8c84;text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;font-size:11px;font-weight:600}.profile-value{color:#e4e2dc;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.profile-value--mono{color:#8e8c84;font-family:Space Mono,monospace}.profile-notice{border:1px solid #0000;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:.8125rem}.profile-notice--success{color:#3ec97a;background:#3ec97a14;border-color:#3ec97a66}.balance-card{background:linear-gradient(135deg,#d4940a1f 0%,#19191e 100%);border:1px solid #d4940a47;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:18px 24px;transition:border-color .22s,box-shadow .22s;display:flex}.balance-card--pulse{border-color:#d4940a;box-shadow:0 0 0 2px #d4940a40}.balance-card__header{flex-direction:column;gap:4px;min-width:0;display:flex}.balance-card__label{color:#8e8c84;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:600}.balance-card__amount{color:#e4e2dc;letter-spacing:-.01em;font-size:26px;font-weight:700}.balance-card__topup{color:#0a0a0c;letter-spacing:.02em;cursor:pointer;background:#d4940a;border:none;border-radius:8px;align-items:center;gap:8px;height:38px;padding:0 18px;font-family:Space Mono,monospace;font-size:.8125rem;font-weight:700;text-decoration:none;transition:background .12s;display:inline-flex}.balance-card__topup:hover{background:#f0b840}.profile-signout{color:#d94e3f;cursor:pointer;background:#d94e3f14;border:1px solid #d94e3f66;border-radius:8px;flex-shrink:0;height:36px;padding:0 18px;font-family:Space Mono,monospace;font-size:.8125rem;font-weight:600;transition:background .12s,border-color .12s}.profile-signout:hover{background:#d94e3f29;border-color:#d94e3f}.balance-badge{color:#8e8c84;letter-spacing:.02em;background:0 0;border:1px solid #0000;border-radius:6px;flex-shrink:0;align-items:center;gap:6px;height:28px;padding:0 8px 0 10px;font-family:Space Mono,monospace;font-size:.75rem;font-weight:600;text-decoration:none;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.balance-badge:hover{color:#f0b840;background:#d4940a14;border-color:#d4940a3d}.balance-badge--active{color:#f0b840;background:#d4940a1f;border-color:#d4940a4d}.balance-badge__value{line-height:1}.balance-badge__plus{color:#f0b840;background:#d4940a33;border-radius:3px;justify-content:center;align-items:center;width:14px;height:14px;margin-left:2px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.topup-app{justify-content:center;align-items:flex-start;height:100%;padding:48px 24px;display:flex;overflow-y:auto}.topup-container{flex-direction:column;gap:20px;width:100%;max-width:640px;display:flex}.topup-header{flex-direction:column;gap:8px;display:flex}.topup-title{letter-spacing:-.02em;margin:0;font-size:24px;font-weight:700}.topup-subtitle{color:#8e8c84;margin:0;font-size:13px;line-height:1.55}.topup-balance{background:#19191e;border:1px solid #2a2926;border-radius:12px;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.topup-balance__label{text-transform:uppercase;letter-spacing:.08em;color:#8e8c84;font-size:11px;font-weight:600}.topup-balance__value{color:#f0b840;font-feature-settings:"tnum" 1;font-size:16px;font-weight:700}.topup-notice{border:1px solid #0000;border-radius:8px;padding:12px 16px;font-size:.8125rem}.topup-notice--error{color:#d94e3f;background:#d94e3f14;border-color:#d94e3f66}.topup-form{background:#19191e;border:1px solid #2a2926;border-radius:12px;flex-direction:column;gap:20px;padding:24px;display:flex}.topup-presets{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px;display:grid}.topup-preset{color:#e4e2dc;cursor:pointer;background:#0a0a0c;border:1px solid #2a2926;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:14px 8px;font-family:Space Mono,monospace;transition:border-color .12s,background .12s,color .12s;display:flex}.topup-preset:hover{background:#d4940a0d;border-color:#d4940a80}.topup-preset--active{color:#f0b840;background:#d4940a1a;border-color:#d4940a}.topup-preset__credits{letter-spacing:-.01em;font-size:18px;font-weight:700}.topup-preset__price{color:#8e8c84;font-feature-settings:"tnum" 1;font-size:11px}.topup-preset--active .topup-preset__price{color:#f0b840}.topup-custom{flex-direction:column;gap:8px;display:flex}.topup-custom__label{color:#8e8c84;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.topup-custom__input-wrap{position:relative}.topup-custom__input{color:#e4e2dc;box-sizing:border-box;background:#0a0a0c;border:1px solid #2a2926;border-radius:8px;outline:none;width:100%;height:40px;padding:0 76px 0 14px;font-family:Space Mono,monospace;font-size:14px;transition:border-color .12s,box-shadow .12s}.topup-custom__input:focus{border-color:#d4940a;box-shadow:0 0 0 2px #d4940a33}.topup-custom__input::placeholder{color:#5a5850}.topup-custom__suffix{color:#8e8c84;pointer-events:none;font-size:12px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.topup-summary{background:#d4940a14;border:1px solid #d4940a3d;border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.topup-summary__label{color:#8e8c84;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.topup-summary__value{color:#f0b840;font-feature-settings:"tnum" 1;font-size:18px;font-weight:700}.topup-error{color:#d94e3f;font-size:12px}.topup-submit{color:#0a0a0c;letter-spacing:.02em;cursor:pointer;background:#d4940a;border:none;border-radius:8px;height:44px;font-family:Space Mono,monospace;font-size:14px;font-weight:700;transition:background .12s}.topup-submit:hover:not(:disabled){background:#f0b840}.topup-submit:disabled{opacity:.5;cursor:not-allowed}.profile-tabs{border-bottom:1px solid #2a2926;gap:4px;margin-bottom:20px;display:flex}.profile-tab{color:#5a5850;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 16px;font-family:Space Mono,monospace;font-size:13px;font-weight:600;transition:color .12s,border-color .12s;position:relative}.profile-tab:hover{color:#8e8c84}.profile-tab--active{color:#f0b840;border-bottom-color:#d4940a}.billing-list{flex-direction:column;gap:4px;display:flex}.billing-row{background:#19191e;border:1px solid #2a2926;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.billing-row__left{flex-direction:column;gap:2px;min-width:0;display:flex}.billing-row__kind{text-transform:uppercase;letter-spacing:.06em;color:#8e8c84;font-size:11px;font-weight:600}.billing-row__description{color:#e4e2dc;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.billing-row__date{color:#5a5850;font-size:11px}.billing-row__amount{font-feature-settings:"tnum" 1;flex-shrink:0;font-size:14px;font-weight:700}.billing-row__amount--positive{color:#3ec97a}.billing-row__amount--negative{color:#8e8c84}.billing-empty{text-align:center;color:#8e8c84;background:#19191e;border:1px dashed #2a2926;border-radius:8px;padding:32px 16px;font-size:.8125rem}.app-preloader{z-index:10000;opacity:1;pointer-events:auto;background:#0a0a0c;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}.app-preloader--hidden{opacity:0;pointer-events:none}.app-preloader__spinner{border:2px solid #ffffff14;border-top-color:#d4940a;border-radius:50%;width:28px;height:28px;animation:.8s linear infinite app-preloader-spin}@keyframes app-preloader-spin{to{transform:rotate(360deg)}}.route-loading{justify-content:center;align-items:center;width:100%;height:100%;min-height:200px;display:flex}.route-loading__spinner{border:2px solid #ffffff14;border-top-color:#d4940a;border-radius:50%;width:22px;height:22px;animation:.8s linear infinite app-preloader-spin}body{color:#e4e2dc;letter-spacing:-.01em;background-color:#0a0a0c;font-family:Space Mono,monospace}::selection{color:#0a0a0c;background-color:#d4940a}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#2a2926;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#5a5850}.noise-overlay{pointer-events:none;z-index:9999;opacity:.028;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;position:fixed;inset:0}.generation-lock-overlay{z-index:8000;pointer-events:auto;cursor:progress;background:0 0;position:fixed;inset:0}body.generation-locked .topbar{opacity:.55;filter:saturate(.6)}
