:root{--primary:#007AFF;--primary-light:rgba(0,122,255,.1);--primary-hover:#0056CC;--success:#34C759;--success-light:rgba(52,199,89,.1);--danger:#FF3B30;--danger-light:rgba(255,59,48,.1);--warning:#FF9500;--warning-light:rgba(255,149,0,.1);--warning-text:#B25000;--bg:#F2F2F7;--card:#FFFFFF;--text:#1C1C1E;--text2:#8E8E93;--text3:#AEAEB2;--border:rgba(60,60,67,.12);--radius:14px;--shadow:0 .5px 0 rgba(0,0,0,.04);--shadow-lg:0 2px 12px rgba(0,0,0,.08);--header-bg:rgba(242,242,247,.72);--header-border:rgba(0,0,0,.12);--input-bg:rgba(120,120,128,.06);--seg-bg:rgba(120,120,128,.12);--focus-ring:rgba(0,122,255,.12);--overlay-bg:rgba(0,0,0,.4)}@media (prefers-color-scheme:dark){:root{--primary:#0A84FF;--primary-light:rgba(10,132,255,.2);--primary-hover:#409CFF;--success:#30D158;--success-light:rgba(48,209,88,.2);--danger:#FF453A;--danger-light:rgba(255,69,58,.2);--warning:#FF9F0A;--warning-light:rgba(255,159,10,.2);--warning-text:#FF9F0A;--bg:#000;--card:#1C1C1E;--text:#FFF;--text2:#98989D;--text3:#636366;--border:rgba(84,84,88,.36);--shadow:0 .5px 0 rgba(0,0,0,.3);--shadow-lg:0 2px 12px rgba(0,0,0,.4);--header-bg:rgba(0,0,0,.72);--header-border:rgba(255,255,255,.08);--input-bg:rgba(120,120,128,.18);--seg-bg:rgba(120,120,128,.24);--focus-ring:rgba(10,132,255,.25);--overlay-bg:rgba(0,0,0,.6)}}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.4;min-height:100vh;overflow-x:hidden}button,input,select{font:inherit;color:inherit}a{color:var(--primary);text-decoration:none}.hidden{display:none!important}header.top{position:sticky;top:0;z-index:50;background:var(--header-bg);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:.5px solid var(--header-border)}.top-row{display:flex;align-items:center;gap:10px;padding:10px 16px;max-width:1200px;margin:0 auto}.brand{font-weight:700;font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.brand small{color:var(--text2);font-weight:500}.sp{flex:1}.who{color:var(--text2);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40vw}nav.tabs{display:flex;gap:6px;overflow-x:auto;padding:0 16px 10px;max-width:1200px;margin:0 auto;scrollbar-width:none}nav.tabs::-webkit-scrollbar{display:none}nav.tabs a{flex:none;padding:7px 14px;border-radius:20px;background:var(--seg-bg);color:var(--text);font-size:.85rem;font-weight:600}nav.tabs a.on{background:var(--primary);color:#fff}nav.tabs a.soon{color:var(--text2)}main{max-width:1200px;margin:0 auto;padding:16px}h1{font-size:1.4rem;font-weight:700}h2{font-size:1.05rem;font-weight:700}.page-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.sub{color:var(--text2);font-size:.85rem}.card{background:var(--card);border-radius:var(--radius);padding:16px;margin-bottom:10px;box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 20px;border:none;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .15s,transform .15s;min-height:44px;-webkit-tap-highlight-color:transparent;white-space:nowrap}.btn:active{transform:scale(.97);opacity:.8}.btn:disabled{opacity:.45;cursor:default;transform:none}.btn-primary{background:var(--primary);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-outline{background:var(--primary-light);color:var(--primary)}.btn-ghost-danger{background:var(--danger-light);color:var(--danger)}.btn-sm{padding:6px 12px;font-size:.8rem;min-height:34px;border-radius:10px}.badge{display:inline-block;font-size:.7rem;font-weight:600;padding:3px 8px;border-radius:20px;background:var(--seg-bg);color:var(--text2);white-space:nowrap}.badge.on{background:var(--success-light);color:var(--success)}.badge.off{background:var(--danger-light);color:var(--danger)}.badge.warn{background:var(--warning-light);color:var(--warning-text)}.badge.info{background:var(--primary-light);color:var(--primary)}.badge.badge-home{background:var(--primary-light);color:var(--primary);border:1px solid var(--primary)}.chips{display:flex;flex-wrap:wrap;gap:4px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem}.muted{color:var(--text2)}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.form-input{width:100%;padding:10px 12px;border:.5px solid var(--border);border-radius:10px;background:var(--input-bg);min-height:44px;font-size:.95rem}.toolbar .form-input{width:auto;min-width:0;flex:1 1 150px;max-width:260px}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}textarea.form-input{min-height:8rem;resize:vertical;font:inherit;line-height:1.45;color:inherit}select.form-input.sm{min-height:34px;padding:4px 8px;font-size:.85rem;width:auto}.segmented{display:flex;background:var(--seg-bg);border-radius:9px;padding:2px;gap:2px}.segmented button{border:none;background:transparent;padding:7px 12px;border-radius:7px;font-size:.82rem;font-weight:600;cursor:pointer;color:var(--text)}.segmented button.on{background:var(--card);box-shadow:0 1px 4px #00000014}.field{margin-bottom:12px}.field label{display:block;font-size:.8rem;font-weight:600;color:var(--text2);margin-bottom:5px}.field .err{color:var(--danger);font-size:.78rem;margin-top:4px}.check{display:flex;gap:8px;align-items:center;min-height:36px}.check input{width:20px;height:20px}table.tbl{width:100%;border-collapse:collapse}.tbl th{font-size:.72rem;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;text-align:left;padding:8px 10px;border-bottom:.5px solid var(--border)}.tbl td{padding:10px;border-bottom:.5px solid var(--border);vertical-align:middle}.tbl tr:last-child td{border-bottom:none}.tbl td.act{text-align:right}.acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.tablecard{background:var(--card);border-radius:var(--radius);padding:6px;box-shadow:var(--shadow);overflow-x:auto;margin-bottom:10px}.empty{padding:28px 16px;text-align:center;color:var(--text2)}@media (max-width:760px){.tablecard{background:transparent;padding:0;box-shadow:none}table.tbl,.tbl tbody,.tbl tr,.tbl td{display:block;width:100%}.tbl thead{display:none}.tbl tr{background:var(--card);border-radius:var(--radius);padding:10px 14px;margin-bottom:10px;box-shadow:var(--shadow)}.tbl td{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;border:none;text-align:right;min-width:0}.tbl td>*{min-width:0;overflow-wrap:anywhere}.tbl td:before{content:attr(data-l);color:var(--text3);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.4px;text-align:left;flex:none}.tbl td.act{display:block;padding-top:8px}.tbl td.act:before{display:none}.acts{justify-content:flex-start}.chips{justify-content:flex-end}.who{display:none}.brand{font-size:.92rem}h1{font-size:1.25rem}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-bg);z-index:300;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:var(--card);border-radius:18px;padding:20px;width:100%;max-width:440px;max-height:90vh;overflow:auto;box-shadow:var(--shadow-lg)}.modal h2{margin-bottom:10px}.modal .body{margin-bottom:14px;color:var(--text2);font-size:.9rem}.modal .row{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.secret{background:var(--input-bg);border:.5px solid var(--border);border-radius:10px;padding:10px 12px;word-break:break-all;margin:8px 0 12px;-webkit-user-select:all;user-select:all;color:var(--text)}.toasts{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:400;display:flex;flex-direction:column;gap:8px;width:min(92vw,420px);pointer-events:none}.toast{padding:12px 18px;border-radius:14px;font-size:.85rem;font-weight:600;color:#fff;box-shadow:var(--shadow-lg);animation:tin .25s}.toast.success{background:var(--success)}.toast.error{background:var(--danger)}@keyframes tin{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}.loading{padding:30px;text-align:center;color:var(--text2)}.ph{text-align:center;padding:48px 16px}.ph h2{margin-bottom:6px}.back{display:inline-block;margin-bottom:8px;font-size:.85rem}.drop{display:flex;align-items:center;justify-content:center;text-align:center;min-height:96px;padding:16px;border:1.5px dashed var(--border);border-radius:12px;background:var(--input-bg);color:var(--text2);cursor:pointer;margin-bottom:12px;transition:border-color .15s,background .15s}.drop.over{border-color:var(--primary);background:var(--primary-light)}.drop.has{border-style:solid;color:var(--text)}.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0 12px}.row-end{display:flex;justify-content:flex-end}
