.IframePanel_backdrop__nPZQv{position:fixed;inset:0;z-index:200;pointer-events:none}.IframePanel_window__GVOZQ{position:fixed;z-index:201;pointer-events:all;display:flex;flex-direction:column;background:#faf9f6;border:1px solid rgba(0,0,0,.1);border-radius:10px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.1),0 1px 4px rgba(0,0,0,.06);animation:IframePanel_windowPop__Q_f_I .18s cubic-bezier(.32,.72,0,1);top:50%;left:50%;transform:translate(-50%,-30%);width:780px;height:580px}.IframePanel_window__GVOZQ[style*="left:"]{transform:none}@keyframes IframePanel_windowPop__Q_f_I{0%{opacity:0;transform:scale(.97) translate(-50%,-30%)}to{opacity:1;transform:scale(1) translate(-50%,-30%)}}.IframePanel_titleBar__3aJjs{display:flex;align-items:center;gap:8px;padding:0 12px;height:36px;background:#e8e6e0;border-bottom:1px solid rgba(0,0,0,.07);cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0}.IframePanel_titleBar__3aJjs:active{cursor:-webkit-grabbing;cursor:grabbing}.IframePanel_titleBarLeft__96oHK{display:flex;align-items:center;gap:6px;flex-shrink:0}.IframePanel_closeBtn__4eqfh{width:13px;height:13px;border-radius:50%;border:none;background:rgba(0,0,0,.15);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0}.IframePanel_closeBtn__4eqfh:hover{background:#ee138b}.IframePanel_closeDot__eDluh{width:5px;height:5px;border-radius:50%;background:transparent;transition:background .15s}.IframePanel_closeBtn__4eqfh:hover .IframePanel_closeDot__eDluh{background:rgba(0,0,0,.4)}.IframePanel_windowTitle__Gzel_{flex:1 1;text-align:center;font-size:12px;font-family:var(--font-mono,monospace);color:rgba(0,0,0,.4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.IframePanel_externalBtn__c3rl2{font-size:11px;font-family:monospace;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#3a7a6a;text-decoration:none;flex-shrink:0;padding:5px 10px;border-radius:4px;border:2px solid #3a7a6a;background:#feffed;transition:background .15s,color .15s,border-color .15s;cursor:pointer;line-height:1;white-space:nowrap}.IframePanel_externalBtn__c3rl2:hover{background:#a8dcc8;color:#1a4a3a;border-color:#a8dcc8}.IframePanel_body__lmKom{flex:1 1;position:relative;overflow:hidden;pointer-events:all}.IframePanel_iframe__ftUvb{width:100%;height:100%;border:none;display:block}.IframePanel_loading__2vA4r{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-family:var(--font-mono,monospace);color:rgba(0,0,0,.25);pointer-events:none;transition:opacity .2s}.IframePanel_dots__h3qux{animation:IframePanel_blink__cV6SC 1.2s step-start infinite}@keyframes IframePanel_blink__cV6SC{0%,to{opacity:1}33%{opacity:.2}66%{opacity:.6}}.IframePanel_blocked__4k9lB{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.IframePanel_blocked__4k9lB p{font-size:13px;color:rgba(0,0,0,.35);margin:0}.IframePanel_blockedLink__EmUxI{font-size:12px;font-family:var(--font-mono,monospace);color:rgba(0,0,0,.5);border:1px solid rgba(0,0,0,.12);border-radius:6px;padding:6px 14px;text-decoration:none}.IframePanel_blockedLink__EmUxI:hover{background:rgba(0,0,0,.04)}@media (max-width:640px){.IframePanel_backdrop__nPZQv{pointer-events:all;background:rgba(0,0,0,.2)}.IframePanel_window__GVOZQ{top:auto!important;left:0!important;bottom:0;width:100%!important;height:88vh!important;border-radius:16px 16px 0 0;transform:none!important;animation:IframePanel_sheetUp__gqKqv .22s cubic-bezier(.32,.72,0,1);box-shadow:0 -4px 24px rgba(0,0,0,.1)}@keyframes IframePanel_sheetUp__gqKqv{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.IframePanel_titleBar__3aJjs{cursor:default}}.ProjectBox_card__2kPV7{position:relative;display:flex;flex-direction:column;min-width:0;max-width:100%;border:.5px solid var(--card-border,rgba(0,0,0,.08));border-radius:12px;overflow:hidden;background:var(--surface-card,#fff)}.ProjectBox_card__2kPV7.ProjectBox_card__2kPV7{overflow:hidden;padding-top:0;padding-bottom:0;align-items:stretch;background:var(--surface-card,#fff);min-height:0}.ProjectBox_thumb__llc7F{display:block;position:relative;width:100%;aspect-ratio:16/10;text-decoration:none;background-color:#fff;overflow:hidden}.ProjectBox_thumb__llc7F:focus-visible{outline:2px solid var(--border-accent,#8b7ab8);outline-offset:-2px}.ProjectBox_thumbImg__xZ3_K{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;display:block;background:transparent!important;mix-blend-mode:normal!important}.ProjectBox_thumbPlaceholder__fvjga{display:flex;align-items:flex-end;padding:10px}.ProjectBox_catTag__dZIZM{position:absolute;top:10px;left:10px;font-family:var(--font-code,monospace);font-size:.62rem;text-transform:lowercase;letter-spacing:.05em;padding:3px 9px;border-radius:999px;background:var(--cat-tag-bg,hsla(0,0%,100%,.85));color:var(--text-primary,#333);z-index:1}.ProjectBox_badgeOverlay__EYQ8R{position:absolute!important;top:10px!important;right:10px!important;bottom:auto!important;left:auto!important}.ProjectBox_body__12AHm{padding:18px 18px 4px;min-width:0}.ProjectBox_title__VKeLx{font-family:var(--font-display,inherit);font-weight:400;font-size:1.05rem;line-height:1.3;margin:0 0 8px;color:var(--text-primary,#1a1a1a);overflow-wrap:anywhere}.ProjectBox_desc__4RYmy{font-family:var(--font-body,"Space Grotesk",sans-serif);font-size:.85rem;color:var(--text-secondary,#555);line-height:1.55;margin:0 0 16px;overflow-wrap:anywhere}.ProjectBox_metaRow__UO5Dv{padding-top:12px;border-top:1px dashed var(--card-hairline,rgba(0,0,0,.1));min-width:0}.ProjectBox_stack__skoEN{font-family:var(--font-code,monospace);font-size:.68rem;color:var(--text-muted,#888);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.ProjectBox_cornerLinks__PCL4k{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;padding:0 18px 18px;margin-top:4px}.ProjectBox_linksHoverOnly__0qSLi{opacity:0;transform:translateY(2px);transition:opacity .2s ease,transform .2s ease}.ProjectBox_card__2kPV7:focus-within .ProjectBox_linksHoverOnly__0qSLi,.ProjectBox_card__2kPV7:hover .ProjectBox_linksHoverOnly__0qSLi{opacity:1;transform:translateY(0)}.ProjectBox_linkPill__c9YZV{font-family:var(--font-code,monospace);font-size:.68rem;font-weight:600;text-decoration:none;padding:4px 9px;border-radius:999px;color:inherit;white-space:nowrap}.ProjectBox_linkPill__c9YZV:focus-visible{outline:2px solid var(--text-primary,#1a1a1a);outline-offset:2px}.ProjectBox_card__2kPV7[data-category=code] .ProjectBox_catTag__dZIZM,.ProjectBox_card__2kPV7[data-category=code] .ProjectBox_linkPill__c9YZV{color:var(--pb-ink-code,#1f5c33)}.ProjectBox_card__2kPV7[data-category=code] .ProjectBox_linkPill__c9YZV{background:var(--pb-bg-code,#dcf1de)}.ProjectBox_card__2kPV7[data-category=design] .ProjectBox_catTag__dZIZM,.ProjectBox_card__2kPV7[data-category=design] .ProjectBox_linkPill__c9YZV{color:var(--pb-ink-design,#8f3b5c)}.ProjectBox_card__2kPV7[data-category=design] .ProjectBox_linkPill__c9YZV{background:var(--pb-bg-design,#f8dbe9)}.ProjectBox_card__2kPV7[data-category=electronics] .ProjectBox_catTag__dZIZM,.ProjectBox_card__2kPV7[data-category=electronics] .ProjectBox_linkPill__c9YZV{color:var(--pb-ink-electronics,#3d2f6b)}.ProjectBox_card__2kPV7[data-category=electronics] .ProjectBox_linkPill__c9YZV{background:var(--pb-bg-electronics,#e7defc)}.ProjectBox_card__2kPV7[data-category=text] .ProjectBox_catTag__dZIZM,.ProjectBox_card__2kPV7[data-category=text] .ProjectBox_linkPill__c9YZV{color:var(--pb-ink-text,#1f5070)}.ProjectBox_card__2kPV7[data-category=text] .ProjectBox_linkPill__c9YZV{background:var(--pb-bg-text,#dceefa)}.ProjectBox_tagRow__PAaAe{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.ProjectBox_tag__4_mQc{font-size:.62rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:var(--tag-bg,rgba(0,0,0,.04));color:var(--text-secondary,#666)}@media (max-width:640px){.ProjectBox_linksHoverOnly__0qSLi{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ProjectBox_linksHoverOnly__0qSLi{transition:none}}.ProjectBox_card__2kPV7[data-compact]{width:var(--drawer-card-w,260px);min-width:var(--drawer-card-w,260px)}.ProjectBox_card__2kPV7[data-compact] .ProjectBox_body__12AHm{font-size:.85rem;padding-bottom:4px}.ProjectBox_card__2kPV7[data-compact] .ProjectBox_tagRow__PAaAe{gap:6px;margin-top:10px}.ProjectBox_card__2kPV7[data-compact] .ProjectBox_tag__4_mQc{font-size:.58rem;padding:3px 8px}.ProjectBox_card__2kPV7[data-compact] .ProjectBox_cornerLinks__PCL4k{gap:8px;margin-top:10px}.ProjectBox_card__2kPV7[data-compact] .ProjectBox_linkPill__c9YZV{font-size:.62rem;padding:4px 9px}[data-theme=dark] .ProjectBox_card__2kPV7,[data-theme=dark] .ProjectBox_card__2kPV7.ProjectBox_card__2kPV7{--card-border:hsla(0,0%,100%,.12);--card-hairline:hsla(0,0%,100%,.14);--cat-tag-bg:rgba(22,21,28,.82);--tag-bg:hsla(0,0%,100%,.08);--pb-ink-code:#a8e0b8;--pb-bg-code:#223326;--pb-ink-design:#e0b8d8;--pb-bg-design:#332430;--pb-ink-electronics:#cbb8f0;--pb-bg-electronics:#2a2740;--pb-ink-text:#a0d0f0;--pb-bg-text:#1e2c33}[data-theme=accessible] .ProjectBox_card__2kPV7,[data-theme=accessible] .ProjectBox_card__2kPV7.ProjectBox_card__2kPV7{--card-border:#000;--card-hairline:#000;--cat-tag-bg:#fff;--tag-bg:#f0f0f0;--pb-ink-code:#000;--pb-bg-code:#fff;--pb-ink-design:#000;--pb-bg-design:#fff;--pb-ink-electronics:#000;--pb-bg-electronics:#fff;--pb-ink-text:#000;--pb-bg-text:#fff;border-width:2px}[data-theme=accessible] .ProjectBox_catTag__dZIZM,[data-theme=accessible] .ProjectBox_linkPill__c9YZV,[data-theme=accessible] .ProjectBox_tag__4_mQc{border:1px solid #000}[data-theme=accessible] .ProjectBox_tag__4_mQc{font-size:11px;padding:4px 10px}[data-theme=accessible] .ProjectBox_linkPill__c9YZV{font-size:12px;padding:5px 10px}[data-theme=accessible] .ProjectBox_catTag__dZIZM{font-size:11px}[data-theme=accessible] .ProjectBox_card__2kPV7[data-compact] .ProjectBox_tag__4_mQc{font-size:10px;padding:3px 8px}[data-theme=accessible] .ProjectBox_card__2kPV7[data-compact] .ProjectBox_linkPill__c9YZV{font-size:11px;padding:4px 9px}[data-theme=accessible] .ProjectBox_title__VKeLx{font-size:1.2rem}[data-theme=accessible] .ProjectBox_desc__4RYmy{font-size:1rem}[data-theme=accessible] .ProjectBox_card__2kPV7,[data-theme=accessible] .ProjectBox_card__2kPV7.ProjectBox_card__2kPV7{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:2px 14px;width:100%;max-width:720px;margin:0 auto;text-align:left;border:none!important;border-top:.5px solid #000!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}[data-theme=accessible] .ProjectBox_card__2kPV7.ProjectBox_card__2kPV7:hover,[data-theme=accessible] .ProjectBox_card__2kPV7:hover{transform:none;box-shadow:none!important}[data-theme=accessible] .ProjectBox_thumb__llc7F{width:100%;aspect-ratio:auto;display:block;background:transparent;overflow:visible;order:1}[data-theme=accessible] .ProjectBox_thumbImg__xZ3_K{display:none}[data-theme=accessible] .ProjectBox_thumbPlaceholder__fvjga{padding:.85rem 0 0;align-items:flex-start}[data-theme=accessible] .ProjectBox_catTag__dZIZM{position:static;display:block;margin:0!important;padding:0!important;background:transparent!important;border:none!important;font-weight:600}[data-theme=accessible] .ProjectBox_badgeOverlay__EYQ8R{display:none}[data-theme=accessible] .ProjectBox_body__12AHm{order:2;flex:1 1 auto;min-width:0;width:100%;padding:0 0 .6rem}[data-theme=accessible] .ProjectBox_title__VKeLx{margin:2px 0 6px}[data-theme=accessible] .ProjectBox_desc__4RYmy{margin:0 0 10px;max-width:62ch}[data-theme=accessible] .ProjectBox_metaRow__UO5Dv{border-top:none;padding-top:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px}[data-theme=accessible] .ProjectBox_stack__skoEN{white-space:normal;overflow:visible;text-overflow:clip}[data-theme=accessible] .ProjectBox_tagRow__PAaAe{gap:0;margin-top:0}[data-theme=accessible] .ProjectBox_card__2kPV7[data-compact] .ProjectBox_tag__4_mQc,[data-theme=accessible] .ProjectBox_tag__4_mQc{background:transparent!important;border:none!important;padding:0!important;font-size:.78rem!important;font-weight:400!important;letter-spacing:normal!important;text-transform:none!important;color:var(--text-muted,#333)!important}[data-theme=accessible] .ProjectBox_tag__4_mQc:before{content:" · "}[data-theme=accessible] .ProjectBox_tag__4_mQc:first-child:before{content:""}[data-theme=accessible] .ProjectBox_cornerLinks__PCL4k{order:3;flex:none;width:100%;padding:0 0 .85rem;margin:0;gap:2px 16px}[data-theme=accessible] .ProjectBox_linksHoverOnly__0qSLi{opacity:1!important;transform:none!important}[data-theme=accessible] .ProjectBox_card__2kPV7[data-compact] .ProjectBox_linkPill__c9YZV,[data-theme=accessible] .ProjectBox_linkPill__c9YZV{background:transparent!important;border:none!important;border-radius:0!important;padding:0!important;font-size:.85rem!important;font-weight:500!important;text-decoration:underline!important;text-underline-offset:2px}[data-theme=accessible] .ProjectBox_card__2kPV7[data-compact]{width:100%!important;max-width:720px!important;min-width:0!important}[data-theme=accessible] .ProjectBox_catTag__dZIZM{display:none!important}[data-theme=accessible] .ProjectBox_tagRow__PAaAe{gap:0!important}[data-theme=accessible] .ProjectBox_tag__4_mQc:before{content:"\00a0·\00a0"!important}[data-theme=accessible] .ProjectBox_stack__skoEN{color:var(--text-primary,#000)!important;font-weight:600!important}[data-theme=accessible] .ProjectBox_tag__4_mQc{color:var(--text-muted,#333)!important;font-weight:400!important}[data-theme=accessible] .ProjectBox_tag__4_mQc:first-child:before{content:""!important}