:root{--bg: #f5f5fb;--surface: #ffffff;--surface-2: #efeff7;--text: #1f1d2b;--muted: #7a7891;--primary: #6c5ce7;--primary-weak: #ece9ff;--border: #e2e0ef;--danger: #e74c6b;--shadow: 0 6px 20px rgba(40, 30, 90, .08);--radius: 16px}:root[data-theme=dark]{--bg: #15151f;--surface: #20202e;--surface-2: #2a2a3c;--text: #f1f0f8;--muted: #9a98b5;--primary: #8c7bff;--primary-weak: #2c2a45;--border: #34344a;--danger: #ff6b8b;--shadow: 0 6px 20px rgba(0, 0, 0, .35)}html[data-theme=dark] .cal-cell,html[data-theme=dark] .cal-cell .d{color:var(--text)}html[data-theme=dark] .cal-cell .t{color:var(--muted)}html[data-theme=dark] .cal-cell.lvl1{background:var(--primary-weak);color:var(--text)}html[data-theme=dark] .cal-cell.lvl2{background:#3a3566;color:#f1f0f8}html[data-theme=dark] .cal-cell.lvl3{background:#534ca0;color:#f1f0f8}html[data-theme=dark] .cal-cell.lvl4,html[data-theme=dark] .cal-cell.lvl4 .t{color:#fff}html[data-theme=dark] .cal-dow{color:var(--muted)}html[data-theme=dark] .cal-title{color:var(--text)}html[data-theme=dark] .cal-stats .k{color:var(--muted)}html[data-theme=dark] .cal-stats .v,html[data-theme=dark] .cal-detail,html[data-theme=dark] .cal-detail h4,html[data-theme=pixel] .cal-cell,html[data-theme=pixel] .cal-cell .d{color:var(--text)}html[data-theme=pixel] .cal-cell .t{color:var(--muted)}html[data-theme=pixel] .cal-cell.lvl1{background:var(--primary-weak);color:var(--text)}html[data-theme=pixel] .cal-cell.lvl2{background:#3a3566;color:#f1f0f8}html[data-theme=pixel] .cal-cell.lvl3{background:#534ca0;color:#f1f0f8}html[data-theme=pixel] .cal-cell.lvl4,html[data-theme=pixel] .cal-cell.lvl4 .t{color:#fff}html[data-theme=pixel] .cal-dow{color:var(--muted)}html[data-theme=pixel] .cal-title{color:var(--text)}html[data-theme=pixel] .cal-stats .k{color:var(--muted)}html[data-theme=pixel] .cal-stats .v,html[data-theme=pixel] .cal-detail,html[data-theme=pixel] .cal-detail h4{color:var(--text)}html[data-theme=pixel]{--bg: #1a122e;--surface: rgba(38, 26, 72, .9);--surface-2: rgba(58, 40, 105, .88);--text: #fff8ff;--muted: #c4b5ff;--primary: #ff6bcb;--primary-weak: rgba(255, 107, 203, .22);--border: #6c5ce7;--danger: #ff4d6d;--shadow: 0 0 12px rgba(255, 107, 203, .45), 0 0 4px rgba(140, 123, 255, .6);--radius: 0px;--pixel-font: "Courier New", Courier, "MS Gothic", "Microsoft JhengHei", monospace}html[data-theme=pixel] body{background:#1a122e url(../images/pixel-anime-bg.png) center/cover no-repeat fixed;font-family:var(--pixel-font);image-rendering:pixelated}html[data-theme=pixel] .app-shell{background:#140c2859}html[data-theme=pixel] .btn,html[data-theme=pixel] .mode-btn,html[data-theme=pixel] .mode-switch,html[data-theme=pixel] .quick button,html[data-theme=pixel] .tab,html[data-theme=pixel] .track,html[data-theme=pixel] .music-now,html[data-theme=pixel] .settings label,html[data-theme=pixel] .cal-cell,html[data-theme=pixel] .cal-stats>div,html[data-theme=pixel] .cal-detail,html[data-theme=pixel] .settings input,html[data-theme=pixel] .settings select{border-radius:0;font-family:var(--pixel-font)}html[data-theme=pixel] .btn,html[data-theme=pixel] .mode-btn,html[data-theme=pixel] .quick button,html[data-theme=pixel] .tab,html[data-theme=pixel] .track,html[data-theme=pixel] .music-now,html[data-theme=pixel] .settings label,html[data-theme=pixel] .cal-cell,html[data-theme=pixel] .cal-stats>div,html[data-theme=pixel] .cal-detail{border:2px solid var(--border);box-shadow:var(--shadow)}html[data-theme=pixel] .clock{color:#fff;text-shadow:0 0 8px rgba(255,107,203,.85),0 0 2px #000;font-family:var(--pixel-font);letter-spacing:3px}html[data-theme=pixel] .mode-btn.active,html[data-theme=pixel] .tab.active,html[data-theme=pixel] .btn.primary{background:var(--primary);color:#1a122e;border-color:var(--primary);box-shadow:inset 0 0 8px #00000059,0 0 10px #ff6bcb8c;font-weight:700}html[data-theme=pixel] .settings h3{color:#ff9ff3;text-shadow:0 0 6px rgba(255,107,203,.7)}html[data-theme=pixel] .progress-track{border-radius:0;background:#ffffff1f}html[data-theme=pixel] .progress-bar{background:linear-gradient(90deg,#ff6bcb,#8c7bff);box-shadow:0 0 10px #ff6bcbcc}html[data-theme=pixel] .track.active{outline:0;border-color:var(--primary);box-shadow:0 0 12px #ff6bcb8c}html[data-theme=pixel] .cal-cell.lvl2,html[data-theme=pixel] .cal-cell.lvl3{color:#fff}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--text);font-family:-apple-system,PingFang HK,Microsoft JhengHei,Segoe UI,sans-serif;-webkit-text-size-adjust:100%}#app{height:100%}.app-shell{display:flex;flex-direction:column;height:100vh;max-width:720px;margin:0 auto}.view{flex:1;overflow-y:auto;padding:18px 16px calc(18px + env(safe-area-inset-bottom))}.tabbar{display:flex;border-top:1px solid var(--border);background:var(--surface)}.tab{flex:1;border:0;background:none;color:var(--muted);padding:10px 0;font-size:12px;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer}.tab.active{color:var(--primary)}.tab-icon{font-size:20px}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;padding:12px 14px;font-size:15px;cursor:pointer}.btn.primary{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600}.btn.ghost{background:var(--surface-2)}.filelabel{display:inline-block;text-align:center}.timer{display:flex;flex-direction:column;gap:18px;padding-top:12px}.mode-switch{display:flex;background:var(--surface-2);border-radius:999px;padding:4px}.mode-btn{flex:1;border:0;background:none;color:var(--muted);padding:10px;border-radius:999px;font-size:15px;cursor:pointer}.mode-btn.active{background:var(--surface);color:var(--primary);font-weight:600;box-shadow:var(--shadow)}.clock-wrap{text-align:center;padding:18px 0}.phase-label{color:var(--muted);min-height:20px;margin-bottom:6px}.clock{font-size:72px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:1px}.progress-track{margin:14px auto 0;width:70%;height:8px;background:var(--surface-2);border-radius:999px;overflow:hidden}.progress-bar{height:100%;width:0%;background:var(--primary);transition:width .25s linear}.quick{display:flex;gap:10px;justify-content:center}.quick button{flex:1;max-width:110px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;padding:12px;font-size:16px;cursor:pointer}.controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}.controls .primary{grid-column:1 / -1}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cal-title{font-size:18px;font-weight:600}.cal-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.cal-stats>div{background:var(--surface);border-radius:12px;padding:10px 6px;text-align:center;box-shadow:var(--shadow)}.cal-stats .k{display:block;color:var(--muted);font-size:12px}.cal-stats .v{display:block;font-weight:600;margin-top:2px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-dow{text-align:center;color:var(--muted);font-size:12px;padding:4px 0}.cal-cell{border:1px solid transparent;border-radius:10px;background:var(--surface);min-height:52px;padding:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;cursor:pointer}.cal-cell.empty{background:none;cursor:default}.cal-cell .d{font-weight:600;font-size:14px}.cal-cell .t{color:var(--muted);font-size:10px;margin-top:2px}.cal-cell.lvl1{background:var(--primary-weak)}.cal-cell.lvl2{background:#d9d2ff;color:#2a1f6b}.cal-cell.lvl3{background:#b9aaff;color:#1d1450}.cal-cell.lvl4{background:var(--primary);color:#fff}.cal-cell.lvl4 .t{color:#ffffffd9}.cal-cell.today{border-color:var(--primary)}.cal-detail{margin-top:14px;background:var(--surface);border-radius:12px;padding:12px;box-shadow:var(--shadow)}.cal-detail ul{margin:6px 0 0;padding-left:18px}.cal-detail h4{margin:0}.music{display:flex;flex-direction:column;gap:14px}.music-now{background:var(--surface);border-radius:12px;padding:16px;text-align:center;font-weight:600;box-shadow:var(--shadow);word-break:break-all}.music-controls{display:flex;gap:10px;justify-content:center}.music-controls .btn{flex:1}.tracklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.track{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border-radius:12px;padding:12px 14px;cursor:pointer;box-shadow:var(--shadow)}.track.active{outline:2px solid var(--primary)}.track .del{border:0;background:none;color:var(--danger);font-size:16px;cursor:pointer}.settings{display:flex;flex-direction:column;gap:10px}.settings h3{margin:16px 0 2px;color:var(--primary)}.settings label{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow)}.settings input[type=number],.settings select{border:1px solid var(--border);border-radius:8px;padding:8px;background:var(--surface-2);color:var(--text);max-width:55%}@media (min-width: 768px){.app-shell{flex-direction:row;max-width:1100px}.tabbar{flex-direction:column;border-top:0;border-right:1px solid var(--border);width:180px;padding-top:20px}.tab{flex-direction:row;justify-content:flex-start;gap:10px;padding:14px 18px;font-size:15px}.view{padding:28px}}
