#ot-ui{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none;font-family:ui-monospace,Menlo,Consolas,Cascadia Mono,monospace;-webkit-text-size-adjust:100%}.ot-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;pointer-events:auto;display:flex;align-items:center;justify-content:center;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));z-index:100;container-type:size;container-name:ot-viewport}.ot-modal{--ot-accent: #606080;--ot-bg: #171727;--ot-text: #ccccdd;display:flex;flex-direction:column;min-width:min(320px,100%);max-width:100%;max-height:100%;background:var(--ot-bg);border:1px solid var(--ot-accent);border-radius:10px;color:var(--ot-text);font-size:14px;line-height:1.45;box-shadow:0 8px 40px #0000008c}.ot-modal-header{display:flex;align-items:center;gap:10px;padding:10px 8px 10px 16px;border-bottom:1px solid var(--ot-accent);flex:none}.ot-modal-title{flex:1;font-size:16px;font-weight:700;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ot-modal-close{flex:none;width:44px;height:38px;border:1px solid var(--ot-accent);border-radius:8px;background:#ffffff0a;color:var(--ot-text);font:inherit;font-size:18px;line-height:1;cursor:pointer}.ot-modal-close:active{background:#ffffff24}.ot-modal-body{flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:12px 16px}.ot-modal-footer{flex:none;display:flex;gap:10px;justify-content:center;flex-wrap:wrap;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--ot-accent)}.ot-modal--dock{display:grid;grid-template:"header" auto "body" minmax(0,1fr) "dock" auto "footer" auto / minmax(0,1fr)}.ot-modal--dock>.ot-modal-header{grid-area:header}.ot-modal--dock>.ot-modal-body{grid-area:body}.ot-modal--dock>.ot-modal-dock{grid-area:dock}.ot-modal--dock>.ot-modal-footer{grid-area:footer}.ot-modal-dock{min-height:0;min-width:0;overflow:auto;-webkit-overflow-scrolling:touch}.ot-modal--dock.ot-modal--dock-first{grid-template:"header" auto "dock" auto "body" minmax(0,1fr) "footer" auto / minmax(0,1fr)}@container ot-viewport (min-aspect-ratio: 4/3){.ot-modal--dock,.ot-modal--dock.ot-modal--dock-first{grid-template:"header header" auto "body   dock" minmax(0,1fr) "body   footer" auto / minmax(0,1fr) var(--ot-dock-w, 260px)}.ot-modal--dock>.ot-modal-dock{border-left:1px solid var(--ot-accent)}.ot-modal--dock>.ot-modal-footer{border-left:1px solid var(--ot-accent)}}.ot-split{display:flex;flex-direction:column;gap:10px;min-height:0;min-width:0}.ot-split>*{min-width:0}@container ot-viewport (min-aspect-ratio: 4/3){.ot-split{flex-direction:row;align-items:stretch}.ot-split>*{flex:1 1 0;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}}.ot-btn{min-height:40px;min-width:110px;padding:8px 16px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:#223;color:#ccc;font:inherit;font-size:13px;font-weight:700;letter-spacing:.03em;cursor:pointer;touch-action:manipulation}.ot-btn:hover{filter:brightness(1.35)}.ot-btn:active{filter:brightness(1.6)}.ot-btn:disabled{opacity:.45;cursor:default;filter:none}.ot-btn--primary{background:#1a4a2a;border-color:#2d7a4a;color:#fff}.ot-btn--danger{background:#3a1a1a;border-color:#6a2a2a}.ot-btn--go{background:#1d7a3a;border-color:#2f9a52;color:#fff}.ot-group{border:1px solid rgba(255,255,255,.1);border-radius:8px;margin:8px 0}.ot-group>summary{cursor:pointer;padding:10px 12px;font-weight:700;font-size:13px;list-style:none;-webkit-user-select:none;user-select:none}.ot-group>summary:before{content:"▸ "}.ot-group[open]>summary:before{content:"▾ "}.ot-group>.ot-group-body{padding:4px 12px 10px}.ot-skin-research{--ot-accent: #4a3a6a;--ot-bg: #171423;--ot-text: #cfc0e0}.ot-skin-prestige{--ot-accent: #2f6a4a;--ot-bg: #10211a;--ot-text: #cfe8d8}.ot-skin-gold{--ot-accent: #6a5a2a;--ot-bg: #1f1c12;--ot-text: #cdbf90}.ot-skin-cyan{--ot-accent: #2d4a5a;--ot-bg: #141a22;--ot-text: #bcd6e6}.ot-skin-indigo{--ot-accent: #606080;--ot-bg: #1a1a2a;--ot-text: #ccccdd}.ot-skin-slate{--ot-accent: #646a74;--ot-bg: #1b1e24;--ot-text: #cdd3de}.ot-sect{font-size:11px;font-weight:700;color:#ffffff73;letter-spacing:.06em;margin:10px 0 6px}.ot-sect:first-child{margin-top:0}.ot-note{font-size:11px;color:#fff6}.ot-live{white-space:pre-line;font-size:13px;line-height:1.5}.ot-cardgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-bottom:4px}.ot-choice{font:inherit;color:inherit;text-align:center;background:#ffffff0a;border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:10px 8px;cursor:pointer;touch-action:manipulation}.ot-choice:hover:not(:disabled){filter:brightness(1.3)}.ot-choice:active:not(:disabled){filter:brightness(1.55)}.ot-choice:disabled{cursor:default;opacity:.55}.ot-choice-title{font-size:12px;font-weight:700}.ot-choice-price{font-size:15px;color:#f0c040;margin-top:4px}.ot-choice:disabled .ot-choice-price{color:#844}.ot-choice-stat{font-size:10px;color:#8a909c;margin-top:4px}.ot-choice-note{font-size:10px;color:#a74;margin-top:4px}.ot-rowcard{display:flex;align-items:center;gap:10px;background:#ffffff08;border:1px solid rgba(255,255,255,.16);border-radius:6px;padding:8px 10px;margin-bottom:8px;font-size:12px}.ot-rowcard-main{flex:1 1 auto;min-width:0}.ot-rowcard .ot-btn{flex:none}.ot-action{display:block;width:100%;margin:6px 0}.ot-body-fill{display:flex;flex-direction:column}.ot-body-fill>.ot-split{flex:1 1 auto;min-height:0}@container ot-viewport (min-aspect-ratio: 4/3){.ot-body-fill{overflow:hidden}}.ot-contracts-pool{text-align:center;margin-bottom:8px;flex:none}.ot-contracts-col{display:flex;flex-direction:column;min-height:0}.ot-contracts-col>.ot-sect{flex:none}.ot-contracts-list{min-height:0}@container ot-viewport (min-aspect-ratio: 4/3){.ot-contracts-split>.ot-contracts-col{overflow:hidden}.ot-contracts-list{overflow:auto;-webkit-overflow-scrolling:touch;flex:1 1 auto}}.ot-ccard{position:relative;background:#16242e99;border:1px solid #2d4a5a;border-radius:5px;padding:8px 10px 10px;margin-bottom:8px}.ot-ccard-line{font-size:11px;line-height:1.5}.ot-ccard-name{font-size:12px;font-weight:700}.ot-ccard-accept{margin-top:6px;min-height:34px;min-width:90px;font-size:11px}.ot-ccard-bar{height:4px;background:#10202a;border-radius:2px;margin-top:8px;overflow:hidden}.ot-ccard-barfill{height:100%}.ot-dash-band{padding:10px 16px;font-size:12px}.ot-dash-temp{font-size:12px;line-height:1.6;white-space:pre}.ot-graph{display:block;width:100%;margin-bottom:4px}.ot-investor-band{padding:10px 16px;font-size:12px}.ot-investor-band .ot-btn{margin-top:10px}.ot-investor-rowhead{display:flex;justify-content:space-between;gap:10px;font-weight:700;font-size:13px}.ot-investor-eff{font-size:11px;color:#7ad0a0;margin-top:3px}.ot-milestone-band{padding:10px 16px;font-size:12px}.ot-milestone-header{font-weight:700;font-size:13px;margin-bottom:4px}.ot-milestone-count{margin-top:8px}.ot-milestone-row{display:flex;justify-content:space-between;gap:12px;padding:5px 4px;font-size:13px;border-bottom:1px solid rgba(255,255,255,.05)}.ot-milestone-row:last-child{border-bottom:0}.ot-milestone-reward{white-space:nowrap}.ot-tree-scroll{overflow:auto;-webkit-overflow-scrolling:touch}.ot-tree{position:relative}.ot-tree svg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.ot-branch-label{position:absolute;font-size:11px;color:#7a6a9a;transform:translateY(-50%);white-space:nowrap}.ot-branch-label--prestige{color:#5fb485}.ot-node{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:6px;border:1px solid;font:inherit;font-size:12px;color:#fff;cursor:pointer;padding:4px 6px;text-align:center;touch-action:manipulation}.ot-node-state{font-size:11px}.ot-node-progress{position:absolute;left:4px;bottom:2px;height:3px;background:#c0902a;border-radius:2px}.ot-node--selected{outline:2px solid #e0c0ff;outline-offset:2px}.ot-node--unlocked{background:#14401f;border-color:#2d8a4a;color:#bdf0c8}.ot-node--researching{background:#3a2e10;border-color:#c0902a;color:#f0d8a0}.ot-node--available{background:#16303c;border-color:#3a7da0;color:#cfe6f2}.ot-node--locked{background:#1a1622;border-color:#3a3346;color:#6a6478}.ot-node--ip{background:#123a26;border-color:#2f9a52;color:#a8e8c0}.ot-node--ip-owned{background:#14401f;border-color:#2d8a4a;color:#bdf0c8}.ot-research-detail{display:flex;gap:12px;align-items:flex-end;justify-content:space-between;margin:10px 16px;padding:10px 12px;background:#120f1c;border:1px solid #3a2e52;border-radius:8px;font-size:12px;line-height:1.55;white-space:pre-line}.ot-research-detail .ot-btn{flex:none}.ot-research-detail-text{min-width:0;overflow-wrap:break-word}@container ot-viewport (min-aspect-ratio: 4/3){.ot-research-detail{flex-direction:column;align-items:stretch;height:calc(100% - 20px);margin:10px 12px}.ot-research-detail-text{overflow:auto;-webkit-overflow-scrolling:touch}.ot-research-detail .ot-btn{margin-top:auto}}.ot-catcher{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:auto;z-index:50}.ot-anchored{position:absolute;left:0;top:0;z-index:60;pointer-events:auto;background:#12181a;border:1px solid #4a5a52;border-radius:8px;padding:4px;min-width:190px;box-shadow:0 6px 24px #00000080;will-change:transform}.ot-menu-row{display:block;width:100%;text-align:left;border:0;border-radius:5px;background:#1e2a25;color:#cfe8db;font:inherit;font-size:13px;line-height:1.2;padding:10px 12px;margin:2px 0;cursor:pointer;white-space:nowrap;touch-action:manipulation}.ot-menu-row:hover:not(:disabled){background:#2d4a3c}.ot-menu-row:active:not(:disabled){background:#38594a}.ot-menu-row:disabled{background:#1a1f1d;color:#555f59;cursor:default}.ot-minigame{display:block;margin:0 auto;touch-action:none;border-radius:4px}.ot-settings-slider{display:flex;align-items:center;gap:12px;margin:10px 0}.ot-settings-slider label{flex:none;width:110px;font-size:13px;color:#99b}.ot-settings-slider input[type=range]{flex:1;accent-color:#40916c;min-height:32px}.ot-settings-slider span{flex:none;width:44px;text-align:right}.ot-settings-btnrow{display:flex;gap:8px;margin:6px 0}.ot-settings-btnrow .ot-btn{flex:1 1 0;font-size:11px;padding:8px 6px}.ot-start{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;font-family:inherit;z-index:10}.ot-start-title{font-size:clamp(34px,8vmin,58px);font-weight:700;color:#f0c040;letter-spacing:.04em}.ot-start-sub{font-size:15px;color:#555;margin-bottom:14px}.ot-start-save{font-size:13px;color:#666}.ot-start-btn{width:220px;min-height:50px;font-size:18px}.ot-notices{position:absolute;top:96px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;align-items:center;z-index:200;pointer-events:none;width:max-content;max-width:94vw}.ot-notice{--n-border: #2d4a5a;--n-bg: rgba(20, 26, 34, .96);--n-title: #bcd6e6;min-width:300px;max-width:94vw;background:var(--n-bg);border:2px solid var(--n-border);border-radius:8px;padding:8px 16px;color:#fff;font-size:13px;text-align:center;opacity:1;transition:opacity .4s}.ot-notice--fading{opacity:0}.ot-notice-title{font-size:11px;font-weight:700;color:var(--n-title);letter-spacing:.05em}.ot-notice-main{display:flex;gap:16px;justify-content:space-between;align-items:baseline;margin-top:3px}.ot-notice-body{font-weight:700;font-size:14px;text-align:left}.ot-notice-right{font-weight:700;font-size:14px}.ot-notice-sub{font-size:12px;text-align:left;margin-top:2px;color:#bcd6e6}.ot-notice--milestone{--n-border: #e0b040;--n-bg: rgba(42, 36, 16, .96);--n-title: #f0d070}.ot-notice--milestone .ot-notice-right{color:#7ad08a}.ot-notice--funding{--n-border: #40c080;--n-bg: rgba(16, 48, 31, .96);--n-title: #7ad0a0}.ot-notice--funding .ot-notice-right{color:#7ad08a}.ot-notice--contract-completed{--n-border: #2d8a4a;--n-bg: rgba(16, 48, 28, .96);--n-title: #7ad08a}.ot-notice--contract-completed .ot-notice-sub{color:#7ad08a;font-weight:700}.ot-notice--contract-failed{--n-border: #8a3a3a;--n-bg: rgba(48, 20, 20, .96);--n-title: #e8746a}.ot-notice--contract-failed .ot-notice-sub{color:#e8a0a0}.ot-notice--contract-refresh{--n-border: #3a7da0;--n-bg: rgba(16, 36, 58, .96);--n-title: #8fd0ee}.ot-notice--toast{min-width:0;background:#14202a;border:0;border-radius:4px;color:#e6eef4;padding:7px 12px;font-size:13px}
