@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;700;900&family=Noto+Sans+SC:wght@400;500;700;900&display=swap");:root{--paper:#f9f4e8;--ink:#151a24;--ink-soft:#4b5568;--panel:rgba(255,252,245,.83);--line:rgba(35,48,68,.16);--teal:#157a77;--orange:#d85f34;--amber:#f0ae2f;--lime:#7ea126;--danger:#b4362f;--radius-lg:22px;--radius-md:14px;--shadow:0 20px 45px rgba(40,30,22,.16)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{min-height:100vh;color:var(--ink);font-family:Noto Sans SC,Segoe UI,sans-serif;background:radial-gradient(circle at 12% 18%,rgba(240,174,47,.34),transparent 29%),radial-gradient(circle at 88% 22%,rgba(21,122,119,.25),transparent 34%),linear-gradient(140deg,#f0e9da,#f7f1e2 55%,#f2ead9);background-attachment:fixed}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(hsla(0,0%,100%,.14) 1px,transparent 0);background-size:100% 26px;mix-blend-mode:soft-light;opacity:.22}a{color:inherit;text-decoration:none}.shell{max-width:1200px;margin:0 auto;padding:20px 18px 56px;min-width:0}.topbar{position:-webkit-sticky;position:sticky;top:16px;z-index:20;display:flex;justify-content:space-between;gap:16px;padding:14px 18px;border-radius:var(--radius-lg);border:1px solid var(--line);background:rgba(255,252,245,.88);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 12px 30px rgba(61,45,36,.14)}.brand,.topbar{align-items:center}.brand{display:inline-flex;gap:12px;font-family:Barlow Condensed,sans-serif;font-size:1.5rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.brand-badge{display:inline-grid;place-items:center;min-width:44px;height:44px;border-radius:11px;background:linear-gradient(130deg,var(--teal),#0f5855);box-shadow:0 10px 18px rgba(20,95,93,.24);color:#f8fbff;font-size:1.1rem}.brand-text{display:grid;line-height:1}.brand-text strong{font-size:1.6rem}.brand-text span{margin-top:2px;font-family:Noto Sans SC,sans-serif;font-size:.8rem;font-weight:700;color:var(--ink-soft)}.nav-links{display:inline-flex;gap:10px}.nav-link{position:relative;border:1px solid var(--line);border-radius:999px;padding:8px 14px;background:hsla(0,0%,100%,.76);font-weight:700;font-size:.94rem;transition:transform .18s ease,border-color .18s ease,background .18s ease}.nav-link:hover{transform:translateY(-1px);border-color:rgba(216,95,52,.44);background:hsla(0,0%,100%,.95)}.page{margin-top:20px;display:grid;grid-gap:18px;gap:18px;animation:rise-in .42s ease both;min-width:0}.panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow);padding:24px;min-width:0}.hero-board{position:relative;overflow:hidden}.hero-board:after{content:"";position:absolute;right:-40px;bottom:-46px;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(240,174,47,.27),transparent 64%)}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid rgba(21,122,119,.26);border-radius:999px;font-size:.82rem;font-weight:800;letter-spacing:.04em;color:#0f6f6c;background:hsla(0,0%,100%,.78)}.eyebrow,.hero-title{text-transform:uppercase}.hero-title{margin:12px 0 10px;font-family:Barlow Condensed,sans-serif;font-size:clamp(2.1rem,7vw,4rem);line-height:.96;letter-spacing:.02em}.hero-title em{color:var(--orange);font-style:normal}.lead{margin:0;max-width:760px;color:var(--ink-soft);line-height:1.75}.action-row{margin-top:26px;display:flex;flex-wrap:wrap;gap:12px}.btn{border:1px solid transparent;border-radius:12px;padding:12px 18px;font-size:.95rem;font-weight:800;letter-spacing:.01em;cursor:pointer;transition:transform .16s ease,filter .16s ease}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.62;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(120deg,var(--orange),#e07d45);color:#fff;box-shadow:0 12px 20px rgba(216,95,52,.3)}.btn-secondary{background:#fff;color:var(--ink);border-color:var(--line)}.btn-ghost{background:transparent;color:var(--ink-soft);border-color:var(--line)}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.stat-card{border-radius:var(--radius-md);border:1px dashed rgba(35,48,68,.2);background:hsla(0,0%,100%,.58);padding:14px}.stat-label{margin:0;color:var(--ink-soft);font-size:.85rem}.stat-value{margin:6px 0 0;font-family:Barlow Condensed,sans-serif;font-weight:900;font-size:1.7rem}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.form-stack{display:grid;grid-gap:14px;gap:14px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.field{display:grid;grid-gap:7px;gap:7px}.field label{font-size:.92rem;font-weight:700;color:var(--ink-soft)}.file,.input,.number,.select{width:100%;border-radius:11px;border:1px solid var(--line);background:hsla(0,0%,100%,.92);padding:11px 12px;font:inherit;color:var(--ink)}.file{padding:9px 10px}.file:focus,.input:focus,.number:focus,.select:focus{outline:2px solid rgba(21,122,119,.2);border-color:rgba(21,122,119,.48)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-soft) 50%),linear-gradient(135deg,var(--ink-soft) 50%,transparent 50%);background-position:calc(100% - 16px) 16px,calc(100% - 10px) 16px;background-size:6px 6px,6px 6px;background-repeat:no-repeat}.helper{color:var(--ink-soft);font-size:.85rem}.notice{border-radius:var(--radius-md);border:1px solid rgba(126,161,38,.28);background:hsla(82,66%,92%,.85);padding:14px}.notice strong{color:#496213}.status-box{min-height:100%;display:grid;place-items:center;text-align:center}.status-title{margin:10px 0 4px;font-size:1.4rem}.rank-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid rgba(240,174,47,.5);background:rgba(255,243,209,.96);color:#7b4a00;padding:6px 12px;font-weight:800}.success-text{color:var(--lime);font-weight:900}.error-text{margin-top:10px;color:var(--danger);font-weight:700}.group-tabs{display:inline-flex;flex-wrap:wrap;gap:8px}.group-tab{border:1px solid var(--line);border-radius:999px;background:hsla(0,0%,100%,.84);padding:8px 14px;font-size:.9rem;font-weight:800;cursor:pointer;transition:background .15s ease,border-color .15s ease}.group-tab.active{background:#fff8eb;border-color:rgba(216,95,52,.36);color:#7e3c1f}.table-wrap{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.table{width:max-content;min-width:100%;border-collapse:collapse;border-radius:var(--radius-md);overflow:hidden;background:hsla(0,0%,100%,.92)}.table td,.table th{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line)}.table th{font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);background:#f6efdf}.table tbody tr:hover{background:#fffaf0}.rank-badge{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:#fff;font-weight:900}.rank-1 .rank-badge{border-color:rgba(240,174,47,.6);background:#fff5db}.rank-2 .rank-badge{border-color:rgba(148,163,184,.5);background:#f4f7fb}.rank-3 .rank-badge{border-color:rgba(212,137,86,.5);background:#ffefe5}.tie-badge{margin-left:6px;border-radius:999px;background:#ffefd9;border:1px solid #f6be74;color:#97520f;font-size:.72rem;font-weight:700;padding:2px 6px}.preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.preview-card{border:1px solid var(--line);border-radius:var(--radius-md);background:hsla(0,0%,100%,.8);padding:10px}.preview-image{width:100%;border-radius:10px;display:block}.empty-box{padding:42px 12px;text-align:center;color:var(--ink-soft)}.fade-in{animation:rise-in .32s ease both}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:960px){.topbar{top:10px;padding:12px;flex-direction:column;align-items:flex-start}.nav-links{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.nav-link{text-align:center}.form-row,.grid-2,.preview-grid,.stats-grid{grid-template-columns:1fr}.table{min-width:640px}}@media (max-width:640px){.shell{padding:12px 12px 44px}.panel{padding:16px}.brand{font-size:1.35rem}.brand-text strong{font-size:1.4rem}.hero-title{font-size:clamp(1.8rem,11vw,2.3rem)}.action-row{flex-direction:column;align-items:stretch}.btn{width:100%}.table{min-width:580px}.table td,.table th{padding:10px 8px;white-space:nowrap}}