@layer base{:root{--bg:#fff;--bg2:#f7f6f3;--bg-hover:#37352f0a;--bg-active:#37352f0f;--border:#e9e9e7;--text:#37352f;--text2:#787774;--text3:#b4b4b0;--accent:#2563eb;--accent-light:#dbeafe;--hot:#ef4444;--new:#10b981;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Helvetica, sans-serif}[data-theme=dark]{--bg:#191919;--bg2:#232323;--bg-hover:#ffffff0a;--bg-active:#ffffff0f;--border:#333;--text:#e0e0e0;--text2:#999;--text3:#666;--accent:#60a5fa;--accent-light:#1e3a5f;--hot:#f87171;--new:#34d399}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip}body{background:var(--bg);color:var(--text);font:14px/1.6 var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;min-height:100vh;min-height:100dvh;overflow-x:clip}a{color:inherit;-webkit-tap-highlight-color:transparent;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0;outline:none}button:focus-visible{outline:2px solid var(--text3);outline-offset:1px;border-radius:3px}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-thumb{background:#80808033;border-radius:3px}::selection{background:#37352f26}.app{flex-direction:column;min-height:100vh;display:flex}}@layer layout;@layer components{.header{z-index:100;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0}.header-inner{align-items:center;gap:16px;max-width:1200px;height:52px;margin:0 auto;padding:0 32px;display:flex}.logo{cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;gap:6px;padding:0;display:flex}.logo-icon{flex-shrink:0}.logo-text{color:var(--text);letter-spacing:-.3px;font-size:15px;font-weight:700}.search-bar{background:var(--bg2);border:1px solid #0000;border-radius:6px;flex:1;align-items:center;gap:6px;max-width:400px;height:34px;padding:0 10px;transition:all .15s;display:flex}.search-bar:focus-within{background:var(--bg);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.search-icon{color:var(--text3);flex-shrink:0}.search-bar input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:13px}.search-bar input::placeholder{color:var(--text3)}.search-clear{color:var(--text3);padding:0;font-size:15px;line-height:1}.search-clear:hover{color:var(--text2)}.search-kbd{color:var(--text3);border:1px solid var(--border);background:var(--bg);border-radius:3px;padding:0 4px;font-size:10px;line-height:1.5}.header-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.header-meta{margin-left:auto}.meta-count{color:var(--text3);font-size:12px}.btn-sm{white-space:nowrap;border-radius:5px;align-items:center;gap:4px;padding:5px 12px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{opacity:.9}.btn-ghost{color:var(--text2);border:1px solid var(--border)}.btn-ghost:hover{color:var(--text);background:var(--bg-hover)}.btn-icon{color:var(--text2);border-radius:5px;align-items:center;padding:6px;transition:all .15s;display:flex}.btn-icon:hover{color:var(--text);background:var(--bg-hover)}.container{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:0 32px}.cat-bar-wrap{border-bottom:1px solid var(--border)}.cat-bar{flex-wrap:wrap;align-items:center;gap:0;padding:0;display:flex;position:relative}.cb-item{color:var(--text2);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:4px;margin-bottom:-1px;padding:10px 14px;font-size:13px;transition:color .1s;display:flex}.cb-item:hover{color:var(--text)}.cb-item.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:500}.cb-num{color:var(--text3);font-size:11px}.cb-arrow{color:var(--text3);margin-left:1px;font-size:11px;transition:transform .15s;display:inline-block}.cb-arrow.open{transform:rotate(90deg)}.cb-group{position:relative}.cb-dropdown{background:var(--bg);border:1px solid var(--border);z-index:50;border-radius:6px;min-width:160px;padding:4px 0;animation:.15s dropIn;position:absolute;top:calc(100% + 1px);left:0;box-shadow:0 8px 24px #0000001f}@keyframes dropIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.cb-sub{width:100%;color:var(--text2);justify-content:space-between;align-items:center;padding:6px 14px;font-size:13px;transition:background 80ms;display:flex}.cb-sub:hover{background:var(--bg-hover);color:var(--text)}.cb-sub.active{color:var(--accent);font-weight:500}.cb-sub .cb-num{margin-left:auto;padding-left:10px}.main{padding:20px 0 48px}.controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.controls-left{align-items:baseline;gap:8px;display:flex}.controls-right{align-items:center;gap:6px;display:flex}.page-title{color:var(--text);font-size:18px;font-weight:700}.result-count{color:var(--text3);font-size:13px}.sort-group{gap:2px;display:flex}.sort-btn{color:var(--text3);border-radius:4px;padding:4px 10px;font-size:12px;transition:all .1s}.sort-btn:hover{color:var(--text2);background:var(--bg-hover)}.sort-btn.active{color:var(--accent);background:var(--accent-light)}.view-toggle{gap:2px;display:flex}.vt-btn{color:var(--text3);border-radius:4px;align-items:center;padding:5px 7px;transition:all .1s;display:flex}.vt-btn:hover{color:var(--text2);background:var(--bg-hover)}.vt-btn.active{color:var(--accent)}.loading,.empty{text-align:center;color:var(--text3);padding:80px 20px;font-size:13px}.home-section{margin-bottom:32px}.section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-title{color:var(--text);align-items:center;gap:6px;font-size:15px;font-weight:600;display:flex}.section-dot{border-radius:2px;width:3px;height:14px}.section-more{color:var(--text3);font-size:12px;transition:color .1s}.section-more:hover{color:var(--accent)}.tetris-grid{grid-template-columns:repeat(6,1fr);grid-auto-rows:88px;grid-auto-flow:dense;perspective:800px;gap:6px;display:grid}.tetris-block{cursor:pointer;color:#fff;transform-style:preserve-3d;flex-direction:column;padding:14px 16px;transition:box-shadow .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000001f,inset 0 1px #ffffff26}.tetris-block:before{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff2e 0%,#0000 50%);position:absolute;top:0;bottom:0;left:0;right:0}.tetris-block:hover{z-index:2;box-shadow:0 14px 36px #00000040,inset 0 1px #fff3}.tetris-lg{grid-area:span 2/span 2}.tetris-wide{grid-column:span 2}.tetris-tall{grid-row:span 2}.tetris-head{justify-content:space-between;align-items:flex-start;gap:6px;display:flex}.tetris-label{text-shadow:0 1px 3px #0003;font-size:14px;font-weight:700;line-height:1.3}.tetris-lg .tetris-label{font-size:20px}.tetris-wide .tetris-label,.tetris-tall .tetris-label{font-size:16px}.tetris-group{opacity:.5;white-space:nowrap;flex-shrink:0;margin-top:2px;font-size:10px}.tetris-lg .tetris-group{font-size:11px}.tetris-count-bg{opacity:.2;pointer-events:none;font-size:28px;font-weight:900;line-height:1;position:absolute;bottom:8px;right:12px}.tetris-lg .tetris-count-bg{font-size:56px;bottom:12px;right:16px}.tetris-wide .tetris-count-bg,.tetris-tall .tetris-count-bg{font-size:36px}.tetris-tools{z-index:1;flex-wrap:wrap;gap:4px;margin-top:auto;display:flex;position:relative}.tetris-tool{white-space:nowrap;text-overflow:ellipsis;background:#fff3;border-radius:3px;max-width:110px;padding:2px 8px;font-size:11px;line-height:1.5;overflow:hidden}.tetris-ripple{pointer-events:none;z-index:10;background:#ffffff59;border-radius:50%;width:60px;height:60px;position:absolute;transform:translate(-50%,-50%)scale(0)}.tool-grid{background:var(--border);border:1px solid var(--border);border-radius:6px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1px;display:grid;overflow:hidden}.tool-card{background:var(--bg);flex-direction:column;min-width:0;padding:16px;transition:background .1s;display:flex;overflow:hidden}.tool-card:hover{background:var(--bg2)}.card-link{flex:1;min-width:0;display:block}.card-header{align-items:center;gap:10px;min-width:0;margin-bottom:6px;display:flex}.tool-initial{background:var(--bg2);width:28px;height:28px;color:var(--text2);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.tool-icon{object-fit:contain;background:var(--bg2);border-radius:6px;flex-shrink:0;width:28px;height:28px}.tool-icon.sm{border-radius:4px;width:22px;height:22px}.tool-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:13px;font-weight:500;transition:color .1s;overflow:hidden}.card-link:hover .tool-name{text-decoration:underline}.badge{border-radius:3px;flex-shrink:0;padding:0 5px;font-size:10px;font-weight:600;line-height:16px}.badge-hot{color:var(--hot);background:color-mix(in srgb, var(--hot) 10%, transparent)}.badge-new{color:var(--new);background:color-mix(in srgb, var(--new) 10%, transparent)}.badge-yc{color:#f60;background:#ff66001f}.tool-desc{color:var(--text2);-webkit-line-clamp:2;overflow-wrap:anywhere;word-break:break-word;-webkit-box-orient:vertical;font-size:12px;line-height:1.6;display:-webkit-box;overflow:hidden}.card-footer{justify-content:space-between;align-items:center;gap:6px;margin-top:10px;display:flex}.card-right{align-items:center;gap:6px;display:flex}.tool-tags{gap:4px;display:flex}.tag{color:var(--text3);background:var(--bg2);border-radius:3px;padding:0 6px;font-size:11px;line-height:1.6}.tool-score{color:var(--accent);font-size:11px;font-weight:500}.tool-list{border:1px solid var(--border);border-radius:6px;overflow:hidden}.tool-row{border-bottom:1px solid var(--border);background:var(--bg);align-items:center;gap:10px;min-width:0;padding:10px 16px;transition:background 80ms;display:flex}.tool-row:last-child{border-bottom:0}.tool-row:hover{background:var(--bg2)}.tool-link{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.tool-link:hover .tool-name{text-decoration:underline}.tool-initial.sm{border-radius:4px;width:22px;height:22px;font-size:9px}.tool-info{flex:1;min-width:0}.tool-info .tool-desc{-webkit-line-clamp:1}.tool-name-line{align-items:center;gap:5px;min-width:0;display:flex}.tool-meta{flex-shrink:0;align-items:center;gap:10px;display:flex}.modal-overlay{z-index:200;background:#00000080;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg);border:1px solid var(--border);border-radius:10px;width:440px;max-width:90vw;padding:28px;animation:.2s modalSlide;box-shadow:0 20px 60px #0003}@keyframes modalSlide{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-title{margin-bottom:18px;font-size:16px;font-weight:600}.modal-field{margin-bottom:14px}.modal-label{color:var(--text2);margin-bottom:4px;font-size:12px;font-weight:500;display:block}.modal-input{border:1px solid var(--border);background:var(--bg2);width:100%;color:var(--text);font-size:13px;font-family:var(--font);border-radius:5px;outline:none;padding:8px 10px;transition:border-color .15s}.modal-input:focus{border-color:var(--accent)}textarea.modal-input{resize:vertical;min-height:60px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.modal-autofill-row{text-align:right;margin:-4px 0 8px}.btn-autofill{background:var(--bg2);border:1px solid var(--border);color:var(--accent);border-radius:6px;padding:6px 14px;font-size:12px;transition:all .15s}.btn-autofill:hover:not(:disabled){background:var(--accent-light);border-color:var(--accent)}.btn-autofill:disabled{color:var(--text3);cursor:not-allowed}.modal-icon-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.modal-icon-preview{object-fit:contain;background:var(--bg2);border:1px solid var(--border);border-radius:8px;width:36px;height:36px}.btn-upload{background:var(--bg2);border:1px solid var(--border);cursor:pointer;color:var(--text2);border-radius:6px;align-items:center;padding:6px 14px;font-size:12px;transition:all .15s;display:inline-flex}.btn-upload:hover{background:var(--bg-hover);color:var(--text)}.modal-icon-hint{color:var(--text3);font-size:11px}.footer{border-top:1px solid var(--border);text-align:center;color:var(--text3);flex-wrap:wrap;justify-content:center;gap:8px;padding:24px 32px;font-size:12px;display:flex}.footer a,.footer-link{color:var(--text2);transition:color .1s}.footer a:hover,.footer-link:hover{color:var(--accent);text-decoration:underline}.footer-link{font-size:12px}.footer-sep{color:var(--border)}.submit-done{text-align:center;padding:24px 0}.submit-done-icon{background:var(--new);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:12px;font-size:22px;font-weight:700;display:inline-flex}.submit-done-title{color:var(--text);margin-bottom:4px;font-size:16px;font-weight:600}.submit-done-desc{color:var(--text3);font-size:13px}.admin-modal{background:var(--bg);border-radius:12px;width:700px;max-width:95vw;max-height:90vh;animation:.2s modalSlide;overflow-y:auto;box-shadow:0 20px 60px #0003}.admin-header{border-bottom:1px solid var(--border);background:var(--bg);z-index:2;align-items:center;gap:10px;padding:20px 24px;display:flex;position:sticky;top:0}.admin-title{margin:0;font-size:16px;font-weight:700}.admin-count{color:var(--text3);font-size:12px}.admin-empty{text-align:center;color:var(--text3);padding:60px 20px;font-size:13px}.admin-list{flex-direction:column;gap:16px;padding:12px 24px 24px;display:flex}.admin-card{border:1px solid var(--border);background:var(--bg);border-radius:8px;padding:16px}.admin-card-top{align-items:center;gap:8px;margin-bottom:12px;display:flex}.admin-badge{color:#92400e;background:#fef3c7;border-radius:3px;padding:2px 8px;font-size:10px;font-weight:600}.admin-time{color:var(--text3);font-size:11px}.admin-url-ok{color:var(--new);margin-left:auto;font-size:11px;font-weight:500}.admin-url-fail{color:var(--hot);margin-left:auto;font-size:11px;font-weight:500}.admin-fields{flex-direction:column;gap:8px;display:flex}.admin-field label{color:var(--text3);margin-bottom:2px;font-size:11px;font-weight:500;display:block}.admin-field input,.admin-field select,.admin-field textarea{border:1px solid var(--border);background:var(--bg2);width:100%;color:var(--text);font-size:13px;font-family:var(--font);border-radius:4px;outline:none;padding:6px 8px}.admin-field input:focus,.admin-field select:focus,.admin-field textarea:focus{border-color:var(--accent)}.admin-field textarea{resize:vertical;min-height:40px}.admin-field-row{gap:10px;display:flex}.admin-url{color:var(--accent);word-break:break-all;margin-top:2px;font-size:12px;display:block}.admin-ai-box{background:var(--accent-light);color:var(--text2);border-radius:5px;align-items:flex-start;gap:6px;margin-top:10px;padding:8px 10px;font-size:12px;display:flex}.admin-ai-label{color:var(--accent);white-space:nowrap;font-weight:600}.admin-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;display:flex}.admin-btn-reject{color:var(--hot)!important;border-color:var(--hot)!important}.admin-btn-reject:hover{background:color-mix(in srgb, var(--hot) 8%, transparent)!important}.aimap-wrapper{padding:0}.aimap-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:6px;padding:0 0 8px;display:flex}.aimap-title{color:var(--text2);font-size:13px;font-weight:500}.aimap-hint{color:var(--text3);font-size:11px}.aimap-back{color:var(--text2);background:var(--bg2);border:1px solid var(--border);border-radius:3px;padding:2px 10px;font-size:11px;transition:all .1s}.aimap-back:hover{color:var(--text);background:var(--bg-active)}.aimap-viewport{border:1px solid var(--border);background:var(--bg);background-image:radial-gradient(circle, var(--border) 1px, transparent 1px);background-size:28px 28px;border-radius:6px;height:520px;position:relative;overflow:hidden}.aimap-canvas{transform-origin:0 0;will-change:transform;transition:transform .7s cubic-bezier(.16,1,.3,1);position:relative}.aimap-svg{pointer-events:none;position:absolute;top:0;left:0}.map-node{background:var(--bg);border:1px solid var(--border);cursor:pointer;text-align:center;white-space:nowrap;z-index:1;border-radius:6px;padding:8px 16px;transition:all .2s;position:absolute;transform:translate(-50%,-50%)}.map-node:hover{background:var(--bg2)}.map-root{z-index:2;font-weight:500}.map-cat{animation:ease-in-out infinite mapFloat}.map-cat:hover{transform:translate(-50%,-50%)scale(1.04)}.map-cat.map-dim{opacity:.1;pointer-events:none}.map-cat.map-active{background:var(--bg2);z-index:2;animation:none}@keyframes mapFloat{0%,to{transform:translate(-50%,-50%)translateY(0)}50%{transform:translate(-50%,-50%)translateY(-3px)}}.mn-label{font-size:13px;font-weight:500;display:block}.mn-count{color:var(--text3);margin-top:1px;font-size:10px;display:block}.map-panel{background:var(--bg);border:1px solid var(--border);z-index:3;border-radius:6px;min-width:150px;padding:4px 0;position:absolute;transform:translate(-50%);box-shadow:0 4px 12px #00000014}.map-panel-row{cursor:pointer;opacity:0;align-items:center;gap:8px;padding:5px 12px;transition:background 80ms;animation:.3s forwards mapSlideIn;display:flex}.map-panel-row:hover{background:var(--bg-hover)}.mpr-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.mpr-name{color:var(--text2);flex:1;font-size:12px;transition:color .1s}.map-panel-row:hover .mpr-name{color:var(--text)}.mpr-count{color:var(--text3);text-align:right;min-width:28px;font-size:10px}@keyframes mapSlideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.header{background:color-mix(in srgb, var(--bg) 94%, transparent);border-bottom-color:color-mix(in srgb, var(--border) 80%, transparent)}.header-inner{padding:0 16px;padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));gap:10px;height:54px}.logo{gap:8px}.logo-icon{width:22px;height:20px}.logo-text{letter-spacing:-.2px;font-size:15px;font-weight:700}.header-meta,.meta-count,.header-actions .btn-sm,.header-actions>.btn-icon:first-child{display:none}.header-actions{gap:4px}.search-bar{background:var(--bg2);border-radius:10px;max-width:none;height:40px;padding:0 12px}.search-bar input{padding:0;font-size:16px}.search-kbd{display:none}.search-clear{justify-content:center;align-items:center;min-width:28px;min-height:28px;margin-right:-4px;padding:6px 2px;font-size:20px;display:inline-flex}.btn-mobile-menu{min-width:40px;min-height:40px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;margin-right:-4px;padding:9px;display:flex!important}.btn-mobile-menu:active{background:var(--bg-active)}.cat-bar-wrap{margin:0 -16px;padding:0;position:relative;overflow:hidden}.cat-bar-wrap:after{content:"";pointer-events:none;background:linear-gradient(to right, transparent, var(--bg) 80%);z-index:2;width:32px;position:absolute;top:0;bottom:1px;right:0}.cat-bar{scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;padding:0 24px 0 16px;padding-left:max(16px, env(safe-area-inset-left));flex-wrap:nowrap;gap:2px;overflow:auto visible}.cat-bar::-webkit-scrollbar{display:none}.cb-item{scroll-snap-align:start;flex-shrink:0;min-height:42px;padding:11px 12px;font-size:13.5px}.cb-num{font-size:11px}.cb-group{position:static}.cb-dropdown{top:auto;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));max-height:60vh;box-shadow:0 -4px 28px #00000024, 0 0 0 1px var(--border);z-index:210;-webkit-overflow-scrolling:touch;border-radius:14px;padding:6px 0;animation:.25s cubic-bezier(.22,1,.36,1) sheetSlideUp;position:fixed;overflow-y:auto}.cb-sub{min-height:46px;padding:13px 20px;font-size:14.5px}.container{padding:0 16px;padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right))}.main{padding:16px 0 88px}.controls{flex-wrap:nowrap;align-items:center;gap:10px;margin-bottom:14px}.controls-left{flex:1;min-width:0}.controls-right{flex-shrink:0;gap:4px}.page-title{letter-spacing:-.3px;font-size:17px;font-weight:700}.result-count{font-size:12px}.sort-group{display:none}.view-toggle{gap:0}.vt-btn{padding:7px 9px}.home-section{margin-bottom:28px}.section-header{margin-bottom:10px}.section-title{font-size:14px}.section-more{font-size:12px}.tool-grid{border-radius:12px;grid-template-columns:1fr 1fr;gap:1px}.tool-card{min-height:120px;padding:14px 12px 12px}.card-header{gap:8px;margin-bottom:5px}.tool-initial,.tool-icon{width:26px;height:26px}.tool-name{font-size:13px}.tool-desc{-webkit-line-clamp:2;font-size:12px;line-height:1.55}.card-footer{flex-wrap:wrap;gap:4px;margin-top:10px}.tool-tags{gap:4px}.tag{text-overflow:ellipsis;white-space:nowrap;max-width:80px;padding:0 5px;font-size:10.5px;overflow:hidden}.tool-score{font-size:11px}.tool-list{border-radius:12px}.tool-row{gap:12px;min-height:64px;padding:14px 16px}.tool-info .tool-desc{-webkit-line-clamp:2}.tool-meta{flex-shrink:0;gap:0;display:flex}.tool-meta .tool-tags{display:none}.controls{padding-top:2px}.view-toggle{border:1px solid var(--border);background:var(--bg2);border-radius:8px;padding:2px}.vt-btn{border-radius:6px;padding:7px 9px}.vt-btn.active{background:var(--bg);box-shadow:0 1px 2px #0000000d}.tetris-grid{perspective:none;grid-template-columns:repeat(4,1fr);grid-auto-rows:78px;gap:6px}.tetris-lg{grid-area:span 2/span 2}.tetris-wide,.tetris-tall{grid-area:span 1/span 2}.tetris-sm{grid-column:span 2}.tetris-lg .tetris-label{font-size:17px}.tetris-wide .tetris-label,.tetris-tall .tetris-label{font-size:14px}.tetris-label{font-size:13px}.tetris-block{padding:12px 14px}.tetris-block:hover{box-shadow:0 2px 8px #0000001f,inset 0 1px #ffffff26}.tetris-count-bg{font-size:30px;bottom:6px;right:10px}.tetris-lg .tetris-count-bg{font-size:52px}.tetris-wide .tetris-count-bg,.tetris-tall .tetris-count-bg{font-size:32px}.tetris-tool{max-width:72px;padding:1px 6px;font-size:10px}.aimap-viewport{touch-action:manipulation;background-size:20px 20px;border-radius:12px;height:280px}.aimap-viewport .map-node{padding:6px 10px;font-size:11px}.aimap-viewport .mn-label{font-size:11px}.aimap-viewport .mn-count{font-size:9px}.hero-banner{border-bottom:none;margin:4px 0 18px;padding:18px 0 14px}.hero-content{gap:18px}.hero-text{text-align:left}.hero-eyebrow{margin-bottom:10px;font-size:11px}.hero-title{letter-spacing:-.6px;line-height:1.18;font-size:28px!important}.hero-sub{max-width:none;margin-bottom:16px;font-size:14px}.hero-stats{background:var(--bg2);border:1px solid var(--border);border-radius:12px;justify-content:space-around;gap:10px;margin-bottom:16px;padding:12px 14px}.hero-stat-num{font-size:19px}.hero-stat-label{font-size:10.5px}.hero-stat-sep{height:22px}.hero-ctas{grid-template-columns:1fr 1fr;gap:8px;display:grid}.hero-btn{border-radius:10px;justify-content:center;width:100%;min-height:46px;padding:12px 14px;font-size:14px}.hero-visual{width:100%;max-width:300px;margin:2px auto 0}.hero-grid{gap:8px}.hero-cell{border-radius:12px}.reading-grid{grid-template-columns:1fr;gap:10px}.reading-card{border-radius:12px;padding:16px 18px}.reading-title{font-size:14px}.startups-page{padding:4px 0 32px}.startups-header{margin-bottom:16px}.startups-subtitle{font-size:12.5px;line-height:1.55}.startups-filters{margin-bottom:16px}.startups-tracks{scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;flex-wrap:nowrap;margin:0 -16px 12px;padding:0 16px;overflow-x:auto}.startups-tracks::-webkit-scrollbar{display:none}.startups-bar{flex-direction:column;gap:10px}.startups-search,.startups-select{border-radius:10px;min-height:44px;padding:12px 14px;font-size:16px}.startups-grid{grid-template-columns:1fr 1fr;gap:10px}.startup-card{border-radius:12px;padding:14px}.startup-desc{font-size:12px}.startup-name{font-size:14px}.startups-title{letter-spacing:-.3px;font-size:20px}.track-chip{scroll-snap-align:start;flex-shrink:0;min-height:38px;padding:8px 14px;font-size:13px}.tool-detail{padding:8px 0 24px}.td-header{gap:14px;margin-bottom:16px}.tool-icon.lg,.tool-initial.lg{border-radius:11px;width:52px;height:52px;font-size:19px}.td-name{flex-wrap:wrap;gap:6px;font-size:20px}.td-desc{margin:6px 0 10px;font-size:13px}.td-meta{gap:6px}.td-visit{text-align:center;border-radius:10px;margin-bottom:24px;padding:12px 18px!important;font-size:14px!important;display:block!important}.article-page{padding:28px 20px 36px}.article-title{letter-spacing:-.3px;font-size:22px}.article-subtitle{font-size:12px}.article-legend{flex-wrap:wrap;gap:16px}.page-view{padding:0 16px}.page-back-bar{padding:14px 0 4px}.page-back-bar .btn-sm{min-height:36px;padding:7px 14px;font-size:14px}.footer{padding:18px 16px;padding-bottom:max(18px, calc(18px + env(safe-area-inset-bottom)));flex-wrap:wrap;gap:4px 8px;font-size:11.5px;line-height:1.9}.footer a,.footer-link{align-items:center;min-height:28px;display:inline-flex}}@media (max-width:480px){.container{padding:0 14px}.header-inner{gap:8px;height:52px;padding:0 14px}.tool-grid{grid-template-columns:1fr}.tool-card{padding:15px 16px}.tool-desc{-webkit-line-clamp:2}.tetris-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:82px;gap:6px}.tetris-lg{grid-area:span 2/span 2}.tetris-wide{grid-column:span 2}.tetris-tall{grid-row:span 1}.tetris-tool{display:none}.tetris-lg .tetris-label{font-size:17px}.tetris-count-bg{font-size:32px}.tetris-lg .tetris-count-bg{font-size:48px}.hero-title{font-size:26px!important}.hero-sub{font-size:13.5px}.hero-visual{max-width:280px}.hero-cell{border-radius:12px}.startups-grid{grid-template-columns:1fr}.aimap-viewport{height:240px}}@media (max-width:360px){.header-inner{gap:6px;height:50px;padding:0 12px}.container{padding:0 12px}.logo-text{display:none}.hero-title{font-size:23px!important}.tetris-grid{grid-auto-rows:74px}.tetris-lg .tetris-label{font-size:15px}}.rec-modal{background:var(--bg);border-radius:12px;width:640px;max-width:95vw;max-height:85vh;animation:.2s modalSlide;overflow-y:auto;box-shadow:0 20px 60px #0003}.rec-page{padding:28px}.rec-header{align-items:center;gap:12px;margin-bottom:24px;display:flex}.rec-back{color:var(--text2);font-size:13px;transition:color .1s}.rec-back:hover{color:var(--text)}.rec-title{color:var(--text);font-size:18px;font-weight:700}.rec-steps{gap:6px;margin-left:auto;display:flex}.rec-step-dot{background:var(--border);border-radius:50%;width:8px;height:8px;transition:all .2s}.rec-step-dot.active{background:var(--accent);border-radius:4px;width:20px}.rec-grid-roles{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;display:grid}.rec-role-card{border:1.5px solid var(--border);background:var(--bg);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:10px;padding:22px 12px;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s;display:flex}.rec-role-card:hover{border-color:var(--text3);transform:translateY(-2px);box-shadow:0 6px 18px -8px #0000001f}.rec-role-on{border-color:var(--accent);background:var(--accent-light);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 15%, transparent)}.rec-role-icon{width:52px;height:52px;color:var(--role-color,var(--accent));background:color-mix(in srgb, var(--role-color,var(--accent)) 12%, transparent);border-radius:14px;justify-content:center;align-items:center;transition:transform .25s cubic-bezier(.34,1.56,.64,1),background .2s;display:inline-flex}.rec-role-card:hover .rec-role-icon{transform:scale(1.08)rotate(-2deg)}.rec-role-on .rec-role-icon{background:color-mix(in srgb, var(--role-color,var(--accent)) 20%, transparent)}.rec-role-label{color:var(--text);font-size:13px;font-weight:500}.rec-chips,.rec-tool-chips{flex-wrap:wrap;gap:8px;display:flex}.rec-chip{border:1.5px solid var(--border);background:var(--bg);color:var(--text2);border-radius:20px;padding:7px 16px;font-size:13px;transition:all .15s}.rec-chip:hover{border-color:var(--text3);color:var(--text)}.rec-chip-on{border-color:var(--accent);background:var(--accent-light);color:var(--accent);font-weight:500}.rec-hint{color:var(--text3);margin-bottom:14px;font-size:13px}.rec-body{min-height:200px}.rec-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;margin-top:24px;padding-top:16px;display:flex}.rec-loading{text-align:center;color:var(--text3);padding:60px 20px;font-size:14px}.rec-empty{text-align:center;color:var(--text3);padding:60px 20px}.rec-result-grid{background:var(--border);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:1px;display:flex;overflow:hidden}.rec-result-card{background:var(--bg);color:inherit;padding:14px 16px;transition:background .1s;display:block}.rec-result-card:hover{background:var(--bg2)}.rec-result-head{align-items:center;gap:10px;margin-bottom:4px;display:flex}.rec-icon{object-fit:contain;background:var(--bg2);border-radius:6px;flex-shrink:0;width:28px;height:28px}.rec-icon-fallback{background:var(--bg2);width:28px;height:28px;color:var(--text2);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.rec-result-info{flex:1;min-width:0}.rec-result-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;display:block;overflow:hidden}.rec-result-cat{color:var(--text3);text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.rec-badge-top{background:var(--accent-light);color:var(--accent);border-radius:3px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:600}.rec-result-reason{color:var(--accent);overflow-wrap:anywhere;word-break:break-word;margin:2px 0;font-size:12px;font-weight:500}.rec-result-desc{color:var(--text2);overflow-wrap:anywhere;word-break:break-word;margin:0;font-size:12px;line-height:1.5}.reading-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.reading-card{text-align:left;border:1px solid var(--border);background:var(--bg);border-radius:8px;flex-direction:column;gap:6px;padding:18px 20px;transition:all .15s;display:flex}.reading-card:hover{background:var(--bg2);border-color:var(--text3)}.reading-tag{color:var(--accent);background:var(--accent-light);border-radius:3px;align-self:flex-start;padding:1px 8px;font-size:11px;font-weight:600}.reading-title{color:var(--text);overflow-wrap:anywhere;word-break:break-word;font-size:15px;font-weight:600}.reading-desc{color:var(--text3);overflow-wrap:anywhere;word-break:break-word;font-size:12px}.page-view{width:100%;min-width:0;max-width:960px;margin:0 auto;padding:0 20px}.page-back-bar{padding:16px 0 0}.page-back-bar .btn-sm{color:var(--text2);font-size:13px}.page-back-bar .btn-sm:hover{color:var(--text)}.article-page{padding:40px 52px 48px}.article-title{color:var(--text);margin:0;font-size:28px;font-weight:700}.article-subtitle{color:var(--text3);margin:8px 0 0;font-size:13px}.article-legend{gap:24px;padding:0;display:flex}.legend-item{color:var(--text3);align-items:center;gap:8px;font-size:12px;display:flex}.legend-dot{border:1px solid #0000;border-radius:3px;width:12px;height:12px}.km-page{max-width:1100px;margin:0 auto;padding:40px 24px 56px}.roadmap-header{text-align:center;margin-bottom:56px}.roadmap-eyebrow{color:var(--text2);border:1px solid var(--border);background:var(--bg2);letter-spacing:.3px;border-radius:999px;align-items:center;gap:8px;margin-bottom:18px;padding:5px 14px;font-size:12px;font-weight:500;display:inline-flex}.roadmap-eyebrow-dot{background:#22c55e;border-radius:50%;width:6px;height:6px;animation:2.4s ease-in-out infinite hero-pulse;box-shadow:0 0 0 3px #22c55e40}.roadmap-title{letter-spacing:-.6px;color:var(--text);margin:0 0 12px;font-size:clamp(26px,3.6vw,40px);font-weight:700;line-height:1.2}.roadmap-subtitle{color:var(--text2);max-width:540px;margin:0 auto 22px;font-size:15px;line-height:1.6}.roadmap-stats{background:var(--bg2);border:1px solid var(--border);color:var(--text2);border-radius:999px;align-items:center;gap:18px;padding:10px 20px;font-size:13px;display:inline-flex}.roadmap-stats strong{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.roadmap-stat-sep{background:var(--border);width:1px;height:14px}.roadmap{padding:20px 0 60px;position:relative}.roadmap-spine{background:repeating-linear-gradient(to bottom, var(--border) 0, var(--border) 6px, transparent 6px, transparent 12px);pointer-events:none;width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.roadmap-stage{grid-template-columns:1fr 1fr;margin-bottom:48px;display:grid;position:relative}.roadmap-stage-left .roadmap-card{grid-column:1;margin-right:42px}.roadmap-stage-right .roadmap-card{grid-column:2;margin-left:42px}.roadmap-node{background:var(--bg);border:2px solid var(--stage-color);width:40px;height:40px;color:var(--stage-color);z-index:2;box-shadow:0 0 0 4px var(--bg), 0 4px 12px -4px color-mix(in srgb, var(--stage-color) 40%, transparent);border-radius:50%;justify-content:center;align-items:center;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s,background .25s;display:flex;position:absolute;top:24px;left:50%;transform:translate(-50%)}.roadmap-stage:hover .roadmap-node{transform:translate(-50%)scale(1.12)}.roadmap-stage-open .roadmap-node{background:var(--stage-color);color:#fff;box-shadow:0 0 0 4px var(--bg), 0 6px 20px -4px color-mix(in srgb, var(--stage-color) 60%, transparent)}.roadmap-stage:before{content:"";background:var(--stage-color);opacity:.3;z-index:1;height:2px;position:absolute;top:42px}.roadmap-stage-left:before{width:42px;margin-right:20px;right:50%}.roadmap-stage-right:before{width:42px;margin-left:20px;left:50%}.roadmap-card{border:1px solid var(--border);background:var(--bg);border-radius:14px;transition:transform .25s,border-color .25s,box-shadow .25s;overflow:hidden}.roadmap-card:hover{border-color:var(--stage-color);box-shadow:0 12px 28px -14px color-mix(in srgb, var(--stage-color) 30%, transparent);transform:translateY(-2px)}.roadmap-stage-open .roadmap-card{border-color:var(--stage-color);box-shadow:0 12px 32px -14px color-mix(in srgb, var(--stage-color) 35%, transparent)}.roadmap-card-head{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:18px 22px 20px;display:block;position:relative}.roadmap-card-head:before{content:"";background:var(--stage-color);width:3px;position:absolute;top:0;bottom:0;left:0}.roadmap-card-meta{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.roadmap-card-stage{color:var(--stage-color);letter-spacing:1.2px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px;font-weight:600}.roadmap-card-count{color:var(--text3);background:var(--bg2);border:1px solid var(--border);font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 8px;font-size:11px}.roadmap-card-title{color:var(--text);letter-spacing:-.2px;overflow-wrap:anywhere;word-break:break-word;margin:0 0 4px;font-size:18px;font-weight:700}.roadmap-card-desc{color:var(--text2);overflow-wrap:anywhere;word-break:break-word;margin:0 0 12px;font-size:13px;line-height:1.5}.roadmap-card-toggle{color:var(--stage-color);font-size:12px;font-weight:500;transition:transform .2s;display:inline-block}.roadmap-card:hover .roadmap-card-toggle{transform:translate(3px)}.roadmap-stage-open .roadmap-card:hover .roadmap-card-toggle{transform:translateY(-2px)}.roadmap-concepts{border-top:1px solid var(--border);grid-template-columns:1fr;gap:2px;max-height:420px;padding:4px 0 10px;animation:.25s dropIn;display:grid;overflow-y:auto}.roadmap-concept{border-left:3px solid #0000;flex-direction:column;gap:2px;padding:10px 22px;text-decoration:none;transition:background .15s,padding .15s;display:flex}.roadmap-concept:hover{background:color-mix(in srgb, var(--stage-color) 5%, transparent);border-left-color:var(--stage-color);padding-left:26px}.roadmap-concept-name{color:var(--text);overflow-wrap:anywhere;word-break:break-word;font-size:13px;font-weight:600}.roadmap-concept-desc{color:var(--text2);overflow-wrap:anywhere;word-break:break-word;font-size:12px;line-height:1.5}.roadmap-end{flex-direction:column;align-items:center;margin-top:16px;display:flex;position:relative}.roadmap-end-node{color:#fff;width:44px;height:44px;box-shadow:0 0 0 4px var(--bg), 0 8px 24px -8px #6366f180;z-index:2;background:linear-gradient(135deg,#6366f1,#ec4899);border-radius:50%;justify-content:center;align-items:center;display:flex}.roadmap-end-text{color:var(--text2);margin-top:14px;font-size:13px;font-weight:500}@media (max-width:768px){.km-page{padding:24px 16px 40px}.roadmap-header{margin-bottom:32px}.roadmap-stats{gap:12px;padding:8px 16px;font-size:12px}.roadmap-spine{left:24px}.roadmap-stage{margin-bottom:28px;display:block}.roadmap-stage-left .roadmap-card,.roadmap-stage-right .roadmap-card{grid-column:unset;margin-left:64px;margin-right:0}.roadmap-node{width:36px;height:36px;top:20px;left:24px}.roadmap-stage:before{width:40px;margin:0 0 0 20px;top:36px;left:24px;right:auto}.roadmap-end{margin-left:0}.roadmap-end-node{position:static;transform:none}.roadmap-card-head{padding:16px 18px}.roadmap-card-title{font-size:16px}.roadmap-concepts{max-height:320px}}.km-wiki-back{color:var(--text2);align-items:center;gap:4px;margin-bottom:20px;font-size:13px;display:inline-flex}.km-wiki-back:hover{color:var(--text)}.km-wiki{max-width:680px;margin:0 auto}.km-wiki-badge{color:var(--accent);background:var(--accent-light);border-radius:10px;margin-bottom:12px;padding:2px 10px;font-size:11px;font-weight:500;display:inline-block}.km-wiki-title{color:var(--text);margin:0 0 8px;font-size:28px;font-weight:700}.km-wiki-summary{color:var(--text2);margin:0 0 28px;font-size:16px;line-height:1.6}.km-wiki-body{color:var(--text);font-size:14px;line-height:1.8}.km-wiki-body p{white-space:pre-line;margin:0 0 16px}.km-wiki-related{border-top:1px solid var(--border);margin-top:32px;padding-top:24px}.km-wiki-related-title{color:var(--text2);margin:0 0 12px;font-size:14px;font-weight:600}.km-wiki-related-list{flex-wrap:wrap;gap:8px;display:flex}.km-wiki-related-tag{border:1px solid var(--border);color:var(--accent);background:var(--bg);cursor:pointer;border-radius:14px;padding:4px 12px;font-size:13px;transition:all .12s}.km-wiki-related-tag:hover{background:var(--accent-light);border-color:var(--accent)}.km-wiki-related-tag-dim{color:var(--text3);cursor:default}.km-wiki-related-tag-dim:hover{background:var(--bg);border-color:var(--border)}@media (max-width:768px){.km-page{padding:28px 16px 36px}.km-branches{flex-direction:column;gap:16px;padding-top:0}.km-branches:before,.km-bstem{display:none}.km-stem{height:16px}.km-title,.km-wiki-title{font-size:22px}}.tool-detail{max-width:720px;margin:0 auto;padding:20px 0 40px}.td-header{align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.tool-icon.lg{border-radius:12px;width:56px;height:56px}.tool-initial.lg{border-radius:12px;justify-content:center;align-items:center;width:56px;height:56px;font-size:22px;display:flex}.td-info{flex:1;min-width:0}.td-name{color:var(--text);overflow-wrap:anywhere;word-break:break-word;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;margin:0;font-size:22px;font-weight:700;display:flex}.td-desc{color:var(--text2);overflow-wrap:anywhere;word-break:break-word;margin:6px 0 12px;font-size:14px;line-height:1.6}.td-meta{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.td-visit{margin-bottom:32px;text-decoration:none;display:inline-block}.td-related{margin-top:24px}.td-related-title{color:var(--text);margin:0 0 16px;font-size:16px;font-weight:600}.skip-link{background:var(--accent);color:#fff;z-index:1000;border-radius:4px;padding:8px 16px;font-size:13px;transition:top .15s;position:absolute;top:-100px;left:16px}.skip-link:focus{top:8px}@media (min-width:769px) and (max-width:1024px){.container{padding:0 20px}.header-inner{gap:12px}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.tetris-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:85px}}@media (min-width:1440px){.container,.header-inner{max-width:1400px;margin:0 auto}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (min-width:1920px){.container,.header-inner{max-width:1600px}}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}select:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.startups-page{padding:8px 0 40px}.startups-header{margin-bottom:24px}.startups-title{color:var(--text);margin:0 0 6px;font-size:22px;font-weight:700}.startups-subtitle{color:var(--text2);margin:0;font-size:13px}.startups-filters{margin-bottom:20px}.startups-tracks{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.track-chip{color:var(--text2);background:var(--bg2);border:1px solid var(--border);cursor:pointer;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;transition:all .15s;display:inline-flex}.track-chip:hover{color:var(--chip-color,var(--text));border-color:var(--chip-color,var(--text3))}.track-chip.active{color:#fff;background:var(--chip-color,var(--accent));border-color:var(--chip-color,var(--accent))}.track-icon{color:var(--chip-color,currentColor);justify-content:center;align-items:center;display:inline-flex}.track-chip.active .track-icon{color:#fff}.track-count{opacity:.6;font-size:11px}.startups-bar{gap:8px;display:flex}.startups-search{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;outline:none;flex:1;padding:8px 12px;font-size:13px}.startups-search:focus{border-color:var(--accent)}.startups-select{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:6px;padding:8px 12px;font-size:13px}.startups-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;display:grid}.startup-card{background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:8px;flex-direction:column;gap:8px;padding:16px;transition:transform .15s,box-shadow .15s;display:flex}.startup-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.startup-card-head{align-items:center;gap:10px;display:flex}.startup-icon{object-fit:contain;background:var(--bg2);border-radius:6px;width:32px;height:32px}.startup-initial{background:var(--bg2);width:32px;height:32px;color:var(--text2);border-radius:6px;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.startup-card-info{flex:1;min-width:0}.startup-name-line{align-items:center;gap:6px;min-width:0;display:flex}.startup-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.startup-meta{color:var(--text3);text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.startup-desc{color:var(--text2);-webkit-line-clamp:2;overflow-wrap:anywhere;word-break:break-word;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.startup-card-foot{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.startup-track{color:var(--chip-color,var(--text2));background:color-mix(in srgb, var(--chip-color,var(--text2)) 10%, transparent);border-radius:3px;padding:2px 8px;font-size:11px}.startup-stage{color:var(--text3);background:var(--bg2);border-radius:3px;padding:2px 8px;font-size:11px}@media (max-width:480px){.startups-grid{grid-template-columns:1fr}.startups-bar{flex-direction:column}}@media (prefers-contrast:high){:root{--text2:#555;--text3:#777;--border:#999}[data-theme=dark]{--text2:#bbb;--text3:#999;--border:#777}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (min-width:481px) and (max-width:768px){.btn-sm span{display:inline}.btn-sm{padding:4px 8px;font-size:12px}.meta-count{display:none}}.rive-skeleton{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 6%, transparent), color-mix(in srgb, var(--accent) 2%, transparent));border-radius:inherit;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.hero-banner{border-bottom:1px solid var(--border);margin:4px 0 28px;padding:32px 4px 24px}.hero-content{grid-template-columns:1fr auto;align-items:center;gap:48px;display:grid}.hero-text{min-width:0}.hero-eyebrow{color:var(--text2);letter-spacing:.2px;align-items:center;gap:8px;margin-bottom:16px;font-size:12px;font-weight:500;display:inline-flex}.hero-dot{background:#22c55e;border-radius:50%;width:6px;height:6px;animation:2.4s ease-in-out infinite hero-pulse;box-shadow:0 0 0 3px #22c55e40}@keyframes hero-pulse{0%,to{opacity:1}50%{opacity:.55}}.hero-title{letter-spacing:-.8px;color:var(--text);margin:0 0 10px;font-size:clamp(28px,3.4vw,40px);font-weight:700;line-height:1.15}.hero-sub{color:var(--text2);max-width:540px;margin:0 0 20px;font-size:15px;line-height:1.6}.hero-sub strong{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.hero-stats{align-items:center;gap:20px;margin-bottom:22px;display:flex}.hero-stat{flex-direction:column;gap:2px;display:flex}.hero-stat-num{color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.3px;font-size:22px;font-weight:600}.hero-stat-label{color:var(--text3);letter-spacing:.3px;font-size:11px}.hero-stat-sep{background:var(--border);width:1px;height:28px}.hero-ctas{flex-wrap:wrap;gap:10px;display:flex}.hero-btn{cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:9px 18px;font-size:13px;font-weight:500;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.hero-btn-primary{background:var(--text);color:var(--bg)}.hero-btn-primary:hover{opacity:.9;transform:translateY(-1px)}.hero-btn-ghost{color:var(--text);border-color:var(--border);background:0 0}.hero-btn-ghost:hover{border-color:var(--text3);background:var(--bg2)}.hero-visual{flex-shrink:0;width:264px}.hero-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.hero-cell{aspect-ratio:1;border:1px solid var(--border);background:var(--bg);opacity:0;border-radius:14px;justify-content:center;align-items:center;transition:transform .2s,border-color .2s,box-shadow .2s;animation:.5s cubic-bezier(.34,1.56,.64,1) forwards hero-cell-in;display:flex}.hero-cell:hover{border-color:var(--text3);transform:translateY(-3px)scale(1.04);box-shadow:0 8px 20px -10px #00000026}.hero-cell .tool-icon,.hero-cell .tool-initial{width:30px;height:30px;font-size:14px}@keyframes hero-cell-in{0%{opacity:0;transform:translateY(10px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:768px){.hero-banner{margin-bottom:20px;padding:20px 4px 18px}.hero-content{grid-template-columns:1fr;gap:24px}.hero-visual{width:100%;max-width:280px}.hero-title{font-size:26px}.hero-sub{font-size:14px}.hero-stats{gap:14px}.hero-stat-num{font-size:20px}}.rec-loading{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:320px;padding:40px 20px;display:flex}.rec-loading-rive{width:200px;height:200px}.rec-loading-text{color:var(--text2);font-size:14px;animation:2s ease-in-out infinite hero-pulse}.btn-mobile-menu{display:none}.mobile-drawer-overlay{-webkit-backdrop-filter:blur(2px);z-index:250;background:#0000006b;animation:.2s fadeIn;display:none;position:fixed;top:0;bottom:0;left:0;right:0}.mobile-drawer{background:var(--bg);padding:8px 0 calc(12px + env(safe-area-inset-bottom));z-index:251;-webkit-overflow-scrolling:touch;border-radius:20px 20px 0 0;max-height:85vh;animation:.32s cubic-bezier(.22,1,.36,1) sheetSlideUp;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -20px 60px #00000029}.mobile-drawer-handle{background:var(--border);border-radius:999px;width:40px;height:4px;margin:10px auto 6px}.mobile-drawer-title{color:var(--text3);letter-spacing:.5px;text-transform:uppercase;padding:14px 22px 6px;font-size:12px;font-weight:600}.mobile-drawer-item{width:100%;min-height:56px;color:var(--text);text-align:left;align-items:center;gap:14px;padding:15px 22px;font-size:15px;transition:background .12s;display:flex}.mobile-drawer-item:active{background:var(--bg-active)}.mobile-drawer-item .drawer-icon{background:var(--bg2);width:36px;height:36px;color:var(--text2);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.mobile-drawer-item.featured .drawer-icon{background:var(--accent-light);color:var(--accent)}.mobile-drawer-item .drawer-label{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:500}.mobile-drawer-item .drawer-desc{color:var(--text3);margin-top:2px;font-size:12px;font-weight:400;display:block}.mobile-drawer-item .drawer-arrow{color:var(--text3);flex-shrink:0}.mobile-drawer-divider{background:var(--border);height:1px;margin:6px 22px}.mobile-drawer-footer{color:var(--text3);text-align:center;padding:14px 22px 4px;font-size:11px}@media (max-width:768px){.mobile-drawer-overlay{display:block}.modal-overlay{background:#00000073;align-items:flex-end}.modal{padding:22px 20px;padding-bottom:calc(22px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;border-radius:20px 20px 0 0;max-height:92vh;animation:.3s cubic-bezier(.22,1,.36,1) sheetSlideUp;position:relative;overflow-y:auto;width:100%!important;max-width:100%!important}.modal:before{content:"";background:var(--border);border-radius:999px;width:40px;height:4px;margin:-10px auto 14px;display:block;position:sticky;top:-22px;left:50%}.modal-title{margin-bottom:16px;font-size:18px}.modal-input{border-radius:10px;min-height:44px;padding:11px 12px;font-size:16px}textarea.modal-input{min-height:80px}.modal-label{margin-bottom:6px;font-size:13px}.modal-field{margin-bottom:16px}.modal-actions{border-top:1px solid var(--border);gap:10px;margin-top:18px;padding-top:14px}.modal-actions .btn-sm{flex:1;justify-content:center;min-height:46px;padding:12px 16px;font-size:14px}.btn-autofill,.btn-upload{border-radius:8px;min-height:38px;padding:9px 16px;font-size:13px}.modal-icon-hint{width:100%;font-size:12px}.modal-icon-preview{width:40px;height:40px}.rec-modal{border-radius:20px 20px 0 0;max-height:92vh;animation:.3s cubic-bezier(.22,1,.36,1) sheetSlideUp;width:100%!important;max-width:100%!important}.rec-page{padding:20px 18px;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.rec-page:before{content:"";background:var(--border);border-radius:999px;width:40px;height:4px;margin:-6px auto 14px;display:block}.rec-header{flex-wrap:wrap;gap:10px;margin-bottom:18px}.rec-back{align-items:center;min-height:36px;font-size:14px;display:inline-flex}.rec-title{font-size:16px;font-weight:700}.rec-steps{margin-left:0}.rec-grid-roles{grid-template-columns:repeat(3,1fr);gap:10px}.rec-role-card{border-radius:14px;gap:8px;padding:16px 8px}.rec-role-icon{border-radius:12px;width:44px;height:44px}.rec-role-icon svg{width:24px;height:24px}.rec-role-label{font-size:12px}.rec-chips,.rec-tool-chips{gap:7px}.rec-chip{min-height:38px;padding:9px 14px;font-size:13px}.rec-hint{font-size:13px}.rec-footer{gap:10px;margin-top:18px;padding-top:14px}.rec-footer .btn-sm{flex:1;justify-content:center;min-height:46px;padding:13px 18px;font-size:14px}.rec-result-card{padding:14px 16px}.rec-result-name{font-size:14px}.admin-modal{border-radius:20px 20px 0 0;max-height:94vh;animation:.3s cubic-bezier(.22,1,.36,1) sheetSlideUp;width:100%!important;max-width:100%!important}.admin-header{padding:16px 18px}.admin-title{font-size:17px}.admin-list{padding:12px 16px;padding-bottom:calc(24px + env(safe-area-inset-bottom));gap:14px}.admin-card{border-radius:12px;padding:14px}.admin-field-row{flex-direction:column;gap:10px}.admin-field input,.admin-field select,.admin-field textarea{min-height:38px;padding:9px 11px;font-size:15px}.admin-actions .btn-sm{flex:1;justify-content:center;min-height:40px}}@keyframes sheetSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (max-width:768px){.km-page{padding:22px 14px 40px}.roadmap-eyebrow{margin-bottom:14px;padding:5px 12px;font-size:11px}.roadmap-title{letter-spacing:-.4px;font-size:clamp(22px,6.5vw,30px)}.roadmap-subtitle{margin-bottom:18px;font-size:13.5px}.roadmap-stats{gap:11px;padding:9px 15px;font-size:12px}.roadmap-header{margin-bottom:26px}.roadmap{padding:8px 0 40px}.roadmap-stage{margin-bottom:22px}.roadmap-node{width:34px;height:34px}.roadmap-card{border-radius:12px;margin-left:58px!important}.roadmap-card-head{padding:15px 16px 17px}.roadmap-card-title{letter-spacing:-.1px;font-size:16px}.roadmap-card-desc{margin-bottom:10px;font-size:12.5px}.roadmap-card-stage{font-size:9.5px}.roadmap-card-count{padding:2px 7px;font-size:10.5px}.roadmap-concept{padding:11px 18px}.roadmap-concept-name{font-size:13px}.roadmap-concept-desc{font-size:11.5px}.km-wiki{padding:0}.km-wiki-title{letter-spacing:-.3px;font-size:24px}.km-wiki-summary{margin-bottom:22px;font-size:15px}.km-wiki-body{font-size:14.5px;line-height:1.75}.km-wiki-related-list{gap:6px}.km-wiki-related-tag{align-items:center;min-height:34px;padding:6px 12px;font-size:12.5px;display:inline-flex}}.decision-tree-scroll{-webkit-overflow-scrolling:touch;margin:20px -16px;position:relative;overflow-x:auto}@media (max-width:768px){.decision-tree-scroll{scroll-snap-type:x proximity;margin:16px -16px;padding-bottom:8px}.decision-tree-scroll:after{content:"";pointer-events:none;background:linear-gradient(to right, transparent, var(--bg));width:32px;height:100%;display:block;position:sticky;top:0;right:0}.decision-tree-scroll svg{padding-right:16px}.rec-result-grid,.km-wiki-body,.admin-modal,.rec-modal,.modal{-webkit-overflow-scrolling:touch}}@media (hover:none) and (pointer:coarse){.tool-card:hover,.reading-card:hover,.tool-row:hover,.hero-cell:hover,.hero-btn-primary:hover,.tetris-block:hover,.roadmap-card:hover,.startup-card:hover,.rec-role-card:hover,.rec-result-card:hover{transform:none}.tool-card:active,.reading-card:active,.tool-row:active,.roadmap-card:active,.startup-card:active{background:var(--bg-active);transition:background 50ms}}@supports (padding:env(safe-area-inset-top)){.header{padding-top:env(safe-area-inset-top)}}body.mobile-no-scroll{width:100%;position:fixed;overflow:hidden}.error-boundary{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.error-boundary-inner{text-align:center;border:1px solid var(--border);background:var(--bg);border-radius:8px;max-width:480px;padding:32px 24px}.error-boundary-icon{background:var(--hot);color:#fff;border-radius:50%;width:48px;height:48px;margin:0 auto 16px;font-size:28px;font-weight:700;line-height:48px}.error-boundary-title{color:var(--text);margin-bottom:8px;font-size:18px;font-weight:600}.error-boundary-desc{color:var(--text2);margin-bottom:16px;font-size:13px;line-height:1.6}.error-boundary-detail{color:var(--text3);background:var(--bg2);border:1px solid var(--border);text-align:left;white-space:pre-wrap;word-break:break-word;border-radius:4px;max-height:120px;margin-bottom:16px;padding:8px 10px;font-size:11px;overflow:auto}.error-boundary-actions{justify-content:center;gap:8px;display:flex}}@layer utilities;
