*{margin:0;-webkit-tap-highlight-color:transparent}html,body{-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;height:100%}body{overflow-x:hidden;font-size:16px}uni-app,uni-page,uni-page-wrapper,uni-page-body{display:block;box-sizing:border-box;width:100%}uni-page-wrapper{position:relative}#app,uni-app,uni-page,uni-page-wrapper{height:100%}.uni-mask{position:fixed;z-index:999;top:0;right:0;left:0;bottom:0;background:rgba(0,0,0,.5)}.uni-fade-enter-active,.uni-fade-leave-active{transition-duration:.25s;transition-property:opacity;transition-timing-function:ease}.uni-fade-enter-from,.uni-fade-leave-active{opacity:0}.uni-loading,uni-button[loading]:before{background-color:transparent;background-image:url(data:image/svg+xml;base64,\ PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=);background-repeat:no-repeat}.uni-loading{width:20px;height:20px;display:inline-block;vertical-align:middle;animation:uni-loading 1s steps(12,end) infinite;background-size:100%}@keyframes uni-loading{0%{transform:rotate3d(0,0,1,0)}to{transform:rotate3d(0,0,1,360deg)}}html{--primary-color: #007aff;--UI-BG: #fff;--UI-BG-1: #f7f7f7;--UI-BG-2: #fff;--UI-BG-3: #f7f7f7;--UI-BG-4: #4c4c4c;--UI-BG-5: #fff;--UI-FG: #000;--UI-FG-0: rgba(0, 0, 0, .9);--UI-FG-HALF: rgba(0, 0, 0, .9);--UI-FG-1: rgba(0, 0, 0, .5);--UI-FG-2: rgba(0, 0, 0, .3);--UI-FG-3: rgba(0, 0, 0, .1)}uni-page[data-type] uni-page-body{background-color:transparent}body:after{position:fixed;content:"";left:-1000px;top:-1000px;animation:shadow-preload .1s;animation-delay:3s}@keyframes shadow-preload{0%{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}to{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}}.uni-async-error{position:absolute;left:0;right:0;top:0;bottom:0;color:#999;padding:100px 10px;text-align:center}.uni-async-loading{box-sizing:border-box;width:100%;padding:50px;text-align:center}.uni-async-loading .uni-loading{width:30px;height:30px}:root{--c-primary: #38bdf8;--c-primary-d: #0ea5e9;--c-primary-l: #bae6fd;--c-bg: #f0f9ff;--c-card: #ffffff;--c-text: #0f172a;--c-sub: #6b7280;--c-line: #e5e7eb;--c-danger: #ef4444;--c-ok: #22c55e;--radius-card: 20px;--radius-btn: 999px;--shadow: 0 6px 20px rgba(56, 189, 248, .15)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#app{height:100%;margin:0}body{font-family:-apple-system,PingFang SC,Microsoft YaHei,system-ui,sans-serif;background:var(--c-bg);color:var(--c-text);font-size:16px;line-height:1.5}#app{max-width:480px;margin:0 auto;min-height:100%;background:var(--c-bg)}.page{padding:16px;padding-bottom:calc(96px + env(safe-area-inset-bottom));min-height:100%}.ptr-indicator{position:fixed;top:0;left:0;right:0;height:44px;display:flex;align-items:center;justify-content:center;gap:6px;color:var(--c-primary-d);font-size:13px;background:linear-gradient(180deg,rgba(234,244,255,.96),rgba(234,244,255,0));z-index:60;pointer-events:none;transition:opacity .15s ease;will-change:transform}.ptr-ico{font-size:16px}.ptr-ico.spin{animation:ptr-spin .8s linear infinite;display:inline-block}@keyframes ptr-spin{to{transform:rotate(360deg)}}.center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:100vh}.card{background:var(--c-card);border-radius:var(--radius-card);padding:18px;box-shadow:var(--shadow);margin-bottom:14px}.title{font-size:22px;font-weight:700;margin:0 0 4px}.sub{color:var(--c-sub);font-size:14px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;font-size:16px;font-weight:600;line-height:1.3;background:var(--c-primary);color:#fff;border-radius:var(--radius-btn);padding:14px 22px;width:100%;box-shadow:var(--shadow);transition:transform .08s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease}.btn:active{transform:scale(.98)}.btn.secondary{background:#fff;color:var(--c-primary-d);border:2px solid var(--c-primary-l)}.btn.ghost{background:transparent;color:var(--c-sub);box-shadow:none}.btn.ghost.timer-start{color:#16a34a;border:1px solid #86efac}.btn.ghost.timer-pause{color:#d97706;border:1px solid #fde68a}.btn.ghost.timer-resume{color:#0284c7;border:1px solid #bae6fd}.btn.ghost.timer-reset{color:#dc2626;border:1px solid #fecaca}.btn:disabled,uni-button.btn[disabled]{opacity:.55;cursor:not-allowed}@media (hover: hover){uni-button.btn:not(.ghost):not(.mini):not([disabled]):hover{box-shadow:0 8px 24px rgba(56,189,248,.3)}}uni-input{height:auto;min-height:0}uni-textarea{height:auto;min-height:72px}.uni-input-input:-webkit-autofill,.uni-input-input:-webkit-autofill:hover,.uni-input-input:-webkit-autofill:focus,.uni-input-input:-webkit-autofill:active,.uni-textarea-textarea:-webkit-autofill{box-shadow:0 0 0 1000px #fff inset!important;color:#0f172a!important;-webkit-text-fill-color:#0f172a!important}.uni-input-input:-webkit-autofill:first-line,.uni-textarea-textarea:-webkit-autofill:first-line{font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important;letter-spacing:inherit!important;-webkit-text-fill-color:#0f172a!important}uni-button{font-size:inherit;line-height:1.3;padding:0}uni-button:after{display:none}uni-button.btn[disabled]{color:#fff;background-color:var(--c-primary)}uni-button.btn.secondary[disabled]{color:var(--c-primary-d);background-color:#fff}uni-button.btn.ghost[disabled]{color:var(--c-sub);background-color:transparent}uni-button.btn.ghost.danger[disabled]{color:#dc2626;background-color:transparent}uni-button[disabled]{cursor:not-allowed}.input{width:100%;border:2px solid var(--c-line);border-radius:14px;padding:13px 14px;font-size:16px;outline:none;background:#fff;margin-top:6px}.input:focus{border-color:var(--c-primary)}uni-textarea.input{resize:vertical;font-family:inherit;line-height:1.5}.picker-val{font-size:16px;line-height:1.3;color:var(--c-text)}.picker-val.ph{color:#9ca3af}.field{margin-bottom:14px}.label{font-size:14px;color:var(--c-sub)}.link{color:var(--c-primary-d);font-size:14px;cursor:pointer;text-align:center;display:block;margin-top:10px}.row{display:flex;gap:10px;align-items:center}.row .input{flex:1}.hud{background:linear-gradient(135deg,var(--c-primary),#7dd3fc);border-radius:var(--radius-card);padding:18px;color:#fff;box-shadow:var(--shadow);display:flex;align-items:center;gap:14px;margin-bottom:16px}.hud .avatar{font-size:44px;width:44px;height:44px;flex:0 0 auto;display:flex;align-items:center;justify-content:center}.hud .avatar-img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;display:block}.hud .info{flex:1;min-width:0}.hud .name{font-size:20px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud .meta{font-size:13px;opacity:.92}.hud .right{margin-left:auto;text-align:right}.hud .gem{font-size:18px;font-weight:700}.hud .gem-wrap{position:relative;display:inline-block;min-width:70px;min-height:26px}.switch-bar{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:14px}.chip{flex:0 0 auto;padding:5px 11px;border-radius:999px;background:#fff;border:1px solid var(--c-line);font-size:13px;line-height:1.3;color:#475569;cursor:pointer;display:inline-flex;gap:4px;align-items:center}.chip.active{border-color:var(--c-primary);background:var(--c-primary-l);color:var(--c-primary-d);font-weight:600}.chip-ico{font-size:13px;line-height:1}.foot-filter{margin:6px 0 2px}.chip-scroll{display:flex;gap:7px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px;scrollbar-width:none;-ms-overflow-style:none}.chip-scroll::-webkit-scrollbar{display:none;width:0;height:0}.chip-scroll .chip{flex:0 0 auto}.time-row{display:flex;align-items:center;gap:8px;margin-top:8px}.time-pick{font-size:12px;color:#64748b;background:#f1f5f9;padding:5px 12px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.clear-btn{font-size:12px;color:#94a3b8;cursor:pointer;white-space:nowrap}.result-tip{font-size:12px;color:#94a3b8;margin-top:8px}.result-tip .link{color:var(--c-primary);cursor:pointer}.season-row .ach-icon.season{background:var(--c-primary-l);color:var(--c-primary-d)}.season-row .star{color:#f59e0b}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;background:var(--c-primary-l);color:var(--c-primary-d)}.tag-ok{color:var(--c-ok);font-size:13px}.err{color:var(--c-danger);font-size:13px;min-height:18px;margin-top:6px}.kv{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--c-line);font-size:14px}.kv:last-child{border-bottom:none}.mono{font-variant-numeric:tabular-nums;letter-spacing:2px;font-weight:700}.note{font-size:13px;color:var(--c-sub);background:#e0f2fe;border-radius:12px;padding:10px 12px;margin-top:10px}.ring-wrap{display:flex;align-items:center;gap:14px}.ring{position:relative;width:64px;height:64px;flex:0 0 auto}.ring .pct{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;color:var(--c-primary-d)}.cat-section{margin-bottom:6px}.cat-head{display:flex;align-items:center;gap:8px;font-weight:700;margin:16px 2px 8px;font-size:15px}.cat-head .dot{width:10px;height:10px;border-radius:50%}.cat-head .cnt{margin-left:auto;font-size:12px;color:var(--c-sub);font-weight:400}.task-row{display:flex;align-items:center;gap:12px;background:#fff;border-radius:16px;padding:13px 14px;box-shadow:var(--shadow);margin-bottom:10px}.task-row.done{opacity:.58}.task-row.overdue{border:2px solid #fca5a5}.task-row.off{opacity:.45}.task-row.off .circle-check{border-color:#cbd5e1;cursor:default}.task-row.off .task-title{text-decoration:line-through;text-decoration-color:#94a3b8}.circle-check{width:34px;height:34px;border-radius:50%;border:3px solid var(--c-primary);flex:0 0 auto;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;font-weight:700;transition:background .12s}.circle-check.on{background:var(--c-primary)}.task-main{flex:1;min-width:0}.task-title{font-weight:600}.task-desc{font-size:13px;color:#475569;margin-top:3px;line-height:1.45;white-space:pre-wrap}.task-sub{font-size:12px;color:var(--c-sub);display:flex;gap:8px;flex-wrap:wrap;margin-top:3px;align-items:center}.pts{background:var(--c-primary-l);color:var(--c-primary-d);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700;flex:0 0 auto}.tag-late{color:#ef4444}.tag-ontime{color:var(--c-ok)}.banner{background:#fff7ed;border-radius:12px;padding:10px 12px;font-size:13px;color:#c2410c;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;gap:10px}.banner .btn{width:auto;padding:8px 14px;font-size:13px;background:#fb923c}.seg{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.seg .opt{padding:8px 12px;border-radius:12px;border:2px solid var(--c-line);background:#fff;cursor:pointer;font-size:14px}.seg .opt.on{border-color:var(--c-primary);background:var(--c-primary-l);color:var(--c-primary-d);font-weight:700}.settabs{display:flex;gap:4px;background:#eef2f7;border-radius:14px;padding:4px}.settabs-opt{flex:1;text-align:center;padding:10px 2px;font-size:14px;color:var(--c-sub);border-radius:11px;white-space:nowrap;cursor:pointer;transition:background .15s,color .15s}.settabs-opt.on{background:#fff;color:var(--c-primary-d);font-weight:800;box-shadow:0 2px 6px rgba(15,23,42,.1),inset 0 0 0 2px var(--c-primary)}.scope-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.scope-chip{padding:8px 14px;border-radius:999px;border:2px solid var(--c-line);background:#fff;color:#475569;font-size:14px;cursor:pointer;transition:all .15s}.scope-chip.on{border-color:var(--c-primary);background:var(--c-primary-l);color:var(--c-primary-d);font-weight:700;box-shadow:inset 0 0 0 1px var(--c-primary)}.days{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.days .d{width:36px;height:36px;border-radius:10px;border:2px solid var(--c-line);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px}.days .d.on{border-color:var(--c-primary);background:var(--c-primary-l);color:var(--c-primary-d);font-weight:700}.tpl-row{display:flex;align-items:center;gap:10px;background:#fff;border-radius:14px;padding:12px;box-shadow:var(--shadow);margin-bottom:10px}.tpl-row .info{flex:1;min-width:0}.tpl-row .t{font-weight:600}.tpl-row .d{font-size:13px;color:#475569;margin-top:3px;line-height:1.45;white-space:pre-wrap}.tpl-row .m,.tpl-row .m2{font-size:12px;color:var(--c-sub);margin-top:3px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.icon-btn{border:none;background:transparent;cursor:pointer;font-size:18px;padding:4px}.icon-btn.off{opacity:.35}.switch-on{font-size:12px;color:var(--c-ok)}.switch-off{font-size:12px;color:var(--c-sub)}.muted-card{background:#fff;border-radius:16px;padding:16px;box-shadow:var(--shadow);margin-bottom:14px}.muted-card h3{margin:0 0 10px;font-size:16px}.collapse-h{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.scope-tag{font-size:11px;background:#f1f5f9;color:#475569;border-radius:999px;padding:1px 8px}.subject-tag{background:#ede9fe;color:#6d28d9}.gem-mini{font-size:11px;font-weight:700;background:#fef3c7;color:#b45309;border-radius:999px;padding:1px 8px}.subject-tag{font-size:11px;background:#dbeafe;color:#1d4ed8;border-radius:999px;padding:1px 8px}.date-tag{font-size:11px;background:#fef3c7;color:#b45309;border-radius:999px;padding:1px 8px}.tpl-row .m2 .dt-label{font-size:10px;line-height:16px;background:#eef2f7;color:#64748b;border-radius:6px;padding:0 5px;margin-right:3px}.tpl-row .m2 .today-pill{margin-left:4px;padding:0 5px;border-radius:6px;background:#e0820e;color:#fff;font-size:10px;line-height:16px}.switcher{display:flex;gap:8px;overflow-x:auto;padding:4px 0 8px}.sw-chip{position:relative;flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:2px;background:#fff;border:2px solid #e5e7eb;border-radius:14px;padding:8px 12px;min-width:64px;cursor:pointer;transition:.15s}.sw-chip.on{border-color:#38bdf8;background:#f0f9ff;box-shadow:0 0 0 3px rgba(56,189,248,.18)}.sw-avatar{font-size:22px;line-height:1}.sw-name{font-size:13px;font-weight:600;color:#0f172a}.sw-badge{position:absolute;top:-6px;right:-6px;font-size:10px;line-height:1;padding:2px 5px;border-radius:999px;color:#fff}.sw-badge.todo{background:#f59e0b}.sw-badge.review{background:#ef4444}.proofs{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.proof-link{display:inline-block}.proof-thumb{width:56px;height:56px;-o-object-fit:cover;object-fit:cover;border-radius:10px;border:1px solid #e2e8f0}.proof-file{display:inline-flex;align-items:center;padding:6px 10px;background:#eef2ff;color:#4338ca;border-radius:10px;font-size:12px}.comment-card{margin-top:6px;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:6px 9px;font-size:13px;color:#9a3412;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.comment-card .lvl{font-weight:700}.comment-card .ctext{color:#7c2d12}.voice-link{color:#c2410c;text-decoration:underline}.heat{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:10px}.heat-cell{border-radius:10px;padding:8px 4px;text-align:center;color:#fff}.heat-cell .heat-d{font-size:11px;opacity:.9}.heat-cell .heat-r{font-size:13px;font-weight:700}.heat-cell.h-100{background:#22c55e}.heat-cell.h-60{background:#84cc16}.heat-cell.h-30{background:#f59e0b}.heat-cell.h-0{background:#ef4444}.stat-big{display:flex;align-items:baseline;gap:8px}.stat-num{font-size:24px;font-weight:800;color:#0ea5e9}.miss-head{display:flex;align-items:center;gap:6px;margin-top:14px;padding-bottom:8px;border-bottom:2px solid #f1f5f9}.miss-title{font-size:14px;font-weight:800;color:#334155;letter-spacing:.5px}.miss-empty{padding:14px 0 4px;font-size:13px;color:#94a3b8;text-align:center}.top-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 0;border-bottom:1px dashed #e2e8f0;font-size:14px}.top-row:last-child{border-bottom:none}.top-rank{width:22px;height:22px;border-radius:7px;font-size:12px;font-weight:800;color:#94a3b8;background:#f1f5f9;display:flex;align-items:center;justify-content:center;flex-shrink:0}.top-rank.r1{background:#fee2e2;color:#dc2626}.top-rank.r2{background:#ffedd5;color:#ea580c}.top-rank.r3{background:#fef9c3;color:#ca8a04}.top-name{flex:1;min-width:0;font-weight:600;color:#0f172a;line-height:1.4}.top-miss{font-size:12px;font-weight:700;color:#ef4444;background:#fef2f2;border:1px solid #fecaca;padding:3px 10px;border-radius:999px;white-space:nowrap;flex-shrink:0}.gem-sum{display:flex;gap:8px;text-align:center}.gem-sum .g{flex:1;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px 4px}.gem-sum .gn{font-size:22px;font-weight:800;color:var(--c-primary-d)}.gem-sum .gl{font-size:11px;color:#64748b;margin-top:2px}.debt-badge{display:inline-block;margin-left:8px;font-size:12px;color:#fff;background:#f59e0b;padding:1px 8px;border-radius:999px}.debt-bar{margin-top:10px;background:#fffbeb;border:1px solid #fcd34d;color:#92400e;border-radius:10px;padding:8px 10px;font-size:12px;line-height:1.5}.debt-bar b{font-size:14px;color:#b45309}.level-bar{text-align:center;margin-bottom:14px;cursor:pointer}.level-main{font-size:18px;font-weight:800;color:var(--c-primary-d)}.level-hint{margin-top:4px;font-size:12px;color:#64748b}.level-table{display:flex;flex-direction:column;gap:6px;max-height:50vh;overflow-y:auto}.level-head{display:grid;grid-template-columns:60px 1fr 90px;gap:8px;font-size:12px;color:#64748b;padding:4px 8px}.level-row{display:grid;grid-template-columns:60px 1fr 90px;gap:8px;align-items:center;background:#f8fafc;border-radius:10px;padding:8px 10px;font-size:13px}.level-row.current{background:#e0f2fe;border:1px solid var(--c-primary)}.level-row .lv-level{font-weight:700;color:var(--c-primary-d)}.level-row .lv-title{color:#334155}.level-row .lv-threshold{text-align:right;font-weight:700;color:var(--c-primary-d)}.hud .debt-mini{display:inline-block;margin-top:4px;font-size:11px;font-weight:700;color:#fff;background:rgba(245,158,11,.92);padding:1px 8px;border-radius:999px}.ledger-row{display:flex;align-items:center;gap:8px;padding:9px 2px;border-bottom:1px solid #f1f5f9}.ledger-row:last-child{border-bottom:none}.ledger-row .l-main{flex:1;min-width:0}.ledger-row .l-date{font-size:11px;color:#94a3b8;margin-bottom:2px}.ledger-row .l-type{font-size:13px;font-weight:600;color:#0f172a}.ledger-row .l-reason{font-size:12px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ledger-row .l-side{text-align:right;flex:0 0 auto}.ledger-row .l-amount{font-size:16px;font-weight:800}.ledger-row .l-amount.plus{color:#16a34a}.ledger-row .l-amount.minus{color:#dc2626}.ledger-row .l-amount.zero{color:#94a3b8}.ledger-row .l-bal{font-size:11px;color:#94a3b8}.hud.compact{padding:14px 16px;margin-bottom:14px}.hud .stars{display:inline-block;margin-left:6px;color:#fff;background:rgba(250,204,21,.95);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:800;letter-spacing:1px}.card-title{font-size:16px;font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:8px}.card-title .sub{font-size:12px;font-weight:400;color:var(--c-sub)}.card-sub{font-size:12px;font-weight:400;color:var(--c-sub);margin-bottom:10px}.card-title .exp{margin-left:auto}.report-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(15,23,42,.62);display:flex;align-items:center;justify-content:center;z-index:60;padding:16px}.report-pop{background:#fff;border-radius:16px;max-width:360px;width:100%;max-height:92vh;display:flex;flex-direction:column;overflow:hidden}.report-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;font-weight:700;border-bottom:1px solid #f1f5f9}.report-head .btn{margin:0 0 0 auto;flex:0 0 auto}.report-img{width:100%;max-height:calc(92vh - 120px);display:block;margin:0 auto;background:#fffbeb;-o-object-fit:contain;object-fit:contain}.report-actions{display:flex;align-items:center;gap:10px;padding:12px 14px;flex-wrap:nowrap}.report-actions .btn.primary{flex:1 1 auto;width:auto;min-width:0;text-align:center;text-decoration:none}.report-actions .sub{white-space:nowrap;color:var(--c-sub);font-size:13px}.hint{font-size:13px;color:var(--c-sub);margin-top:6px}.badge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.badge-cell{background:#f8fafc;border:1px solid var(--c-line);border-radius:16px;padding:14px 8px;text-align:center;cursor:pointer;transition:transform .08s}.badge-cell:active{transform:scale(.97)}.badge-cell.locked{opacity:.55;filter:grayscale(.6)}.badge-icon{font-size:30px;line-height:1}.badge-name{font-size:12px;font-weight:600;margin-top:6px;color:#334155}.badge-count{margin-top:4px;font-size:12px;font-weight:800;color:var(--c-primary-d)}.badge-count.locked{color:#94a3b8;font-weight:500}.badge-threshold{margin-top:2px;font-size:11px;color:#64748b}.star-wall{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.big-star{font-size:30px;color:#facc15;text-shadow:0 2px 6px rgba(250,204,21,.5)}.season-record{background:#f8fafc;border:1px solid var(--c-line);border-radius:14px;padding:12px;margin-bottom:10px}.sr-head{font-size:14px}.sr-head .lv{color:var(--c-primary-d);font-weight:700}.sr-body{font-size:12px;color:var(--c-sub);margin-top:4px}.ach-row{display:flex;align-items:center;gap:12px;padding:11px 2px;border-bottom:1px solid #f1f5f9}.ach-row:last-child{border-bottom:none}.ach-icon{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;flex:0 0 auto;background:#e0f2fe}.ach-icon.badge_grant{background:#fef9c3}.ach-icon.badge_synth{background:#ffe4e6}.ach-icon.level_up{background:#dcfce7}.ach-main{flex:1;min-width:0}.ach-text{font-size:14px;font-weight:600;color:#0f172a}.ach-time{font-size:11px;color:#94a3b8;margin-top:2px}.banner.warn{background:#fffbeb;border:1px solid #fde68a;color:#92400e;border-radius:14px;padding:10px 12px;margin-bottom:10px;font-size:14px}.rest-row{display:flex;gap:6px;margin-bottom:6px;align-items:center}.rest-row .input{flex:1;min-width:0}.rest-list{margin:10px 0 2px;display:flex;flex-direction:column;gap:8px}.rest-item{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f8fafc;border:1px solid #eef2f7;border-radius:12px;padding:9px 11px}.rest-info{min-width:0;display:flex;flex-direction:column;gap:2px}.rest-name{font-weight:700;font-size:15px;color:var(--c-text)}.rest-date{font-size:13px;color:var(--c-sub)}.rest-ops{display:flex;align-items:center;gap:6px;flex:0 0 auto}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;z-index:60;padding:16px}.modal{background:#fff;border-radius:22px;padding:22px 20px;width:100%;max-width:360px;text-align:center;box-shadow:0 12px 40px rgba(14,165,233,.25);animation:pop .3s ease}.modal h2{margin:6px 0 4px;color:var(--c-primary-d)}.task-modal{max-width:460px;max-height:88vh;overflow-y:auto;text-align:left}.task-modal .modal-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.task-modal .modal-h h3{color:var(--c-primary-d)}.task-modal .modal-close{cursor:pointer;font-size:20px;line-height:1;color:var(--c-sub);padding:2px 8px;border-radius:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.task-modal .row.actions .btn{width:auto;flex:1 1 auto;padding-left:14px;padding-right:14px;white-space:nowrap}.task-modal .row.actions .btn.ghost{flex:0 0 auto;padding-left:18px;padding-right:18px}.intro-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.intro-stats>div{background:#f0f9ff;border-radius:14px;padding:10px}.intro-stats b{display:block;font-size:18px;color:#0f172a}.intro-stats span{font-size:11px;color:var(--c-sub)}.celebrate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;pointer-events:none;overflow:hidden}.celebrate-card{background:#fff;border-radius:24px;padding:24px 30px;text-align:center;box-shadow:0 16px 50px rgba(14,165,233,.3);animation:pop .4s ease,floaty 1.6s ease}.celebrate-emoji{font-size:52px;animation:bounce .6s ease}.celebrate-title{margin-top:8px;font-size:18px;font-weight:800;color:var(--c-primary-d)}.confetti{position:absolute;top:-12px;width:9px;height:14px;border-radius:2px;opacity:.9;animation:fall 1.4s ease-in forwards}@keyframes pop{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes bounce{0%{transform:scale(.4)}60%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes fall{to{transform:translateY(110vh) rotate(540deg);opacity:0}}.hist-row{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid #f1f5f9;flex-wrap:wrap}.hist-row .h-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:0 0 auto}.hist-row .h-act{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.hist-row .h-act .btn.ghost.sm{padding:4px 10px;font-size:12px}.btn.ghost.danger{color:#dc2626}.hist-row .cmt{flex:1 1 100%;margin-top:6px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:8px 10px}.hist-row .cmt .cmt-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.hist-row .cmt .cmt-lbl{font-size:12px;color:#64748b}.hist-row .cmt .cmt-text{margin-top:6px;min-height:54px;font-size:14px}.hist-row .cmt .cmt-foot{display:flex;gap:8px;margin-top:8px}.hist-row:last-child{border-bottom:none}.hist-row .h-main{flex:1;min-width:0}.hist-row .h-title{font-size:14px;font-weight:600;color:#0f172a}.hist-row .h-meta{margin-top:3px;font-size:11px;color:#64748b;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.hist-row .h-status{flex:0 0 auto;font-size:12px;font-weight:700}.hist-row .h-status.ok{color:#16a34a}.hist-row .h-status.late{color:#d97706}.hist-row .h-status.miss{color:#dc2626}.stat-gem{font-size:17px;font-weight:800;color:#f59e0b;margin-left:14px}.cal{margin-top:12px}.cal-head{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:8px}.cal-head .cal-m{font-size:15px;font-weight:700;color:#0f172a;min-width:92px;text-align:center}.cal-head .cal-nav{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:40px;height:40px;min-height:40px;padding:0;border:1px solid var(--c-line);border-radius:12px;background:#f8fafc;color:#334155;font-size:22px;font-weight:700;line-height:38px;text-align:center;cursor:pointer;transition:background-color .15s ease,transform .08s ease}.cal-head .cal-nav:active{background:#e2e8f0;transform:scale(.94)}uni-button.cal-nav[disabled]{opacity:.35;color:#334155;background:#f8fafc;cursor:not-allowed}.cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}.cal-week span{text-align:center;font-size:11px;color:#94a3b8}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-cell{position:relative;border-radius:8px;padding:5px 2px;text-align:center;min-height:38px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;color:#fff}.cal-cell.empty{background:transparent}.cal-cell.h-out{background:#eceff3;color:#cbd5e1}.cal-cell.h-none{background:#e2e8f0;color:#94a3b8}.cal-cell.h-none .cal-d{color:#94a3b8}.cal-cell .cal-d{font-weight:700}.cal-cell .cal-r{font-size:10px;opacity:.9}.cal-cell.h-0{background:#ef4444}.cal-cell.h-30{background:#f59e0b}.cal-cell.h-60{background:#84cc16}.cal-cell.h-100{background:#22c55e}.cal-cell.h-out .cal-d{color:#cbd5e1}.cal-cell.sel{outline:2px solid #0ea5e9;outline-offset:1px}.cal-cell.today:before{content:"今";position:absolute;top:-5px;left:-5px;width:18px;height:18px;line-height:18px;border-radius:50%;background:#0ea5e9;color:#fff;font-size:11px;font-weight:700;text-align:center;z-index:2;box-shadow:0 1px 3px rgba(14,165,233,.35)}.cal-cell:not(.empty):not(.h-out){cursor:pointer}.cal-legend{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:8px;font-size:11px;color:#64748b}.cal-legend .lg{display:inline-block;width:12px;height:12px;border-radius:3px;margin-left:6px}.cal-legend .lg.h-0{background:#ef4444}.cal-legend .lg.h-30{background:#f59e0b}.cal-legend .lg.h-60{background:#84cc16}.cal-legend .lg.h-100{background:#22c55e}.cal-embed{margin-top:8px;background:#f8fafc;border:1px solid var(--c-line);border-radius:12px;padding:10px}.picker-trigger{cursor:pointer;display:flex;align-items:center;min-height:40px}.cal-cell.pk{background:#fff;color:#0f172a;border:1px solid #e2e8f0}.cal-cell.pk:active{background:#e0f2fe}.cal-cell.pk.sel{background:#0ea5e9;color:#fff;border-color:#0ea5e9;outline:none}.cal-cell.pk.past{background:#f1f5f9;color:#cbd5e1;border-color:#eef2f7;cursor:not-allowed;pointer-events:none}.cal-cell.pk.past:active{background:#f1f5f9}.cal-legend .lg.h-out{background:#eceff3}.cal-legend .lg.h-none{background:#e2e8f0}.hf{background:#f8fafc;border-radius:12px;padding:10px 12px;margin-bottom:10px}.hf-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:6px}.hf-row:last-child{margin-bottom:0}.hf-lbl{font-size:12px;color:#64748b;width:64px;flex:0 0 auto}.hf-tag{font-size:12px;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:999px;padding:2px 10px;cursor:pointer}.hf-tag.on{background:#0ea5e9;color:#fff;border-color:#0ea5e9}.hf-foot{margin-top:4px;font-size:12px}.hf-foot a{color:#0ea5e9;margin-left:4px}.adv-summary{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.adv-summary span{background:#f1f5f9;color:#334155;border-radius:10px;padding:6px 10px;font-size:13px;font-weight:600}.adv-done{flex:0 0 auto;margin-left:2px}.filter-bar{background:var(--c-card);border-radius:var(--radius-card);padding:14px 16px;box-shadow:var(--shadow);margin-bottom:14px}.fb-row{display:flex;align-items:flex-start;gap:10px;padding:6px 0}.fb-label{flex:0 0 64px;font-size:13px;font-weight:700;color:var(--c-sub);padding-top:4px}.fb-tags{display:flex;flex-wrap:wrap;gap:6px}.fb-tag{font-size:13px;padding:4px 12px;border-radius:999px;background:#f1f5f9;color:#475569;cursor:pointer;border:1px solid transparent;transition:.12s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fb-tag:active{transform:scale(.96)}.fb-tag.on{background:var(--c-primary-l, #e0f2fe);color:var(--c-primary-d, #0284C7);border-color:var(--c-primary, #38BDF8);font-weight:700}.fb-foot{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding-top:10px;border-top:1px dashed var(--c-line)}.fb-count{font-size:13px;color:var(--c-sub)}.btn.sm{width:auto;padding:8px 16px;font-size:14px;border-radius:12px}.btn.ghost.sm{padding:6px 14px;font-size:13px}.btn.sm.primary{background:var(--c-primary)}.input.sm{width:auto;flex:0 0 auto;padding:7px 10px;font-size:14px;margin-top:0;min-width:120px}.cal-box{margin-top:12px;padding:12px;border-radius:14px;background:#f0f9ff;border:1px solid #bae6fd}.cal-head{font-size:14px;font-weight:700;color:var(--c-primary-d);margin-bottom:10px}.cal-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cal-lbl{font-size:13px;color:var(--c-sub)}.cal-err{color:#dc2626;font-size:13px;margin-top:8px}.cal-list{margin-top:10px;display:flex;flex-direction:column;gap:8px}.cal-item{background:#fff;border-radius:12px;padding:10px 12px;box-shadow:0 1px 4px rgba(56,189,248,.12)}.ci-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ci-title{font-size:14px;font-weight:600;color:#0f172a}.ci-cat{font-size:12px;color:#64748b;background:#f1f5f9;border-radius:8px;padding:1px 8px}.ci-temp{font-size:11px;color:#b45309;background:#fef3c7;border-radius:8px;padding:1px 7px}.ci-meta{margin-top:4px;font-size:12px;color:#64748b;display:flex;gap:6px;align-items:center}.ci-status{font-weight:700}.ci-status.ok{color:#16a34a}.ci-status.late{color:#d97706}.ci-status.miss{color:#dc2626}.cal-empty{margin-top:10px;text-align:center;font-size:13px;color:var(--c-sub);padding:14px}.result-head{font-size:14px;font-weight:700;color:var(--c-primary-d);margin:16px 0 10px}.map-wrap{display:flex;flex-direction:column;min-height:calc(100vh - 64px)}.map-scroll{flex:1;padding:4px 14px 96px}.treasure-chest{display:flex;align-items:center;gap:12px;background:#fff;border-radius:18px;padding:14px 16px;margin:12px 0 18px;box-shadow:var(--shadow);border:2px dashed #fcd34d}.treasure-chest.open{border-style:solid;border-color:#f59e0b;background:#fffbeb}.chest-ico{font-size:30px;line-height:1}.chest-txt{font-weight:700;font-size:14px;color:var(--c-text)}.region{position:relative;background:#f8fbff;border-radius:18px;padding:12px 12px 10px;margin-bottom:18px;box-shadow:var(--shadow);overflow:hidden;border-left:5px solid var(--rc, var(--c-primary))}.region-art{position:absolute;right:6px;top:6px;width:92px;height:66px;opacity:.85;pointer-events:none;z-index:0}.region-head{position:relative;z-index:1;display:flex;align-items:center;gap:6px;font-weight:800;font-size:15px;color:var(--c-primary-d);margin:2px 0 8px;padding-right:96px}.region-ico{font-size:18px}.region-head .cnt{margin-left:auto;font-size:12px;font-weight:600;color:var(--c-sub);background:#fff;border-radius:999px;padding:2px 9px}.region-track{position:relative;width:100%}.trail{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:1}.trail-path{fill:none;stroke:rgba(148,163,184,.55);stroke-width:4;stroke-dasharray:5 9;stroke-linecap:round;transition:stroke .4s,stroke-dasharray .4s}.trail-path.lit{stroke:#f59e0b;stroke-dasharray:none;stroke-width:5;filter:drop-shadow(0 0 6px rgba(245,158,11,.6));animation:trail-draw 1.1s ease forwards}@keyframes trail-draw{0%{stroke-dasharray:1400;stroke-dashoffset:1400}to{stroke-dasharray:none;stroke-dashoffset:0}}.node-dot{position:absolute;width:40px;height:40px;transform:translate(-50%);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;z-index:3;box-shadow:0 2px 8px rgba(56,189,248,.35);cursor:pointer;transition:transform .2s}.node-dot:active{transform:translate(-50%) scale(.9)}.node-dot.ns-todo{background:var(--c-primary-l);color:var(--c-primary-d)}.node-dot.ns-done{background:var(--c-ok);color:#fff;box-shadow:0 2px 8px rgba(34,197,94,.4)}.node-dot.ns-lost{background:#f3a6a6;color:#fff;box-shadow:0 2px 8px rgba(252,165,165,.4)}.node-dot.pop{animation:dot-pop .9s ease}@keyframes dot-pop{0%{transform:translate(-50%) scale(1)}35%{transform:translate(-50%) scale(1.4)}to{transform:translate(-50%) scale(1)}}.node-card{position:absolute;background:#fff;border-radius:14px;padding:9px 12px;box-shadow:0 4px 14px rgba(56,189,248,.12);border:1px solid #eef4fb;z-index:2;cursor:pointer;transition:box-shadow .2s,transform .15s}.node-card:active{transform:scale(.98)}.node-card.nc-l,.node-card.nc-r{border-left:4px solid var(--rc, var(--c-primary));border-right:none}.node-card.ns-done{background:#ecfdf5;border-color:#bbf7d0}.node-card.ns-lost{background:#fdeaea;border-color:#f3a6a6}.node-card.lit{animation:card-glow 1.3s ease both}@keyframes card-glow{0%{box-shadow:0 4px 14px rgba(56,189,248,.12)}40%{box-shadow:0 0 0 3px rgba(245,158,11,.65),0 6px 20px rgba(245,158,11,.35)}to{box-shadow:0 4px 14px rgba(56,189,248,.12)}}.node-title{font-weight:700;font-size:15px;word-break:break-all;line-height:1.3}.node-sub{margin-top:4px;display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--c-sub)}.node-sub .pts{color:var(--c-primary-d);font-weight:700}.node-cmt{margin-top:5px;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:3px 8px;font-size:11px;color:#9a3412;display:flex;gap:5px;align-items:center;min-width:0}.node-cmt .lvl{font-weight:700;flex:0 0 auto}.node-cmt .ctext{color:#7c2d12;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabbar{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));display:flex;gap:2px;background:linear-gradient(180deg,#fff,#f0f9ff);border:1.5px solid #e0f2fe;border-radius:24px;box-shadow:0 8px 24px rgba(14,165,233,.18),0 2px 6px rgba(14,165,233,.1);padding:6px;z-index:20;box-sizing:border-box}.tab{flex:1;text-align:center;font-size:16px;font-weight:700;color:var(--c-sub);padding:10px 0;border-radius:999px;transition:background .2s ease,color .2s ease,transform .2s ease}.tab.on{color:var(--c-primary-d);font-weight:800;background:linear-gradient(135deg,#e0f2fe,#bae6fd);box-shadow:0 2px 8px rgba(14,165,233,.25);transform:translateY(-1px)}.icp-foot{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));max-width:460px;margin:0 auto;text-align:center;font-size:11px;line-height:1.5;color:#94a3b8;padding:4px 8px 6px;z-index:30}.icp-foot .icp-link{color:#64748b;cursor:pointer}.icp-foot .icp-link:active{color:#2563eb}.tabbar{max-width:460px;margin:0 auto}.tabbar.parent .tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0 7px;font-size:14px}.tabbar.parent .tab-ic{font-size:20px;line-height:1.1}.tabbar.parent .tab-t{white-space:nowrap}.tabbar.child .tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 0 8px;font-size:14px}.tabbar.child .tab-ic{font-size:22px;line-height:1.1}.tabbar.child .tab-t{white-space:nowrap}.row.between{justify-content:space-between;align-items:center}.switch{position:relative;display:inline-block;width:50px;height:28px}.switch uni-input{opacity:0;width:0;height:0}.switch .slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:#cbd5e1;border-radius:999px;transition:.2s}.switch .slider:before{content:"";position:absolute;height:22px;width:22px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}.switch uni-input:checked+.slider{background:var(--c-ok)}.switch uni-input:checked+.slider:before{transform:translate(22px)}.float-tip{position:fixed;top:14px;left:50%;transform:translate(-50%);z-index:60;background:linear-gradient(135deg,#34d399,#10b981);color:#fff;font-weight:800;font-size:18px;padding:8px 18px;border-radius:999px;box-shadow:0 6px 18px rgba(16,185,129,.4);animation:ft-rise 1.3s ease forwards;pointer-events:none}@keyframes ft-rise{0%{opacity:0;transform:translate(-50%,10px) scale(.8)}18%{opacity:1;transform:translate(-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-6px) scale(1)}to{opacity:0;transform:translate(-50%,-22px) scale(.95)}}.toast{position:fixed;left:50%;top:40%;transform:translate(-50%,-50%);z-index:200;max-width:76vw;min-width:0;background:rgba(17,24,39,.92);color:#fff;font-size:15px;font-weight:600;line-height:1.45;text-align:center;padding:14px 22px;border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.38);pointer-events:none;animation:toast-in .22s ease forwards}.toast.leaving{animation:toast-out .3s ease forwards}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.82)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.92)}}.gem.pop{animation:gem-pop .6s ease}@keyframes gem-pop{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}.gem-burst{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;border-radius:16px;padding:5px 12px;box-shadow:0 0 16px rgba(14,165,233,.5);display:inline-flex;align-items:center;gap:5px;animation:gem-burst-in .15s ease forwards,gem-burst-out .28s ease 1.05s forwards;pointer-events:none;z-index:10;white-space:nowrap}.gem-burst-ico{font-size:26px;line-height:1;animation:gem-shine .9s ease infinite}.gem-burst-num{font-size:18px;font-weight:800;color:var(--c-primary-d);line-height:1}@keyframes gem-burst-in{0%{transform:translate(-50%,-50%) scale(.55);opacity:0}to{transform:translate(-50%,-50%) scale(1.18);opacity:1}}@keyframes gem-burst-out{0%{transform:translate(-50%,-50%) scale(1.18);opacity:1}to{transform:translate(-50%,-50%) scale(.9);opacity:0}}@keyframes gem-shine{0%,to{filter:brightness(1)}50%{filter:brightness(1.3) drop-shadow(0 0 5px #38bdf8)}}.lc-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.lc-ico{font-size:22px}.lc-title{font-weight:800;font-size:18px;flex:1;min-width:0}.lc-x{border:none;background:#f1f5f9;width:30px;height:30px;border-radius:50%;font-size:15px;color:#475569;cursor:pointer}.lc-region{font-size:13px;font-weight:700;margin-bottom:10px}.lc-req{background:#f8fbff;border:1px solid #e8f1fb;border-radius:12px;padding:10px 12px;font-size:14px;color:#334155;line-height:1.6;margin-bottom:12px}.lc-rows{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.lc-row{display:flex;justify-content:space-between;align-items:center;font-size:14px}.lc-row>span{color:#64748b}.lc-row>b{font-weight:700}.lc-reward{color:#0ea5e9}.lc-challenge{background:#0ea5e9}.lc-proof-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.lc-proof-row .lc-proof-btn{flex:0 0 auto}.lc-proof-hint{font-size:12px;color:#94a3b8}.lc-proofs{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.season-prog{margin-top:6px}.season-bar{height:10px;background:#e8f1fb;border-radius:999px;overflow:hidden}.season-bar>span{display:block;height:100%;background:linear-gradient(90deg,#38bdf8,#f0b429);transition:width .4s}.season-meta{margin-top:6px;font-size:12px;color:#64748b}.wish-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:10px}.wish-card{background:#fff;border:1px solid var(--c-line);border-radius:16px;padding:14px 12px;text-align:center;box-shadow:0 3px 10px rgba(56,189,248,.1);display:flex;flex-direction:column;gap:6px}.wish-card.afford{border-color:#bbf7d0;box-shadow:0 4px 14px rgba(34,197,94,.18)}.wish-ico{font-size:34px}.wish-name{font-weight:700;font-size:14px}.wish-cost{color:#0ea5e9;font-weight:800}.wish-prog{margin-top:2px}.wp-bar{height:8px;background:#e8f1fb;border-radius:999px;overflow:hidden}.wp-bar>span{display:block;height:100%;background:linear-gradient(90deg,#38bdf8,#34d399)}.wp-meta{font-size:11px;color:#64748b;margin-top:3px}.wish-card .btn{margin-top:2px}.wish-hint{font-size:11px;color:#b45309}.mine-hero{position:relative;background:linear-gradient(135deg,#e0f2fe,#fef3c7);border-radius:18px;padding:22px 16px;text-align:center;box-shadow:var(--shadow);margin-bottom:14px}.mine-season{position:absolute;top:10px;left:12px;font-size:12px;font-weight:700;color:#0c4a6e;background:rgba(255,255,255,.75);border:1px solid rgba(12,74,110,.15);border-radius:999px;padding:4px 10px;max-width:60%;text-align:left}.mine-avatar{font-size:56px}.mine-name{font-weight:800;font-size:20px;color:#0c4a6e;margin-top:4px}.mine-title{font-size:14px;color:#0369a1;margin-top:2px}.code-row{display:flex;align-items:center;gap:10px;margin-top:8px}.code-val{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:18px;letter-spacing:3px;background:#f1f5f9;border-radius:10px;padding:10px 12px;color:#0f172a;font-weight:700}.inp{width:100%;border:2px solid var(--c-line);border-radius:14px;padding:12px 14px;font-size:16px;outline:none;background:#fff;margin-top:6px;box-sizing:border-box}.inp:focus{border-color:var(--c-primary)}.inp.area{resize:vertical;min-height:72px;font-family:inherit;line-height:1.5;margin-top:6px}.label{font-size:13px;color:var(--c-sub);margin-top:8px}.btn.block{width:100%}.btn.mini{width:auto;padding:6px 12px;font-size:13px;border-radius:10px;box-shadow:none;background:#fff;color:var(--c-primary-d);border:2px solid var(--c-primary-l)}.btn.mini.primary{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}.btn.mini.danger{color:#dc2626;border-color:#fecaca}.btn.ghost.mini{border:none}.seg.sm{gap:6px}.seg.sm .opt{padding:6px 10px;font-size:13px;border-radius:10px}.chk{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--c-text);cursor:pointer}.chk uni-input{width:18px;height:18px}.rw-form{margin-top:2px}.rw-form .row{margin-top:6px}.rw-form .row.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rw-form .row.between{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.rw-form .row.between .btn{width:auto;padding:10px 18px}.rw-form .field{margin-top:8px}.rw-form .field>.label{margin-top:0;white-space:nowrap}.rw-list{margin-top:12px;display:flex;flex-direction:column;gap:10px}.rw-item{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--c-line);border-radius:14px;padding:12px}.rw-item.off{opacity:.6}.rw-ico{font-size:30px;flex:0 0 auto}.rw-main{flex:1;min-width:0}.rw-name{font-weight:700;font-size:15px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rw-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.tag{font-size:12px;background:#e0f2fe;color:#0369a1;border-radius:8px;padding:2px 8px}.tag.warn{background:#fef3c7;color:#b45309}.tag.off{background:#e2e8f0;color:#64748b}.rw-ops{display:flex;align-items:center;gap:8px;flex:0 0 auto}.rw-ops .switch.sm{width:42px;height:24px}.rw-ops .switch.sm .slider{border-radius:999px}.rw-ops .switch.sm .slider:before{height:18px;width:18px;left:3px;top:3px}.rw-ops .switch.sm uni-input:checked+.slider:before{transform:translate(18px)}.rw-item,.rd-item{flex-wrap:wrap}.rw-main,.rd-main{flex:1 1 170px}.rw-ops,.rd-ops{margin-left:auto}.rw-ops .uni-switch-input{width:42px;height:24px;margin-right:0;border-radius:12px}.rw-ops .uni-switch-input:before{width:40px;height:22px;border-radius:11px}.rw-ops .uni-switch-input:after{width:20px;height:20px;border-radius:10px}.rw-ops .uni-switch-input.uni-switch-input-checked:after{transform:translate(20px)}.rd-list{margin-top:10px;display:flex;flex-direction:column;gap:10px}.rd-item{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--c-line);border-radius:14px;padding:12px}.rd-ico{font-size:28px;flex:0 0 auto}.rd-main{flex:1;min-width:0}.rd-name{font-weight:700;font-size:15px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rd-cost{color:#0ea5e9;font-weight:800}.rd-meta{font-size:13px;color:var(--c-sub);margin-top:2px}.rd-reason{font-size:12px;color:#b45309;margin-top:3px}.rd-ops{display:flex;align-items:center;gap:8px;flex:0 0 auto}.rd-done{font-size:13px;color:var(--c-ok);font-weight:700}.rd-pending,.wish-hint.rd-pending{color:#b45309}.rd-approved,.wish-hint.rd-approved{color:#0369a1}.rd-rejected{color:#64748b}.rd-fulfilled,.rd-done,.rd-fulfilled+.rd-done{color:var(--c-ok)}.mask{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.pop{position:relative;z-index:2;background:#fff;border-radius:18px;padding:18px;width:100%;max-width:360px;min-width:0;max-height:85vh;overflow-y:auto;overflow-wrap:break-word;box-shadow:0 10px 40px rgba(0,0,0,.2)}.pop-title{font-weight:800;font-size:17px;margin-bottom:10px}.pop .row.between{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.pop .row.between .btn{width:auto;padding:10px 18px}.pop .row.actions{display:flex;justify-content:center;align-items:center;margin-top:18px;gap:12px}.pop .row.actions .btn{width:auto;flex:0 0 auto;min-width:120px;padding:12px 26px;border-radius:999px;text-align:center;border:2px solid transparent}.pop .row.actions .btn.ghost{border:2px solid var(--c-line);color:var(--c-sub)}.pop .row.actions .btn.ghost:active{background:#f1f5f9}.icon-preview{font-size:32px;text-align:center;padding:6px 10px;border:2px solid var(--c-primary-l);border-radius:12px;background:#f8fafc;cursor:pointer;min-height:46px;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.icon-preview:active{transform:scale(.96)}.emoji-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:8px;padding:8px;background:#f1f5f9;border-radius:12px;width:100%;min-width:0;box-sizing:border-box}.emoji-item{font-size:22px;text-align:center;padding:6px;border-radius:8px;cursor:pointer;background:#fff;border:1px solid transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.emoji-item.active{border-color:var(--c-primary);background:#e0f2fe}.emoji-item:active{transform:scale(.92)}.fm-sec{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;margin:16px 2px 8px;color:var(--c-text, #0f172a)}.fm-sec:before{content:"";width:4px;height:16px;border-radius:2px;background:var(--c-primary);flex:0 0 auto}.act-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.act-row .btn{margin:0}.fm-row{display:flex;gap:10px;align-items:center}.fm-ava{font-size:24px;width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border-radius:12px;flex:0 0 auto}.fm-info{flex:1;min-width:0}.fm-name{font-weight:700;font-size:15px}.fm-meta{font-size:12px;color:var(--c-sub);margin-top:2px}.role-tag{font-size:11px;padding:1px 8px;border-radius:8px;margin-left:6px;background:#eef2ff;color:#6366f1;font-weight:600;vertical-align:1px}.role-tag.owner{background:#fef3c7;color:#b45309}.ok-msg{font-size:13px;color:#16a34a;margin-top:6px}
