:root{color-scheme:dark;font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.4;color:#e8e8e8;background:#141414}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}button,input[type=file]{font:inherit}.app{display:grid;grid-template-rows:auto 1fr;height:100%}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid #2c2c2c;background:#1a1a1a}.brand{display:flex;align-items:baseline;gap:10px}.brand strong{font-size:15px;letter-spacing:.02em}.brand span{font-size:12px;color:#8a8a8a}.actions{display:flex;align-items:center;gap:10px}.status{font-size:12px;padding:4px 8px;border-radius:4px;background:#222}.status.live{color:#86efac}.status.offline{color:#fca5a5}.actions button{border:1px solid #3a3a3a;background:#242424;color:#eee;padding:6px 12px;border-radius:6px;cursor:pointer}.actions button:hover{background:#2e2e2e}.zoom-label{min-width:48px;text-align:center;font-size:12px;color:#a3a3a3;font-variant-numeric:tabular-nums}.mode-toggle{display:inline-flex;border:1px solid #3a3a3a;border-radius:6px;overflow:hidden}.mode-toggle button{border:none;border-radius:0;background:#1c1c1c}.mode-toggle button.active{background:#2563eb;color:#fff}.canvas-wrap.prototype-mode{outline:1px solid #164e63}.workspace{display:grid;grid-template-columns:1fr 240px;min-height:0}.canvas-wrap{position:relative;overflow:hidden;background-color:#1f1f1f;background-image:linear-gradient(#2a2a2a 1px,transparent 1px),linear-gradient(90deg,#2a2a2a 1px,transparent 1px);background-size:20px 20px}.canvas-wrap.panning{cursor:grabbing}.inspector{border-left:1px solid #2c2c2c;background:#171717;padding:14px;overflow:auto}.inspector h2{margin:0 0 12px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#7a7a7a}.inspector dl{margin:0;display:grid;grid-template-columns:72px 1fr;gap:8px 10px;font-size:13px}.inspector dt{color:#8a8a8a}.inspector dd{margin:0;word-break:break-all}.inspector .empty{color:#6a6a6a;font-size:13px}.inspector .page-list{margin-bottom:16px}.inspector .page-list h3{margin:0 0 8px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#7a7a7a}.inspector .page-list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.inspector .page-list button{width:100%;text-align:left;padding:6px 8px;border:1px solid #2c2c2c;border-radius:6px;background:#1f1f1f;color:#d4d4d4;cursor:pointer}.inspector .page-list button.active,.inspector .page-list button:hover{border-color:#525252;background:#262626}.inspector .page-list .page-num{display:inline-block;min-width:2.2em;margin-right:6px;color:#fbbf24;font-variant-numeric:tabular-nums}.linkish{border:none;background:transparent;color:#93c5fd;padding:0;cursor:pointer;text-align:left}.user-chip{font-size:12px;color:#a3a3a3}.auth-screen{min-height:100%;display:grid;place-items:center;background:#141414}.auth-card{width:min(360px,calc(100% - 32px));display:flex;flex-direction:column;gap:12px;padding:28px 24px;border:1px solid #2c2c2c;border-radius:12px;background:#1a1a1a}.auth-card h1{margin:0;font-size:18px}.auth-hint,.auth-error{margin:0;font-size:12px}.auth-error{color:#fca5a5}.auth-card label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#a3a3a3}.auth-card input,.create-row input{font:inherit;color:#eee;background:#111;border:1px solid #3a3a3a;border-radius:6px;padding:8px 10px}.auth-card button[type=submit],.create-row button,.token-box button{border:1px solid #3a3a3a;background:#2563eb;color:#fff;padding:8px 12px;border-radius:6px;cursor:pointer}.projects-screen{min-height:100%;display:grid;grid-template-rows:auto 1fr}.projects-main{padding:24px;max-width:920px;margin:0 auto;width:100%}.token-box{border:1px solid #2c2c2c;border-radius:10px;padding:16px;background:#1a1a1a;margin-bottom:20px}.token-box h2{margin:0 0 8px;font-size:13px}.token-box p{margin:0 0 12px;font-size:12px;color:#a3a3a3}.token-box code{font-size:11px;color:#e5e5e5}.create-row{display:flex;gap:8px;margin-bottom:16px}.create-row input{flex:1}.project-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.project-card{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:stretch;border:1px solid #2c2c2c;border-radius:10px;background:#1a1a1a;padding:8px}.project-card .open{text-align:left;border:none;background:transparent;color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:8px}.project-card .open span{font-size:12px;color:#8a8a8a}.project-card .danger{border:1px solid #7f1d1d;background:#1f1212;color:#fca5a5;border-radius:6px;cursor:pointer;padding:6px 10px}.empty{color:#6a6a6a}
