@font-face{font-family:LabSans;font-weight:400 700;src:url('/assets/fonts/sans.woff2') format('woff2');font-display:swap}@font-face{font-family:LabSerif;src:url('/assets/fonts/serif.woff2') format('woff2');font-display:swap}@font-face{font-family:LabMono;src:url('/assets/fonts/mono.woff2') format('woff2');font-display:swap}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #cf6f32;outline-offset:4px}img{max-width:100%;display:block}[hidden]{display:none!important}.concept-return{position:fixed;bottom:20px;left:20px;background:#fff;color:#222;padding:12px 18px;border:1px solid #ddd;border-radius:30px;z-index:20;font:12px system-ui;box-shadow:0 3px 20px #0002;text-decoration:none}
.product-art{width:100%;position:relative;min-height:220px;display:flex;align-items:center;justify-content:center;isolation:isolate;overflow:hidden;font-family:LabSans,system-ui,sans-serif;color:#253033;background:var(--art-accent)}.product-art::after{content:'CONCEPT';position:absolute;bottom:10px;right:12px;font:9px LabMono,monospace;letter-spacing:2px;opacity:.45}.art-curfew::after{content:'APP / SAMPLE'}.art-phone{width:126px;height:264px;border:5px solid #1f2521;border-radius:24px;overflow:hidden;box-shadow:16px 20px 35px #23432930;transform:rotate(-7deg);background:#fff}.art-phone img{width:100%;height:100%;object-fit:cover;object-position:top}.art-stars{position:absolute;font-size:48px;right:15%;top:12%;color:#3c5c40}.art-stars span{display:block;font:9px LabMono,monospace;width:70px;line-height:1.8}.art-window{width:72%;background:#eef2f7;border:1px solid #fff8;border-radius:9px;box-shadow:16px 20px 40px #34496333;transform:rotate(-5deg)}.art-chrome{display:flex;align-items:center;gap:4px;padding:9px;border-bottom:1px solid #cfd6e0}.art-chrome i{width:5px;height:5px;border-radius:50%;background:#8394a9}.art-chrome span{font:9px LabMono,monospace;margin-left:12px}.art-file-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:13px}.art-file{aspect-ratio:1.5;background:#c8d5e6;border-radius:4px;display:grid;place-items:center}.art-file.mountain{background:linear-gradient(145deg,transparent 42%,#6b839b 43% 65%,transparent 66%),linear-gradient(40deg,#34495c 40%,#b7c5d3 41%)}.art-file.sunset{background:radial-gradient(circle at 65% 35%,#ffcf94 14%,transparent 15%),linear-gradient(#d39d89 60%,#73849c 61%)}.art-file.sea{background:repeating-linear-gradient(170deg,#6f9ba5 0 9px,#9bbfc3 10px 13px)}.art-caption{font:8px LabMono,monospace;padding:0 14px 12px}.art-video{position:absolute;left:12%;top:23%;width:48%;height:130px;border-radius:8px;background:#4b3430;color:#ffcbbb;display:grid;place-items:center;font-size:30px;transform:rotate(-7deg);box-shadow:10px 20px 30px #58382730}.art-video span{font:8px LabMono,monospace;position:absolute;bottom:12px;left:12px}.art-progress{position:absolute;bottom:30px;left:12px;width:75%;height:2px;background:#f9c1a9}.art-paper{width:45%;height:164px;background:#fff7ee;position:absolute;right:13%;top:18%;padding:16px;border-radius:4px;transform:rotate(7deg);box-shadow:10px 15px 25px #58382730}.art-paper>span{font:7px LabMono,monospace;letter-spacing:2px}.art-paper b{display:block;font:18px LabSerif,Georgia,serif;margin:14px 0}.art-paper i{height:4px;display:block;background:#ddc9bb;margin:7px 0}.art-paper i:nth-of-type(2){width:80%}.art-paper small{font:7px LabMono,monospace;color:#ae6251}.art-calendar{width:68%;max-width:240px;transform:rotate(-4deg);background:#f7f3fb;padding:18px;box-shadow:12px 20px 30px #44306625;border-radius:9px}.art-calendar-head{font:8px LabMono,monospace;display:flex;justify-content:space-between}.art-days{word-spacing:14px;font:8px LabMono,monospace;margin:20px 0 12px;color:#80738d}.art-calendar-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.art-calendar-grid i{font:9px LabMono,monospace;padding:7px 2px;text-align:center;font-style:normal;border-radius:5px}.art-calendar-grid .marked{background:#d6c9e9}.art-radar{width:140px;height:140px;border:1px solid #477f7970;border-radius:50%;position:relative;display:grid;place-items:center;background:conic-gradient(from 10deg,#508a7950,transparent 35%)}.art-radar i{position:absolute;inset:20px;border:1px solid #477f7960;border-radius:50%}.art-radar i:nth-child(2){inset:40px}.art-radar i:nth-child(3){inset:60px}.art-radar b{font:8px LabMono,monospace}.radar-dot{position:absolute;top:32px;right:39px;width:6px;height:6px;border-radius:50%;background:#276860;box-shadow:0 0 0 5px #27686020}.art-readings{background:#eaf7f0ee;position:absolute;right:8%;bottom:15%;padding:12px;box-shadow:3px 7px 20px #27686020;border-radius:4px}.art-readings>span,.art-readings small{font:7px LabMono,monospace}.art-readings>div{display:flex;gap:5px;align-items:end;height:30px;margin:9px 0}.art-readings i{width:8px;background:#5ca896;height:23px}.art-readings i:nth-child(2){height:15px}.art-readings i:nth-child(3){height:30px}.art-readings i:nth-child(4){height:12px}.art-keyboard{background:#30332a;padding:16px;border-radius:11px;box-shadow:13px 20px 20px #393d2930;transform:rotate(-7deg);width:175px}.art-oled{background:#121a13;border:1px solid #77875b;font-size:20px;color:#bee287;padding:8px;display:flex;align-items:center;gap:12px}.art-oled span{font:7px LabMono,monospace}.art-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:10px}.art-keys i{background:#d0d0bc;color:#222;font:12px LabMono,monospace;font-style:normal;padding:12px 0;text-align:center;border-radius:3px;border-bottom:3px solid #9c9e87}.art-led{height:3px;background:#b5e787;margin-top:10px;box-shadow:0 0 10px #b5e787}.art-generic{text-align:center;padding:20px}.art-generic>span{font:9px LabMono,monospace;letter-spacing:3px}.art-generic b{display:block;font:70px LabSerif,Georgia;margin:10px}.art-lines{display:flex;gap:7px;justify-content:center}.art-lines i{height:4px;width:30px;background:#2223}
.project-dialog{padding:0;border:0;border-radius:16px;max-width:780px;width:calc(100% - 36px);max-height:90vh;background:#fcfaf7;color:#242621;font:14px LabSans,system-ui;box-shadow:0 30px 100px #0005}.project-dialog::backdrop{background:#151714b3;backdrop-filter:blur(6px)}.modal-close{position:absolute;z-index:2;right:14px;top:14px;border:0;border-radius:50%;background:#ffffffde;color:#242621;padding:9px}.modal-art .product-art{height:270px}.modal-content{padding:30px}.modal-eyebrow{font:11px LabMono,monospace;color:#777}.modal-content h2{font-size:29px;letter-spacing:-1px;margin:12px 0}.modal-content p{line-height:1.85}.modal-platforms{display:flex;flex-wrap:wrap;gap:6px}.modal-platforms span{font-size:11px;padding:6px 10px;background:#eae8e1;border-radius:20px}.modal-detail{color:#64655e;font-size:13px}.modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.modal-actions a{display:flex;align-items:center;gap:12px;text-decoration:none;padding:12px 16px;background:#292d26;color:#fff;border-radius:7px}.modal-content small{color:#8b8c83;line-height:1.6;font-size:10px}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

h1,h2,h3,p{word-break:keep-all;overflow-wrap:break-word}

@font-face{font-family:"Fira Code Local";src:url("/assets/fonts/FiraCode-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Fira Code Local";src:url("/assets/fonts/FiraCode-Bold.woff2") format("woff2");font-weight:700;font-display:swap}

.art-curfew{--art-accent:#a6d6aa}.art-ftp{--art-accent:#a7bde8}.art-youtube{--art-accent:#efb49b}.art-attendance{--art-accent:#bba6dd}.art-ms605{--art-accent:#8cd5ce}.art-ahakey{--art-accent:#d3d98d}.art-naver{--art-accent:#a8caa3}.art-jari{--art-accent:#e0ba88}.art-figma{--art-accent:#dfaab4}.art-pdf{--art-accent:#e0b88b}.art-discord{--art-accent:#b1b0e4}.art-gitlab{--art-accent:#e8b099}.art-yolo{--art-accent:#9ebec6}.art-foldable{--art-accent:#d8caa8}.art-remotee{--art-accent:#c5c39e}.art-timelapse{--art-accent:#bdd0ab}.art-motor{--art-accent:#d8b794}.art-small{--art-accent:#adc8c3}.art-big{--art-accent:#b6bdd3}.art-mqtt{--art-accent:#c9cca5}
