:root{--bg-primary: #fafbfd;--bg-secondary: rgba(255,255,255,.6);--bg-tertiary: rgba(255,255,255,.7);--bg-body: linear-gradient(180deg, #f0f4f8 0%, #e3e9f1 100%);--bg-body-solid: #e8edf3;--bg-card: rgba(255,255,255,.7);--bg-card-solid: #ffffff;--bg-nav: rgba(255,255,255,.72);--text-primary: #0f0f12;--text-secondary: #3a3d46;--text-tertiary: #8a8d96;--text-muted: #b4b8c2;--border-primary: rgba(15,15,18,.06);--border-secondary: rgba(15,15,18,.08);--border-card: rgba(255,255,255,.8);--shadow-card: 0 1px 0 rgba(255,255,255,.7) inset, 0 4px 20px rgba(15,15,18,.06);--shadow-card-hover: 0 1px 0 rgba(255,255,255,.7) inset, 0 8px 28px rgba(15,15,18,.1);--shadow-nav: 0 -1px 0 rgba(255,255,255,.6) inset;--shadow-btn: 0 2px 8px rgba(15,15,18,.12);--accent: #0f0f12;--accent-light: rgba(15,15,18,.06);--accent-blue: #4a7fb8;--news-ai-bg: rgba(255,247,235,.7);--news-ai-border: rgba(253,232,208,.8);--news-invest-bg: rgba(240,248,255,.7);--news-invest-border: rgba(212,234,252,.8);--mood-bg: rgba(255,248,236,.85);--mood-border: rgba(245,226,192,.7);--mood-text: #8a6d3b;--tag-bg: rgba(15,15,18,.06);--tag-text: #0f0f12;--cat-bg: rgba(74,127,184,.1);--cat-text: #4a7fb8;--cat-border: rgba(74,127,184,.2);--input-bg: rgba(255,255,255,.6);--input-border: rgba(15,15,18,.08);--skeleton: rgba(15,15,18,.06);--overlay: rgba(15,15,18,.35);--radius-card: 18px;--radius-button: 99px;--radius-input: 12px;--blur-glass: blur(20px) saturate(180%)}[data-theme=dark]{--bg-primary: #15171c;--bg-secondary: rgba(255,255,255,.04);--bg-tertiary: rgba(255,255,255,.06);--bg-body: linear-gradient(180deg, #15171c 0%, #1a1d24 100%);--bg-body-solid: #15171c;--bg-card: rgba(255,255,255,.05);--bg-card-solid: #1f2229;--bg-nav: rgba(21,23,28,.75);--text-primary: #f0f1f3;--text-secondary: #c4c7cf;--text-tertiary: #8a8d96;--text-muted: #5a5d66;--border-primary: rgba(255,255,255,.06);--border-secondary: rgba(255,255,255,.08);--border-card: rgba(255,255,255,.08);--shadow-card: 0 1px 0 rgba(255,255,255,.04) inset, 0 4px 20px rgba(0,0,0,.25);--shadow-card-hover: 0 1px 0 rgba(255,255,255,.06) inset, 0 8px 28px rgba(0,0,0,.35);--shadow-nav: 0 -1px 0 rgba(255,255,255,.04) inset;--shadow-btn: 0 2px 8px rgba(0,0,0,.4);--accent: #f0f1f3;--accent-light: rgba(255,255,255,.08);--accent-blue: #6ba3d8;--news-ai-bg: rgba(74,53,32,.4);--news-ai-border: rgba(74,53,32,.6);--news-invest-bg: rgba(42,64,80,.4);--news-invest-border: rgba(42,64,80,.6);--mood-bg: rgba(74,58,32,.4);--mood-border: rgba(74,58,32,.6);--mood-text: #d4a853;--tag-bg: rgba(255,255,255,.1);--tag-text: #f0f1f3;--cat-bg: rgba(107,163,216,.15);--cat-text: #6ba3d8;--cat-border: rgba(107,163,216,.25);--input-bg: rgba(255,255,255,.04);--input-border: rgba(255,255,255,.08);--skeleton: rgba(255,255,255,.06);--overlay: rgba(0,0,0,.6)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{height:100%;height:-webkit-fill-available;height:100dvh}body{height:100vh;height:-webkit-fill-available;height:100dvh;overflow:hidden;background:var(--bg-body-solid);background-image:var(--bg-body);font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,PingFang SC,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;color:var(--text-primary);position:fixed;inset:0;letter-spacing:-.01em}#root{height:100vh;height:-webkit-fill-available;height:100dvh;max-width:480px;margin:0 auto;background:transparent;box-shadow:0 0 60px #0f0f1214;position:relative;overflow:hidden;display:flex;flex-direction:column}#root:before{content:"";position:absolute;top:-120px;right:-80px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(180,200,240,.45) 0%,transparent 70%);pointer-events:none;z-index:0}#root:after{content:"";position:absolute;bottom:-120px;left:-80px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(220,200,240,.35) 0%,transparent 70%);pointer-events:none;z-index:0}[data-theme=dark] #root:before{background:radial-gradient(circle,rgba(80,120,180,.18) 0%,transparent 70%)}[data-theme=dark] #root:after{background:radial-gradient(circle,rgba(120,80,160,.15) 0%,transparent 70%)}@media(max-width:520px){#root{box-shadow:none;max-width:100%}}@media all and (display-mode:standalone){body{height:100vh;height:-webkit-fill-available;height:100dvh}}@media(min-width:768px)and (display-mode:browser){body:before,body:after{content:"";position:fixed;pointer-events:none;z-index:0;border-radius:50%;filter:blur(80px)}body:before{top:-15vh;left:-10vw;width:55vw;height:55vw;background:radial-gradient(circle,#e67e2238,#e67e2200 65%)}body:after{bottom:-20vh;right:-10vw;width:60vw;height:60vw;background:radial-gradient(circle,#3498db33,#3498db00 65%)}body{background:radial-gradient(ellipse at 30% 0%,rgba(255,235,210,.55),transparent 50%),radial-gradient(ellipse at 70% 100%,rgba(210,225,255,.55),transparent 50%),linear-gradient(135deg,#f6f4f0,#eef2f8)}#root{max-width:440px;height:calc(100dvh - 48px)!important;max-height:920px;margin:24px auto;border-radius:32px;overflow:hidden;background:#ffffff8c;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border:.5px solid rgba(255,255,255,.6);box-shadow:0 30px 80px -20px #0f0f1e40,0 10px 30px -10px #0f0f1e26,inset 0 1px #ffffff80;position:relative;z-index:1}.glass-card{background:#ffffffb3!important}}@media(min-width:768px)and (display-mode:browser){[data-theme=dark] body{background:radial-gradient(ellipse at 30% 0%,rgba(60,40,80,.4),transparent 50%),radial-gradient(ellipse at 70% 100%,rgba(30,50,90,.4),transparent 50%),linear-gradient(135deg,#14141a,#1a1c25)}[data-theme=dark] body:before{background:radial-gradient(circle,rgba(230,126,34,.1) 0%,transparent 65%)}[data-theme=dark] body:after{background:radial-gradient(circle,rgba(52,152,219,.1) 0%,transparent 65%)}[data-theme=dark] #root{background:#1e1e268c;border-color:#ffffff14;box-shadow:0 30px 80px -20px #0009,0 10px 30px -10px #0006,inset 0 1px #ffffff0d}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}@keyframes pageFade{0%{opacity:.6}to{opacity:1}}.animate-fadeIn{animation:fadeIn .2s ease-out}.animate-slideUp{animation:slideUp .3s ease-out}.animate-slideIn{animation:slideIn .25s ease-out}.animate-pageFade{animation:pageFade .2s ease-out}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-preview{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;word-break:break-word}.toast{position:fixed;top:calc(env(safe-area-inset-top,20px) + 20px);left:50%;transform:translate(-50%);background:#333;color:#fff;padding:12px 28px;border-radius:24px;font-size:15px;z-index:9999;animation:toastIn .2s ease-out;box-shadow:0 4px 12px #00000026}input,textarea{font-family:inherit;-webkit-appearance:none;font-size:16px;color:var(--text-primary)}textarea{line-height:1.8}.bottom-nav{position:absolute;left:0;right:0;bottom:0;z-index:50;background:var(--bg-nav);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border-primary);padding-top:8px;padding-left:16px;padding-right:16px;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 6px)}.bottom-nav-spacer{flex:0 0 auto;height:calc(env(safe-area-inset-bottom,0px) + 62px);pointer-events:none}.leaflet-container{background:var(--bg-tertiary)!important;font-family:inherit;position:relative!important;z-index:0!important;isolation:isolate}.leaflet-control-attribution{font-size:9px!important}.photo-pin{background:var(--accent);border:2px solid #fff;border-radius:50%;box-shadow:0 2px 6px #0000004d}.leaflet-div-icon.thumb-marker-wrap,.leaflet-div-icon.photo-marker-wrap{background:transparent!important;border:none!important}.ql-toolbar.ql-snow{border:none!important;border-bottom:1px solid var(--border-primary)!important;padding:6px 0!important;background:var(--bg-primary)!important}.ql-container.ql-snow{border:none!important;font-family:inherit!important;font-size:16px!important}.ql-editor{padding:12px 0!important;min-height:140px!important;line-height:1.8!important;color:var(--text-secondary)!important;background:var(--bg-primary)!important}.ql-editor.ql-blank:before{color:var(--text-muted)!important;font-style:normal!important;left:0!important}.ql-snow .ql-picker{font-size:13px!important}.ql-snow .ql-stroke{stroke:var(--text-tertiary)!important}.ql-snow .ql-fill{fill:var(--text-tertiary)!important}.ql-snow button:hover .ql-stroke{stroke:var(--text-primary)!important}.ql-snow .ql-picker-label{border:none!important;color:var(--text-secondary)!important}.ql-snow .ql-picker-options{background:var(--bg-primary)!important;border-color:var(--border-primary)!important}.rich-content h1{font-size:20px;font-weight:600;margin:8px 0;color:var(--text-primary)}.rich-content h2{font-size:17px;font-weight:600;margin:6px 0;color:var(--text-primary)}.rich-content p{margin:4px 0;line-height:1.8}.rich-content ol,.rich-content ul{padding-left:20px;margin:4px 0}.rich-content li{line-height:1.8}.rich-content strong{font-weight:600}.rich-content img{max-width:100%;height:auto;border-radius:8px;margin:8px 0;display:block}.card-preview img{max-width:100%;max-height:120px;object-fit:cover;border-radius:6px;margin:4px 0}.ql-editor img{max-width:100%;height:auto;border-radius:8px;margin:8px 0;display:block}.cat-pill{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:500;padding:2px 8px;border-radius:4px;background:var(--cat-bg);color:var(--cat-text);border:1px solid var(--cat-border)}.thumb-marker{width:44px;height:44px;border-radius:50%;overflow:hidden;border:2px solid #fff;box-shadow:0 2px 8px #0000004d;background:var(--skeleton)}.thumb-marker img{width:100%;height:100%;object-fit:cover;display:block}.photo-marker{width:52px;height:52px;border-radius:10px;overflow:hidden;border:3px solid #fff;box-shadow:0 3px 10px #00000059;position:relative;background:var(--skeleton);box-sizing:content-box}.photo-marker img{width:100%;height:100%;object-fit:cover;display:block}.photo-marker-badge{position:absolute;top:-6px;right:-6px;background:var(--accent);color:var(--bg-primary);font-size:11px;font-weight:600;min-width:18px;height:18px;padding:0 5px;border-radius:9px;display:flex;align-items:center;justify-content:center;border:2px solid #fff;box-sizing:content-box;line-height:1}.skeleton-box{background:linear-gradient(90deg,var(--skeleton) 25%,var(--border-primary) 50%,var(--skeleton) 75%);background-size:400px 100%;animation:shimmer 1.2s infinite;border-radius:8px}.offline-banner{position:fixed;top:0;left:0;right:0;background:#e74c3c;color:#fff;text-align:center;font-size:12px;padding:4px 0;z-index:10000;animation:fadeIn .3s ease-out}.nav-dot{width:14px;height:2px;border-radius:1px;background:var(--accent);margin-top:3px}.search-overlay{position:absolute;inset:0;background:var(--bg-primary);z-index:100;animation:fadeIn .15s ease-out}.more-menu{position:absolute;bottom:100%;right:8px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:12px;box-shadow:0 -4px 20px #0000001a;padding:8px 0;min-width:140px;animation:fadeIn .15s ease-out;margin-bottom:8px}.more-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:12px 18px;border:none;background:none;cursor:pointer;font-size:14px;color:var(--text-primary);text-align:left}.more-menu button:active{background:var(--bg-tertiary)}.sub-tabs-bar{display:flex;gap:0;margin:0 -24px;padding:0 24px;border-bottom:1px solid var(--border-primary)}.sub-tab-item{padding:10px 0;margin-right:24px;font-size:15px;font-weight:500;color:var(--text-muted);border-bottom:2px solid transparent;cursor:pointer;background:none;border-top:none;border-left:none;border-right:none;transition:color .2s,border-color .2s;letter-spacing:-.01em}.sub-tab-item.active{color:var(--text-primary);border-bottom-color:var(--accent);font-weight:600}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:var(--blur-glass);backdrop-filter:var(--blur-glass);border:.5px solid var(--border-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:transform .2s ease,box-shadow .2s ease}.glass-card:active{transform:scale(.985)}.glass-btn{background:var(--bg-tertiary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:.5px solid var(--border-primary);border-radius:var(--radius-button);transition:transform .15s ease,background .15s ease}.glass-btn:active{transform:scale(.94)}.pill-btn{background:var(--accent);color:var(--bg-primary);border:none;border-radius:var(--radius-button);padding:9px 18px;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:5px;box-shadow:var(--shadow-btn);transition:transform .15s ease,box-shadow .15s ease;letter-spacing:-.01em}.pill-btn:active{transform:scale(.96);box-shadow:0 1px 3px #0f0f121a}.pill-btn-ghost{background:var(--bg-tertiary);color:var(--text-primary);border:.5px solid var(--border-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-button);padding:7px 14px;font-size:13px;font-weight:500;cursor:pointer;transition:transform .15s ease,background .15s ease;letter-spacing:-.01em}.pill-btn-ghost:active{transform:scale(.96)}.icon-btn{width:36px;height:36px;border-radius:50%;background:var(--bg-tertiary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:.5px solid var(--border-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:transform .15s ease,background .15s ease}.icon-btn:active{transform:scale(.92)}button{transition:transform .15s ease,opacity .15s ease}button:active:not(:disabled){transform:scale(.97)}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-pageFade{animation:pageFadeIn .3s cubic-bezier(.2,.8,.2,1)}h1,h2,h3{letter-spacing:-.02em!important}h1{font-weight:700!important}.bottom-nav{border-top:.5px solid var(--border-primary);box-shadow:var(--shadow-nav)}@keyframes reviewAnswerIn{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.review-answer-card{animation:reviewAnswerIn .35s cubic-bezier(.2,.8,.2,1)}
