:root{
  color-scheme:light;--ink:#172a42;--mid:#54677a;--blue:#315875;--line:#d8e1e8;--paper:#fff;--desk:#f0f5f8;
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
  color:var(--ink);background:var(--desk);-webkit-text-size-adjust:100%;
}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}a{color:inherit}button{cursor:pointer}
:focus-visible{outline:3px solid #4e799e;outline-offset:4px}
.wordmark{display:inline-flex;align-items:center;gap:9px;color:var(--blue);font-size:16px;font-weight:730;letter-spacing:-.025em}
.wordmark svg{flex:none}
.gate{min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:24px;
  background:radial-gradient(ellipse at 50% 36%,#f9fcfd 0%,var(--desk) 68%)}
.gate-card{width:min(100%,462px);padding:40px 36px 30px;text-align:center;background:var(--paper);border:1px solid var(--line);
  border-radius:21px;box-shadow:0 16px 45px #24465c0d}
.gate-card h1{font-size:clamp(22px,5.4vw,31px);letter-spacing:-.035em;line-height:1.28;margin:24px 0 12px}
.pin-form label{display:block;color:var(--mid);font-size:14px}
.pin-wrap{position:relative;width:min(100%,276px);margin:21px auto 0}
.pin-wrap input{width:100%;height:59px;border:1px solid #aebfce;border-radius:9px;text-align:center;
  color:var(--ink);background:var(--desk);font-size:24px;letter-spacing:.45em}
.pin-cells{display:none}.enhanced .pin-cells{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;pointer-events:none}
.enhanced input{position:absolute;inset:0;height:100%;opacity:0;cursor:text;letter-spacing:normal;font-size:18px}
.pin-cells span{height:59px;display:grid;place-items:center;border:1px solid #d2dfea;border-radius:9px;background:#eef3f7;font-size:25px}
.pin-wrap:focus-within .current{outline:2px solid var(--blue);outline-offset:2px;background:#f8fbfe}
.pin-message{min-height:21px;margin:17px 0 0;font-size:13px;color:var(--mid);line-height:1.6}
.submit,.lock{border:0;background:transparent;color:var(--blue);font-size:14px;font-weight:650}
.submit{display:inline-flex;align-items:center;gap:5px;padding:9px 13px;margin-top:5px;border-radius:8px}
.submit:hover,.lock:hover{background:#e7eff5}
.bar{background:var(--paper);border-bottom:1px solid var(--line)}
.frame{width:min(calc(100% - 56px),1000px);margin-inline:auto}
.bar-inner{min-height:67px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.lock{border:1px solid var(--line);padding:9px 13px;border-radius:8px}
.board{padding:64px 0 72px}.board h1{font-size:clamp(25px,5vw,45px);letter-spacing:-.045em;line-height:1.2;margin:0 0 46px}
.section-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding-bottom:13px;border-bottom:1px solid #bfcfda}
.section-head h2{font-size:18px;margin:0}.section-head>span{font-size:13px;color:var(--mid)}
.projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px;list-style:none;margin:0;padding:0}
.projects li{min-width:0}.project{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 4px;min-height:74px;
  border-bottom:1px solid var(--line);font-weight:640;text-decoration:none;overflow-wrap:anywhere}
.project:hover{background:#e8eff5}.project-icon{background:var(--color);color:var(--ink);width:39px;height:36px;border-radius:8px;display:grid;place-items:center;flex:none}
.empty{padding:52px 20px;text-align:center;border-bottom:1px solid var(--line);color:var(--mid)}
.empty svg{color:var(--blue)}.empty h3{margin:7px 0 6px;color:var(--ink);font-size:17px}.empty p{margin:0;font-size:14px}
@media(max-width:600px){.frame{width:calc(100% - 36px)}.board{padding-top:42px}.board h1{margin-bottom:34px}.projects{grid-template-columns:minmax(0,1fr)}}
@media(max-width:390px){.gate{padding:16px}.gate-card{padding-inline:21px}.pin-cells span{height:54px}}
