:root{--bg:#ffffff;--card-bg:#ffffff;--card-border:#eeeeee;--card-hover-bg:#fafafa;--text:#1a1a1a;--text-secondary:#737373;--text-muted:#a3a3a3;--accent:#c2410c;--accent-hover:#9a3412;--accent-soft:#fff7ed;--accent-subtle:#fffaf5;--accent-text:#ffffff;--local-card-bg:#fafafa;--local-card-border:#e5e5e5;--local-card-text:#404040;--local-card-hover-bg:#f5f5f5;--new-card-border:#e0e0e0;--new-card-text:#a3a3a3;--new-card-hover-border:#c2410c;--new-card-hover-text:#c2410c;--new-card-hover-bg:#fff7ed;--danger:#dc2626;--danger-hover-bg:#fff5f5;--danger-text:#b91c1c;--success:#16a34a;--success-soft:#f0fdf4;--input-bg:#ffffff;--input-border:#e0e0e0;--input-focus-border:#c2410c;--input-focus-shadow:rgba(194,65,12,0.06);--auth-panel-bg:#fafafa;--auth-inner-bg:#f7f7f7;--divider:#eeeeee;--shadow-xs:0 1px 2px rgba(0,0,0,0.02);--shadow-sm:0 1px 3px rgba(0,0,0,0.04);--shadow-md:0 4px 16px rgba(0,0,0,0.06);--shadow-lg:0 8px 32px rgba(0,0,0,0.08);--toast-bg:#1a1a1a;--toast-text:#ffffff;--theme-btn-bg:#f5f5f5;--theme-btn-hover:#ebebeb;--theme-btn-text:#a3a3a3;--cb-border:#d4d4d4;--cb-checked:#c2410c;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--transition:0.2s cubic-bezier(0.4,0,0.2,1);--transition-slow:0.35s cubic-bezier(0.4,0,0.2,1);--font-display:'Instrument Serif','Georgia',serif;--font-body:'Newsreader','Georgia',serif;--font-mono:'DM Mono','Menlo',monospace}body.dark{--bg:#111111;--card-bg:#1a1a1a;--card-border:#2a2a2a;--card-hover-bg:#222222;--text:#e5e5e5;--text-secondary:#a3a3a3;--text-muted:#666666;--accent:#fb923c;--accent-hover:#fdba74;--accent-soft:#1f1510;--accent-subtle:#1a1208;--accent-text:#1a1a1a;--local-card-bg:#161616;--local-card-border:#2a2a2a;--local-card-text:#d4d4d4;--local-card-hover-bg:#1e1e1e;--new-card-border:#333333;--new-card-text:#666666;--new-card-hover-border:#fb923c;--new-card-hover-text:#fb923c;--new-card-hover-bg:#1a1208;--danger:#ef4444;--danger-hover-bg:#1f1515;--danger-text:#f87171;--success:#4ade80;--success-soft:#0f1f15;--input-bg:#222222;--input-border:#333333;--input-focus-border:#fb923c;--input-focus-shadow:rgba(251,146,60,0.12);--auth-panel-bg:#161616;--auth-inner-bg:#1f1f1f;--divider:#2a2a2a;--shadow-xs:0 1px 2px rgba(0,0,0,0.2);--shadow-sm:0 1px 3px rgba(0,0,0,0.25);--shadow-md:0 4px 16px rgba(0,0,0,0.3);--shadow-lg:0 8px 32px rgba(0,0,0,0.35);--toast-bg:#2a2a2a;--toast-text:#e5e5e5;--theme-btn-bg:#1f1f1f;--theme-btn-hover:#2a2a2a;--theme-btn-text:#888888;--cb-border:#444444;--cb-checked:#fb923c}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.6;min-height:100vh;display:flex;justify-content:center;padding:32px 20px 60px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background var(--transition-slow),color var(--transition-slow)}body.dark::before{content:'';position:fixed;inset:0;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)' opacity='1'/%3E%3C/svg%3E");background-size:200px;opacity:0.035;pointer-events:none;z-index:0}.app{width:100%;max-width:580px;position:relative;z-index:1;display:flex;flex-direction:column;min-height:calc(100vh - 92px)}.page-header{margin-bottom:28px;opacity:0;animation:fadeUp 0.5s ease forwards}.page-header h1{font-family:var(--font-display);font-size:34px;font-weight:400;letter-spacing:-0.01em;color:var(--text);line-height:1.2}.top-bar{display:flex;align-items:center;justify-content:flex-end;padding:0 2px 16px;opacity:0;animation:fadeUp 0.5s ease 0.05s forwards}.theme-toggle{display:flex;align-items:center;gap:3px;background:var(--theme-btn-bg);border:1px solid var(--card-border);border-radius:24px;padding:4px;cursor:pointer;transition:all var(--transition);-webkit-tap-highlight-color:transparent;user-select:none;outline:none;font-family:inherit}.theme-toggle:hover{background:var(--theme-btn-hover)}.theme-toggle:active{transform:scale(0.97)}.theme-option{display:flex;align-items:center;justify-content:center;width:30px;height:26px;border-radius:20px;transition:all var(--transition);cursor:pointer;background:transparent;border:none;color:var(--theme-btn-text);-webkit-tap-highlight-color:transparent;outline:none}.theme-option.active{background:var(--card-bg);color:var(--accent);box-shadow:var(--shadow-xs)}.theme-option:hover:not(.active){color:var(--text)}.theme-option svg{width:14px;height:14px;flex-shrink:0}.auth-zone{margin-bottom:20px;opacity:0;animation:fadeUp 0.5s ease 0.1s forwards}.auth-toggle{display:flex;align-items:center;gap:10px;width:100%;padding:12px 18px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);cursor:pointer;font-size:12px;color:var(--text-secondary);transition:all var(--transition);font-family:var(--font-mono);-webkit-tap-highlight-color:transparent;user-select:none;box-shadow:var(--shadow-xs)}.auth-toggle:hover{background:var(--card-hover-bg);color:var(--text);box-shadow:var(--shadow-sm)}.auth-toggle:active{background:var(--auth-panel-bg)}.auth-toggle .chevron{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;transition:transform var(--transition);flex-shrink:0;opacity:0.35;font-size:12px}.auth-zone.open .auth-toggle .chevron{transform:rotate(180deg);opacity:0.7}.auth-toggle .auth-label{flex:1;text-align:left;font-weight:400;letter-spacing:0.04em}.auth-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--card-border);transition:all var(--transition)}.auth-status-dot.ok{background:var(--success);box-shadow:0 0 0 4px var(--success-soft)}.auth-status-dot.err{background:var(--danger);box-shadow:0 0 0 4px var(--danger-hover-bg)}.auth-body{overflow:hidden;max-height:0;opacity:0;transition:max-height 0.35s cubic-bezier(0.4,0,0.2,1),opacity 0.25s ease,margin 0.35s ease;margin-top:0}.auth-zone.open .auth-body{max-height:200px;opacity:1;margin-top:8px}.auth-body-inner{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:14px 18px;background:var(--auth-inner-bg);border-radius:var(--radius-md);border:1px solid var(--card-border)}.auth-body-inner input[type="password"]{flex:1;min-width:130px;padding:10px 14px;border:1.5px solid var(--input-border);border-radius:var(--radius-sm);font-size:14px;background:var(--input-bg);color:var(--text);font-family:var(--font-mono);transition:border-color var(--transition),box-shadow var(--transition);outline:none}.auth-body-inner input[type="password"]:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 3px var(--input-focus-shadow)}.auth-body-inner input[type="password"]::placeholder{color:var(--text-muted)}.remember-label{display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-family:var(--font-mono);font-size:11px;color:var(--text-muted);user-select:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;letter-spacing:0.02em;padding:4px 0}.remember-label input[type="checkbox"]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.cb{width:15px;height:15px;border:1.5px solid var(--cb-border);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;transition:all var(--transition);flex-shrink:0;background:var(--input-bg)}.remember-label input:checked+.cb{background:var(--cb-checked);border-color:var(--cb-checked)}.cb::after{content:'';display:none;width:4px;height:7.5px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg) translateY(-0.5px)}.remember-label input:checked+.cb::after{display:block}.remember-label input:focus-visible+.cb{box-shadow:0 0 0 2px var(--input-focus-shadow)}.remember-label:hover .cb{border-color:var(--text-muted)}.btn{padding:9px 20px;border:1.5px solid transparent;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font-mono);transition:all var(--transition);white-space:nowrap;-webkit-tap-highlight-color:transparent;outline:none;letter-spacing:0.02em;background:transparent}.btn:active{transform:scale(0.97)}.btn-primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:disabled{opacity:0.35;cursor:not-allowed;pointer-events:none}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:var(--card-border)}.btn-ghost:hover{background:var(--card-hover-bg);color:var(--text)}.btn-danger-ghost{background:transparent;color:var(--text-muted);border:1px solid transparent;font-size:11px;padding:5px 12px;border-radius:6px;cursor:pointer;transition:all var(--transition);font-family:var(--font-mono);-webkit-tap-highlight-color:transparent;outline:none;letter-spacing:0.03em;white-space:nowrap}.btn-danger-ghost:hover{background:var(--danger-hover-bg);color:var(--danger-text)}.btn-danger-ghost:disabled{opacity:0.2;cursor:not-allowed;pointer-events:none}.btn-success{background:var(--success);color:#fff;border-color:var(--success)}.btn-success:hover{filter:brightness(0.9)}.btn-success:disabled{opacity:0.35;cursor:not-allowed;pointer-events:none}.btn-sm{padding:7px 16px;font-size:12px;border-radius:var(--radius-sm)}.token-hint{font-size:10px;color:var(--text-muted);white-space:nowrap;letter-spacing:0.04em}.card-list{display:flex;flex-direction:column;gap:6px;flex:1}.card{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-radius:var(--radius-md);background:var(--card-bg);border:1px solid var(--card-border);cursor:default;transition:all var(--transition);box-shadow:var(--shadow-xs);position:relative}.card.clickable{cursor:pointer;-webkit-tap-highlight-color:transparent}.card.clickable:hover{background:var(--card-hover-bg);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.card.clickable:active{transform:translateY(0) scale(0.995);box-shadow:var(--shadow-xs)}.card-local{border-left:3px solid var(--text-muted);background:var(--local-card-bg);border-color:var(--local-card-border)}.card-local:hover{background:var(--local-card-hover-bg);border-color:var(--text-muted)}.card-local .card-label{color:var(--local-card-text);font-family:var(--font-display);font-size:16px;font-weight:400}.card-local .card-arrow{color:var(--local-card-text);opacity:0.35;font-size:18px;transition:transform var(--transition),opacity var(--transition)}.card-local:hover .card-arrow{opacity:0.7;transform:translateX(4px)}.card-new{border-style:dashed;border-color:var(--new-card-border);background:var(--card-bg);cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none}.card-new:hover{border-color:var(--new-card-hover-border);background:var(--new-card-hover-bg);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.card-new:active{transform:translateY(0) scale(0.995)}.card-new .card-label{color:var(--new-card-text);font-family:var(--font-mono);font-weight:400;font-size:12px;letter-spacing:0.04em;transition:color var(--transition)}.card-new:hover .card-label{color:var(--new-card-hover-text)}.card-new .card-plus{color:var(--new-card-text);font-size:16px;font-weight:300;transition:color var(--transition),transform var(--transition);line-height:1;opacity:0.4}.card-new:hover .card-plus{color:var(--new-card-hover-text);opacity:1;transform:rotate(90deg)}.card-new.open-card{border-style:solid;border-color:var(--accent);background:var(--accent-subtle);cursor:default;transform:none}.card-new.open-card .card-label{color:var(--accent)}.card-new.open-card .card-plus{color:var(--accent);opacity:1;transform:rotate(45deg)}.card-file .file-name{cursor:pointer;font-size:15px;color:var(--text);flex:1;word-break:break-word;padding:2px 0;transition:color var(--transition);font-family:var(--font-body);font-weight:400}.card-file .file-name:hover{color:var(--accent)}.card-file .btn-del{flex-shrink:0;margin-left:12px}.inline-form-card{display:none;flex-direction:column;gap:10px;padding:16px 18px;border-radius:var(--radius-md);background:var(--card-bg);border:1px solid var(--accent);box-shadow:var(--shadow-md);animation:fadeSlideIn 0.3s cubic-bezier(0.4,0,0.2,1);transition:all var(--transition)}.inline-form-card.open{display:flex}@keyframes fadeSlideIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.inline-form-card .form-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.inline-form-card input{flex:1;min-width:100px;padding:10px 14px;border:1.5px solid var(--input-border);border-radius:var(--radius-sm);font-size:13px;background:var(--input-bg);color:var(--text);font-family:var(--font-mono);outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.inline-form-card input:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 3px var(--input-focus-shadow)}.inline-form-card input::placeholder{color:var(--text-muted)}.inline-form-card .form-actions{display:flex;gap:8px;flex-wrap:wrap}.file-count-badge{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);letter-spacing:0.06em;padding:4px 12px;background:var(--auth-inner-bg);border-radius:20px;white-space:nowrap}.empty-state{text-align:center;padding:52px 20px;color:var(--text-muted);font-family:var(--font-mono);font-size:12px;letter-spacing:0.03em;background:var(--card-bg);border-radius:var(--radius-md);border:1px solid var(--card-border);box-shadow:var(--shadow-xs)}.empty-state .empty-icon{display:block;width:44px;height:44px;margin:0 auto 14px;opacity:0.25;border-radius:50%;background:var(--auth-inner-bg);position:relative}.empty-state .empty-icon::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:14px;height:2px;background:var(--text-muted);border-radius:1px}.empty-state.loading-state .empty-icon{animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,100%{opacity:0.2;transform:scale(1)}50%{opacity:0.45;transform:scale(1.05)}}.empty-state.error-state{color:var(--danger-text);border-color:var(--danger);background:var(--danger-hover-bg)}.toast{position:fixed;top:24px;left:50%;transform:translateX(-50%) translateY(-120px);background:var(--toast-bg);color:var(--toast-text);padding:11px 28px;border-radius:24px;font-size:13px;font-weight:400;font-family:var(--font-mono);letter-spacing:0.02em;opacity:0;transition:opacity 0.3s ease,transform 0.35s cubic-bezier(0.4,0,0.2,1);pointer-events:none;z-index:999;box-shadow:0 12px 36px rgba(0,0,0,0.2);white-space:nowrap}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.site-footer{text-align:center;padding:28px 0 8px;font-family:var(--font-mono);font-size:11px;color:var(--text-muted);letter-spacing:0.03em;opacity:0;animation:fadeUp 0.5s ease 0.35s forwards;margin-top:auto}.site-footer .footer-link{color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:3px;transition:color var(--transition);-webkit-tap-highlight-color:transparent}.site-footer .footer-link:hover{color:var(--accent-hover)}.site-footer .footer-sep{color:var(--text-muted);margin:0 6px;opacity:0.5}@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.card-list .card:nth-child(1){opacity:0;animation:fadeUp 0.45s ease 0.15s forwards}.card-list .card:nth-child(2){opacity:0;animation:fadeUp 0.45s ease 0.2s forwards}.card-list .card:nth-child(3){opacity:0;animation:fadeUp 0.45s ease 0.25s forwards}.card-list .card:nth-child(4){opacity:0;animation:fadeUp 0.45s ease 0.3s forwards}.card-list .card:nth-child(5){opacity:0;animation:fadeUp 0.45s ease 0.35s forwards}.card-list .card:nth-child(6){opacity:0;animation:fadeUp 0.45s ease 0.4s forwards}.card-list .card:nth-child(7){opacity:0;animation:fadeUp 0.45s ease 0.45s forwards}.card-list .card:nth-child(8){opacity:0;animation:fadeUp 0.45s ease 0.5s forwards}.card-list .card:nth-child(n+9){opacity:0;animation:fadeUp 0.45s ease 0.55s forwards}.card-list .inline-form-card,.card-list .file-count-badge{opacity:0;animation:fadeUp 0.4s ease 0.3s forwards}@media (max-width:480px){body{padding:16px 12px 40px;font-size:14px}.page-header{margin-bottom:22px}.page-header h1{font-size:26px}.auth-body-inner{flex-direction:column;align-items:stretch;gap:8px;padding:12px 14px}.auth-body-inner input[type="password"]{min-width:unset;width:100%}.auth-body-inner .btn{width:100%;text-align:center}.inline-form-card .form-row{flex-direction:column}.inline-form-card input{min-width:unset;width:100%}.inline-form-card .form-actions{flex-direction:column;width:100%}.inline-form-card .form-actions .btn{width:100%;text-align:center}.card{padding:12px 14px}.top-bar{padding:0 2px 12px}.theme-option{width:28px;height:24px}.theme-option svg{width:13px;height:13px}.auth-toggle{padding:11px 14px}.toast{top:16px;padding:10px 22px;font-size:12px;border-radius:20px}.site-footer{padding:20px 0 4px;font-size:10px}}@media (min-width:768px){.app{max-width:620px}}