@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap";:root{font-family:DM Sans,Noto Sans SC,system-ui,sans-serif;color:#242526;background:#f6f5f1;font-synthesis:none;--ink: #242526;--muted: #777971;--line: #deddd7;--green: #a9df47;--green-deep: #78a92b;--surface: #fffefa;--purple: #7054dd}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#f6f5f1}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{min-height:100vh;background:radial-gradient(circle at 9% 20%,rgba(169,223,71,.08),transparent 25rem),radial-gradient(circle at 92% 13%,rgba(112,84,221,.06),transparent 26rem),#f6f5f1}.topbar{width:min(1180px,calc(100% - 40px));height:82px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(36,37,38,.12)}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink);font-size:19px;font-weight:800;text-decoration:none;letter-spacing:-.6px}.brand>span:last-child>span{color:#85867f;font-weight:500}.brand-mark{position:relative;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#273119;background:var(--green);transform:rotate(-5deg);box-shadow:0 5px 14px #78a92b38}.brand-mark:after{content:"";position:absolute;width:27px;height:27px;border:1px solid rgba(36,37,38,.25);border-radius:8px;transform:translate(5px,-5px);z-index:-1}.brand-mark i{font-size:11px;font-style:normal;transform:rotate(5deg)}.local-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border:1px solid var(--line);border-radius:99px;color:#62645d;background:#fffefaad;font-size:12px;font-weight:600}.local-badge span{width:7px;height:7px;border-radius:50%;background:#7eba36;box-shadow:0 0 0 3px #7eba3621}.hero{width:min(1040px,calc(100% - 40px));margin:0 auto;padding:78px 0 54px;text-align:center}.eyebrow{display:inline-flex;align-items:center;gap:9px;margin-bottom:19px;color:#77796f;font-size:11px;font-weight:800;letter-spacing:2.2px}.eyebrow:before,.eyebrow:after{content:"";width:23px;height:1px;background:#aeb0a7}.hero h1{margin:0;color:var(--ink);font-size:clamp(41px,5.7vw,71px);line-height:1.08;letter-spacing:-4px;font-weight:700}.hero h1 em{position:relative;display:inline-block;color:var(--ink);font-style:normal}.hero h1 em:after{content:"";position:absolute;left:1%;right:-2%;bottom:-3px;height:13px;border-radius:50%;border-top:5px solid var(--green);transform:rotate(-2deg)}.hero>p{max-width:620px;margin:21px auto 0;color:var(--muted);font-size:16px;line-height:1.75}.drop-zone{position:relative;min-height:202px;margin-top:50px;padding:34px 42px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:25px;overflow:hidden;text-align:left;border:1.5px dashed #b9bbb1;border-radius:19px;background:#fffefabd;transition:.18s ease}.drop-zone:before{content:"";position:absolute;width:200px;height:200px;top:-100px;left:-90px;border-radius:50%;background:#a9df4721}.drop-zone.is-dragging{transform:translateY(-3px);border-color:#85b735;background:#fcfff6;box-shadow:0 20px 54px #698d2b24}.drop-zone input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.drop-icon{width:76px;height:76px;display:grid;place-items:center;border:1px solid #c8c9c1;border-radius:19px;background:#f9f9f5;box-shadow:9px 9px #a9df477a}.drop-icon span{font-size:31px;line-height:1;transform:translateY(-2px)}.drop-copy h2{margin:0 0 8px;font-size:21px;letter-spacing:-.5px}.drop-copy p{margin:0;color:#8a8b84;font-size:13px}.drop-zone>button{min-width:147px;height:50px;padding:0 19px;display:inline-flex;align-items:center;justify-content:center;gap:13px;border:0;border-radius:12px;color:#f9faf5;background:var(--ink);box-shadow:0 8px 18px #2425262e;cursor:pointer;font-weight:700;transition:.16s ease}.drop-zone>button:hover{transform:translateY(-2px);background:#111}.drop-zone>button span{font-size:19px;font-weight:400}.library{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:50px 0 96px;border-top:1px solid rgba(36,37,38,.12)}.library-heading{min-height:62px;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:30px}.library-heading h2{margin:0 0 7px;font-size:24px;letter-spacing:-.9px}.library-heading h2 span{display:inline-grid;min-width:27px;height:27px;margin-left:7px;padding:0 7px;place-items:center;vertical-align:3px;border-radius:99px;color:#304016;background:#a9df4773;font-size:12px;letter-spacing:0}.library-heading p{margin:0;color:#8b8c86;font-size:12px}.library-tools{display:flex;align-items:center;gap:10px}.search-box{height:42px;padding:0 13px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.search-box span{color:#8a8b85;font-size:18px}.search-box input{width:135px;border:0;outline:0;color:var(--ink);background:transparent;font-size:13px}.search-box input::placeholder{color:#aaa}.sort-box select{height:42px;padding:0 33px 0 13px;border:1px solid var(--line);border-radius:10px;color:#555750;background:var(--surface);cursor:pointer;font-size:12px;outline:none}.clear-button{height:42px;padding:0 14px;border:1px solid #e0d6d2;border-radius:10px;color:#a2523b;background:#fffaf8;cursor:pointer;font-size:12px;font-weight:600}.clear-button:hover{border-color:#d49b89}.empty-library{min-height:280px;display:grid;place-items:center;align-content:center;padding:38px;border:1px solid #e3e2dd;border-radius:17px;background:#fffefa75;text-align:center}.empty-stack{position:relative;width:94px;height:80px;margin-bottom:22px}.empty-stack span:not(.empty-play){position:absolute;top:9px;right:7px;bottom:9px;left:7px;border:1px solid #bbbdb4;border-radius:11px;background:#fafaf6;transform:rotate(-8deg)}.empty-stack span:nth-child(2){transform:rotate(7deg)}.empty-stack .empty-play{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border:1px solid #aeb0a8;border-radius:14px;background:#fdfcf8;box-shadow:7px 7px #a9df4780;color:#6a6c65;font-size:17px}.empty-library h2{margin:0 0 8px;font-size:17px}.empty-library p{margin:0;color:#999a94;font-size:12px}.preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.file-card{overflow:hidden;border:1px solid #deded8;border-radius:17px;background:var(--surface);box-shadow:0 10px 30px #2425260a;transition:.18s ease}.file-card:hover{transform:translateY(-3px);border-color:#c8c9c1;box-shadow:0 16px 38px #24252614}.preview-stage{position:relative;aspect-ratio:16 / 11;overflow:hidden;display:grid;place-items:center;background-color:#f2f2ed;background-image:linear-gradient(45deg,#e6e6e0 25%,transparent 25%),linear-gradient(-45deg,#e6e6e0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e6e6e0 75%),linear-gradient(-45deg,transparent 75%,#e6e6e0 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}.preview-stage canvas{width:100%;height:100%;display:block;object-fit:contain}.preview-state{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#74766e;background:#f7f7f2db;font-size:12px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.loading-ring{width:27px;height:27px;border:2px solid #d5d6d0;border-top-color:var(--green-deep);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.preview-error{color:#93604f;text-align:center}.preview-error small{max-width:220px;color:#9e7c70}.error-mark{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#f2d8cf;font-weight:800}.preview-actions{position:absolute;left:12px;bottom:12px;display:flex;gap:7px;opacity:0;transform:translateY(4px);transition:.16s ease}.file-card:hover .preview-actions,.preview-actions:focus-within{opacity:1;transform:translateY(0)}.preview-actions button{width:35px;height:35px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.72);border-radius:10px;color:#fff;background:#1e1f1db8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;font-size:13px}.status-dot{position:absolute;top:13px;right:13px;width:8px;height:8px;border-radius:50%;background:#b9bbb3;box-shadow:0 0 0 4px #ffffffbf}.status-ready{background:#7fbd36}.status-error{background:#d76d50}.file-info{padding:17px}.file-title-row{display:flex;align-items:center;gap:11px}.file-icon{flex:0 0 37px;height:37px;display:grid;place-items:center;border-radius:9px;color:#304019;background:#a9df4778;font-size:12px;font-weight:800}.file-copy{min-width:0;flex:1}.file-copy h3{overflow:hidden;margin:0 0 6px;color:#353634;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.file-copy p{display:flex;flex-wrap:wrap;gap:5px 10px;margin:0;color:#999a94;font-size:10px}.file-copy p span:not(:first-child):before{content:"·";margin-right:9px;color:#c3c4bf}.file-copy p .pixel-size{color:#73756d;font-weight:600}.remove-button{flex:0 0 31px;height:31px;border:0;border-radius:8px;color:#a0a19b;background:transparent;cursor:pointer;font-size:20px;line-height:1}.remove-button:hover{color:#ae533a;background:#fff1ec}.no-results{min-height:260px;display:grid;place-items:center;border:1px solid #e2e1dc;border-radius:16px;color:#92938d;background:#fff6;font-size:14px}footer{width:min(1180px,calc(100% - 40px));min-height:86px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(36,37,38,.12);color:#95968f;font-size:11px}footer span{color:#64665f;font-weight:700}footer p{margin:0}.notice{position:fixed;left:50%;bottom:28px;z-index:20;padding:12px 17px;display:flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.15);border-radius:12px;color:#fff;background:#242526ed;box-shadow:0 16px 44px #0000002e;transform:translate(-50%);font-size:12px;animation:toastIn .2s ease-out}.notice span{color:var(--green);font-weight:800}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px)}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media (max-width: 860px){.preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.drop-zone{grid-template-columns:auto 1fr}.drop-zone>button{grid-column:1 / -1;width:100%}.library-heading{align-items:stretch;flex-direction:column}.library-tools{flex-wrap:wrap}.search-box{flex:1}.search-box input{width:100%}}@media (max-width: 580px){.topbar{width:calc(100% - 28px);height:70px}.local-badge{padding:7px 10px;font-size:10px}.hero{width:calc(100% - 28px);padding:54px 0 42px}.hero h1{font-size:42px;letter-spacing:-2.5px}.hero>p{font-size:14px}.drop-zone{min-height:0;margin-top:38px;padding:30px 22px;grid-template-columns:1fr;justify-items:center;text-align:center}.drop-icon{width:65px;height:65px}.drop-copy h2{font-size:18px}.library{width:calc(100% - 28px);padding-top:38px}.library-tools{display:grid;grid-template-columns:1fr 1fr}.search-box{grid-column:1 / -1}.sort-box select,.clear-button{width:100%}.preview-grid{grid-template-columns:1fr}.preview-actions{opacity:1;transform:none}footer{width:calc(100% - 28px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
