@font-face{font-family:LocalSerif;src:local('Noto Serif SC'),local('Songti SC')}*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:#faf7ef;color:#253e36;font-family:LocalSerif,'Noto Serif SC','Songti SC',serif;font-size:16px;line-height:1.65;-webkit-text-size-adjust:100%}button,input,select,textarea{font:inherit}button,a,input,label{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:#244d43}.app-header{position:sticky;top:0;z-index:10;padding:12px max(18px,calc((100vw - 960px)/2));display:flex;justify-content:space-between;align-items:center;background:#faf7eff2;border-bottom:1px solid #e4e5d9;backdrop-filter:blur(12px)}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;font-weight:700;font-size:18px;white-space:nowrap}.brand img{height:64px;width:64px;object-fit:contain;border-radius:0;flex-shrink:0}.brand small{display:block;font-size:11px;font-weight:400;letter-spacing:1px;color:#637567}.icon-button{padding:9px 13px;border:1px solid #d7dfd5;border-radius:999px;background:#fffdf6;color:#244d43;font-size:14px}main{max-width:960px;margin:auto;padding:24px 20px 120px;min-height:80vh}h1,h2,h3,p{margin-top:0}h1{font-size:30px;line-height:1.45;margin-bottom:12px;letter-spacing:1px}h2{font-size:23px;line-height:1.5;margin-bottom:14px}h3{font-size:19px;line-height:1.5;margin:10px 0}p{margin-bottom:14px}.eyebrow{font-family:system-ui,sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;margin-bottom:14px;color:#697d6c}.hero{padding:28px 24px;background:#244d43;color:#fffaf0;border-radius:23px;margin-bottom:24px;position:relative;overflow:hidden}.hero .eyebrow{color:#d6e3d3}.hero p{color:#e6ebdd;font-size:15px;margin:0}.hero:after{content:' ';position:absolute;width:150px;height:150px;right:-65px;top:-70px;border:1px solid #fff4;border-radius:50%;pointer-events:none}.card{background:#fffdf8;padding:20px;border:1px solid #e3e6da;border-radius:20px;margin-bottom:16px}.task-card{border-left:4px solid #cb865e}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.row.wrap{flex-wrap:wrap}.section-row{margin:24px 0 14px}.section-row h2{margin:0}.muted{color:#62736a;font-size:14px}.small{font-size:12px}.pill{display:inline-flex;padding:4px 11px;border-radius:999px;background:#f0e3cd;color:#765338;font-size:12px;font-family:system-ui,sans-serif}.pill.passed{background:#dcecdc;color:#30583d}.pill.review{background:#dfebef;color:#345c70}.pill.retry{background:#fae5dc;color:#824f3d}.date{font-size:12px;color:#647369}.primary,.secondary,.danger{min-height:46px;display:inline-flex;justify-content:center;align-items:center;text-align:center;text-decoration:none;padding:12px 18px;border-radius:13px;border:0;font-size:15px;font-weight:600}.primary{background:#244d43;color:#fffaf0}.secondary{background:#eeeee3;color:#244d43;border:1px solid #dedfd2}.danger{background:#f8e9e3;color:#7b3d30}.full{width:100%;margin-top:8px}.text-button{border:0;background:transparent;color:#244d43;text-decoration:underline;text-underline-offset:4px;padding:8px;font-size:14px;min-height:40px}.buttons{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.buttons>*{flex:1;min-width:100px}.note{background:#f1eedb;color:#666144;border-radius:14px;padding:14px 17px;font-size:14px;margin:16px 0}.empty{padding:30px 20px;text-align:center;color:#6d7c6e;border:1px dashed #ccd5c7;border-radius:18px}.empty strong{display:block;font-size:18px;color:#34584b;margin-bottom:8px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:24px}.stats div{padding:15px 8px;border-radius:16px;background:#eeeee1;text-align:center;font-size:12px}.stats b{display:block;font-family:system-ui,sans-serif;font-size:25px;color:#244d43}.grid{display:grid;gap:0}.login-tabs{display:flex;background:#e8ecdf;border-radius:13px;padding:4px;margin:20px 0}.login-tabs button{flex:1;background:none;color:#536654;border:0;border-radius:10px;padding:11px}.login-tabs .active{background:#fffdf8;color:#244d43}label.field{display:block;margin-bottom:17px;font-size:15px;font-weight:600}input:not([type=checkbox]),select,textarea{display:block;width:100%;border:1px solid #d4ddcf;background:#fffefb;border-radius:12px;padding:12px;color:#243f35;min-height:47px;margin-top:7px;font-size:16px;outline-offset:3px}textarea{min-height:125px;resize:vertical}input[type=checkbox]{width:20px;height:20px;accent-color:#244d43;flex-shrink:0;margin:0}label.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14px;line-height:1.6;padding:10px 0}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid #c78454}video{display:block;background:#102d25;width:100%;max-height:460px;border-radius:15px;margin:14px 0}video[hidden]{display:none}.steps{padding-left:24px}.steps li{padding:8px 0;border-bottom:1px solid #e8e8dd}.steps li:last-child{border:0}.feedback{white-space:pre-wrap;overflow-wrap:anywhere;background:#edf3e7;border-left:3px solid #648764;border-radius:0 14px 14px 0;padding:16px;line-height:1.9}.progress{margin:15px 0}progress{width:100%;height:10px;accent-color:#244d43}.file-choice{display:block;padding:18px;border:1px dashed #9aac98;background:#f1f4e8;border-radius:15px;text-align:center;margin:12px 0}.file-choice input{border:0!important;padding:8px 0!important;font-size:13px!important;background:none!important;min-height:32px!important}.file-choice strong{font-size:17px}.filters{display:flex;gap:7px;overflow:auto;margin-bottom:18px;padding-bottom:5px}.filters button{white-space:nowrap;border:1px solid #d4ddcf;border-radius:999px;background:#fffdf8;padding:8px 13px;color:#52685a;font-size:13px}.filters button.active{background:#244d43;color:white}.back{padding-left:0;margin-bottom:12px}.loading{padding:80px 0;text-align:center;color:#64736b}#nav{position:fixed;z-index:10;bottom:0;left:0;right:0;display:flex;justify-content:center;background:#fffdf8f5;border-top:1px solid #dfe4d7;padding:9px 5px calc(9px + env(safe-area-inset-bottom));backdrop-filter:blur(12px)}#nav[hidden]{display:none}#nav button{width:min(24%,150px);background:none;border:0;color:#74816f;padding:9px 4px;font-size:13px}#nav button.active{color:#244d43;font-weight:700;background:#eff2e7;border-radius:12px}#toast{position:fixed;z-index:30;bottom:105px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 36px);padding:13px 18px;border-radius:14px;background:#243d35;color:white;font:14px/1.7 system-ui,sans-serif;box-shadow:0 6px 25px #0002}dialog{border:1px solid #e0e3d7;border-radius:20px;width:calc(100% - 32px);max-width:520px;background:#fffdf8;color:#243d35;padding:23px;max-height:85vh;overflow:auto}dialog::backdrop{background:#172e2580}dialog .secondary{width:100%;margin-top:18px}.code{overflow-wrap:anywhere;background:#f0f2e6;padding:15px;border-radius:12px;font:14px/1.8 monospace;user-select:all}.login-note{text-align:center;margin-top:20px}.danger-link{color:#8c5040}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:720px){main{padding-top:38px}.grid{grid-template-columns:1fr 1fr;gap:18px}.grid>.card{margin:0}.login-shell{max-width:460px;margin:25px auto}.hero h1{font-size:38px}.hero{padding:35px}.stats{max-width:550px}.form-shell{max-width:650px;margin:auto}.detail-shell{max-width:720px;margin:auto}}@media(max-width:360px){main{padding:18px 14px 115px}.brand{font-size:16px}.card{padding:16px}h1{font-size:26px}}
