:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Microsoft YaHei,sans-serif;color:#13202c;background:#d9e3ec;--bg: #d9e3ec;--bg-soft: #edf3f8;--panel: rgba(248, 251, 253, .9);--panel-strong: rgba(255, 255, 255, .96);--stroke: rgba(14, 18, 24, .1);--text: #13202c;--muted: #60707d;--primary: #405a78;--primary-strong: #2a3e56;--accent: #9a5a46;--accent-2: #6e5a8f;--success: #557866;--warning: #c18b2d;--shadow: 0 22px 56px rgba(14, 18, 24, .14)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;height:100%;overflow:hidden}button,input{font:inherit}body{background:radial-gradient(920px 620px at 10% 14%,rgba(64,90,120,.1),transparent 58%),radial-gradient(820px 560px at 86% 16%,rgba(154,90,70,.1),transparent 58%),radial-gradient(840px 560px at 62% 92%,rgba(110,90,143,.08),transparent 58%),var(--bg)}.app{height:100vh;display:grid;grid-template-columns:392px minmax(0,1fr);gap:18px;padding:18px;transition:grid-template-columns .22s ease}.app.focusMode{grid-template-columns:minmax(0,1fr)}.home{height:100vh;padding:18px;display:grid;place-items:center;overflow:hidden}.homeShell{width:min(1480px,100%);height:calc(100vh - 36px);display:grid;grid-template-columns:390px minmax(0,1fr);gap:18px;overflow:hidden}.homeGallery{position:relative;overflow:hidden;min-height:0;border-radius:32px;border:1px solid var(--stroke);background:linear-gradient(145deg,#ffffff38,#ffffff0f),#e9f0f6;box-shadow:var(--shadow);padding:22px;display:grid;grid-template-rows:auto auto 1fr;gap:14px}.homeGallery:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 10% 16%,rgba(110,90,143,.1) 0 110px,transparent 112px),radial-gradient(circle at 86% 14%,rgba(64,90,120,.1) 0 110px,transparent 112px),linear-gradient(135deg,rgba(154,90,70,.08) 0 180px,transparent 182px)}.galleryHeader,.galleryToolbar,.galleryScroll{position:relative;z-index:1}.galleryHeader{display:flex;align-items:end;justify-content:space-between;gap:12px}.galleryTitle{font-size:34px;font-weight:1000;letter-spacing:.2px;color:var(--text)}.galleryTitleRow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.galleryCount{font-size:14px;color:var(--muted);font-weight:800;padding:4px 10px;border-radius:999px;background:#ffffff9e;border:1px solid rgba(14,18,24,.06)}.galleryToolbar{display:flex;gap:12px;align-items:center}.gallerySearch{width:min(320px,100%);padding:11px 14px;border-radius:16px;border:1px solid var(--stroke);background:#ffffffe0;color:var(--text);outline:none}.gallerySearch:focus{border-color:#405a787a;box-shadow:0 0 0 4px #405a781a}.galleryScroll{min-height:0;overflow:auto;padding-right:6px}.galleryGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;align-items:stretch}.galleryCard{position:relative;overflow:hidden;border-radius:24px;background:#ffffffa3;border:1px solid var(--stroke);box-shadow:0 12px 28px #0e121814;cursor:pointer;padding:0;min-height:190px}.galleryThumb{width:100%;height:100%;min-height:190px;display:grid;place-items:center;background:#f6f9fc;padding:12px}.galleryThumb img{width:100%;height:100%;max-height:260px;object-fit:contain;display:block}.galleryCard .mask{position:absolute;inset:0;background:linear-gradient(to top,#0e141c8f,#0e141c0a)}.galleryCard .cap{position:absolute;left:14px;right:14px;bottom:12px;color:#fff;font-size:14px;font-weight:900;letter-spacing:.15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.emptyCard{min-height:220px;display:grid;place-items:center}.emptyText{font-weight:900;color:#556270}.canvasWrap{position:relative;overflow:hidden;min-width:0;border-radius:30px;border:1px solid var(--stroke);box-shadow:var(--shadow);background:linear-gradient(135deg,#ffffff2e,#ffffff0d),repeating-linear-gradient(135deg,#22222205,#22222205 12px,#fff0 12px 22px),#eef4f9}.canvasWrap:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 9% 18%,rgba(20,20,20,.06) 0 2px,transparent 3px) 0 0 / 32px 32px,radial-gradient(circle at 75% 24%,rgba(20,20,20,.06) 0 2px,transparent 3px) 0 0 / 28px 28px;opacity:.7}canvas{position:relative;z-index:1;width:100%;height:100%;display:block}.sidebar{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:30px;border:1px solid var(--stroke);background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 44px #0e12181a;min-height:0}.sidebar:before{content:"";position:absolute;inset:-40px;pointer-events:none;background:radial-gradient(180px 180px at 18% 16%,rgba(64,90,120,.08),transparent 70%),radial-gradient(210px 210px at 82% 20%,rgba(154,90,70,.08),transparent 70%),radial-gradient(220px 220px at 52% 90%,rgba(110,90,143,.06),transparent 70%)}.brandRow,.section,.row,.statGrid,.footerMini,.homeActions,.toolbarGroup,.switchRow,.customGrid,.homeFootMeta{position:relative;z-index:1}.brandRow{display:flex;align-items:center;justify-content:space-between;gap:12px}.logo{display:flex;align-items:center;gap:12px}.logoMark{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:#25384c;box-shadow:0 14px 28px #0e12182e}.logoText{display:grid;gap:2px}.logoText .name{font-weight:1000;font-size:22px;letter-spacing:.2px}.logoText .tag{font-size:12px;color:var(--muted);font-weight:900;line-height:1.45}.badge{padding:8px 13px;border-radius:999px;font-size:12px;font-weight:1000;color:#fff;background:var(--primary-strong)}.homeFootMeta{margin-top:auto;display:flex;align-items:center;gap:8px;padding:2px 2px 0;font-size:12px;color:var(--muted);font-weight:800}.divider{height:1px;background:#0e121814;margin:2px 0 4px}.section{display:grid;gap:8px}.label{font-size:12px;color:var(--muted);font-weight:1000;letter-spacing:.24px}.textInput{width:100%;padding:12px 14px;border-radius:16px;border:1px solid var(--stroke);background:#ffffffe6;box-shadow:0 10px 22px #0e12180d;outline:none;color:var(--text)}.textInput:focus{border-color:#405a787a;box-shadow:0 0 0 4px #405a781a}.fileInput{width:100%}.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.toolbarGroup{display:grid;gap:10px;padding:12px;border-radius:18px;background:#ffffff94;border:1px solid rgba(14,18,24,.06)}.titleSection{margin-top:12px;margin-bottom:8px}.homeActions{display:grid;gap:12px;margin-top:8px}.btn{cursor:pointer;padding:11px 14px;border-radius:16px;border:1px solid rgba(14,18,24,.12);background:#fffffff0;color:var(--text);font-weight:1000;box-shadow:0 10px 22px #0e12180d;transition:transform .08s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.btn:hover{border-color:#0e121838;box-shadow:0 14px 28px #0e121814}.btn:active{transform:translateY(1px) scale(.99)}.btnPrimary{background:var(--primary);color:#fff;border-color:#314a66eb}.btnGreen{background:var(--success);color:#fff;border-color:#466554eb}.btnPink{background:var(--accent);color:#fff;border-color:#7b4636eb}.btnPurple{background:var(--accent-2);color:#fff;border-color:#5a4a75eb}.btnDanger{background:#8e776f;color:#fff;border-color:#745f58eb}.btnWarning{background:var(--warning);color:#fff;border-color:#9b6d1ceb}.btnSelected{background:var(--primary-strong);color:#fff;border-color:#22344af0;box-shadow:0 14px 30px #0e12181f}.btnDisabled{opacity:.42;cursor:not-allowed;box-shadow:none}.btnGlow{animation:pulseGlow 1.15s ease-in-out infinite}@keyframes pulseGlow{0%{box-shadow:0 0 #fff0,0 0 #55786659;transform:translateY(0)}50%{box-shadow:0 0 22px #ffffff8c,0 0 34px #55786675;transform:translateY(-1px)}to{box-shadow:0 0 #fff0,0 0 #55786659;transform:translateY(0)}}.link{display:inline-flex;align-items:center;gap:8px;color:var(--primary);text-decoration:none;font-weight:1000}.stepBanner{position:absolute;top:14px;left:50%;transform:translate(-50%);z-index:12;width:min(720px,calc(100% - 40px));padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-radius:22px;border:1px solid var(--stroke);background:#fafcfdf0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 16px 36px #0e12181f}.stepTextBlock{min-width:0}.stepTitle{font-size:14px;font-weight:1000;color:var(--text)}.stepDesc{margin-top:4px;font-size:12px;line-height:1.45;color:var(--muted);font-weight:800}.stepPill{padding:8px 12px;border-radius:999px;font-size:11px;font-weight:1000;background:var(--primary-strong);color:#fff;white-space:nowrap}.glueHUD{position:absolute;left:16px;top:16px;z-index:12;min-width:176px;padding:12px 14px;border-radius:18px;border:1px solid var(--stroke);background:#ffffffeb;box-shadow:0 12px 28px #0e12181a}.glueTop{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:1000;color:var(--text);font-size:14px}.glueBar{height:8px;border-radius:999px;overflow:hidden;margin-top:10px;background:#0e12181a}.glueFill{height:100%;background:linear-gradient(90deg,#6e5a8f,#405a78,#557866)}.focusFloatingPanel{position:absolute;right:16px;top:98px;z-index:13;display:grid;gap:10px;width:220px}.previewCard{position:absolute;left:16px;bottom:78px;z-index:13;width:240px;padding:12px;border-radius:20px;border:1px solid var(--stroke);background:#fffffff0;box-shadow:0 18px 38px #0e121824}.previewTop{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:13px;font-weight:1000}.previewCard img{width:100%;display:block;border-radius:14px;border:1px solid rgba(14,18,24,.08);background:#eef4f9}.previewClose{width:30px;height:30px;border:0;border-radius:999px;cursor:pointer;background:#0e121814;color:var(--text);font-size:18px;font-weight:900}.glueReadyBadge{position:absolute;left:50%;top:96px;transform:translate(-50%);z-index:13;padding:10px 16px;border-radius:999px;background:#fffffff5;border:1px solid rgba(85,120,102,.28);color:#355344;font-size:13px;font-weight:1000;box-shadow:0 14px 28px #55786629;animation:badgeFloat 1.5s ease-in-out infinite}@keyframes badgeFloat{0%{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-2px)}to{transform:translate(-50%) translateY(0)}}.shortcutDock{position:absolute;left:50%;bottom:16px;transform:translate(-50%);z-index:13;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;background:#f8fbfdf0;border:1px solid var(--stroke);box-shadow:0 14px 30px #0e12181a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.shortcutChip{position:relative;width:46px;height:46px;border:0;border-radius:999px;background:#405a781a;color:var(--primary-strong);font-weight:1000;cursor:pointer;transition:transform .08s ease,background .18s ease}.shortcutChip:hover{background:#405a782e}.shortcutChip:active{transform:scale(.96)}.shortcutKey{font-size:15px;font-weight:1000}.shortcutChip:after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%) translateY(4px);opacity:0;pointer-events:none;padding:6px 10px;border-radius:10px;background:#141c24f2;color:#fff;font-size:12px;font-weight:900;white-space:nowrap;transition:opacity .16s ease,transform .16s ease;box-shadow:0 10px 22px #0e12183d}.shortcutChip:hover:after{opacity:1;transform:translate(-50%) translateY(0)}.toast{position:absolute;left:50%;bottom:72px;transform:translate(-50%);z-index:14;max-width:620px;padding:12px 14px;border-radius:16px;color:#fff;background:#121c26f5;border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 40px #0e121847;line-height:1.55;font-size:13px}.toastFixed{position:fixed}.statGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.compactGrid .v{font-size:15px;line-height:1.45;align-items:flex-start}.statCard{padding:14px;border-radius:18px;background:#ffffffe0;border:1px solid rgba(14,18,24,.08);box-shadow:0 10px 22px #0e12180d}.statCard .k{font-size:12px;color:var(--muted);font-weight:1000}.statCard .v{margin-top:6px;font-size:24px;font-weight:1000;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:10px}.smallValue{font-size:15px!important;line-height:1.55;word-break:break-word}.timeMiniActions{display:flex;gap:8px;margin-top:8px}.iconBtn{min-width:44px;height:36px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center}.footerMini{margin-top:auto;font-size:12px;color:var(--muted);line-height:1.55}.pauseOverlay{position:absolute;inset:0;z-index:14;display:grid;place-items:center;background:#0e121829;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.pauseChip{padding:16px 24px;border-radius:999px;background:#222c38f0;color:#fff;font-size:20px;font-weight:1000;box-shadow:0 18px 40px #0e12183d}.switchRow{display:flex;gap:10px;flex-wrap:wrap}.switch{position:relative;width:76px;height:40px;border-radius:999px;border:1px solid rgba(14,18,24,.12);background:#ffffffe0;cursor:pointer;box-shadow:0 10px 22px #0e12180d;transition:background .18s ease,border-color .18s ease}.switch.on{background:linear-gradient(90deg,#405a78,#547192);border-color:#314a66eb}.switch:after{content:"";position:absolute;top:5px;left:6px;width:28px;height:28px;border-radius:999px;background:#fff;box-shadow:0 6px 14px #0e121829;transition:transform .18s ease}.switch.on:after{transform:translate(34px)}.switchLabel{font-size:12px;color:var(--muted);font-weight:1000;margin-bottom:4px}.customGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.scrollSidebar{overflow:auto;padding-right:4px;min-height:0}.summaryOverlay{position:absolute;inset:0;z-index:15;display:grid;place-items:center;background:#0e121847;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.summaryCard{width:min(760px,calc(100% - 32px));padding:22px;border-radius:28px;border:1px solid rgba(255,255,255,.16);background:#fafcfdfa;box-shadow:0 30px 72px #0e12183d}.summaryHeader{display:flex;align-items:start;justify-content:space-between;gap:16px}.summaryTitle{font-size:28px;font-weight:1000;color:var(--text)}.summaryStars{margin-top:14px;font-size:28px;letter-spacing:4px;color:#405a78;font-weight:1000}.summaryGrid{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.summaryTile{padding:14px;border-radius:18px;background:#ffffffeb;border:1px solid rgba(14,18,24,.08)}.summaryTileWide{grid-column:1 / -1}.summaryTile .k{font-size:12px;color:var(--muted);font-weight:1000}.summaryTile .v{margin-top:6px;font-size:18px;color:var(--text);font-weight:1000;line-height:1.55;word-break:break-word}.summaryActions{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}@media(max-width:1200px){.homeShell{grid-template-columns:1fr}}@media(max-width:980px){.app{grid-template-columns:1fr}.focusFloatingPanel{width:200px}.stepBanner{width:calc(100% - 24px)}}
