:root{--ink:#263d36;--muted:#727d74;--paper:#f5f4ee;--accent:#315a48;--line:#dfE3d9}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo',sans-serif}header{max-width:1200px;margin:auto;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-weight:800;letter-spacing:2px}.brand img{width:46px}.brand span{font-weight:400;font-size:12px;letter-spacing:0;border-left:1px solid var(--line);padding-left:16px}.local{font-size:12px;color:var(--muted);margin-right:10px}main{max-width:1120px;margin:auto;padding:40px 24px}h1{font-size:48px;letter-spacing:-2px;line-height:1.25;margin:18px 0}h2{font-size:25px;line-height:1.45;margin:12px 0}h3{margin-top:0}p{color:var(--muted)}small{font-size:12px}section small:first-child{letter-spacing:1.3px}button,input,select{font:inherit}button{border:1px solid var(--line);background:white;border-radius:12px;padding:11px 19px;color:var(--ink);cursor:pointer}button:hover{border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:var(--accent);color:white;border:0;font-weight:650}.text{background:transparent;border:0}.panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;margin-bottom:22px}.warm{background:#ece9dc}.intro{position:relative}.hero-coin{width:210px;margin-top:20px}.intro>small,.welcome small{color:#8d714d}#auth{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center;min-height:620px}label{display:block;font-size:14px;font-weight:600;margin:15px 0}input:not([type=checkbox]),select{display:block;width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:10px;margin-top:8px;background:#fafbf8;color:var(--ink)}input:focus,select:focus,button:focus-visible{outline:2px solid #8bab8c;outline-offset:3px}#authform .primary{width:100%;margin-top:12px}#authToggle{width:100%;font-size:14px}.welcome{display:flex;justify-content:space-between;align-items:center}.welcome img{width:170px;height:170px;object-fit:contain}.stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:18px;background:white;margin:25px 0 35px}.stats>div{padding:22px 26px;display:flex;flex-direction:column}.stats>div+div{border-left:1px solid var(--line)}.stats strong{font-size:34px;font-weight:650}.stats small{color:var(--muted)}nav{display:flex;gap:8px;margin-bottom:28px}nav button{background:transparent;border-color:transparent}nav .selected{background:var(--ink);color:white}.two{display:grid;grid-template-columns:1.5fr 1fr;gap:24px}.upload{padding:26px;background:#f5f7f1;border:1px dashed #bac8b8;border-radius:16px;text-align:center}.upload input{font-size:12px}.upload span{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:8px}.upload img{max-height:260px;width:100%;object-fit:contain;margin-top:15px;border-radius:10px}.check{display:flex;align-items:flex-start;gap:9px;font-size:12px;font-weight:400}.check input{margin-top:6px}.hint{font-size:12px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.entry{overflow:hidden;padding:0}.entry>img{width:100%;height:240px;object-fit:cover}.entry .content{padding:20px}.entry p{word-break:break-word;color:var(--ink)}.entry small{color:var(--muted)}.entry button{font-size:12px;padding:8px 12px;margin:4px 4px 0 0}.empty{padding:40px;border:1px dashed var(--line);border-radius:16px}.badges{display:flex;gap:8px;flex-wrap:wrap}.badge{border-radius:30px;background:#eee9dd;padding:5px 12px;font-size:12px}footer{text-align:center;font-size:11px;color:var(--muted);padding:35px 20px;border-top:1px solid var(--line)}#status{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#263d36;color:white;border-radius:12px;padding:14px 24px;z-index:5;max-width:90vw}#status:empty{display:none}dialog{border:0;border-radius:22px;padding:24px;width:480px;max-width:95vw}dialog::backdrop{background:#18251fc9}canvas{width:100%;height:auto;display:block;border-radius:12px}.actions{display:flex;gap:10px;margin-top:16px}[hidden]{display:none!important}@media(max-width:700px){header{padding:16px}.brand span{display:none}h1{font-size:34px}main{padding:24px 16px}#auth,.two{grid-template-columns:1fr;gap:20px}#auth{min-height:0}.intro .hero-coin{width:110px;position:absolute;right:0;bottom:0;opacity:.3}.panel{padding:20px}.welcome img{width:95px;height:95px}.stats>div{padding:14px 12px}.stats strong{font-size:25px}.stats small{font-size:10px}.stats span{font-size:12px}.cards{grid-template-columns:1fr}.entry>img{height:280px}nav{gap:0}nav button{padding:9px 14px}}
dialog{max-height:94vh;overflow-y:auto}

nav{flex-wrap:wrap}.ranking-switch{display:flex;gap:8px;margin:24px 0 12px}.ranking-row{display:grid;grid-template-columns:56px 1fr 56px;gap:12px;align-items:center;padding:18px 12px;border-bottom:1px solid #e3e6df}.ranking-row:last-child{border:0}.ranking-row.mine{background:#edf2e9;border-radius:12px}.ranking-row strong:last-child{text-align:right}#rankingForm{max-width:650px}#myRank{font-weight:700;color:#263d36}

.profile-panel{max-width:680px}.profile-photo-row{display:flex;align-items:center;gap:20px;margin-bottom:24px}.profile-photo-row>img{width:104px;height:104px;border-radius:50%;object-fit:cover;background:#eee9df}.profile-photo-row small{display:block;color:#727d74;margin-top:8px}textarea{font:inherit;width:100%;box-sizing:border-box;resize:vertical;border:1px solid #ccd3c9;border-radius:10px;padding:12px;background:#fff;color:#263d36}nav{gap:6px}nav button{white-space:nowrap}@media(max-width:520px){.profile-photo-row{align-items:flex-start;gap:12px}.profile-photo-row>img{width:76px;height:76px}}

.welcome img#userAvatar{width:112px;height:112px;border-radius:50%;object-fit:cover;background:#eee9df}

#rewardDialog{width:440px;color:var(--ink);padding:34px 26px;text-align:center}#rewardDialog .reward-content>img{display:block;object-fit:contain;margin:0 auto 14px}#rewardDialog small{color:#8d714d}#rewardDialog h2{margin:10px 0}.reward-amount{display:block;font-size:44px;line-height:1.3;color:var(--accent);margin:16px 0}.reward-balance{background:var(--paper);padding:14px;border-radius:12px;color:var(--ink)}.reward-balance strong{margin-left:16px}#rewardDialog .actions{justify-content:center;flex-wrap:wrap}#rewardDialog .actions button{flex:1;white-space:nowrap}
/* Gentle movement palette */
:root{--ink:#354b40;--muted:#788276;--paper:#f8f7f0;--accent:#5c7964;--line:#e5e8de}body{background:var(--paper)}header{border-bottom:0}.brand{letter-spacing:1.5px}.brand img{width:38px}h1{font-size:42px;letter-spacing:-1.6px}h2{letter-spacing:-.7px}button{border-radius:14px;transition:background .15s,border-color .15s}button:hover{background:#f0f4eb}.primary:hover{background:#496951}.panel{border-color:#e8eade;border-radius:26px;box-shadow:0 5px 22px #485b3b05}.warm{background:#eeeddf}.welcome{position:relative;background:#ecf0e4;border:1px solid #e4e9db;border-radius:30px;padding:32px 36px;min-height:280px;overflow:hidden}.welcome>div{position:relative;z-index:1;max-width:65%}.welcome .movement-art{width:310px;height:220px;position:absolute;right:25px;bottom:15px;object-fit:contain}.welcome img#userAvatar{width:46px;height:46px;position:absolute;right:26px;top:22px;border:3px solid #fff;z-index:2}.welcome small{font-size:11px;letter-spacing:2px}.welcome h1{margin:14px 0}.welcome p{margin:10px 0 18px}.soft-tag{display:inline-block;font-size:11px;font-weight:600;padding:5px 11px;border-radius:30px;background:#faf8ef;color:#8c7859}.stats{gap:14px;border:0;background:transparent;margin:20px 0 28px}.stats>div{border:1px solid var(--line);border-radius:21px;background:#fff;padding:20px 24px}.stats>div+div{border-left:1px solid var(--line)}.stats>div:nth-child(2){background:#f4ebe2;border-color:#eee2d6}.stats>div:nth-child(3){background:#edf0e6}.stats strong{font-size:31px;margin:3px 0}nav{padding:6px;background:#eeefe7;border-radius:18px;gap:4px}nav button{flex:1;font-size:14px;border-radius:13px}nav .selected{background:white;color:var(--ink);box-shadow:0 3px 10px #3c503b0c;font-weight:700}input:not([type=checkbox]),select,.profile-panel textarea{background:#fafbf6;border-radius:13px}input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px;flex-shrink:0}.upload{background:#f2f5eb;border-color:#c4d0bc;border-radius:20px}.encouragement{padding-top:12px}.aside-art{width:100%;height:155px;object-fit:contain}.encouragement h2{font-size:25px;margin-top:0}.badge{background:#f2eddb;color:#8b7952}.entry{border-radius:24px}.ranking-intro{display:flex;align-items:center;justify-content:space-between;background:#ecefe3;border-radius:26px;padding:24px 30px;margin-bottom:24px}.ranking-intro small{font-size:11px;letter-spacing:1.8px;color:#8c795c}.ranking-intro h2{font-size:29px;margin:10px 0}.ranking-intro p{font-size:14px;margin-bottom:0}.ranking-intro img{width:210px;height:150px;object-fit:contain}.ranking-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.3fr);gap:24px;align-items:start}#rankingForm{max-width:none;background:#fffdf8}#rankingForm h3{font-size:21px;margin:17px 0 7px;letter-spacing:-.5px}#rankingForm>p:not(.hint){font-size:14px;margin-top:0}#rankingForm .primary{width:100%}.participation{background:#edf2e7;border:1px solid #dce5d5;border-radius:16px;padding:15px;align-items:center}.participation strong{font-size:14px}.participation small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.participation input{margin:0}.board-heading{display:flex;justify-content:space-between;gap:10px;align-items:center}.board-heading h3{margin:0;font-size:19px}.ranking-switch{padding:5px;background:#f1f2e9;border-radius:14px;margin:22px 0 10px;gap:3px}.ranking-switch button{flex:1;border:0;background:transparent;padding:10px}.ranking-switch .selected{background:white;box-shadow:0 2px 7px #364d3c0a;color:var(--ink);font-weight:700}#myRank{padding:14px 16px;border-radius:14px;background:#eef3e8;font-size:14px;color:#4d6951}.ranking-row{grid-template-columns:48px minmax(0,1fr) 52px;padding:16px 10px;font-size:14px}.ranking-row>span{overflow-wrap:anywhere}.ranking-row>strong:first-child{display:grid;place-items:center;font-size:12px;width:36px;height:36px;background:#f0f2eb;border-radius:50%;color:#788471}.ranking-row.top-rank>strong:first-child{background:#f4e8ca;color:#9b8050}.ranking-row.mine{background:#f0f4e9}.ranking-row>strong:last-child{color:#5c7964}.reward-balance{background:#edf2e7}#rewardDialog{background:#fffdf7}#rewardDialog::backdrop{background:#3e4d41a8}#auth{display:block;min-height:0;padding:30px 0}#auth>.two{align-items:center;gap:40px}#auth h1{font-size:40px}#auth .actions{flex-wrap:wrap}#auth .actions button{font-size:12px}
@media(max-width:700px){h1{font-size:29px}.welcome{padding:24px 20px;min-height:300px;align-items:flex-start}.welcome>div{max-width:100%}.welcome h1{font-size:29px;padding-right:24px}.welcome p{font-size:12px;max-width:210px}.welcome .soft-tag{font-size:10px}.welcome .movement-art{width:160px;height:115px;right:4px;bottom:0;opacity:.85}.welcome img#userAvatar{width:36px;height:36px;top:18px;right:16px}.stats{gap:7px}.stats>div{padding:14px 10px;border-radius:17px}.stats strong{font-size:25px}.stats small{font-size:9px}.stats span{font-size:11px}nav{gap:2px;flex-wrap:nowrap;overflow-x:auto}nav button{padding:10px 7px;font-size:12px;flex:1 0 auto}.ranking-layout{grid-template-columns:1fr;gap:0}.ranking-intro{padding:22px;position:relative;min-height:200px;overflow:hidden}.ranking-intro>div{position:relative;z-index:1}.ranking-intro h2{font-size:25px}.ranking-intro p{font-size:12px;max-width:210px}.ranking-intro img{position:absolute;width:145px;height:105px;right:-10px;bottom:0;opacity:.6}.board-heading{flex-wrap:wrap}.ranking-board{padding:20px}.ranking-row{gap:8px}.aside-art{height:135px}#auth>.two{gap:12px}#auth h1{font-size:33px}#auth{padding-top:0}}
/* Reference: ivory paper, forest green and warm copper */
:root{--ink:#143a30;--muted:#7e8074;--paper:#faf7ee;--accent:#174f3d;--line:#e8e1d4}body{background:radial-gradient(ellipse at top left,#fffdf7 0,transparent 55%),var(--paper)}.brand{color:#103c30;font-weight:850}.panel{background:#fffdf8;border-color:#eee5d8;box-shadow:0 8px 28px #71543a06}.welcome{background:linear-gradient(110deg,#f4eddd,#fbf8ee);border-color:#eee4d4}.welcome h1{font-weight:800;letter-spacing:-1.8px}.welcome small,.ranking-intro small{color:#a65e32}.soft-tag{background:#f4e9d9;color:#9a6039}.welcome .movement-art{opacity:.3;filter:sepia(.55)}.welcome img#userAvatar{border-color:#f8ecd8}.stats>div{background:#fffdf8}.stats>div:nth-child(2){background:#f4eadc}.stats>div:nth-child(3){background:#e9eee3}.stats strong{color:#184533}nav{background:#f0ebdf}nav .selected{background:#174f3d;color:#fff;box-shadow:none}.primary{background:linear-gradient(130deg,#1f5943,#123e30)}.primary:hover{background:#123e30}.warm{background:#f3eadb}.upload{background:#f8f3e9;border-color:#d3c1a5}.aside-art{filter:sepia(.55);opacity:.65}.ranking-intro{background:linear-gradient(110deg,#f2e9d9,#faf6eb)}.ranking-intro img{filter:sepia(.55);opacity:.4}.ranking-intro h2{font-weight:800}.participation{background:#eef1e7;border-color:#dce4d3}.ranking-switch{background:#f1eee6}.ranking-switch .selected{background:#174f3d;color:#fff}.ranking-board{background:#fffdf8}.ranking-row.top-rank>strong:first-child{background:#f3dfc0;color:#a56532}#myRank{background:#eaf0e5;color:#174b37}.ranking-podium{display:flex;justify-content:center;gap:12px;padding:24px 0 20px;border-bottom:1px solid var(--line);margin-bottom:6px}.ranking-podium:empty{display:none}.podium-person{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1;min-width:0;max-width:135px;gap:4px}.podium-crown{font-size:28px;color:#bc8447;line-height:1}.podium-avatar{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#ede2cc,#adbc9c);border:3px solid #f6e3c7;font-size:25px;font-weight:700;color:#31523d}.podium-person:nth-child(2) .podium-avatar{background:linear-gradient(145deg,#e0c5a0,#a9754d)}.podium-person:nth-child(3) .podium-avatar{background:linear-gradient(145deg,#e4e8df,#b6c5be)}.podium-person>strong{font-size:18px}.podium-person>span:not([class]){font-size:12px;overflow-wrap:anywhere}.podium-person>small{color:#8b7053}#rewardDialog{background:#fffdf6;border:1px solid #eadbc4}#rewardTitle{font-size:23px}.reward-amount{border-radius:18px;background:linear-gradient(120deg,#194b3a,#0e3027);color:#edc19a;font-size:42px;padding:15px 10px;margin:20px 0}.reward-balance{background:#f4ecdf;color:#795637}#rewardDescription{background:#f7f0e5;border-radius:13px;padding:14px;font-size:14px;color:#816647}.badge{background:#f2e4ce;color:#986c3b}#rewardDialog::backdrop{background:#2c342bb3}@media(max-width:700px){.podium-avatar{width:55px;height:55px}.ranking-podium{gap:6px}.welcome .movement-art{opacity:.25}}

.welcome .movement-art{width:170px;height:170px;right:55px;bottom:48px;filter:none;opacity:.13}.ranking-intro img{width:125px;height:125px;filter:none;opacity:.22}.aside-art{filter:none;opacity:.85;height:100px;margin:14px 0}.brand img{width:40px}@media(max-width:700px){.welcome .movement-art{width:120px;height:120px;right:16px;bottom:10px;opacity:.12}.ranking-intro img{width:105px;height:105px;right:12px;bottom:12px;opacity:.15}}
