:root{--ink:#13182b;--muted:#68718a;--line:#dce3f1;--panel:#fff;--ground:#f4f7ff;--violet:#6c58f6;--cyan:#39d3d5;--red:#e75062;--yellow:#d79b22;--green:#2f9c70;--shadow:0 18px 55px rgba(34,41,78,.12)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 10% 5%,#e2f4ff 0,transparent 28%),radial-gradient(circle at 90% 18%,#eee7ff 0,transparent 25%),var(--ground);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif}.app-shell{width:min(1440px,calc(100% - 48px));margin:auto}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none}.brand img{width:40px;height:40px;border-radius:12px;object-fit:contain;background:#fff;box-shadow:0 5px 15px #cdd5e8}.brand strong{display:block;font-size:19px}.brand small{display:block;color:var(--muted);margin-top:2px}.site-header nav{display:flex;gap:32px}.site-header nav a,footer a{color:var(--muted);font-size:15px;font-weight:750;text-decoration:none}.site-header nav a:hover,footer a:hover{color:var(--violet)}.header-actions{display:flex;gap:8px}.ghost-button,.header-actions button,.result-actions button,.export-row button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:12px;padding:10px 13px;font-weight:750;cursor:pointer}.hero-panel{margin:32px 0 14px;min-height:330px;padding:44px 52px;border-radius:30px;position:relative;overflow:hidden;display:flex;justify-content:space-between;background:linear-gradient(118deg,#fff 5%,#e6fcff 42%,#e8e2ff 100%);box-shadow:var(--shadow)}.hero-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(93,78,224,.08) 1px,transparent 1px),linear-gradient(rgba(93,78,224,.08) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(90deg,#000,transparent 76%)}.hero-copy{z-index:1;max-width:620px}.eyebrow{display:block;color:var(--violet);font-size:12px;font-weight:900;letter-spacing:.13em;margin-bottom:12px}.hero-panel h1{margin:0;font-size:clamp(46px,6vw,80px);line-height:.93;letter-spacing:-.07em}.hero-panel h1 em{color:var(--violet);font-style:normal}.hero-copy p{font-size:18px;line-height:1.55;color:#58637d;max-width:550px}.hero-points{display:flex;gap:9px;flex-wrap:wrap;margin-top:26px}.hero-points span{padding:9px 12px;border:1px solid #d7e6f0;background:#ffffffb8;border-radius:999px;font-size:13px;font-weight:800;color:#277d72}.hero-art{width:370px;position:relative;z-index:1}.shield{position:absolute;top:72px;left:100px;width:145px;height:145px;border-radius:42px;background:linear-gradient(135deg,#6f5df6,#3fdbd5);color:#fff;font-size:84px;display:grid;place-items:center;box-shadow:0 20px 38px #7160df55}.orbit{position:absolute;border:2px solid #755ced77;border-radius:50%;left:30px;top:25px;width:300px;height:220px;transform:rotate(28deg)}.orbit-two{left:60px;top:5px;width:260px;height:260px;border-color:#2acccc77}.hero-art b{position:absolute;border-radius:999px;background:#fff;padding:9px 12px;color:#535c76;font-size:12px;box-shadow:0 6px 16px #4c4d7b22}.hero-art b:nth-of-type(1){top:26px;right:7px}.hero-art b:nth-of-type(2){bottom:35px;left:12px}.hero-art b:nth-of-type(3){bottom:10px;right:20px}.notice-panel{display:flex;gap:14px;padding:15px 20px;background:#fff9e8;border:1px solid #ffe1a5;border-radius:14px;color:#6f5419;font-size:14px}.notice-panel span{color:#806b3e}.workspace{margin-top:25px;border-radius:26px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}.workspace-tabs{display:flex;padding:10px;border-bottom:1px solid var(--line);gap:8px;background:#fbfcff}.tab{border:0;background:transparent;color:#737d95;border-radius:12px;padding:14px 17px;font-size:14px;font-weight:850;cursor:pointer}.tab.active{background:#eeecff;color:#5541d7}.tab em{font-style:normal;background:#fff;border-radius:8px;padding:2px 6px;margin-left:5px}.tab-panel{display:none;padding:34px}.tab-panel.active{display:block}.panel-heading{display:flex;justify-content:space-between;gap:25px;align-items:flex-start}.panel-heading h2{margin:0;font-size:28px;letter-spacing:-.04em}.panel-heading p{margin:7px 0 0;color:var(--muted);line-height:1.5}.panel-heading.compact{margin:30px 0 16px}.catalog-badge{font-size:13px;padding:10px 13px;border-radius:12px;background:#f0f9ff;color:#44758d;white-space:nowrap}.catalog-badge b{color:#146f87}.drop-zone{border:2px dashed #b9c6df;border-radius:22px;margin-top:25px;min-height:260px;display:flex;align-items:center;justify-content:center;flex-direction:column;cursor:pointer;background:linear-gradient(135deg,#fbfdff,#f0edff);transition:.2s}.drop-zone.dragover{border-color:var(--violet);background:#eeeaff}.drop-zone input,.file-button input{display:none}.drop-icon{font-size:38px;width:72px;height:72px;border-radius:24px;background:#1c2240;color:#fff;display:grid;place-items:center;margin-bottom:16px;box-shadow:0 12px 24px #252b4d36}.drop-zone strong{font-size:23px}.drop-zone small{margin:7px 0 16px;color:var(--muted)}.primary-button{border:0;background:linear-gradient(115deg,#42d6d3,#7056f6);color:#102039;border-radius:12px;padding:13px 19px;font-weight:900;cursor:pointer;box-shadow:0 10px 22px #6358d33b}.primary-button:hover{filter:brightness(1.05);transform:translateY(-1px)}.primary-button.small{padding:10px 14px;font-size:13px}.file-summary{margin-top:18px;padding:15px;border-radius:13px;background:#eef8ff;display:flex;justify-content:space-between;color:#31526a}.mapping-panel{margin-top:20px;padding-top:4px}.mapping-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mapping-field{border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff}.mapping-field label{display:flex;gap:7px;font-size:13px;font-weight:800;margin-bottom:8px}.mapping-field select{width:100%;padding:9px;border:1px solid var(--line);border-radius:9px;background:#fbfcff;color:var(--ink)}.progress-box{margin-top:20px;padding:16px;border-radius:14px;background:#f5f3ff}.progress-box>div:first-child{display:flex;justify-content:space-between;font-size:14px}.progress-track{height:9px;background:#dce0ef;border-radius:99px;margin-top:11px;overflow:hidden}.progress-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#45d6d5,#7658f5);transition:width .2s}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.stat{border:1px solid var(--line);border-radius:16px;padding:18px}.stat b{display:block;font-size:30px;letter-spacing:-.04em}.stat span{font-size:13px;color:var(--muted);font-weight:700}.stat.detected b{color:var(--red)}.stat.possible b{color:var(--yellow)}.stat.clear b{color:var(--green)}.filter-bar{display:flex;gap:12px;margin:17px 0}.filter-tabs{display:flex;gap:6px;flex-wrap:wrap}.filter-tabs button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 11px;cursor:pointer;font-weight:750;color:#5f6880}.filter-tabs button.active{background:#201a50;color:#fff;border-color:#201a50}.filter-bar input,.filter-bar select,.brand-form input,.brand-form select,.library-search{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;color:var(--ink);font:inherit}.filter-bar input{margin-left:auto;min-width:260px}.export-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0;color:var(--muted);font-size:13px}.export-row button{padding:7px 9px;font-size:12px}.table-wrap{border:1px solid var(--line);border-radius:16px;overflow:auto;min-height:280px}table{width:100%;border-collapse:collapse;min-width:900px}th,td{text-align:left;padding:15px;border-bottom:1px solid #eef0f6;font-size:13px;vertical-align:top}th{background:#f8f9fd;color:#68718a;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.row-title{font-weight:850;max-width:260px}.muted{color:var(--muted)}.status{display:inline-block;border-radius:999px;padding:5px 8px;font-weight:850;font-size:11px}.status.detected{color:#b5273f;background:#ffeaec}.status.possible{color:#906319;background:#fff5d9}.status.clear{color:#227651;background:#e4f7ee}.brand-chip{display:inline-block;margin:0 4px 4px 0;border-radius:6px;padding:4px 6px;background:#f0effb;font-size:11px;font-weight:750}.review-select{border:1px solid var(--line);border-radius:7px;padding:6px;background:#fff}.empty-state{padding:75px 18px;text-align:center;color:var(--muted)}.brand-form{display:grid;grid-template-columns:1.3fr 1.4fr .8fr auto auto;gap:10px;margin:22px 0}.check-label{font-size:12px;display:flex;align-items:center;gap:6px}.library-search{width:100%;margin-bottom:12px}.library-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-height:520px;overflow:auto}.library-item{border:1px solid var(--line);border-radius:12px;padding:12px}.library-item b{display:block}.library-item span{display:block;font-size:12px;color:var(--muted);margin:4px 0}.library-item button{border:0;background:none;color:#c03d50;font-weight:750;padding:0;cursor:pointer}.guidance{margin:45px 0;border-radius:26px;padding:38px;background:linear-gradient(125deg,#16224b,#314993);color:#fff;display:grid;grid-template-columns:.8fr 1.8fr;gap:42px}.guidance .eyebrow{color:#5ff0ec}.guidance h2{font-size:37px;line-height:1.02;margin:0;letter-spacing:-.05em}.guidance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.guidance article{background:#ffffff0d;border:1px solid #ffffff24;border-radius:16px;padding:18px}.guidance article b{color:#67e3f0}.guidance article h3{margin:9px 0}.guidance article p{margin:0;color:#c4d5f2;font-size:13px;line-height:1.45}footer{border-top:1px solid var(--line);padding:28px 0 42px;display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,30px);opacity:0;background:#17213c;color:#fff;border-radius:999px;padding:11px 16px;pointer-events:none;transition:.2s;font-weight:750}.toast.show{opacity:1;transform:translate(-50%,0)}body.dark{--ink:#ecf1ff;--muted:#aebbd1;--line:#2e3c5b;--panel:#101a2c;--ground:#080e1d;background:radial-gradient(circle at 10% 5%,#163b64 0,transparent 28%),radial-gradient(circle at 90% 18%,#292451 0,transparent 25%),var(--ground)}body.dark .site-header nav a,body.dark footer a{color:#c6d0e6}body.dark .hero-panel{background:linear-gradient(115deg,#152a47,#201c51)}body.dark .drop-zone,body.dark .mapping-field,body.dark .filter-bar input,body.dark .filter-bar select,body.dark .brand-form input,body.dark .brand-form select,body.dark .library-search,body.dark .ghost-button,body.dark .header-actions button,body.dark .result-actions button,body.dark .export-row button{background:#111d32;color:var(--ink)}body.dark .workspace-tabs,body.dark th{background:#0c1527}body.dark .notice-panel{background:#332a17;color:#ffe3a7;border-color:#75591d}body.dark .notice-panel span{color:#ead39f}body.dark .file-summary{background:#102b3d;color:#b5e6ff}body.dark .progress-box,body.dark .status.clear{background:#12322b}body.dark .brand-chip{background:#2b2855}body.dark .filter-tabs button{background:#111d32;color:#c7d0df}.dark .table-wrap{border-color:#304465}.dark .hero-points span{background:#17213cb3}.dark .catalog-badge{background:#14273d}.dark .library-item{background:#111d32}@media(max-width:900px){.app-shell{width:min(100% - 28px,700px)}.site-header nav{display:none}.hero-panel{padding:32px;min-height:300px}.hero-art{opacity:.45;position:absolute;right:-70px;top:0}.mapping-fields,.stats-grid{grid-template-columns:repeat(2,1fr)}.guidance{grid-template-columns:1fr}.brand-form{grid-template-columns:1fr 1fr}.library-list{grid-template-columns:1fr 1fr}.filter-bar{flex-wrap:wrap}.filter-bar input{margin-left:0;width:100%;min-width:0}}@media(max-width:560px){.site-header{height:76px}.brand small{display:none}.hero-panel{margin-top:16px;padding:28px 22px;min-height:250px}.hero-panel h1{font-size:47px}.hero-copy p{font-size:15px;width:85%}.hero-art{display:none}.notice-panel{flex-direction:column;font-size:13px}.tab-panel{padding:22px 16px}.workspace-tabs{overflow:auto}.tab{white-space:nowrap;padding:12px}.panel-heading{flex-direction:column}.panel-heading h2{font-size:24px}.catalog-badge{white-space:normal}.drop-zone{min-height:220px}.mapping-fields,.stats-grid,.library-list,.guidance-grid{grid-template-columns:1fr}.brand-form{grid-template-columns:1fr}.result-actions{display:flex;gap:8px}.filter-bar{flex-direction:column}.filter-tabs{overflow:auto;flex-wrap:nowrap}.filter-tabs button{white-space:nowrap}footer{flex-direction:column;gap:10px}.hero-points{margin-top:14px}.hero-points span{font-size:11px}}
