:root{color:#2d2926;font-synthesis:none;--canvas:#f7f3ed;--paper:#fffdf8;--ink:#2d2926;--muted:#7b736b;--line:#ded7ce;--accent:#d97757;--accent-dark:#b85e42;--soft:#efe7dc;background:#ede8e1;font-family:Inter,SF Pro Text,PingFang SC,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--canvas);margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.auth-page{background:radial-gradient(circle at 50% 0,#fffaf1,transparent 50%),var(--canvas);place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-card{width:min(100%,420px);padding:8px}.wordmark{align-items:center;gap:10px;font-family:Georgia,Songti SC,serif;font-weight:700;display:flex}.mark{background:var(--ink);color:#fffaf2;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.auth-copy{margin:76px 0 36px}.eyebrow{letter-spacing:.14em;color:#9a7565;margin:0 0 8px;font-size:11px;font-weight:700}.auth-copy h1,.mobile-header h1,.page-title h2{font-family:Georgia,Songti SC,serif;font-weight:500}.auth-copy h1{margin:0 0 14px;font-size:34px;line-height:1.18}.auth-copy p,.page-title>p:last-child{color:var(--muted);line-height:1.65}.auth-card label,.composer label{margin:16px 0 0;font-size:13px;font-weight:650;display:block}.auth-card input,.composer input,.composer select,.composer textarea{border:1px solid var(--line);background:var(--paper);border-radius:12px;outline:none;width:100%;min-height:48px;margin-top:8px;padding:12px 14px;transition:all .2s}.auth-card input:focus,.composer input:focus,.composer select:focus,.composer textarea:focus{border-color:#a96750;box-shadow:0 0 0 3px #d9775718}.primary,.soft,.logout{border:0;border-radius:12px;width:100%;min-height:48px;font-weight:700}.primary{background:var(--ink);color:#fffaf2;margin-top:20px}.primary:active{transform:translateY(1px)}.primary:disabled{opacity:.55}.auth-help{color:var(--muted);text-align:center;margin-top:24px;font-size:12px}.message,.toast{font-size:13px}.error{color:#a84234}.app-shell{width:min(100%,480px);min-height:100dvh;padding:env(safe-area-inset-top) 18px calc(92px + env(safe-area-inset-bottom));background:var(--canvas);margin:0 auto}.mobile-header{justify-content:space-between;align-items:center;height:92px;display:flex}.mobile-header h1{margin:0;font-size:26px}.avatar{border:1px solid var(--line);background:var(--paper);border-radius:50%;width:44px;height:44px;font-weight:700}.toast{background:#eef6eb;border:1px solid #b8cfb2;border-radius:12px;justify-content:space-between;margin-bottom:12px;padding:12px 14px;display:flex}.toast-error{background:#fff0eb;border-color:#e3b5aa}.period-switch{background:var(--soft);border-radius:12px;grid-template-columns:1fr 1fr;margin-bottom:14px;padding:4px;display:grid}.period-switch button{height:38px;color:var(--muted);background:0 0;border:0;border-radius:9px}.period-switch .selected{background:var(--paper);color:var(--ink);box-shadow:0 1px 4px #55463b18}.reward-hero{background:var(--ink);color:#fffaf2;border-radius:20px;padding:22px;position:relative;overflow:hidden}.reward-hero p{color:#cfc7bd;margin:0;font-size:13px}.reward-hero strong{margin:9px 0 24px;font-family:Georgia,serif;font-size:38px;font-weight:500;display:block}.hero-glyph{color:#e7a083;font-size:28px;position:absolute;top:20px;right:20px}.reward-hero footer{border-top:1px solid #fff2;gap:22px;padding-top:15px;font-size:12px;display:flex}.metric-grid{grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 30px;display:grid}.metric-grid article{border:1px solid var(--line);background:var(--paper);border-radius:16px;padding:15px}.metric-grid span,.metric-grid small{color:var(--muted);font-size:12px;display:block}.metric-grid b{margin:8px 0;font-family:Georgia,serif;font-size:27px;display:block}.section-heading,.row{justify-content:space-between;align-items:center;display:flex}.section-heading h2{margin:0;font-family:Georgia,Songti SC,serif;font-size:23px}.section-heading>span{color:var(--accent);border:1px solid #dbb6a7;border-radius:99px;padding:5px 9px;font-size:12px}.composer,.paper-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;margin:13px 0;padding:17px}.composer textarea{resize:none}.page-title{padding:12px 2px 8px}.page-title h2{margin:0;font-size:30px}.task-card h3,.submission-card h3{margin:17px 0 9px;font-family:Georgia,Songti SC,serif;font-size:21px}.task-card p,.submission-card p{color:var(--muted);font-size:14px;line-height:1.6}.pill{background:var(--soft);color:#655e57;border-radius:99px;align-items:center;min-height:28px;padding:4px 9px;font-size:12px;display:inline-flex}.pill.success{color:#486344;background:#eaf1e6}.reward{color:var(--accent-dark);font-size:18px}.task-rewards{gap:8px;margin:15px 0;display:flex}.task-rewards span{background:var(--canvas);border-radius:8px;padding:7px 9px;font-size:12px}.soft{background:var(--soft);color:var(--ink);margin-top:7px}.submission-id{color:var(--muted);font-size:12px}.submission-card a{color:var(--accent-dark);font-size:13px;text-decoration:none}.submission-meta{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;margin-top:16px;padding-top:15px;display:grid}.submission-meta span{color:var(--muted);font-size:12px}.submission-meta b{color:var(--ink);margin-top:4px;font-size:18px;display:block}.advice{background:#f8eee8;border-radius:9px;margin-top:13px;padding:10px;font-size:12px;line-height:1.5}.summary-line{background:var(--line);border:1px solid var(--line);border-radius:16px;grid-template-columns:1fr 1fr;gap:1px;margin:10px 0 18px;display:grid;overflow:hidden}.summary-line div{background:var(--paper);padding:17px}.summary-line span,.summary-line b{display:block}.summary-line span{color:var(--muted);font-size:12px}.summary-line b{margin-top:8px;font-family:Georgia,serif;font-size:22px}.ledger-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:14px 2px;display:flex}.ledger-icon{background:var(--soft);border-radius:11px;place-items:center;width:38px;height:38px;font-size:12px;display:grid}.ledger-row>div:nth-child(2){flex:1}.ledger-row b,.ledger-row small{display:block}.ledger-row small{color:var(--muted);margin-top:4px;font-size:11px}.ledger-money{text-align:right;color:var(--accent-dark)}.profile-card{align-items:center;gap:14px;margin:8px 0 20px;display:flex}.profile-avatar{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:58px;height:58px;font-family:Georgia,serif;font-size:24px;display:grid}.profile-card h3,.profile-card p{margin:0}.profile-card p{color:var(--muted);margin-top:5px;font-size:12px}.info-list div{border-bottom:1px solid var(--line);justify-content:space-between;padding:13px 0;font-size:13px;display:flex}.info-list div:last-child{border:0}.subheading{margin-top:26px;font-family:Georgia,Songti SC,serif}.logout{border:1px solid var(--line);background:0 0;margin-top:25px}.empty-state{text-align:center;color:var(--muted);padding:60px 20px;font-size:13px}.bottom-nav{z-index:10;width:min(100%,480px);padding:8px 8px calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);background:#fffdf8ef;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav button{color:#8b837b;background:0 0;border:0;min-height:52px;font-size:11px}.bottom-nav button span{margin-bottom:4px;font-size:20px;line-height:20px;display:block}.bottom-nav button.active{color:var(--accent-dark)}@media (width>=600px){body{background:#e9e3db}.app-shell{box-shadow:0 0 60px #3b30251a}.auth-card{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:38px}.auth-copy{margin:55px 0 30px}}@media (width<=360px){.metric-grid{grid-template-columns:1fr}.app-shell{padding-left:14px;padding-right:14px}}.assigned-task{border:1px solid var(--line);background:var(--soft);border-radius:12px;justify-content:space-between;align-items:center;min-height:48px;margin-top:8px;padding:0 14px;display:flex}.assigned-task b{color:var(--accent-dark);font-size:12px}.no-task{color:#9b5139;background:#fff4ee;border:1px dashed #d5a794;border-radius:12px;margin-top:8px;padding:13px 14px;font-size:12px;line-height:1.5}.link-detected,.link-invalid{border-radius:10px;margin-top:8px;padding:10px 12px;font-size:11px;line-height:1.45}.link-detected{color:#476442;background:#edf4e9}.link-detected span,.link-detected b{display:block}.link-detected b{overflow-wrap:anywhere;margin-top:3px;font-weight:500}.link-invalid{color:#9b5139;background:#fff1eb}.lead-composer{margin-bottom:26px}.lead-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:10px;display:grid}.privacy-tip{color:var(--muted);margin:-2px 0 12px;font-size:11px;line-height:1.5}.lead-heading{margin-top:2px}.lead-card h3{margin:0 0 5px}.lead-card .row{align-items:flex-start}.lead-card .row p{color:var(--muted);margin:0;font-size:12px}.lead-remark{border-top:1px solid var(--line);color:var(--ink-soft);margin:14px 0 8px;padding-top:12px;font-size:13px;line-height:1.65}.lead-card>small{color:var(--muted)}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;width:100%;min-height:100%}body,#app{width:100%;min-height:100%}body{overflow-x:hidden}button,input,select,textarea{touch-action:manipulation}.row>*,.ledger-row>*,.assigned-task>*{min-width:0}.row h3,.row p,.ledger-row b,.ledger-row small,.assigned-task span{overflow-wrap:anywhere}@media (width<=480px){.auth-page{padding:calc(24px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));display:block}.auth-card{width:100%;padding:0}.auth-copy{margin:56px 0 30px}.auth-copy h1{font-size:clamp(29px,9vw,34px)}.auth-card input,.composer input,.composer select,.composer textarea{font-size:16px}.app-shell{width:100%;max-width:none}.reward-hero strong{font-size:clamp(32px,10vw,38px)}.composer,.paper-card{padding:16px}.bottom-nav button{padding:3px 1px}}@media (width<=374px){.app-shell{padding-left:12px;padding-right:12px}.lead-grid{grid-template-columns:1fr;gap:0}.metric-grid{grid-template-columns:1fr 1fr;gap:8px}.metric-grid article{padding:13px 12px}.metric-grid small{min-height:28px}.summary-line div{padding:14px 12px}.bottom-nav button{font-size:10px}}
