.safe-sheet{--bg: #f2f5fa;--surface: #ffffff;--border: #dde4ef;--text: #1b2536;--text-sub: #56637a;--text-faint: #8894a8;--accent: #3466c2;--accent-soft: #e8eefb;--ok: #0d8a72;--ok-soft: #e2f3ef;--warn-bg: #fef3cd;--warn-border: #f0d783;--warn-text: #7a5d00;--danger: #dc2626;--shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 4px 16px rgba(16, 24, 40, .07)}html.dark .safe-sheet{--bg: #131820;--surface: #1c2430;--border: #2c3746;--text: #e7ecf4;--text-sub: #a2aec1;--text-faint: #6e7b90;--accent: #6b96e8;--accent-soft: #1f2c45;--ok: #2fae93;--ok-soft: #1e3a32;--warn-bg: #3a3113;--warn-border: #6b5a1e;--warn-text: #e8c96a;--danger: #f87171;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 16px rgba(0, 0, 0, .25)}.safe-sheet,.safe-sheet *{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}.safe-sheet{font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Segoe UI,Malgun Gothic,sans-serif;color:var(--text);line-height:1.6;font-size:16px}.safe-sheet .wrap{max-width:720px;margin:0 auto;padding:28px 18px 48px}.safe-sheet header.app{display:flex;align-items:center;gap:12px;margin-bottom:6px}.safe-sheet header.app .logo{width:44px;height:44px;border-radius:12px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:24px;flex-shrink:0}.safe-sheet header.app h1{font-size:22px;font-weight:800;letter-spacing:-.02em}.safe-sheet header.app .home{margin-left:auto;font-size:13px;color:var(--text-faint);text-decoration:none}.safe-sheet .tagline{color:var(--text-sub);font-size:14.5px;margin-bottom:16px}.safe-sheet .tagline b{color:var(--accent)}.safe-sheet .card{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:20px;margin-bottom:14px}.safe-sheet .section-title{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:17px;font-weight:800;letter-spacing:-.01em;margin-bottom:10px}.safe-sheet .section-title .sub{margin-left:auto;font-size:13px;font-weight:600;color:var(--text-faint)}.safe-sheet .drop{display:block;border:2px dashed var(--border);border-radius:14px;padding:26px 16px;text-align:center;color:var(--text-sub);font-size:15px;cursor:pointer;transition:border-color .15s,background .15s}.safe-sheet .drop.over{border-color:var(--accent);background:var(--accent-soft)}.safe-sheet .drop .big{font-size:30px;display:block;margin-bottom:6px}.safe-sheet .drop input{display:none}.safe-sheet .drop-actions{display:flex;gap:8px;margin-top:10px;justify-content:center;flex-wrap:wrap}.safe-sheet .chip{border:2px solid var(--border);background:var(--surface);color:var(--text-sub);border-radius:999px;padding:8px 14px;font-size:13.5px;font-weight:700;cursor:pointer;font-family:inherit}.safe-sheet .chip:hover{border-color:var(--accent);color:var(--accent)}.safe-sheet .filebar{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-sub);flex-wrap:wrap}.safe-sheet .filebar b{color:var(--text)}.safe-sheet .filebar .reset{margin-left:auto;background:none;border:0;color:var(--text-faint);cursor:pointer;font-size:13px;font-family:inherit}.safe-sheet .warn-box{background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn-text);border-radius:12px;padding:12px 14px;font-size:14px;margin-bottom:14px}.safe-sheet .tbl-scroll{overflow-x:auto}.safe-sheet table.cols{border-collapse:collapse;width:100%;font-size:13.5px}.safe-sheet table.cols th{text-align:left;font-size:12px;color:var(--text-faint);font-weight:700;padding:6px 8px;border-bottom:1px solid var(--border);white-space:nowrap}.safe-sheet table.cols td{padding:7px 8px;border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:middle}.safe-sheet table.cols td.colname{font-weight:800}.safe-sheet table.cols .type{font-size:12px;color:var(--text-faint)}.safe-sheet table.cols select{font-family:inherit;font-size:13px;padding:6px 8px;border-radius:8px;border:2px solid var(--border);background:var(--bg);color:var(--text);max-width:170px}.safe-sheet .badge{display:inline-block;border-radius:999px;padding:1px 9px;font-size:12px;font-weight:700}.safe-sheet .badge.calc{background:var(--ok-soft);color:var(--ok)}.safe-sheet .badge.sens{background:var(--warn-bg);color:var(--warn-text);border:1px solid var(--warn-border)}.safe-sheet .seg{display:inline-flex;gap:6px;flex-wrap:wrap}.safe-sheet .seg button{padding:9px 14px;border-radius:999px;font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;border:2px solid var(--border);background:var(--bg);color:var(--text-sub)}.safe-sheet .seg button.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.safe-sheet .opt-row{display:flex;align-items:flex-start;gap:10px;margin-top:12px;font-size:14px}.safe-sheet .opt-row input{width:19px;height:19px;margin-top:4px;accent-color:var(--accent)}.safe-sheet .opt-row .desc{font-size:12.5px;color:var(--text-faint)}.safe-sheet .go{display:block;width:100%;margin-top:16px;padding:14px;border-radius:12px;border:0;background:var(--accent);color:#fff;font-size:16px;font-weight:800;font-family:inherit;cursor:pointer}.safe-sheet .go:disabled{opacity:.5;cursor:default}.safe-sheet .result-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.safe-sheet .result-actions .act{flex:1;min-width:150px;padding:12px 10px;border-radius:12px;text-align:center;font-size:14.5px;font-weight:800;font-family:inherit;cursor:pointer;text-decoration:none;border:2px solid var(--accent);background:var(--accent);color:#fff}.safe-sheet .result-actions .act.ghost{background:var(--surface);color:var(--accent)}.safe-sheet table.prev{border-collapse:collapse;font-size:12.5px;width:100%}.safe-sheet table.prev th{background:var(--bg);text-align:left;padding:5px 8px;font-size:11.5px;color:var(--text-faint);border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:0}.safe-sheet table.prev td{padding:5px 8px;border-bottom:1px solid var(--border);white-space:nowrap}.safe-sheet .prev-toggle{font-size:13px;color:var(--text-faint)}.safe-sheet .prev-toggle button{background:none;border:0;color:var(--accent);font-weight:700;cursor:pointer;font-family:inherit;font-size:13px;padding:0 2px}.safe-sheet .report{font-size:13.5px;color:var(--text-sub)}.safe-sheet .report table{border-collapse:collapse;width:100%;margin-top:6px;font-size:12.5px}.safe-sheet .report th{text-align:left;padding:4px 8px;font-size:11.5px;color:var(--text-faint);border-bottom:1px solid var(--border);white-space:nowrap}.safe-sheet .report td{padding:5px 8px;border-bottom:1px solid var(--border);vertical-align:top}.safe-sheet .report td:first-child{font-weight:700;color:var(--text);white-space:nowrap}.safe-sheet .note{margin-top:4px;padding:14px 16px;border-radius:12px;background:var(--accent-soft);color:var(--text-sub);font-size:13.5px}.safe-sheet .py code{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:1px 6px;font-size:12.5px}.safe-sheet .py a.dl-link{color:var(--accent);font-weight:700}.safe-sheet .series-edu{margin-top:24px;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px}.safe-sheet .series-edu-title{font-size:16px;font-weight:800;letter-spacing:-.01em}.safe-sheet .series-edu-desc{font-size:14px;color:var(--text-sub)}.safe-sheet .series-edu-desc a{color:var(--accent);font-weight:700}.safe-sheet .series-edu-cta{font-size:14px;font-weight:800;color:var(--accent);text-decoration:none}.safe-sheet footer.app{margin-top:28px;text-align:center;font-size:12.5px;color:var(--text-faint)}.safe-sheet footer.app a{color:inherit}
