[data-theme=claude],:root{--bg:#1b1a19;--panel:#262422;--fg:#e8e3dc;--dim:#8d8780;--line:#3a3632;--a:#d97757;--b:#e9b872;--ok:#6cc08b;--warn:#e9b872;--err:#f0707e;--ink:#1b1a19;--hi:#fff4ea}[data-theme=laut]{--bg:#0f1a1f;--panel:#16252b;--fg:#d3e4e6;--dim:#6f8a91;--line:#26393f;--a:#4cc9c0;--b:#f2c14e;--ok:#8fd694;--warn:#f2c14e;--err:#ef6f6c;--ink:#0f1a1f;--hi:#fff}[data-theme=senja]{--bg:#1a1411;--panel:#251c17;--fg:#ecdccb;--dim:#8d7667;--line:#3a2c24;--a:#f4a259;--b:#e5626c;--ok:#a8c97f;--warn:#f4a259;--err:#e5626c;--ink:#1a1411;--hi:#fff1e0}[data-theme=hutan]{--bg:#0f1a14;--panel:#16251c;--fg:#d6e5d3;--dim:#74907c;--line:#243a2c;--a:#9bd16c;--b:#4fb3c9;--ok:#9bd16c;--warn:#e6c35c;--err:#e8806a;--ink:#0f1a14;--hi:#f2ffe6}[data-theme=salju]{--bg:#f2f5f7;--panel:#fff;--fg:#1f2a33;--dim:#7d8b96;--line:#d8e0e6;--a:#0e7c86;--b:#d9822b;--ok:#2f8f4e;--warn:#b8731f;--err:#c8443f;--ink:#fff;--hi:#073a40}[data-theme=kopi]{--bg:#1b1512;--panel:#261d18;--fg:#e8d9c5;--dim:#8f7d6c;--line:#3a2e26;--a:#d4a574;--b:#8fb0a4;--ok:#a8c28a;--warn:#d4a574;--err:#d9776a;--ink:#1b1512;--hi:#fff3e0}[data-theme=nord]{--bg:#2e3440;--panel:#3b4252;--fg:#d8dee9;--dim:#7b88a1;--line:#434c5e;--a:#88c0d0;--b:#ebcb8b;--ok:#a3be8c;--warn:#ebcb8b;--err:#bf616a;--ink:#2e3440;--hi:#eceff4}[data-theme=mono]{--bg:#0c0c0c;--panel:#181818;--fg:#e8e8e8;--dim:#777;--line:#2a2a2a;--a:#fff;--b:#aaa;--ok:#ddd;--warn:#ccc;--err:#fff;--ink:#0c0c0c;--hi:#fff}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font:14.5px/1.55 IBM Plex Mono,ui-monospace,Menlo,Consolas,monospace;transition:background .4s,color .4s}.app{flex-direction:column;max-width:960px;height:100%;margin:0 auto;padding:0 16px;display:flex}#term{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex:1;padding:18px 0 8px;overflow:auto}.row{white-space:pre-wrap;word-break:break-word;min-height:1.55em}.user{background:var(--panel);color:var(--fg);border-radius:5px;margin:14px 0 8px;padding:2px 10px}.k{color:var(--a)}.d{color:var(--dim)}.ok{color:var(--ok)}.e{color:var(--err)}.w{color:var(--warn)}b{font-weight:700}a,[data-cmd]{color:var(--a);cursor:pointer;border-bottom:1px dashed var(--dim);text-decoration:none}a:hover,[data-cmd]:hover{color:var(--b);border-color:var(--b)}.shim{background:linear-gradient(90deg,var(--dim) 30%,var(--fg) 50%,var(--dim) 70%) 0 0/250% 100%;color:#0000;-webkit-background-clip:text;background-clip:text;animation:1.6s linear infinite shim}@keyframes shim{to{background-position:-250% 0}}.ascii{white-space:pre;margin:6px 0 2px;font-size:clamp(7px,2.3vw,15px);line-height:1.12}@keyframes rise{to{opacity:1;transform:none}}.panel{border:1px solid var(--line);border-radius:8px;margin:12px 0;padding:10px 14px;animation:.6s .5s both rise}.pg{grid-template-columns:1fr 1fr;gap:6px 24px;margin-top:6px;display:grid}.dock{padding:6px 0 12px;position:relative}#chips{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}#chips button{font:inherit;color:var(--dim);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:12px;padding:1px 10px;font-size:12px;transition:all .15s}#chips button:hover,#chips button:focus-visible{color:var(--fg);border-color:var(--a);outline:0}#sug{background:var(--panel);border:1px solid var(--line);z-index:20;transform-origin:bottom;border-radius:6px;margin-bottom:-60px;padding:4px;animation:.15s both rise;position:absolute;bottom:100%;left:0;right:0}#sug[hidden]{display:none}#sug div{cursor:pointer;border-radius:4px;padding:2px 8px}#sug div:first-child,#sug div:hover{background:var(--line)}.box{border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:1ch;padding:6px 12px;transition:border-color .2s,box-shadow .2s;display:flex}.box:focus-within{border-color:var(--a);box-shadow:0 0 0 3px color-mix(in srgb,var(--a) 18%,transparent)}#pc{color:var(--b);white-space:nowrap}#in{min-width:0;color:var(--fg);font:inherit;caret-color:var(--a);background:0 0;border:0;outline:0;flex:1}#in::placeholder{color:var(--dim)}.hint{color:var(--dim);padding:4px 4px 8px;font-size:12px}.status{justify-content:space-between;align-items:center;font-size:12.5px;display:flex}#segs{display:flex}.seg{color:var(--ink);clip-path:polygon(0 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,0 100%);white-space:nowrap;margin-left:-9px;padding:1px 16px 1px 12px;font-weight:700;position:relative}.seg:first-child{border-radius:4px 0 0 4px;margin-left:0}#clk{color:var(--dim)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.ar{opacity:1;transform:none}}@media (width<=640px){body{font-size:13px}.pg{grid-template-columns:1fr}.seg:nth-child(n+4){display:none}}#ban{cursor:pointer;color:#0000;background-position:0 0,100% 0,0 0;background-repeat:no-repeat;background-size:100% 100%,250% 100%,100% 100%;-webkit-background-clip:text;background-clip:text;background-image:radial-gradient(circle 80px at var(--mx,-999px) var(--my,-999px),var(--hi),transparent),linear-gradient(105deg,transparent 40%,var(--hi) 50%,transparent 60%),linear-gradient(180deg,var(--a),var(--b));width:max-content;max-width:100%}#ban.live{animation:5.5s ease-in-out infinite sweep}@keyframes sweep{0%,45%{background-position:0 0,100% 0,0 0}to{background-position:0 0,0 0,0 0}}.role{color:var(--dim)}.role b{color:var(--fg)}.role u{vertical-align:-.15em;background:var(--a);width:.6ch;height:1.1em;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.pj{align-items:center;gap:14px;margin:6px 0 10px 2ch;display:flex}.th{border:1px solid var(--line);cursor:pointer;border-radius:6px;flex:0 0 clamp(96px,22vw,150px);transition:transform .25s,border-color .25s;overflow:hidden}.th:hover{border-color:var(--a);transform:translateY(-3px)}.th img,.shot img{width:100%;height:auto;display:block}.shot{border:1px solid var(--line);border-radius:8px;max-width:460px;margin:6px 0 6px 2ch;animation:1s cubic-bezier(.6,0,.2,1) both wipe;overflow:hidden}@keyframes wipe{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.chrome{background:var(--panel);border-bottom:1px solid var(--line);color:var(--dim);align-items:center;gap:5px;padding:5px 9px;font-size:11px;display:flex}.chrome i{background:var(--line);border-radius:50%;width:8px;height:8px}.chrome span{margin-left:8px}.sw{vertical-align:-2px;border:1px solid var(--line);border-radius:3px;width:14px;height:14px;margin-right:3px;display:inline-block}@media (width<=640px){.pj{margin-left:0}}.stage{width:max-content;max-width:100%;padding:84px 0 72px;position:relative}.stage #ban{margin:0}.spr{opacity:0;cursor:pointer;will-change:transform;z-index:3;animation:.7s forwards fade;position:absolute;top:0;left:0}.spr pre{font:inherit;white-space:pre;text-shadow:0 0 8px color-mix(in srgb,currentColor 35%,transparent);margin:0;font-size:11px;line-height:1.05}.bub{white-space:nowrap;background:var(--panel);color:var(--fg);border:1px solid var(--line);border-radius:9px;margin-bottom:4px;padding:1px 9px;font-size:11px;animation:.2s both fade;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}@keyframes fade{to{opacity:1}}.spr .bod{line-height:0}.spr svg{filter:drop-shadow(0 2px #00000047);display:block}.pt{z-index:4;pointer-events:none;width:5px;height:5px;position:absolute}body.cc,body.cc *{cursor:none!important}.cp{z-index:97;pointer-events:none;width:4px;height:4px;position:fixed}.emo{z-index:6;pointer-events:none;margin:-8px 0 0 -7px;font-size:14px;position:absolute}@keyframes in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.row{animation:.28s cubic-bezier(.2,.8,.2,1) both in}.pj{animation:.4s cubic-bezier(.2,.8,.2,1) both in}.spr .bod{transform-origin:50% 100%}#chips button:hover{transform:translateY(-2px)}#chips button:active{transform:scale(.94)}.seg{transition:filter .2s}.seg:hover{filter:brightness(1.25)}.bub{animation:.25s cubic-bezier(.3,1.7,.5,1) both pop}@keyframes pop{0%{opacity:0;transform:translate(-50%)scale(.5)}to{opacity:1;transform:translate(-50%)scale(1)}}#cur{z-index:99;pointer-events:none;opacity:0;width:0;height:0;position:fixed;top:0;left:0}#cur svg{display:block}#cur .ca{transform-origin:0 0;filter:drop-shadow(0 2px #00000059);will-change:transform,opacity;position:absolute;top:0;left:0}#cur .cpl{filter:drop-shadow(0 3px #00000040);will-change:transform,opacity;opacity:0;width:32px;height:22px;position:absolute;top:-11px;left:-16px}#cur .cpi{will-change:transform;width:100%;height:100%}#fx{pointer-events:none;z-index:90;width:100%;height:100%;position:fixed;top:0;left:0}.bub{margin-left:var(--bx,0px);white-space:normal;text-align:center;width:max-content;max-width:min(240px,100vw - 48px);padding:2px 9px;line-height:1.35}.skill-groups{flex-direction:column;gap:6px;margin:6px 0;padding-left:2ch;display:flex}.skill-group{grid-template-columns:14ch 1fr;align-items:baseline;gap:4px 12px;display:grid}.skill-group h4{font-size:inherit;color:var(--a);margin:0;font-weight:700}.skill-group p{color:var(--fg);margin:0}.pj .th{aspect-ratio:16/9;background:var(--panel);flex:0 0 clamp(120px,26vw,190px)}.pj .th img{object-fit:cover;width:100%;height:100%;display:block}.exp-bullets{color:var(--fg);margin:2px 0 6px 4ch;padding:0;list-style:none}.exp-bullets li{margin:2px 0;padding-left:1.5ch;position:relative}.exp-bullets li:before{content:"–";color:var(--dim);position:absolute;left:0}.edu{margin:6px 0;padding-left:2ch}.dev-list{flex-direction:column;gap:4px;margin:6px 0;padding-left:2ch;display:flex}.dev-list div{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}@media (width<=640px){.skill-groups{padding-left:0}.skill-group{grid-template-columns:1fr;gap:2px}.exp-bullets{margin-left:2ch}.edu,.dev-list{padding-left:0}}.cert-groups{flex-direction:column;gap:10px;margin:6px 0;padding-left:2ch;display:flex}.cert-group h4{font-size:inherit;color:var(--a);margin:0 0 4px;font-weight:700}.cert{border-left:2px solid var(--line);margin:0 0 6px;padding:2px 0 2px 12px;animation:.3s cubic-bezier(.2,.8,.2,1) both in}.cert b{color:var(--fg)}.award{color:var(--ok);margin:2px 0 4px 4ch}@media (width<=640px){.cert-groups{padding-left:0}.award{margin-left:2ch}}.cert-desc{color:var(--fg);margin:2px 0}astro-island{display:contents}
