@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+TC:wght@400;500;600;700&display=swap";:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Noto Sans TC,sans-serif;color:#f1eff5;background:#101013;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg:#101013;--panel:#18181d;--panel2:#202026;--line:#2b2a32;--muted:#898794;--violet:#a18aff;--purple:#8e76ef;--danger:#f28b91}*{box-sizing:border-box}html,body,#root{margin:0;min-width:320px;width:100%;height:100%;overflow:hidden}body{background:var(--bg);overscroll-behavior:none}button,input{font:inherit}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.45;cursor:wait}.app-shell{position:relative;display:flex;flex-direction:column;width:100%;height:100vh;height:100dvh;max-width:580px;margin:auto;background:var(--bg);overflow:hidden;padding-top:env(safe-area-inset-top)}.topbar{height:68px;min-height:68px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff0b}.brandmark{display:flex;align-items:center;gap:11px}.brand-icon{width:39px;height:39px;border-radius:14px;display:grid;place-items:center;color:#18151f;background:linear-gradient(145deg,#b5a4ff,#8768ef)}.brandmark b,.brandmark span{display:block}.brandmark b{font-size:15px;letter-spacing:.1px}.brandmark span{font-size:11px;color:var(--muted);margin-top:1px}.top-actions{display:flex;gap:4px}.icon-btn{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:14px;background:transparent;color:#bab8c5}.icon-btn svg{width:20px;height:20px;stroke-width:1.8}.icon-btn:active{background:var(--panel2)}.icon-btn.bordered{border:1px solid var(--line)}.main-scroll{flex:1;overflow:auto;overscroll-behavior:contain;padding:12px 20px 36px;scrollbar-width:none;animation:rise .28s ease both}.main-scroll::-webkit-scrollbar{display:none}.hero{position:relative;margin:6px 0 33px;padding:28px 24px 23px;border-radius:27px;overflow:hidden;background:radial-gradient(ellipse at 90% 18%,#53467855 0,transparent 41%),linear-gradient(145deg,#24222d,#1b1a21 67%);border:1px solid #ffffff0e}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:700;color:#a89abf}.hero h1{position:relative;z-index:1;margin:21px 0 11px;font-size:30px;line-height:1.42;font-weight:600;letter-spacing:-.8px}.hero h1 em{font-style:normal;color:#b8a5ff}.hero>p,.page-heading p{font-size:12px;color:#a3a1ac;margin:0}.stat-row{position:relative;display:flex;align-items:center;gap:16px;margin-top:26px}.stat-row>div:not(.hero-art){display:flex;align-items:baseline;gap:6px}.stat-row strong{font-size:20px}.stat-row span{font-size:11px;color:#aaa7b3}.stat-row>i{width:1px;height:21px;background:#ffffff2c}.hero-art{position:absolute;right:3px;bottom:0;width:118px;height:88px}.art-frame{position:absolute;width:51px;height:69px;border-radius:8px;border:3px solid #2b2835;box-shadow:0 5px 14px #08080b66}.art-a{left:12px;top:20px;transform:rotate(-19deg);background:linear-gradient(150deg,#78849b,#2c3141 50%,#c8a383)}.art-b{left:40px;top:14px;transform:rotate(10deg);background:linear-gradient(140deg,#ceb9a1,#775f74 53%,#273945)}.art-c{left:68px;top:21px;transform:rotate(23deg);background:linear-gradient(150deg,#a593dd,#51496b);display:grid;place-items:center;color:#e4dcff}.section{margin:0 0 29px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.section-heading h2{font-size:16px;margin:0;font-weight:600}.text-action{border:0;background:none;color:#a99af1;font-size:12px;display:inline-flex;align-items:center;gap:4px}.muted{color:var(--muted);font-size:12px}.folder-shortcuts{display:flex;gap:10px;overflow-x:auto;margin:0 -20px;padding:0 20px 4px;scrollbar-width:none}.folder-tile{position:relative;flex:none;width:116px;height:111px;border:1px solid var(--line);border-radius:18px;background:#19191f;text-align:left;padding:13px;display:flex;flex-direction:column;justify-content:space-between}.folder-tile>span{color:#aa98fa}.folder-tile>span svg{width:21px}.folder-tile b{font-size:11px;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-tile small{font-size:10px;color:var(--muted);margin-top:-8px}.create-tile{border-style:dashed;background:transparent;color:#aaa5b3}.create-tile>span{color:#777482}.page-heading{padding:25px 0 20px}.page-heading h1{font-size:29px;letter-spacing:-.7px;margin:7px 0 4px}.page-heading.compact{padding-bottom:11px}.heading-actions{display:flex;align-items:center;gap:8px;margin-top:18px}.primary,.secondary{min-height:46px;border-radius:15px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;font-size:13px;font-weight:600}.primary{background:linear-gradient(135deg,#ad9aff,#8c73ed);color:#18141e;box-shadow:0 5px 16px #8d73ed22}.primary:active{filter:brightness(1.08);transform:scale(.98)}.secondary{background:#24232b;border-color:#ffffff0c;color:#e3e1ea}.small{min-height:40px;border-radius:13px;padding:0 14px}.gallery{columns:2;column-gap:11px;padding-bottom:9px}.thumb{break-inside:avoid;position:relative;overflow:hidden;margin:0 0 11px;border-radius:15px;background:#1d1c22;border:1px solid #ffffff0a}.thumb-image{width:100%;display:block;padding:0;border:0;background:transparent;min-height:92px}.thumb-image img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain;border-radius:14px}.broken-thumb{height:130px;display:grid;place-items:center;color:#777481}.heart-float{position:absolute;right:8px;top:8px;width:34px;height:34px;border-radius:12px;border:1px solid #ffffff26;background:#121116a8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;color:#fff}.heart-float.liked,.viewer-icon.liked{color:#e89caf}.chosen{outline:2px solid var(--violet)}.select-check{position:absolute;left:8px;top:8px;width:24px;height:24px;border-radius:50%;background:var(--violet);color:#17141d;display:grid;place-items:center}.select-check svg{width:15px}.empty-card{min-height:190px;border:1px dashed #36343f;border-radius:21px;background:#17171c;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;padding:27px 21px;text-align:center;color:#888592;font-size:12px}.empty-card>b{font-size:14px;color:#eeecf2}.empty-card>span{max-width:245px;line-height:1.7}.empty-card .primary{margin-top:6px}.empty-art{width:49px;height:49px;display:grid;place-items:center;border-radius:17px;background:#292536;color:#ad9aff;margin-bottom:3px}.folder-list{display:grid;gap:9px}.folder-row{height:71px;border-radius:17px;border:1px solid #ffffff0a;background:#19191f;display:flex;align-items:center;justify-content:space-between;padding:0 10px 0 13px}.folder-open{height:100%;flex:1;display:flex;align-items:center;gap:12px;text-align:left;border:0;background:none}.folder-square{width:42px;height:42px;border-radius:14px;background:#2a2638;color:#ac9afb;display:grid;place-items:center}.folder-square svg{width:19px}.folder-open b,.folder-open small{display:block}.folder-open b{font-size:13px}.folder-open small{font-size:10px;color:var(--muted);margin-top:3px}.searchbox{height:51px;display:flex;align-items:center;gap:10px;border-radius:16px;padding:0 14px;border:1px solid #35333e;background:#1a191f;color:#9693a1}.searchbox input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#f1eff5;font-size:13px}.searchbox input::placeholder{color:#777481}.searchbox button{border:0;background:none;color:#9996a2;width:30px;height:34px}.result-count{font-size:11px;color:#9996a2;margin:16px 1px 12px}.settings-card,.settings-group{margin-bottom:13px;padding:15px;border:1px solid #ffffff0b;border-radius:18px;background:#19191f}.settings-title{display:flex;align-items:center;gap:12px}.settings-title>svg{color:#aa98fa;width:20px}.settings-title b,.settings-title small{display:block}.settings-title b{font-size:12px}.settings-title small{font-size:10px;color:var(--muted);margin-top:3px}.meter{height:5px;border-radius:9px;background:#302e38;margin:16px 0 12px;overflow:hidden}.meter i{display:block;height:100%;background:linear-gradient(90deg,#a08aff,#d2a8ef);border-radius:9px}.persist-action{font-size:10px}.settings-group{padding:9px}.settings-group h3{font-size:10px;color:#9693a0;letter-spacing:.5px;font-weight:500;margin:5px 7px 7px}.setting-row{width:100%;min-height:62px;border:0;border-top:1px solid #ffffff09;background:none;display:flex;align-items:center;text-align:left;gap:12px;padding:9px 5px}.setting-icon{width:35px;height:35px;border-radius:12px;background:#282532;color:#ac9afb;display:grid;place-items:center}.setting-icon svg{width:17px}.setting-row>span:nth-child(2){flex:1}.setting-row b,.setting-row small{display:block}.setting-row b{font-size:12px}.setting-row small{font-size:10px;color:var(--muted);margin-top:3px}.setting-row>svg{width:17px;color:#706d79}.danger-row .setting-icon{color:#e68c94;background:#302328}.danger-row b{color:#e7a1a5}.about{display:flex;align-items:center;flex-direction:column;gap:5px;padding:20px 0 12px}.about-logo{width:39px;height:39px;border-radius:14px;background:#292437;color:#aa98fa;display:grid;place-items:center;margin-bottom:4px}.about-logo svg{width:20px}.about b{font-size:12px}.about span{font-size:10px;color:#797683}.tabbar{height:calc(68px + env(safe-area-inset-bottom));min-height:calc(68px + env(safe-area-inset-bottom));padding:7px 6px calc(6px + env(safe-area-inset-bottom));border-top:1px solid #ffffff0d;background:#141418;display:flex;align-items:center;justify-content:space-around}.tab{width:20%;height:53px;border:0;background:none;color:#777581;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px}.tab svg{width:19px;height:19px;stroke-width:1.8}.tab span{font-size:9px}.tab.active{color:#b4a2ff}.tab.active svg{filter:drop-shadow(0 0 7px #9a82f580)}.batch-bar{position:absolute;z-index:4;left:12px;right:12px;bottom:calc(77px + env(safe-area-inset-bottom));height:57px;border:1px solid #51466b;border-radius:18px;background:#25222edb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:space-around;box-shadow:0 10px 30px #0007}.batch-bar span{font-size:11px;color:#d9d3e9}.batch-bar button{width:38px;height:38px;border:0;background:none;color:#c9bcff}.batch-bar button svg{width:19px}.batch-bar .danger{color:#ee9297}.toast,.progress-pill{position:absolute;z-index:8;left:50%;transform:translate(-50%);bottom:calc(85px + env(safe-area-inset-bottom));padding:11px 16px;border-radius:14px;background:#302d38;color:#eeecf2;font-size:11px;box-shadow:0 8px 24px #0007;white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis}.progress-pill{display:flex;align-items:center;gap:9px}.spin{animation:spin .9s linear infinite}.viewer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;background:#08080b;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);animation:rise .22s ease}.viewer-top{height:60px;min-height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 13px}.viewer-top>div{max-width:65%;text-align:center;overflow:hidden}.viewer-top b,.viewer-top span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer-top b{font-size:11px;font-weight:500}.viewer-top span{font-size:9px;color:#8b8893;margin-top:3px}.viewer-icon{width:40px;height:40px;border:0;border-radius:50%;display:grid;place-items:center;background:#ffffff12;color:#e5e2eb}.viewer-icon svg{width:20px}.viewer-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:pan-y}.viewer-stage img{width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none}.viewer-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:45px;border:0;border-radius:14px;background:#1b1a20aa;color:#fff;display:grid;place-items:center}.viewer-arrow.left{left:9px}.viewer-arrow.right{right:9px}.viewer-meta{padding:13px 20px calc(15px + env(safe-area-inset-bottom));background:#131317;border-top:1px solid #ffffff12}.metadata{display:flex;align-items:center;justify-content:space-between;gap:7px}.metadata b{font-size:11px}.metadata span{font-size:9px;color:#92909c}.viewer-tags{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px}.viewer-tags>span,.viewer-tags>button{height:26px;padding:0 9px;display:inline-flex;align-items:center;gap:5px;border-radius:9px;background:#26232e;color:#c3b4ff;font-size:10px}.viewer-tags>button{border:1px dashed #51466b;background:none}.viewer-actions{display:flex;gap:9px;margin-top:12px}.viewer-actions button{height:42px;flex:1;border:1px solid #ffffff14;border-radius:13px;background:#201f25;display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px}.viewer-actions .delete-action{color:#e98d94}.modal-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:12;background:#0009;display:flex;align-items:flex-end}.confirm-sheet{width:100%;padding:11px 22px calc(26px + env(safe-area-inset-bottom));border-radius:25px 25px 0 0;background:#1d1c22;animation:rise .22s ease}.sheet-handle{width:36px;height:4px;border-radius:3px;background:#514f58;margin:0 auto 20px}.confirm-sheet h2{font-size:18px;margin:0 0 9px}.confirm-sheet p{font-size:12px;line-height:1.7;color:#a8a5b0}.sheet-actions{display:flex;gap:9px;margin-top:19px}.sheet-actions>*{flex:1}.hidden{display:none}@keyframes rise{0%{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width:600px){.app-shell{border-left:1px solid #222127;border-right:1px solid #222127}.main-scroll{padding-left:25px;padding-right:25px}.gallery{columns:3}.hero{margin-top:16px}}@media (max-height:680px){.hero{padding-top:20px;padding-bottom:17px}.hero h1{font-size:26px;margin-top:13px}.hero-art{opacity:.65}.page-heading{padding-top:16px}}.home-search{width:100%;margin:0 0 25px;justify-content:flex-start;border-color:#ffffff10;background:#19191f;color:#9693a1;font-size:12px}
