
:root{--bg:#f7f6ef;--ink:#344b3f;--muted:#768074;--line:#e3e6d9;--green:#536c52}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Noto Sans SC',sans-serif;font-size:14px}button,a,input,textarea{font:inherit}button{cursor:pointer;color:inherit}button{border:0;background:none}button:focus-visible,a:focus-visible{outline:3px solid #ad8753;outline-offset:4px}button:hover{filter:brightness(.94)}a{color:inherit;text-decoration:none}.sidebar{position:fixed;width:230px;inset:0 auto 0 0;border-right:1px solid var(--line);padding:42px 28px;background:#eeefe5;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;font-size:21px;font-weight:600}.logo{font-size:45px;font-weight:400}.online{display:block;font-size:10px;letter-spacing:4px}.aside-caption{font-size:10px;margin:24px 0 42px;color:var(--muted)}nav{display:grid;gap:13px}nav button{display:flex;gap:14px;align-items:center;text-align:left;padding:14px 17px;border-radius:9px;font-size:20px}nav button span{font-size:14px}nav button.active{background:#dfe6d5}nav small{font-size:10px;margin-left:auto}.sidebar-bottom{margin-top:auto;padding:20px 10px}.seed{font-size:42px;color:#91a17e}.sidebar-bottom p{line-height:2;color:var(--muted);font-size:12px}.text-button{font-size:12px;padding:8px 0;color:#697d62}main{margin-left:230px;padding:0 55px;max-width:1660px}header{height:95px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.pill{padding:9px 16px;border:1px solid var(--line);border-radius:30px;background:#fff9}.pill span{margin-left:20px}.intro{display:flex;justify-content:space-between;align-items:center;margin:15px 0 30px}.eyebrow{font-size:10px;letter-spacing:2px;color:#839079}h1,h2{font-family:'Noto Serif SC',serif;font-weight:500}h1{font-size:36px;margin:10px 0 12px;letter-spacing:2px}h2{font-size:22px;margin:7px 0}.muted{color:var(--muted);line-height:1.9}.stamp{font-size:10px;text-align:center;line-height:2.1;border:1px solid #9eac91;border-radius:50%;width:76px;height:76px;padding:17px 0;transform:rotate(10deg);color:#809273}.stamp b{font-weight:400}.world-scene{position:relative;overflow:hidden;border-radius:16px;background:#e4eee5;transition:background 1s}.world-scene.evening{background:#e8ded3}.world-scene.evening svg{filter:sepia(.22)}.scene-top,.scene-bottom{position:absolute;left:26px;right:26px;display:flex;justify-content:space-between;gap:15px;z-index:1;font-size:11px;color:#6c8174}.scene-top{top:23px}.scene-top i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#8f9d77;margin-right:6px}.scene-bottom{bottom:20px}.scene-bottom button{font-size:11px}.world-scene svg{width:100%;display:block;min-height:300px}.map-label{position:absolute;background:#fffdf0e6;border:1px solid #e0e5d0;padding:8px 15px;border-radius:25px;font-size:11px;box-shadow:0 3px 10px #596b5212}.map-label span{margin-left:8px}.home-label{top:69%;left:34%}.club-label{top:75%;left:57%}.section-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:30px 0 18px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{overflow:hidden;background:#fdfcf7;border:1px solid var(--line);border-radius:12px}.card-art{height:137px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.card-art svg{width:100%;height:100%}.card-body{padding:17px 19px}.card-tag{font-size:10px;color:#89917e}.card h3{font-family:'Noto Serif SC',serif;font-size:18px;font-weight:500;margin:9px 0}.card p{font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 15px}.card-action{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px}.card-action button{font-size:12px;padding:5px 0}.card-action span{font-size:10px;color:var(--muted)}.expect-banner{background:#eceee1;border-radius:12px;padding:24px 28px;margin-top:26px;display:flex;align-items:center;justify-content:space-between;gap:16px}.expect-banner p{font-size:11px;color:var(--muted);margin-bottom:0}.primary{background:var(--green);color:#fff;border-radius:7px;padding:12px 20px;font-size:12px;white-space:nowrap}.filters{display:flex;gap:10px;margin:28px 0;flex-wrap:wrap}.filters button{padding:10px 19px;border-radius:24px;background:#eeeee4;font-size:12px}.filters .selected{background:#526b52;color:white}.footnote{font-size:11px;color:var(--muted);line-height:1.8;margin-top:25px}.list{display:grid;gap:15px;margin-top:30px}.entry{padding:24px;background:#fdfcf7;border:1px solid var(--line);border-radius:12px;display:flex;gap:18px;justify-content:space-between;align-items:center}.entry h3{font-weight:500;font-size:17px;overflow-wrap:anywhere}.entry p{color:var(--muted);font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.entry-actions{display:flex;gap:10px;flex-shrink:0}.entry-actions button{font-size:12px;padding:9px;background:#eceee3;border-radius:6px}.empty{text-align:center;padding:70px 20px;background:#eeefe5;border-radius:15px;line-height:2;color:var(--muted)}.empty b{font-family:'Noto Serif SC',serif;font-size:24px;font-weight:400;color:var(--ink)}footer{display:flex;gap:20px;align-items:center;font-size:9px;letter-spacing:1px;color:#8c9586;padding:35px 0}footer span{margin-right:auto}footer button{font-size:10px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:18px;background:#faf9f1;color:var(--ink);padding:38px;width:min(500px,calc(100% - 32px));max-height:85vh}dialog::backdrop{background:#27372d66;backdrop-filter:blur(5px)}.close{position:absolute;right:15px;top:9px;font-size:26px;color:#788571}dialog h2{margin:10px 0 20px}dialog p{line-height:1.9;color:var(--muted)}label{display:block;margin-top:18px;font-size:12px}input,textarea{width:100%;padding:13px;background:#fffdf8;border:1px solid #d8dfce;border-radius:7px;color:var(--ink);margin:8px 0;resize:vertical}dialog .primary{margin-top:15px}.modal-actions{display:flex;gap:15px;align-items:center;margin-top:20px}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#344d40;color:white;padding:13px 24px;border-radius:9px;opacity:0;pointer-events:none;transition:opacity .3s;z-index:10;max-width:90%;font-size:13px}#toast.show{opacity:1}.clouds{animation:drift 18s ease-in-out infinite alternate}@keyframes drift{to{transform:translateX(12px)}}[hidden]{display:none!important}@media(min-width:1450px){main{padding:0 80px}.world-scene svg{max-height:440px}}@media(max-width:1050px){.sidebar{width:185px;padding:30px 20px}main{margin-left:185px;padding:0 30px}.cards{gap:12px}.card-body{padding:14px}.stamp{display:none}.scene-top #scene-note{display:none}}@media(max-width:700px){.sidebar{position:fixed;top:auto;bottom:0;left:0;width:100%;height:75px;padding:0 12px;background:#f5f5edeF;backdrop-filter:blur(15px);border-top:1px solid var(--line);z-index:5}.brand,.aside-caption,.sidebar-bottom{display:none}nav{display:flex;justify-content:space-around;gap:0;height:100%}nav button{padding:9px 13px;flex-direction:column;gap:3px;justify-content:center;border-radius:0;font-size:22px}nav button span{font-size:10px}nav button.active{background:none;color:#345f40}nav small{display:none}main{margin:0;padding:0 20px 75px}header{height:68px}.intro{margin:13px 0 23px}h1{font-size:29px}.eyebrow{font-size:9px;letter-spacing:1.6px}.muted{font-size:12px}.world-scene{margin:0 -6px}.world-scene svg{width:150%;max-width:none;margin-left:-25%;min-height:280px}.scene-top,.scene-bottom{left:14px;right:14px;font-size:10px}.scene-bottom{bottom:14px}.scene-bottom>span{max-width:150px;line-height:1.6}.home-label{left:25%;top:65%;font-size:10px;padding:6px 10px}.club-label{left:63%;top:72%;font-size:10px;padding:6px 10px}.cards{grid-template-columns:1fr}.card{display:grid;grid-template-columns:105px 1fr}.card-art{height:100%;min-height:167px}.card-art svg{min-width:220px}.card-body{padding:15px}.card h3{font-size:17px}.card p{font-size:11px;margin-bottom:10px}.card-action{padding-top:8px}.section-title{margin-top:25px}h2{font-size:20px}.expect-banner{padding:21px;align-items:flex-start;flex-direction:column}.expect-banner p{line-height:1.8}.entry{align-items:flex-start;flex-direction:column}.entry h3{margin-top:0}.entry-actions{width:100%}.section-title h1{font-size:25px}.section-title .primary{padding:10px 12px}.filters{gap:7px}.filters button{padding:9px 12px}footer{flex-wrap:wrap;gap:10px}footer button{padding:0}#toast{bottom:90px;width:max-content;text-align:center}dialog{padding:30px 25px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.header-actions{display:flex;gap:10px;align-items:center}button:disabled{opacity:.5;cursor:wait}#login-message{font-size:12px}#account-status{font-size:12px}@media(max-width:700px){header{gap:8px;font-size:10px}.header-actions{gap:5px}.header-actions .pill{padding:9px;font-size:10px}.header-actions .pill span{margin-left:4px}}
.mood-picker{display:flex;flex-wrap:wrap;gap:9px;margin-top:8px}.mood-picker button{border:1px solid var(--line);border-radius:24px;padding:12px 16px;font-size:12px;background:#faf9f1}.mood-picker button[aria-pressed=true]{background:#526b52;color:white;border-color:#526b52}#home-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.waiting-note{padding:18px 4px;display:flex;gap:14px;align-items:center;font-size:12px;color:var(--muted);flex-wrap:wrap}.waiting-note button{color:var(--ink);text-align:left;overflow-wrap:anywhere}.island-traces{border-top:1px solid var(--line);padding:19px 0 5px}.island-traces h2{font-size:17px;margin:0 0 14px}#trace-list{display:flex;flex-wrap:wrap;gap:9px}.trace-chip{background:#eeeee3;border-radius:20px;padding:11px 15px;font-size:12px}.trace-chip span{color:var(--muted);font-size:10px;margin-left:8px}.trace-dot{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);border:1px solid #d5cda8;background:#fff9dc;color:#65734f;width:32px;height:32px;border-radius:50%;box-shadow:0 2px 12px #526b5225;font-size:22px}.trace-dot:hover,.trace-dot:focus-visible{outline:2px solid #526b52;outline-offset:3px}.trace-moments article{border-top:1px solid var(--line);padding:18px 0}.trace-moments h3{font-weight:500;font-size:17px;overflow-wrap:anywhere}.trace-moments p{white-space:pre-wrap;overflow-wrap:anywhere}button:focus-visible{outline:2px solid #526b52;outline-offset:3px}@media(max-width:700px){#home-cards{grid-template-columns:1fr}.trace-dot{left:calc((var(--x) - 50%) * 1.5 + 50%);width:34px;height:34px}.modal-actions{flex-wrap:wrap}.mood-picker{gap:6px}.mood-picker button{padding:11px 12px}.waiting-note{gap:7px}}
