@font-face{font-family:KOA Display;src:url(/v4/assets/fonts/heading.otf)format("opentype");font-weight:700;font-display:swap}.koaapp{--pbg:#f1eee3;--pcard:#fff;--pink:#1e1d1a;--pmuted:#8b8578;--pbronze:#a06a28;--pbronze-dark:#7f5320;--pline:#e6e1d2;--psoft:#e9e5d6;--shell:#142629;--shell2:#1b3236;--shline:#2c4448;--shink:#eef0ea;--shmuted:#a9b6b1;--pilot:#c8b98a;background:var(--pbg);min-height:100vh;color:var(--pink);-webkit-font-smoothing:antialiased;font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif}.koaapp *{box-sizing:border-box}.koaapp a{color:inherit;text-decoration:none}.koaapp button,.koaapp input,.koaapp select,.koaapp textarea{font:inherit}.koaapp button{cursor:pointer}.koaapp a:focus-visible,.koaapp button:focus-visible,.koaapp input:focus-visible,.koaapp select:focus-visible,.koaapp textarea:focus-visible{outline:3px solid var(--pbronze);outline-offset:3px}.koaapp img{object-fit:cover;max-width:100%;display:block}.koaapp h1,.koaapp h2,.koaapp h3,.koaapp p{margin:0}.koaapp:lang(en) .kdisplay{font-family:KOA Display,Arial,sans-serif}.ktop{background:var(--shell);color:var(--shink);align-items:center;gap:18px;height:64px;padding:0 clamp(16px,3vw,40px);display:flex}.ktop .brand{color:var(--pilot);align-items:center;gap:10px;display:flex}.ktop .brand img{object-fit:contain;width:30px;height:30px}.ktop .brand b{letter-spacing:1px;font-size:20px;line-height:1}.ktop .brand small{letter-spacing:2px;color:var(--shmuted);font-size:6px;font-weight:700;display:block}.ktop .switch{background:var(--shell2);border:1px solid var(--shline);border-radius:5px;gap:4px;margin-left:14px;padding:3px;display:flex}.ktop .switch a{color:var(--shmuted);border-radius:4px;padding:7px 14px;font-size:12px;font-weight:700}.ktop .switch a[aria-current]{background:var(--pilot);color:#1c2620}.ktop .spacer{margin-left:auto}.ktop .metarow{color:var(--shmuted);align-items:center;gap:14px;font-size:12px;display:flex}.ktop .ghostbtn{border:1px solid var(--shline);color:var(--shink);background:0 0;border-radius:4px;padding:8px 12px;font-size:12px;font-weight:700}.ktop .ghostbtn:hover{border-color:var(--pilot);color:var(--pilot)}.ktop select{background:var(--shell2);border:1px solid var(--shline);color:var(--shink);border-radius:4px;padding:8px 10px;font-size:12px;font-weight:700}.mscreen{max-width:430px;min-height:calc(100vh - 64px);margin:0 auto;padding-bottom:180px;position:relative}.mhead{justify-content:center;align-items:center;height:58px;display:flex;position:relative}.mhead .back{color:var(--pink);background:0 0;border:0;padding:10px 14px;font-size:20px;position:absolute;left:10px}.mhead h1{font-size:17px;font-weight:800}.mbody{padding:0 16px}.mcard{background:var(--pcard);border-radius:14px;padding:18px;box-shadow:0 1px 2px #0000000a}.mcard+.mcard{margin-top:14px}.mhero{color:#fff;background:#171512;border-radius:14px;flex-direction:column;justify-content:flex-end;min-height:172px;padding:24px 18px 18px;display:flex;position:relative;overflow:hidden}.mhero img{filter:brightness(.5);width:100%;height:100%;position:absolute;inset:0}.mhero>*{position:relative}.mhero h2{letter-spacing:-.02em;font-size:27px;line-height:1.05}.mhero p{color:#e8e4da;margin-top:8px;font-size:13px}.msec{margin:20px 2px 12px;font-size:19px;font-weight:800}.mlist{gap:10px;display:grid}.mex{background:var(--pcard);border-radius:12px;align-items:baseline;gap:10px;padding:16px;display:flex}.mex b{font-size:16px}.mex .target{color:var(--pmuted);white-space:nowrap;margin-left:auto;font-size:14px}.mmeta{background:var(--pcard);border-radius:14px;margin-top:14px;padding:6px 18px}.mmeta div{border-bottom:1px solid var(--pline);justify-content:space-between;padding:13px 0;font-size:14px;display:flex}.mmeta div:last-child{border-bottom:0}.mmeta span{color:var(--pmuted)}.mmeta b{font-weight:600}.mfootcta{background:linear-gradient(transparent,var(--pbg) 40%);padding:12px 16px;position:fixed;bottom:64px;left:0;right:0}.mfootcta button{background:var(--pbronze);color:#fff;border:0;border-radius:10px;width:100%;padding:15px;font-size:15px;font-weight:800}.mfootcta button:hover{background:var(--pbronze-dark)}.mfootcta button:disabled{cursor:not-allowed;background:#c9c2b0}.mnav{border-top:1px solid var(--pline);z-index:5;background:#fbfaf5;max-width:430px;height:64px;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.mnav button{color:#8f887a;background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:3px;padding-top:9px;font-size:11px;display:flex}.mnav button[aria-current]{color:var(--pbronze);font-weight:800}.mnav svg{width:20px;height:20px}.sesskicker{color:var(--pbronze);justify-content:space-between;margin-bottom:6px;font-size:13px;font-weight:700;display:flex}.sesskicker .count{color:var(--pmuted);font-weight:400}.sess h2{letter-spacing:-.02em;margin-bottom:14px;font-size:28px}.restbox{border:2px solid var(--pbronze);background:#f6f2e6;border-radius:14px;margin-bottom:14px;padding:16px 18px}.restbox .lbl{color:var(--pmuted);font-size:13px}.restbox .time{color:var(--pbronze);font-size:44px;font-weight:800;line-height:1.1}.restbox .row{gap:10px;margin-top:12px;display:flex}.restbox .row button{color:var(--pink);background:#efe9d8;border:1px solid #ddd4bc;border-radius:9px;flex:1;padding:11px;font-size:14px;font-weight:700}.restbox .row button:hover{background:#e7dfc9}.settable{background:var(--pcard);border-radius:14px;padding:6px 16px 10px}.settable .head,.settable .rowline{border-bottom:1px solid var(--pline);grid-template-columns:1fr 1fr 1fr 52px;align-items:center;gap:8px;padding:12px 0;display:grid}.settable .head{color:var(--pmuted);font-size:12px}.settable .rowline:last-child{border-bottom:0}.settable .rowline span{font-size:15px}.settable input{border:0;border-bottom:1px solid var(--pline);text-align:right;background:0 0;width:100%;padding:6px 2px;font-size:15px}.settable input:focus{border-color:var(--pbronze);outline:none}.settable .done{color:var(--pbronze);text-align:center;font-weight:800}.tipcard p{color:#5c574c;margin-top:8px;font-size:15px}.sessactions{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.sessactions button{color:var(--pink);background:#eae5d4;border:0;border-radius:10px;padding:14px;font-size:14px;font-weight:700}.sessactions button:hover{background:#e2dccb}.sessactions .primary{background:var(--pbronze);color:#fff;grid-column:1/-1;padding:16px;font-size:15px;font-weight:800}.sessactions .primary:hover{background:var(--pbronze-dark)}.sessactions .danger{color:#8a4b32}.donebanner{background:#efe6cf;border:1px solid #ddcda2;border-radius:12px;margin-bottom:14px;padding:14px 16px;font-size:14px}.pstats{text-align:center;grid-template-columns:repeat(3,1fr);padding:20px 8px;display:grid}.pstats .icon{font-size:18px}.pstats b{margin-top:6px;font-size:22px;display:block}.pstats span{color:var(--pmuted);margin-top:4px;font-size:12px;display:block}.donutwrap{align-items:center;gap:18px;display:flex}.legend{flex:1;gap:9px;font-size:13px;display:grid}.legend .li{align-items:center;gap:8px;display:flex}.legend .dot{border-radius:50%;width:9px;height:9px}.legend .val{font-variant-numeric:tabular-nums;margin-left:auto}.bars{align-items:flex-end;gap:10px;height:130px;padding-top:10px;display:flex}.bars .bar{height:100%;color:var(--pmuted);flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;font-size:10px;display:flex}.bars .bar i{background:var(--pbronze);border-radius:4px 4px 0 0;width:100%;display:block}.bars .bar b{color:var(--pink);font-size:11px}.sessselect{border:1px solid var(--pline);background:#fbfaf5;border-radius:8px;width:100%;margin-top:10px;padding:9px 10px;font-size:14px}.histrow{border-bottom:1px solid var(--pline);align-items:baseline;gap:10px;padding:14px 0;font-size:14px;display:flex}.histrow:last-child{border-bottom:0}.histrow .d{min-width:52px;font-weight:800}.histrow .s{color:var(--pmuted);text-align:right;margin-left:auto;font-size:12px}.wframe{background:var(--pbg);min-height:calc(100vh - 64px);padding:clamp(14px,2.4vw,34px)}.wpanel{background:#fbfaf4;border:1px solid #e3ddcb;border-radius:16px;grid-template-columns:190px minmax(0,1fr);max-width:1280px;margin:0 auto;display:grid;overflow:hidden;box-shadow:0 18px 40px #00000016}.wside{background:var(--shell);color:var(--shmuted);flex-direction:column;gap:6px;padding:22px 14px;display:flex}.wside .sidehead{letter-spacing:.14em;text-transform:uppercase;color:#6f8380;margin:0 8px 12px;font-size:10px}.wside button{color:var(--shmuted);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:9px;padding:11px 12px;font-size:13px;font-weight:700;display:flex}.wside button:hover{color:var(--shink);background:#ffffff10}.wside button[aria-current]{background:var(--shell2);color:var(--pilot)}.wside .foot{color:#6f8380;margin-top:auto;padding:0 8px;font-size:10px;line-height:1.7}.wmain{padding:clamp(18px,2.6vw,34px)}.wmain .kicker{letter-spacing:.16em;text-transform:uppercase;color:#8a7a4e;margin-bottom:8px;font-size:10px;font-weight:800}.wmain h2{letter-spacing:-.01em;margin-bottom:6px;font-size:26px}.wmain .sub{color:var(--pmuted);max-width:640px;margin-bottom:20px;font-size:13px;line-height:1.7}.wsplit{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:22px;display:grid}@media (max-width:1000px){.wsplit{grid-template-columns:1fr}}.wtable{border-collapse:collapse;width:100%;font-size:13px}.wtable th{text-align:left;color:#7c766a;white-space:nowrap;border-bottom:1px solid #e3ddcb;padding:10px;font-size:11px;font-weight:800}.wtable td{vertical-align:top;border-bottom:1px solid #ece7d7;padding:13px 10px;line-height:1.55}.wtable tr.rowbtn{cursor:pointer}.wtable tr.rowbtn:hover td{background:#f5f1e2}.wtable tr[aria-selected] td{background:#f0ead6}.wtable .member b{display:block}.wtable .reason{color:#5c574c;max-width:340px}.wtable .due{white-space:nowrap;font-variant-numeric:tabular-nums}.wtable .due.over{color:#a33d2a;font-weight:700}.pill{white-space:nowrap;border-radius:99px;padding:4px 11px;font-size:11px;font-weight:800;display:inline-block}.pill.open{color:#7c5a1d;background:#efe6cf}.pill.in_progress{color:#3c5c3c;background:#dde7dd}.pill.done{color:#6d6a60;background:#e4e2da}.wcard{background:#fff;border:1px solid #e8e2d0;border-radius:12px;padding:20px}.wcard h3{margin-bottom:12px;font-size:15px}.wcard+.wcard{margin-top:16px}.fieldrow{border-bottom:1px solid #f0ebdd;justify-content:space-between;gap:16px;padding:10px 0;font-size:13px;display:flex}.fieldrow:last-child{border-bottom:0}.fieldrow .k{color:#7c766a;flex-shrink:0}.fieldrow .v{text-align:right;overflow-wrap:anywhere}.fieldrow .v.hidden{color:#b4ad9c;background:#f4f0e2;border-radius:6px;padding:2px 8px;font-size:12px;font-style:normal}.notes li{margin:0 0 8px;font-size:13px;line-height:1.6}.attempt{border-top:1px solid #f0ebdd;padding:10px 0;font-size:13px;line-height:1.6}.attempt .when{color:#7c766a;font-size:12px}.attempt .tag{background:#eef0e4;border-radius:4px;margin-right:6px;padding:1px 7px;font-size:11px;font-weight:700;display:inline-block}.actrow{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.actrow button{color:#43413a;background:#f6f2e4;border:1px solid #d8d0ba;border-radius:7px;padding:10px 14px;font-size:13px;font-weight:700}.actrow button:hover{background:#efe9d6}.actrow button.primary{background:var(--pbronze);border-color:var(--pbronze);color:#fff}.actrow button.primary:hover{background:var(--pbronze-dark)}.actrow button:disabled{opacity:.45;cursor:not-allowed}.attemptform{gap:10px;margin-top:14px;display:grid}.attemptform .pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.attemptform select,.attemptform textarea{background:#fbfaf4;border:1px solid #d8d0ba;border-radius:7px;width:100%;padding:9px 10px;font-size:13px}.attemptform textarea{resize:vertical;min-height:60px}.hint{color:#8a8474;background:#f3efe0;border-radius:8px;margin-top:14px;padding:10px 12px;font-size:12px;line-height:1.7}.rolesmatrix td,.rolesmatrix th{font-size:12px}.rolesmatrix .yes{color:#3c5c3c;font-weight:800}.rolesmatrix .no{color:#b4ad9c}.svcbtn{color:#3c5c3c;background:#dde7dd;border:0;border-radius:99px;padding:5px 12px;font-size:11px;font-weight:800}.svcbtn.off{color:#7c5a1d;background:#efe6cf}.svcbtn:disabled{opacity:.5;cursor:not-allowed}@media (max-width:760px){.wpanel{grid-template-columns:1fr}.wside{flex-flow:wrap;align-items:center;padding:12px}.wside .sidehead,.wside .foot{display:none}.wside button{padding:8px 10px;font-size:12px}.ktop{flex-wrap:wrap;row-gap:8px;height:auto;padding:10px 16px}.ktop .metarow{justify-content:flex-end;width:100%}}@media (prefers-reduced-motion:reduce){.koaapp *,.koaapp :before,.koaapp :after{transition:none!important;animation:none!important}}
