:root{
    --bg:#ffffff; --bg-alt:#f5f5f7; --text:#1d1d1f; --text-2:#6e6e73; --text-3:#86868b;
    --border:#d2d2d7; --accent:#008a5e; --accent-hover:#00754e; --accent-soft:rgba(0,138,94,.10);
    --radius:18px; --shadow:0 14px 40px rgba(0,0,0,.08);
    --font:-apple-system, BlinkMacSystemFont, "SF Pro Display","SF Pro Text","Helvetica Neue",Helvetica,Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
    --mono:"SF Mono","JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased;letter-spacing:-.011em}
button,select{font-family:var(--font);font:inherit}

nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.72);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.08)}
.nav-inner{max-width:1024px;margin:0 auto;padding:0 22px;height:52px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:8px;font-weight:600;font-size:18px;letter-spacing:-.02em}
.brand .logo{width:26px;height:26px;border-radius:7px;background:var(--accent);display:flex;align-items:center;justify-content:center}
.brand .logo svg{width:16px;height:16px;color:#fff}
.nav-right{display:flex;align-items:center;gap:22px}
.back{font-size:13px;color:var(--text-2);transition:color .2s}
.back:hover{color:var(--text)}
.lang-toggle{font-size:13px;font-weight:500;color:var(--text);border:1px solid var(--border);border-radius:980px;padding:5px 14px;cursor:pointer;background:transparent;transition:all .2s}
.lang-toggle:hover{border-color:var(--text-3);background:var(--bg-alt)}

.app-shell{max-width:1024px;margin:0 auto;padding:64px 22px 80px}

.intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);gap:32px;align-items:end;margin-bottom:48px}
.eyebrow{margin:0 0 12px;color:var(--accent);font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
h1{font-size:clamp(34px,5.5vw,60px);font-weight:600;letter-spacing:-.03em;line-height:1.05;margin-bottom:18px;max-width:760px}
h2{font-size:24px;font-weight:600;letter-spacing:-.02em;margin:0}
.intro-copy{color:var(--text-2);font-size:18px;line-height:1.6;max-width:640px}
.status-panel{display:grid;gap:10px;padding:20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt)}
.status-panel span{padding:12px 14px;border-radius:12px;background:#fff;color:var(--accent);font-weight:600;font-size:14px;border:1px solid var(--border)}

.workspace{display:grid;grid-template-columns:340px minmax(0,1fr);gap:24px;align-items:start}
.question-panel,.results-panel,.readme-panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}
.question-panel{display:grid;gap:18px;padding:24px;position:sticky;top:76px}
.field-group{display:grid;gap:8px}
label{font-size:14px;font-weight:600;color:var(--text)}
select{width:100%;min-height:46px;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--text);padding:0 14px;cursor:pointer;transition:border-color .2s}
select:focus{outline:none;border-color:var(--accent)}
.btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:980px;padding:13px 26px;font-size:16px;font-weight:500;cursor:pointer;transition:all .25s}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-hover);transform:scale(1.02)}
.ghost-action{padding:8px 16px;border:1px solid var(--border);border-radius:980px;background:#fff;color:var(--accent);font-weight:500;cursor:pointer;transition:all .2s}
.ghost-action:hover{background:var(--bg-alt)}

.results-panel{min-height:480px;padding:24px}
.results-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}
.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.project-card{display:flex;flex-direction:column;min-height:460px;padding:20px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;transition:transform .3s ease, box-shadow .3s ease}
.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.project-card strong{color:var(--accent);font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}
.project-card h3{margin:8px 0 10px;font-size:20px;font-weight:600;letter-spacing:-.02em}
.project-card p{color:var(--text-2);font-size:14px;line-height:1.55;margin-bottom:10px}
.project-card ul{padding-left:18px;margin:0 0 12px;color:var(--text-2);font-size:14px;line-height:1.55}
.project-card li{margin-bottom:4px}
.project-card p b{color:var(--text);font-weight:600}
.meta-row{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 14px}
.meta-row span{padding:6px 11px;border-radius:980px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:600}
.card-button{margin-top:auto;background:var(--accent);color:#fff;border:none;border-radius:12px;min-height:44px;font-size:15px;font-weight:500;cursor:pointer;transition:background .2s}
.card-button:hover{background:var(--accent-hover)}

.readme-panel{display:grid;gap:16px;margin-top:24px;padding:24px}
#readme-title{font-size:20px;font-weight:600}
pre{overflow:auto;min-height:220px;margin:0;padding:20px;border-radius:14px;background:#1d1d1f;color:#f5f5f7;line-height:1.6;white-space:pre-wrap;font-family:var(--mono);font-size:13.5px}

@media(max-width:920px){
    .intro,.workspace{grid-template-columns:1fr}
    .question-panel{position:static}
    .cards-grid{grid-template-columns:1fr}
    .project-card{min-height:0}
}
