body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{pointer-events:none;height:40vmin}@media (prefers-reduced-motion:no-preference){.App-logo{animation:20s linear infinite App-logo-spin}}.App-header{color:#fff;background-color:#282c34;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;font-size:calc(10px + 2vmin);display:flex}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--sc3-primary:#036;--sc3-primary-shadow:#0362;--sc3-secondary:#09c;--sc3-accent:#fbc02d;--sc3-bg:#f4f8fb;--sc3-green:#388e3c;--sc3-table-bg:#fff;--sc3-table-header-bg:#e5eef5;--sc3-purple:#7b1fa2;--sc3-purple-light:#ede7f6;--sc3-yellow-light:#fffbea;--sc3-green-light:#f8fff5;--sc3-blue-light:#f5faff;--sc3-error:#d32f2f;--sc3-gray:#757575;--sc3-delete:#c00;--sc3-background-blue:#08283e;--sc3-text-orange:#eb7325;--sc3-heading-yellow:#ffe8b5;--sc3-text-yellow:#ffe8b5;--sc3-heading-orange:#eb7325;--sc3-menu-current:#5c868e;--sc3-menu-other:#e2a027;--sc3-white:#fff;--sc3-border-radius:6px;--sc3-form-padding:12px;--sc3-section-margin:16px;--sc3-btn-radius:4px;--sc3-btn-font-weight:bold;--sc3-btn-font-size:1em;--sc3-btn-padding:.6em 1.5em;--sc3-table-border-radius:8px;--sc3-table-header-font-size:1.05em;--sc3-table-header-font-weight:bold;--sc3-input-border-radius:4px;--sc3-input-padding:.4em .6em;--sc3-table-transition:background .2s}.tm-main-container{background:var(--sc3-bg);border-radius:var(--sc3-table-border-radius);max-width:900px;box-shadow:0 2px 12px var(--sc3-primary-shadow);color:var(--sc3-primary);margin:2rem auto;padding:24px;font-family:Segoe UI,Arial,sans-serif}.tm-main-heading{color:var(--sc3-primary);border-bottom:3px solid var(--sc3-accent);margin:0 0 1rem;padding-bottom:8px}.tm-version{text-align:center;color:#888;letter-spacing:.03em;-webkit-user-select:none;user-select:none;width:100%;margin-top:2em;margin-bottom:.5em;font-size:.95em}.tm-flex-gap{gap:1rem;margin-top:8px;margin-bottom:1.5em;display:flex}.tm-required{color:var(--sc3-error)}.tm-input{box-sizing:border-box;width:100%;padding:var(--sc3-input-padding);border-radius:var(--sc3-input-border-radius);border:1px solid var(--sc3-secondary);background-color:#fff;font-size:1rem}select.tm-input{cursor:pointer;background-color:#fff}select.tm-input:disabled{cursor:not-allowed;background-color:#f5f5f5}.tm-btn{padding:var(--sc3-btn-padding);border-radius:var(--sc3-btn-radius);font-weight:var(--sc3-btn-font-weight);font-size:var(--sc3-btn-font-size);cursor:pointer;border:none;text-decoration:none;transition:all .3s;display:inline-block}.tm-btn-primary{background:var(--sc3-primary);color:#fff;box-shadow:0 2px 6px #0099cc21}.tm-btn-cancel{background:var(--sc3-gray);color:#fff;box-shadow:0 2px 6px #75757521}.tm-btn-outline-secondary{color:var(--sc3-secondary);border:2px solid var(--sc3-secondary);background:#fff;box-shadow:0 2px 6px #0099cc21}.tm-btn-outline-primary{color:var(--sc3-primary);border:2px solid var(--sc3-primary);background:#fff;box-shadow:0 2px 6px #00336621}.tm-btn-accent{background:var(--sc3-accent);color:#fff;border:none;box-shadow:0 2px 6px #fbc02d21}.tm-btn-secondary{background:var(--sc3-secondary);color:var(--sc3-white);border-color:var(--sc3-secondary);box-shadow:0 2px 6px #75757521}.tm-btn-secondary:hover{background-color:var(--sc3-primary);border-color:var(--sc3-primary);transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.tm-btn-outline{color:var(--sc3-primary);border:2px solid var(--sc3-primary);background:#fff;padding:10px 20px}.tm-btn-outline:hover{background:var(--sc3-primary);color:#fff;transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.tm-back-to-top-container{justify-content:center;margin:2rem 0;padding:1rem 0;display:flex}.tm-back-to-top-button{color:#6c757d;border-radius:var(--sc3-btn-radius);font-size:.9rem;font-weight:var(--sc3-btn-font-weight);cursor:pointer;background-color:#f8f9fa;border:1px solid #dee2e6;align-items:center;gap:.5rem;padding:8px 16px;transition:all .3s ease-in-out;display:flex}.tm-back-to-top-button:hover{color:#495057;background:#e9ecef;border-color:#adb5bd;transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.tm-intro-details{margin-bottom:1rem}.tm-intro-summary{cursor:pointer;color:var(--sc3-secondary);font-weight:700}.tm-intro-link{color:var(--sc3-secondary)}.tm-intro-table{border-collapse:collapse;background:var(--sc3-table-bg);table-layout:fixed;border:1px solid #ccc;border-radius:4px;width:100%;margin:1rem 0;overflow:hidden;box-shadow:0 2px 8px #0000001a}.tm-intro-table-header{background:var(--sc3-table-header-bg)}.tm-intro-table th{background:var(--sc3-table-header-bg);box-shadow:none;border:1px solid #ccc;padding:8px;font-weight:700}.tm-intro-table td{background:var(--sc3-blue-light);box-shadow:none;border:1px solid #ccc;padding:6px}.tm-intro-table-narrow-column{width:30%}.tm-intro-table-wide-column{width:70%}.tm-intro-guidance-container{margin-top:2rem;margin-bottom:2rem}.tm-intro-guidance-toggle{cursor:pointer;border:1px solid var(--sc3-secondary);background-color:#f8f9fa;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1rem;display:flex}.tm-intro-guidance-title{color:var(--sc3-primary);margin:0}.tm-intro-guidance-toggle-icon{color:var(--sc3-primary);font-size:1.5rem;font-weight:700}.tm-intro-guidance-content{border:1px solid var(--sc3-secondary);background-color:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.tm-intro-dfd-sample-diagram{text-align:center;margin:1em auto;display:block}.tm-intro-dfd-sample-diagram svg{display:inline-block}.tm-intro-details details ul details>ul,.tm-intro-details details ul details>li,.tm-intro-details details ul details>.tm-intro-list{margin-left:2em}.tm-inputform-details{margin-bottom:1rem}.tm-inputform-summary{cursor:pointer;color:var(--sc3-secondary);font-weight:700}.tm-viewmode-container{background-color:#f5f5f5;border:1px solid #ddd;border-radius:5px;flex-wrap:wrap;align-items:center;gap:15px;margin-bottom:20px;padding:15px;display:flex}.tm-viewmode-container>label:first-child{color:#333;flex-shrink:0;margin-bottom:0;font-size:14px;font-weight:700}.tm-viewmode-options{flex-wrap:wrap;gap:20px;display:flex}.tm-viewmode-options label{cursor:pointer;white-space:nowrap;align-items:center;margin-bottom:0;font-size:14px;display:flex}.tm-viewmode-options input[type=radio]{margin-bottom:0;margin-right:8px}.tm-inputform-table{border-collapse:collapse;width:100%;margin-bottom:1rem}.tm-inputform-fieldset{border-radius:var(--sc3-border-radius);padding:var(--sc3-form-padding);margin-bottom:var(--sc3-section-margin)}.tm-inputform-fieldset-threat{border:2px solid var(--sc3-primary);background:var(--sc3-blue-light)}.tm-inputform-fieldset-stride{border:2px solid var(--sc3-green);background:var(--sc3-green-light)}.tm-inputform-fieldset-dread{border:2px solid var(--sc3-purple);background:var(--sc3-purple-light)}.tm-inputform-fieldset-cvss{background:#f3e5f5;border:2px solid #673ab7}.tm-inputform-fieldset-actions{border:2px solid var(--sc3-accent);background:var(--sc3-yellow-light)}.tm-inputform-field-cell-label{width:25%}.tm-inputform-field-cell-label-dread{width:18%}.tm-inputform-field-cell-tooltip{width:3em}.tm-inputform-field-cell-tooltip:hover:after{content:attr(data-tooltip);background:var(--sc3-purple-light);z-index:10;border:1px solid #ccc;border-radius:6px;min-width:200px;margin-left:8px;padding:.75em 1em;font-size:.95em;position:absolute;top:0;left:100%;box-shadow:0 2px 8px #00000026}.tm-form-label{color:var(--sc3-primary);font-size:.9rem;font-weight:600}.tm-inputform-stride{font-weight:var(--sc3-btn-font-weight)}.tm-inputform-legend{font-weight:var(--sc3-btn-font-weight);padding:0 1rem}.tm-inputform-legend-threat{color:var(--sc3-primary)}.tm-inputform-legend-stride{color:var(--sc3-green)}.tm-inputform-legend-dread{color:var(--sc3-purple)}.tm-inputform-legend-cvss{color:#673ab7}.tm-inputform-legend-actions{color:var(--sc3-accent)}.tm-inputform-field-table{width:100%}.tm-tooltip-container{position:relative}.tm-tooltip-icon{cursor:pointer;color:#333;background:#eee;border-radius:50%;margin-left:.5em;padding:.2em .5em;font-weight:700}.tm-tooltip-content{background:var(--sc3-purple-light);z-index:10;border:1px solid #ccc;border-radius:6px;min-width:200px;margin-left:8px;padding:.75em 1em;font-size:.95em;display:none;position:absolute;top:0;left:100%;box-shadow:0 2px 8px #00000026}.tm-tooltip-container:hover .tm-tooltip-content,.tm-tooltip-container:focus-within .tm-tooltip-content{display:block}.tm-table-outer-container{border-top:2px solid var(--sc3-secondary);border-bottom:2px solid var(--sc3-secondary);background:#f8f9fa;width:100vw;margin-top:2rem;margin-left:calc(50% - 50vw);padding:2rem 1rem}.tm-table-inner{max-width:1400px;margin:0 auto}.tm-table-container{box-sizing:border-box;background:0 0;width:100vw;margin:2rem 0;position:relative;left:50%;overflow-x:auto;transform:translate(-50%)}.tm-table-section{margin-bottom:1rem}.tm-table-summary{cursor:pointer;font-weight:var(--sc3-btn-font-weight);color:var(--sc3-secondary);border-bottom:1px solid #e0e0e0;align-items:center;gap:10px;padding:10px 0;transition:color .2s;display:flex}.tm-table-summary strong{color:var(--sc3-secondary);margin:0 .25rem}.tm-table-scroll{box-sizing:border-box;width:100%;padding:0}.tm-table-count{background:var(--sc3-secondary);color:#fff;border-radius:12px;padding:2px 8px;font-size:.85rem;font-weight:400}.tm-table{border-collapse:collapse;background:var(--sc3-table-bg);border-radius:var(--sc3-table-border-radius);width:95vw;min-width:1200px;margin:0 auto;overflow:hidden}.tm-table-statistics{border-radius:var(--sc3-border-radius);background:#fff;border:1px solid #e0e0e0;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem;display:flex}.tm-th-group-threat{border:4px solid var(--sc3-primary);background:var(--sc3-blue-light);color:var(--sc3-primary);font-weight:var(--sc3-table-header-font-weight);font-size:var(--sc3-table-header-font-size)}.tm-th-group-stride{border:4px solid var(--sc3-green);background:var(--sc3-green-light);color:var(--sc3-green);font-weight:var(--sc3-table-header-font-weight);font-size:var(--sc3-table-header-font-size)}.tm-th-group-dread{border:4px solid var(--sc3-purple);background:var(--sc3-purple-light);color:var(--sc3-purple);font-weight:var(--sc3-table-header-font-weight);font-size:var(--sc3-table-header-font-size);text-align:center}.tm-th-group-cvss{color:#673ab7;font-weight:var(--sc3-table-header-font-weight);font-size:var(--sc3-table-header-font-size);text-align:center;background:#f3e5f5;border:4px solid #673ab7}.tm-th-group-action{border:4px solid var(--sc3-accent);background:var(--sc3-yellow-light);color:#b38b00;font-weight:var(--sc3-table-header-font-weight);font-size:var(--sc3-table-header-font-size)}.tm-th-threat{border:3px solid var(--sc3-primary);background:var(--sc3-blue-light);border-top:none;min-width:120px}.tm-th-stride{border:3px solid var(--sc3-green);background:var(--sc3-green-light);border-top:none;min-width:120px}.tm-th-dread{border:3px solid var(--sc3-purple);background:var(--sc3-purple-light);border-top:none;min-width:120px}.tm-th-cvss{background:#f3e5f5;border:3px solid #673ab7;border-top:none;min-width:120px}.tm-th-action{border:3px solid var(--sc3-accent);background:var(--sc3-yellow-light);border-top:none;min-width:120px}.tm-td-threat{border:2px solid var(--sc3-primary);min-width:120px}.tm-td-stride{border:2px solid var(--sc3-green);min-width:120px}.tm-td-dread{border:2px solid var(--sc3-purple);min-width:120px}.tm-td-cvss{border:2px solid #673ab7;min-width:120px}.tm-td-action{border:2px solid var(--sc3-accent);min-width:120px}.tm-table-row{cursor:pointer;transition:background .2s}.tm-table-row-editing{outline:3px solid var(--sc3-secondary);background:#e8f4f8;box-shadow:0 0 8px #09c3}.tm-table-row-hover{background:#f0f8ff;box-shadow:0 2px 4px #0000001a}.tm-table-row-drop-target{background:#0099cc1a;box-shadow:0 2px 4px #09c3}.tm-action-cell{white-space:nowrap;background:#fff;border:none;min-width:32px;padding:0}.tm-action-button{cursor:pointer;color:var(--sc3-secondary);background:0 0;border:none;padding:0 4px;font-size:1.1em}.tm-action-button:disabled{color:#ccc;cursor:not-allowed}.tm-action-button-remove{color:#d32f2f}.tm-action-button-remove:hover:not(:disabled){color:#b71c1c}.tm-table-button-container{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:1rem;margin-bottom:2rem;display:flex}.tm-button-container{text-align:center;border-top:2px solid var(--sc3-primary);margin-top:2rem;padding-top:1.5rem}.tm-button-group{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.tm-report-container{border-radius:var(--sc3-border-radius);box-shadow:0 2px 4px var(--sc3-primary-shadow);background:#fff;border:1px solid #e0e0e0;margin-top:2rem;padding:1.5rem}.tm-report-details{margin-bottom:1rem}.tm-report-summary{cursor:pointer;color:var(--sc3-secondary);font-weight:600}.tm-report-title{color:var(--sc3-primary);text-align:center;border-bottom:2px solid var(--sc3-accent);margin-bottom:1.5rem;padding-bottom:.5rem;font-size:1.5rem}.tm-report-section{margin-bottom:2rem}.tm-report-section-title{color:var(--sc3-secondary);border-bottom:1px solid #e0e0e0;margin-bottom:1rem;padding-bottom:.5rem;font-size:1.2rem}.tm-intro-table ul{margin:0!important;padding-left:20px!important;list-style-position:inside!important}.tm-intro-table ul ul{margin:4px 0!important;padding-left:20px!important;list-style-position:inside!important}.tm-intro-table td{word-wrap:break-word;overflow:hidden}.tm-intro-table th:first-child,.tm-intro-table td:first-child{width:8%;min-width:60px;max-width:80px}.tm-intro-table th:not(:first-child),.tm-intro-table td:not(:first-child){width:23%}.tm-intro-table-container{-webkit-overflow-scrolling:touch;margin-left:-20px;margin-right:-20px;padding:0 20px;position:relative;overflow-x:auto}@media (width<=768px){.tm-intro-table-container{margin-left:-15px;margin-right:-15px;padding:0 15px}.tm-intro-table{min-width:800px;font-size:.9rem}.tm-intro-table th,.tm-intro-table td{min-width:120px;padding:8px}.tm-intro-table th:first-child,.tm-intro-table td:first-child{z-index:2;background-color:#f8f9fa;min-width:60px;position:sticky;left:0}.tm-viewmode-container{flex-direction:column;align-items:flex-start;gap:10px;padding:12px}.tm-viewmode-container>label:first-child{margin-bottom:5px}.tm-viewmode-options{flex-wrap:wrap;gap:15px;width:100%;display:flex}}@media (width<=480px){.tm-intro-table-container{margin-left:-10px;margin-right:-10px;padding:0 10px}.tm-intro-table{min-width:700px;font-size:.8rem}.tm-intro-table th,.tm-intro-table td{min-width:100px;padding:6px}.tm-viewmode-container{gap:8px;padding:10px}.tm-viewmode-options label{font-size:13px}.tm-viewmode-options{flex-direction:column;gap:10px}}.tm-view-mode-label{color:#000;margin-bottom:.5rem}.tm-back-to-top-floating{z-index:1200;background-color:var(--sc3-secondary,#6b3fa0);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:0;font-size:18px;transition:transform .15s,box-shadow .15s,background-color .15s;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 6px 18px #0000001f}.tm-back-to-top-button.tm-back-to-top-floating:hover{transform:translateY(-3px);box-shadow:0 10px 24px #0000002e}@media (width<=480px){.tm-back-to-top-floating{width:40px;height:40px;font-size:16px;bottom:14px;right:14px}}
