/* LUNO Expert Space — mirrors weareluno.com/expert (express.css) */
:root{--electric:#3b37ff;--electric-d:#302bdc;--paper:#f5f4ef;--ink:#18191b;--lime:#d9ff43;--tomato:#f4473a;--line:#dcdcd5;--line2:#deded6;--soft:#fafaf7;--mute:#777870;--mute2:#999a91;--f:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 var(--f);min-height:100vh;display:flex;flex-direction:column;padding:0 20px env(safe-area-inset-bottom);-webkit-font-smoothing:antialiased}
a{color:inherit}button,input,textarea{font-family:var(--f)}[hidden]{display:none!important}
.ex-header{height:75px;padding-top:env(safe-area-inset-top);box-sizing:content-box;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:10}
.ex-brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.ex-brand img{width:90px;display:block}.ex-brand span{font-size:12px;border-left:1px solid #cecec7;padding-left:14px;line-height:20px}
.ex-lang{display:flex;align-items:center;gap:9px;background:var(--paper);border:1px solid var(--line2);border-radius:30px;padding:4px 9px;font-size:11px}
.ex-lang button{border:0;background:transparent;color:#85867e;padding:3px;font-size:11px;cursor:pointer}
.ex-lang button[aria-pressed=true]{color:var(--electric);font-weight:700}.ex-lang span{color:#bcbdb4}
.ex-main{flex:1;width:100%;max-width:460px;margin:0 auto;padding:25px 0 32px}
.ex-footer{padding:0 0 23px;font-size:8px;letter-spacing:1px;color:#86877f;line-height:1.6;max-width:460px;width:100%;margin:0 auto}
.ex-kicker{font-size:10px;font-weight:600;letter-spacing:1.7px;color:var(--electric);text-transform:uppercase}
.ex-form h1,.ex-h{font-size:30px;font-weight:550;letter-spacing:-1px;margin:15px 0 10px;line-height:1.2}
.ex-subtitle{font-size:13px;color:var(--mute);line-height:1.8;margin:0 0 27px}
.ex-story{border-radius:14px;overflow:hidden;background:#eee6d9;line-height:0;margin:0 0 28px}.ex-story img{width:100%;height:auto;display:block}
.ex-field{margin:17px 0 0}.ex-field label{font-size:12px;font-weight:600;margin-bottom:8px;display:block}
.ex-field input,.f input,.f textarea{width:100%;padding:14px 15px;border:1px solid #dcdcd4;border-radius:8px;background:#fff;color:var(--ink);outline:none;font-size:13px;height:48px;-webkit-appearance:none}
.f textarea{height:auto;line-height:1.6}
.ex-field input:focus,.f input:focus,.f textarea:focus{border-color:var(--electric);box-shadow:0 0 0 3px #3b37ff10}
.ex-field input::placeholder,.f ::placeholder{color:#aaa9a2}.ex-field input:disabled{background:#fafaf7}
.ex-password{position:relative}.ex-password input{padding-right:65px}
.ex-password button{position:absolute;right:14px;top:0;height:48px;background:none;border:0;font-size:11px;color:#77776d;cursor:pointer}
.ex-error{color:var(--tomato);font-size:11px;line-height:1.6;margin:10px 0;min-height:18px}
.ex-submit,.btn{background:var(--electric);color:#fff;border:0;width:100%;border-radius:8px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer}
.ex-submit:hover,.btn:hover{background:var(--electric-d)}.ex-submit:disabled{background:#c9c8f5;cursor:default}
.ex-submit.is-on{background:var(--ink)}
.arr{font-size:20px;line-height:16px}
.ex-login-note{font-size:10px;color:var(--mute2);margin-top:20px;line-height:1.6}
.ex-soon{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--ink);background:#fff;border:1px solid var(--line2);border-radius:8px;padding:12px 14px;margin:-8px 0 8px}
.ex-soon i{flex:none;width:7px;height:7px;border-radius:50%;background:var(--electric)}
.ex-card{background:var(--soft);border:1px solid var(--line2);border-radius:12px;padding:20px}
.ex-install{margin:0 0 24px}.ex-install h2{font-size:22px;font-weight:550;letter-spacing:-.5px;margin:10px 0 6px}.ex-install .ex-subtitle{margin-bottom:12px}
.ex-steps{margin:0;padding:0;list-style:none;counter-reset:s}
.ex-steps li{counter-increment:s;display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line2);font-size:13px}
.ex-steps li:before{content:counter(s);flex:none;width:22px;height:22px;border-radius:50%;background:var(--electric);color:#fff;font-size:11px;font-weight:600;display:grid;place-items:center}
.share{width:14px;height:16px;vertical-align:-2px;color:var(--electric)}
.ex-me{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line2);border-radius:12px;padding:14px 16px;margin:0 0 12px}
.ex-me>div{display:flex;flex-direction:column}.ex-me small,.ex-task small,.ex-due small,.ex-facts dt{font-size:10px;letter-spacing:1.2px;color:#92928c;text-transform:uppercase}
.ex-me strong{font-size:15px;font-weight:600}
.ex-link{background:none;border:0;color:var(--mute);font-size:12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:6px 0}
.ex-notify{margin:0 0 32px}.ex-row{display:flex;flex-direction:column;gap:4px;margin:0 0 14px}.ex-row strong{font-size:13px;font-weight:600}
.ex-muted{font-size:11px;color:var(--mute);line-height:1.6}
.ex-sect{font-size:12px;font-weight:600;margin:0 0 12px;display:flex;align-items:center;gap:8px}
.ex-sect span{font-size:10px;color:var(--electric);background:#eeedff;border-radius:20px;padding:1px 8px}
.ex-list{display:grid;gap:10px}
.ex-task{display:block;text-decoration:none;background:var(--soft);border:1px solid var(--line2);border-radius:12px;padding:16px 16px 14px;transition:border-color .15s,transform .15s}
.ex-task:active,.ex-task:hover{border-color:#a8a6ff;transform:translateY(-2px)}
.ex-task-top{display:flex;justify-content:space-between;align-items:center;color:var(--electric)}
.ex-task strong{display:block;font-size:15px;font-weight:600;margin:8px 0 6px;line-height:1.4}
.ex-task-meta{font-size:11px;color:var(--mute)}
.ex-empty{font-size:12px;color:var(--mute);background:var(--soft);border:1px dashed var(--line2);border-radius:12px;padding:20px;margin:0}
.ex-back{display:inline-block;font-size:12px;color:var(--mute);text-decoration:none;margin:0 0 20px}
.ex-due{display:flex;flex-direction:column;gap:2px;background:#eeedff;border:1px solid var(--electric);border-radius:12px;padding:14px 16px;margin:6px 0 12px}
.ex-due strong{font-size:16px;font-weight:600}
.ex-facts{margin:0}.ex-facts>div{padding:12px 0;border-top:1px solid var(--line2)}.ex-facts>div:first-child{border-top:0;padding-top:0}
.ex-facts dd{margin:4px 0 0;font-size:13px;line-height:1.7}.pre{white-space:pre-wrap}
.ex-att{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #dcdcd4;border-radius:8px;padding:10px 12px;margin:6px 0 0;text-decoration:none;font-size:12px;color:var(--electric)}
.ex-cta{margin-top:20px}
/* admin (re-using official tokens) */
.label{font-size:10px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase}.sect{display:block;margin:32px 0 12px;color:var(--electric)}
.h-sect{font-size:30px;font-weight:550;letter-spacing:-1px;margin:10px 0}.lead{font-size:13px;color:var(--mute);line-height:1.8}
.muted{color:var(--mute)}.small{font-size:11px}
.form{display:grid;gap:14px;margin:20px 0}.f{display:flex;flex-direction:column;gap:8px}.f .label{letter-spacing:0;text-transform:none;font-size:12px}
details.en{background:var(--soft);border:1px solid var(--line2);border-radius:12px;padding:14px;display:grid;gap:12px}details.en summary{cursor:pointer}
.stat,.row,.done,.codebox{background:var(--soft);border:1px solid var(--line2);border-radius:12px;padding:16px;margin:0 0 10px}
.stat{display:flex;gap:12px;align-items:baseline}.stat strong{font-size:24px}
.tbl{display:grid;gap:10px}.row-h{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
.chip{font-size:10px;color:var(--electric);background:#eeedff;border-radius:20px;padding:2px 9px}
.dev{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--line2);padding-top:6px}
.link{background:none;border:0;color:var(--mute);font-size:12px;text-decoration:underline;cursor:pointer}.danger{color:var(--tomato)}
.empty{color:var(--mute)}.btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line2)}
.ex-task{position:relative}.ex-task.is-unread{background:#fff;border-color:#c9c7ff}
.ex-task.is-unread::after{content:"";position:absolute;top:-4px;right:-4px;width:10px;height:10px;border-radius:50%;background:var(--tomato,#f4473a);box-shadow:0 0 0 2px var(--paper,#f5f4ef)}
.ex-new{font-style:normal;display:inline-block;background:var(--tomato,#f4473a);color:#fff;font-size:10px;font-weight:600;letter-spacing:0;line-height:1;padding:3px 6px;border-radius:20px;margin-right:8px;vertical-align:1px}
.ex-unread-count{font-style:normal;margin-left:8px;font-size:11px;font-weight:600;color:var(--tomato,#f4473a)}
