:root{--blue:#1677FF;--blue-l:#e8f5ff;--g9:#1e293b;--g7:#475569;--g6:#64748b;--g5:#94a3b8;--g3:#e2e8f0;--g2:#f1f5f9;--g1:#f8fafc;--w:#fff;--green:#22c55e}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC",sans-serif;background:var(--g1);color:var(--g7);line-height:1.6}
a{text-decoration:none;color:inherit}
.nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,0.95);backdrop-filter:blur(16px);border-bottom:1px solid var(--g3)}
.nav-i{max-width:1200px;margin:0 auto;display:flex;align-items:center;padding:0 1rem;height:56px;gap:0.75rem}
.logo{font-size:1.2rem;font-weight:800;color:var(--blue);white-space:nowrap}
.nav-b{display:flex;gap:0.4rem;white-space:nowrap}
.btn{padding:0.4rem 1rem;border-radius:8px;font-size:0.8rem;font-weight:600;border:none;cursor:pointer}
.bp{background:var(--blue);color:var(--w)}.bp:hover{background:#0d6efd}
.bo{background:transparent;color:var(--blue);border:1.5px solid var(--blue)}.bo:hover{background:var(--blue);color:var(--w)}
.layout{display:flex;min-height:calc(100vh - 56px)}
.sidebar{width:240px;background:var(--w);border-right:1px solid var(--g3);padding:1rem 0;flex-shrink:0;position:sticky;top:56px;height:calc(100vh - 56px);overflow-y:auto}
.sb-title{font-size:0.9rem;font-weight:700;color:var(--g9);padding:0 1rem 0.75rem;border-bottom:1px solid var(--g3);margin-bottom:0.5rem}
.sb-menu{list-style:none}
.sb-menu li a{display:block;padding:0.6rem 1rem;font-size:0.85rem;color:var(--g6);border-left:3px solid transparent;transition:all 0.2s}
.sb-menu li a:hover{background:var(--blue-l);color:var(--blue)}
.sb-menu li a.active{background:var(--blue-l);color:var(--blue);border-left-color:var(--blue);font-weight:600}
.sb-menu li a.home{color:var(--g5);font-size:0.8rem;padding:0.5rem 1rem}
.sb-menu li a.home:hover{background:var(--g2);color:var(--g7)}
.main{flex:1;padding:1.5rem;max-width:900px}
.hdr{text-align:center;margin-bottom:2rem}.hdr h1{font-size:1.75rem;font-weight:800;color:var(--g9);margin-bottom:0.35rem}.hdr p{color:var(--g6);font-size:0.95rem}
.card{background:var(--w);border-radius:14px;padding:1.5rem;border:1px solid var(--g3);box-shadow:0 2px 8px rgba(0,0,0,0.06);margin-bottom:1.25rem}
.badge{display:inline-block;background:var(--blue-l);color:var(--blue);padding:0.25rem 0.75rem;border-radius:20px;font-size:0.8rem;font-weight:500;margin-bottom:1.25rem}
.fg{margin-bottom:1rem}.fg label{display:block;font-weight:600;margin-bottom:0.5rem;color:var(--g9);font-size:0.9rem}
textarea{width:100%;min-height:160px;padding:1rem;border:2px solid var(--g3);border-radius:12px;font-size:0.95rem;resize:vertical;font-family:inherit;line-height:1.7;color:var(--g9)}
textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(22,119,255,0.1)}
.fz{border:2px dashed var(--g3);border-radius:12px;padding:2rem;text-align:center;cursor:pointer;transition:all 0.2s}
.fz:hover{border-color:var(--blue);background:var(--blue-l)}
.fi-info{display:flex;align-items:center;justify-content:space-between;background:var(--g1);padding:0.75rem 1rem;border-radius:10px;margin-top:0.5rem}
#fn{font-size:0.85rem;color:var(--g7)}
.actions{display:flex;gap:0.5rem;margin-top:1rem;flex-wrap:wrap}
.btn-b{padding:0.7rem 1.5rem;font-size:0.95rem;border-radius:10px}.btn-b:disabled{opacity:0.5;cursor:not-allowed}
.pa{background:var(--g1);border-radius:10px;padding:1.25rem;margin-top:1.25rem}.pa.hide{display:none}
.pb{background:var(--g2);border-radius:10px;height:8px;overflow:hidden}.pf{background:linear-gradient(90deg,var(--blue),#4096ff);height:100%;width:0%;transition:width 0.3s;border-radius:10px}
.pt{text-align:center;color:var(--g6);font-size:0.85rem;margin-top:0.5rem}
.ra{display:none}.ra.show{display:block}.ra h2{font-size:1.1rem;font-weight:700;color:var(--green);margin-bottom:0.75rem}
.rb{background:var(--g1);border:1px solid var(--g3);border-radius:12px;padding:1rem;white-space:pre-wrap;line-height:1.8;color:var(--g9);font-size:0.9rem;min-height:80px}
.ract{display:flex;gap:0.5rem;margin-top:1rem;flex-wrap:wrap}
.ft{text-align:center;padding:1.5rem;font-size:0.75rem;color:var(--g5);border-top:1px solid var(--g3);margin-top:2rem}
.sidebar-toggle{display:none;position:fixed;bottom:1rem;right:1rem;z-index:1000;width:48px;height:48px;border-radius:50%;background:var(--blue);color:#fff;border:none;font-size:1.3rem;box-shadow:0 4px 16px rgba(22,119,255,0.3);cursor:pointer}
@media(max-width:900px){.sidebar{width:200px}}
@media(max-width:640px){
    .nav-i{height:52px;padding:0 0.85rem}.nav-b .btn{padding:0.3rem 0.55rem;font-size:0.72rem}
    .layout{flex-direction:column}
    .sidebar{position:fixed;left:-260px;top:52px;width:250px;height:calc(100vh - 52px);z-index:999;transition:left 0.3s ease}
    .sidebar.open{left:0;box-shadow:4px 0 24px rgba(0,0,0,0.15)}
    .sidebar-toggle{display:block}
    .main{padding:1rem}.hdr h1{font-size:1.35rem}.hdr p{font-size:0.85rem}
    textarea{min-height:140px;font-size:16px}
    .actions{flex-direction:column}.actions .btn-b{width:100%;text-align:center}
    .ract{flex-direction:column}.ract .btn{width:100%;text-align:center}
}