:root{--app-frame-max-height:920px;--bg:#edf2f2;--paper:#f9fbfb;--panel:#fff;--line:#1c393d14;--ink:#182021;--muted:#607172;--accent:#184c52;--accent-strong:#123d42;--accent-soft:#184c5214;--pending:#d2983d24;--shadow:0 18px 40px #1f35331a;--radius-xl:28px;--radius-lg:22px;--radius-md:18px;--radius-sm:14px;--sans:"SF Pro Display", "PingFang SC", "Microsoft YaHei", sans-serif;--display:"New York", "Songti SC", serif;font-family:var(--sans);color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 0 0,#ffffffbf,#0000 32%),linear-gradient(#eef3f3 0%,#e7edec 100%)}*{box-sizing:border-box}html,body,#root{width:100%;height:100dvh;min-height:100%;margin:0;overflow:hidden}body{font-size:15px;line-height:1.6;overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55;transform:none}#root{padding:calc(12px + env(safe-area-inset-top,0px)) 12px calc(12px + env(safe-area-inset-bottom,0px));place-items:stretch center;display:grid}.app-screen{width:100%;max-width:480px;height:100%;max-height:var(--app-frame-max-height);overflow:hidden}.app-chrome{flex-direction:column;gap:14px;height:100%;min-height:0;display:flex}.app-header{justify-content:space-between;align-items:flex-start;gap:12px;padding:2px 2px 0;display:flex}.app-header-copy{gap:6px;min-width:0;display:grid}.app-brand{align-items:center;gap:10px;min-width:0;display:flex}.app-brand-logo{object-fit:cover;border-radius:9px;width:28px;height:28px;box-shadow:0 6px 18px #184c5229}.app-header-caption{letter-spacing:.02em;color:var(--muted);margin:0;font-size:14px;font-weight:700}.app-header-title{font-family:var(--display);margin:0;font-size:34px;line-height:1}.app-header-subtitle{color:var(--muted);margin:0;font-size:15px;line-height:1.55}.app-header-action{flex:none}.app-content{overscroll-behavior:contain;flex:auto;align-content:start;gap:14px;min-height:0;padding-bottom:2px;display:grid;overflow-y:auto}.app-tabbar{border:1px solid var(--line);height:108px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;border-radius:28px;flex:none;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:10px;padding:12px;display:grid}.app-tab{height:84px;color:var(--muted);border-radius:20px;align-content:center;justify-items:center;gap:6px;padding:10px 6px;display:grid}.app-tab.active{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#f7fbfb}.app-tab-icon{background:#184c5214;border-radius:999px;place-items:center;width:30px;height:30px;font-size:16px;font-weight:700;display:inline-grid}.app-tab.active .app-tab-icon{background:#ffffff24}.app-tab-label{font-size:14px;font-weight:700}.panel,.card,.status-card{border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow);background:#ffffffeb}.panel,.status-card{padding:16px}.loading-card{gap:14px;display:grid}.loading-card-head{grid-template-columns:20px minmax(0,1fr);align-items:center;gap:12px;display:grid}.loading-copy{gap:4px;display:grid}.loading-spinner{border:2px solid #184c5229;border-top-color:var(--accent);border-radius:999px;width:20px;height:20px;animation:.8s linear infinite loading-spin}.loading-skeleton{gap:10px;display:grid}.loading-skeleton-line{background:linear-gradient(90deg,#184c5212,#184c5229,#184c5212) 0 0/220px 100%;border-radius:999px;height:12px;animation:1.4s ease-in-out infinite loading-shimmer}.loading-skeleton-line-wide{width:78%}.card{gap:12px;padding:18px;display:grid}.card-list{gap:14px;display:grid}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.achievement-card-button{appearance:none;text-align:left;background:0 0;border:0;padding:0}.achievement-card{gap:10px;height:100%}.panel-search{gap:14px;display:grid}.search-form,.form-grid{gap:12px;display:grid}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.search-input,.field-input,.field-textarea,.filter-select{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);width:100%;color:var(--ink)}.search-input,.field-input,.filter-select{min-height:52px;padding:0 16px;font-size:15px}.field-textarea{resize:none;min-height:132px;padding:14px 16px;font-size:15px}.field-textarea.compact{min-height:92px}.search-input:focus,.field-input:focus,.field-textarea:focus,.filter-select:focus{border-color:#184c5247;outline:none;box-shadow:0 0 0 4px #184c5214}.field-group{gap:8px;display:grid}.password-field-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.password-field-row .field-input{width:100%}.password-toggle-button{min-width:96px}.field-label{color:var(--muted);font-size:14px}.number-grid,.guide-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;display:grid}.inline-actions,.history-row,.chip-row,.card-footer,.card-title-row,.badge-cluster,.detail-metrics,.pagination-bar{flex-wrap:wrap;gap:10px;display:flex}.card-title-row,.card-footer,.pagination-bar{justify-content:space-between;align-items:center}.history-row,.chip-row,.detail-metrics,.inline-actions{align-items:center}.primary-button,.danger-button,.ghost-button,.header-link-button,.chip-button,.inline-link{border:1px solid var(--line);border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:0 16px;font-size:15px;font-weight:600;transition:transform .18s,background-color .18s,border-color .18s;display:inline-flex}.primary-button{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#f7fbfb;border-color:#0000}.danger-button{color:#fff7f2;background:linear-gradient(135deg,#bf5938,#a53f2d);border-color:#0000}.ghost-button,.header-link-button,.chip-button,.inline-link{color:var(--ink);background:#ffffffdb}.chip-button.active{color:#fff7f2;background:linear-gradient(135deg,#d56f4d,#bf5938);border-color:#0000}.primary-button:hover,.danger-button:hover,.ghost-button:hover,.header-link-button:hover,.chip-button:hover,.inline-link:hover,.card-link:hover .card{transform:translateY(-1px)}.mini-pill{border:1px solid var(--line);min-height:34px;color:var(--ink);background:#fffc;border-radius:999px;justify-content:center;align-items:center;padding:0 12px;font-size:14px;display:inline-flex}.mini-pill.pending{background:var(--pending)}.card-link{display:block}.card-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-size:14px}.card h3,.status-card h3{margin:0;font-size:18px;line-height:1.35}.card-body,.status-card p,.detail-description{color:#425252;margin:0;font-size:15px;line-height:1.7}@keyframes loading-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes loading-shimmer{0%{background-position:-220px 0}to{background-position:220px 0}}.card-meta{color:var(--muted);margin:0;font-size:14px}.stage-block,.deck-code-block{gap:12px;display:grid}.guide-card{gap:14px}.detail-summary-panel,.detail-summary-copy,.detail-stage-tools,.empty-guide-box{gap:12px;display:grid}.detail-title{font-family:var(--display);margin:0;font-size:32px;line-height:1.05}.detail-action-row{flex-wrap:nowrap;justify-content:flex-start}.detail-actions-favorite{margin-left:auto}.detail-stage-summary{margin-top:-4px}.detail-stage-select{display:none}.code-pre{border-radius:var(--radius-md);color:#f7fbfb;white-space:pre-wrap;word-break:break-all;background:#243437;margin:0;padding:14px;overflow-x:auto}.turnstile-shell{min-height:70px}.admin-card,.admin-current-guides,.review-mode-group,.category-groups,.category-group{gap:12px;display:grid}.review-mode-group{border:0;margin:0;padding:0}.review-mode-option{align-items:center;gap:10px;display:flex}@media (width<=420px){:root{--app-frame-max-height:100dvh}.app-header-title{font-size:30px}.app-brand-logo{border-radius:8px;width:24px;height:24px}.number-grid,.guide-meta-grid,.filter-grid{grid-template-columns:1fr}.app-tabbar{gap:6px;height:96px;padding:8px}.app-tab{height:80px;padding:9px 4px}.app-tab-icon{width:26px;height:26px;font-size:13px}.app-tab-label{font-size:14px}}
