:root{--primary: #3b82f6;--bg: #ffffff;--surface: #f8fafc;--text: #0f172a;--text-muted: #64748b;--border: #e2e8f0;--accent-soft: rgba(59, 130, 246, .05);--glass: rgba(255, 255, 255, .9);--shadow-md: 0 12px 30px -5px rgba(0,0,0,.08)}*{box-sizing:border-box;-webkit-font-smoothing:antialiased}body{margin:0;font-family:Inter,PingFang SC,sans-serif;background:var(--bg);color:var(--text);overflow:hidden}.app-container{display:flex;flex-direction:column;height:100vh;width:100vw;background:radial-gradient(circle at 10% 10%,#eff6ff,#fff)}.app-header{height:64px;padding:0 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100}.brand{display:flex;align-items:center;gap:12px}.title{font-weight:800;font-size:18px;letter-spacing:-.5px;color:var(--text)}.sparkle-icon{color:var(--primary)}.sync-badge{font-size:10px;background:#dcfce7;color:#166534;padding:2px 8px;border-radius:10px;display:flex;align-items:center;gap:4px;font-weight:600}.points-display{display:flex;align-items:baseline;gap:4px;background:var(--surface);padding:6px 16px;border-radius:20px;border:1px solid var(--border)}.points-display .val{font-weight:800;color:var(--primary);font-size:18px}.points-display .unit{font-size:12px;color:var(--text-muted);font-weight:600}.app-content{flex:1;overflow-y:auto;padding:40px}.view{max-width:1100px;margin:0 auto;width:100%}.focus-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;min-height:60vh}.butterfly-stage{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer}.butterfly-svg{width:380px;height:380px;filter:drop-shadow(0 25px 50px rgba(0,0,0,.12))}.quote-bubble{margin-top:20px;background:#fff;padding:16px 32px;border-radius:24px;box-shadow:var(--shadow-md);font-style:italic;color:var(--text-muted);border:1px solid var(--border);position:relative;max-width:85%;text-align:center;line-height:1.6}.quote-bubble:after{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%);border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid white}.timer-panel{display:flex;flex-direction:column;align-items:center;gap:32px}.timer-text{font-size:110px;font-weight:900;margin:0;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-4px;line-height:1}.mode-tabs{display:flex;background:var(--surface);padding:4px;border-radius:16px;border:1px solid var(--border)}.mode-tabs button{border:none;background:none;padding:10px 28px;border-radius:12px;cursor:pointer;font-weight:700;color:var(--text-muted);transition:all .2s}.mode-tabs button.active{background:#fff;color:var(--primary);box-shadow:0 4px 12px #0000000d}.btn-main{background:var(--primary);color:#fff;border:none;padding:16px 48px;border-radius:32px;font-size:20px;font-weight:800;cursor:pointer;display:flex;align-items:center;gap:12px;transition:all .3s;box-shadow:0 10px 25px -5px #3b82f666}.btn-main:hover{transform:translateY(-3px);box-shadow:0 15px 30px -5px #3b82f680}.btn-sub{background:#f1f5f9;color:var(--text);border:none;padding:16px 32px;border-radius:32px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:8px}.btn-stop{background:#ef4444;color:#fff;border:none;padding:16px 32px;border-radius:32px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:8px}.input-group{width:100%;max-width:420px}.input-group textarea{width:100%;height:110px;border:1px solid var(--border);border-radius:20px;padding:20px;resize:none;font-family:inherit;font-size:15px;background:var(--surface);transition:all .3s;line-height:1.6}.input-group textarea:focus{background:#fff;border-color:var(--primary);outline:none;box-shadow:0 0 0 4px #3b82f61a}.view-header{margin-bottom:40px}.view-header h2{font-size:36px;font-weight:900;margin:0 0 10px;letter-spacing:-1px}.view-header p{color:var(--text-muted);font-size:16px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:28px}.butterfly-card{background:#fff;border:1px solid var(--border);border-radius:28px;padding:24px;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative}.butterfly-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-md);border-color:var(--primary)}.card-visual{height:160px;display:flex;justify-content:center;align-items:center;margin-bottom:16px}.card-visual .butterfly-svg{width:160px;height:160px}.shop-card h3{margin:0 0 8px;font-size:20px;font-weight:800}.price-tag{color:var(--primary);font-weight:800;font-size:18px;margin-bottom:20px}.btn-group{display:flex;gap:10px}.btn-info{flex:1;padding:10px;border-radius:12px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-weight:600;display:flex;align-items:center;justify-content:center;gap:4px}.btn-buy{flex:2;padding:10px;border-radius:12px;border:none;background:var(--primary);color:#fff;font-weight:700;cursor:pointer}.btn-buy:disabled{background:#f1f5f9;color:#cbd5e1;cursor:not-allowed}.btn-buy.owned{background:#dcfce7;color:#166534;cursor:default}.col-card{cursor:pointer;text-align:center}.col-card.active{border:2px solid var(--primary);background:var(--accent-soft)}.active-tag{position:absolute;top:16px;right:16px;background:var(--primary);color:#fff;font-size:10px;padding:4px 12px;border-radius:20px;font-weight:800}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;width:100%;max-width:600px;border-radius:32px;padding:40px;position:relative;box-shadow:0 30px 60px #0003}.modal-header{display:flex;flex-direction:column;align-items:center;gap:20px;margin-bottom:24px}.modal-header .butterfly-svg{width:180px;height:180px}.modal-header h2{font-size:28px;font-weight:900;margin:0}.modal-body p{line-height:1.8;color:var(--text-muted);font-size:15px;text-align:justify}.btn-close{width:100%;margin-top:32px;padding:16px;border-radius:16px;border:none;background:var(--surface);font-weight:700;cursor:pointer;transition:background .2s}.btn-close:hover{background:#e2e8f0}.log-list{display:flex;flex-direction:column;gap:20px}.log-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:24px}.log-main{display:flex;align-items:center;gap:20px;margin-bottom:16px}.log-icon{width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:20px;box-shadow:0 4px 12px #0000001a}.log-meta{display:flex;flex-direction:column}.log-date{font-size:12px;color:var(--text-muted);font-weight:600}.log-title{font-size:18px;font-weight:800}.log-reflection{background:var(--surface);padding:16px;border-radius:16px;display:flex;gap:12px;color:var(--text-muted);font-size:14px;line-height:1.6}.log-reflection p{margin:0}.bottom-nav{height:84px;display:flex;justify-content:space-around;align-items:center;background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--border);position:sticky;bottom:0}.bottom-nav button{flex:1;border:none;background:none;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--text-muted);cursor:pointer;transition:all .3s}.bottom-nav button.active{color:var(--primary);transform:translateY(-4px)}.bottom-nav button.active span{font-weight:800}.bottom-nav span{font-size:12px;font-weight:600}.loading-screen{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:var(--primary);font-weight:700}@media (max-width: 900px){.focus-layout{grid-template-columns:1fr;gap:40px}.timer-text{font-size:80px}.butterfly-svg{width:280px;height:280px}}
