*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#fafafa;color:#1a1a1a}.app-container{display:flex;flex-direction:column;height:100vh}.header{background:#2a2a4e;color:#fff;padding:14px 24px;flex-shrink:0}.header-inner{display:flex;align-items:center;gap:16px}.header-logo{height:90px;width:90px;flex-shrink:0}.header-text{flex:1}.header h1{font-size:28px;font-weight:600;margin-bottom:4px;color:#02afbd}.header .citation{font-size:24px;color:#d0d8e8;margin-bottom:6px;font-weight:700}.header .citation a{color:#02afbd;text-decoration:none;font-weight:700}.header .citation a:hover{text-decoration:underline}.header p{font-size:20px;color:#b0b8c8;line-height:1.4}@media(max-width:900px){.header{padding:8px 12px}.header-inner{gap:10px}.header-logo{height:48px;width:48px}.header h1{font-size:15px;margin-bottom:2px;line-height:1.2}.header-text p{display:none}}.main-layout{display:flex;flex:1;overflow:hidden}.control-panel{width:0;min-width:0;background:#fff;border-right:1px solid #e0e0e0;padding:0;overflow:hidden;flex-shrink:0;transition:width .25s ease-out,padding .25s ease-out}.control-panel.open{width:440px;padding:20px;overflow-y:auto}.panel-backdrop{display:none}.panel-toggle{display:flex;align-items:center;justify-content:center;position:fixed;top:50%;left:0;transform:translateY(-50%);z-index:50;width:34px;height:64px;padding:0;border:1px solid #ccc;border-left:none;border-radius:0 6px 6px 0;background:#fff;color:#2a2a4e;font-size:18px;cursor:pointer;box-shadow:2px 2px 6px #00000026}.panel-toggle:hover{background:#f4f4f8}@media(max-width:900px){.control-panel{position:fixed;top:0;bottom:0;left:0;width:85vw;max-width:440px;padding:20px;overflow-y:auto;z-index:40;transform:translate(-100%);transition:transform .25s ease-out;box-shadow:2px 0 12px #00000026}.control-panel.open{width:85vw;transform:translate(0)}.panel-backdrop{display:block;position:fixed;inset:0;background:#00000059;z-index:30}}.control-section{margin-bottom:22px}.control-section h3{font-size:22px;text-transform:uppercase;letter-spacing:.5px;color:#666;margin-bottom:10px;font-weight:600}.control-section select{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;font-size:22px;background:#fff}.genome-search{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;font-size:22px;margin-bottom:8px}.genome-search:focus{outline:none;border-color:#02afbd;box-shadow:0 0 0 2px #02afbd26}.control-section select:focus{outline:none;border-color:#02afbd;box-shadow:0 0 0 2px #02afbd26}.model-toggle{display:flex;align-items:center;gap:10px;padding:5px 0;font-size:22px}.model-toggle input[type=checkbox]{accent-color:var(--model-color, #999);width:20px;height:20px}.model-color-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0}.model-header-mcc{float:right;font-size:20px;font-weight:400;color:#888;text-transform:none;letter-spacing:0}.model-toggle .model-mcc{margin-left:auto;color:#888;font-size:20px}.comparison-section{border-top:2px solid #e0e0e0;padding-top:12px;margin-top:6px}.raw-signal-toggle{display:flex;align-items:center;gap:8px;font-size:22px;cursor:pointer}.raw-signal-toggle input[type=checkbox]{width:20px;height:20px}.taxonomy-checkbox{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:22px}.taxonomy-checkbox span{color:#888;font-size:20px}.sort-controls{display:flex;gap:6px;flex-wrap:wrap}.sort-btn{padding:6px 12px;border:1px solid #ddd;border-radius:3px;background:#fff;font-size:20px;cursor:pointer}.sort-btn.active{background:#2a2a4e;color:#fff;border-color:#027a85}.viz-area{flex:1;overflow-y:auto;padding:12px;background:#fafafa}.loading{display:flex;align-items:center;justify-content:center;height:200px;color:#888;font-size:24px}.error-msg{padding:20px;color:#c0392b;background:#fdf0ee;border-radius:6px;margin:20px;font-size:22px}.empty-state{display:flex;align-items:center;justify-content:center;height:300px;color:#aaa;font-size:24px}.back-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;margin-bottom:10px;border:1px solid #ddd;border-radius:4px;background:#fff;font-size:22px;cursor:pointer;color:#333}.back-btn:hover{background:#f0f0f0}.genome-info{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:12px 18px;margin-bottom:10px;font-size:24px}.genome-info .organism{font-weight:600}.genome-info .details{color:#666;font-size:22px;margin-top:2px}.prophage-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:6px}.prophage-buttons-label{font-size:22px;color:#666}.prophage-btn{padding:5px 14px;border:1px solid #02afbd;border-radius:3px;background:#fff;color:#02afbd;font-size:20px;cursor:pointer}.prophage-btn:hover{background:#02afbd;color:#fff}.candidate-btn{padding:5px 14px;border:1px solid #888;border-radius:3px;background:#fff;color:#555;font-size:20px;cursor:pointer}.candidate-btn:hover{background:#888;color:#fff}
