:root{--paper: #f1e9d6;--paper-2: #ece2cb;--ink: #201d17;--ink-soft: #463f31;--muted: #847c69;--line: #201d17;--red: #e0432a;--blue: #2d5fb0;--yellow: #e7a417;--tint: var(--red);--font-kr: "Pretendard Variable", "Pretendard", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--maxw: 1120px;--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.09'/%3E%3C/svg%3E")}html{color-scheme:light}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.5;mix-blend-mode:multiply;background-image:var(--grain)}.riso-card{position:relative;background:var(--paper);border:2px solid var(--ink);z-index:0}.riso-card:after{content:"";position:absolute;inset:0;border:2px solid var(--tint);transform:translate(5px,5px);z-index:-1}.riso-btn{position:relative;display:inline-block;font-weight:800;font-size:.98rem;padding:13px 26px;background:var(--ink);color:var(--paper);border:2px solid var(--ink);cursor:pointer;z-index:0}.riso-btn:after{content:"";position:absolute;inset:0;border:2px solid var(--tint);transform:translate(5px,5px);z-index:-1;transition:transform .16s ease}.riso-btn:hover:after{transform:translate(2px,2px)}.riso-stamp{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;border:2px solid var(--ink);padding:5px 11px;transform:rotate(-1.5deg);background:var(--paper)}.tint-red{--tint: var(--red)}.tint-blue{--tint: var(--blue)}.tint-yellow{--tint: var(--yellow)}.tint-muted{--tint: var(--muted)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}:root{line-height:1.6;font-weight:400;color:var(--ink);background-color:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;margin:0;padding:0}body{min-width:320px;min-height:100vh;font-family:var(--font-kr);line-height:1.6;color:var(--ink);background-color:var(--paper)}#root{width:100%;min-height:100vh}a{font-weight:500;color:var(--ink);text-decoration:none;transition:color .2s ease}a:hover{color:var(--red)}h1,h2,h3,h4,h5,h6{margin:0 0 1rem;font-weight:800;line-height:1.2;letter-spacing:-.02em}button{border:none;padding:.6em 1.2em;font-size:1em;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s ease}button:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.home{min-height:100vh}.hero{background:var(--paper);border-bottom:2px solid var(--ink);padding:clamp(48px,8vw,96px) 0 clamp(40px,6vw,72px)}.hero-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:clamp(24px,4vw,56px);align-items:center}.hero-kicker{margin-bottom:22px}.main-title{font-size:clamp(2rem,5.2vw,3.6rem);font-weight:800;line-height:1.06;letter-spacing:-.03em;margin-bottom:22px;max-width:17ch;text-wrap:balance}.main-title em{font-style:normal;position:relative;isolation:isolate;white-space:nowrap;color:var(--paper);padding:0 8px}.main-title em:after{content:"";position:absolute;inset:-.02em -4px;background:var(--red);transform:rotate(-1.2deg);z-index:-1}.subtitle{font-size:1.1rem;line-height:1.7;margin-bottom:30px;color:var(--ink-soft);max-width:44ch}.hero-stickers{position:relative;min-height:240px}.hero-sticker{position:absolute;display:flex;align-items:center;gap:9px;background:var(--paper);border:2px solid var(--ink);padding:11px 14px;font-weight:700;font-size:.9rem;box-shadow:3px 3px #201d1729}.hero-sticker .sk-body{display:flex;flex-direction:column}.hero-sticker small{font-weight:500;font-size:.72rem;color:var(--muted)}.hero-sticker .sk-mark{width:30px;height:30px;border-radius:50%;border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;flex:none;color:var(--tint)}.hero-sticker.sk-1{top:4px;left:0;transform:rotate(-5deg)}.hero-sticker.sk-2{top:84px;right:0;transform:rotate(4deg)}.hero-sticker.sk-3{top:168px;left:12%;transform:rotate(-2deg)}.about,.projects,.contact{padding:clamp(48px,7vw,88px) 0}.section-head{margin-bottom:clamp(28px,4vw,44px)}.section-head h2{font-size:clamp(1.6rem,3.2vw,2.2rem);font-weight:800;letter-spacing:-.02em}.section-sub{color:var(--muted);font-size:1rem;max-width:52ch;margin-top:4px}.about{background:var(--paper-2);border-bottom:2px solid var(--ink)}.about-content{display:grid;grid-template-columns:1.7fr 1fr;gap:clamp(32px,5vw,64px);align-items:start}.about-point{margin-bottom:1.8rem}.about-point:last-child{margin-bottom:0}.about-point h3{font-size:1.2rem;margin-bottom:.5rem;color:var(--ink)}.about-point p{font-size:1.02rem;line-height:1.7;color:var(--ink-soft)}.about-stats{display:flex;flex-direction:column;gap:1.5rem}.stat{padding:1.6rem 1.4rem}.stat-number{font-size:2.6rem;font-weight:800;color:var(--tint);line-height:1;margin-bottom:.4rem}.stat-label{font-size:.9rem;color:var(--ink-soft);font-weight:600}.projects{background:var(--paper)}.project-board{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 22px;padding-top:6px}.project-card{display:flex;flex-direction:column;padding:22px 20px 18px;text-decoration:none;color:var(--ink);min-height:200px;transition:transform .18s ease}.project-card:hover{color:var(--ink);transform:rotate(0) translateY(-3px)}.project-card:nth-child(3n){transform:rotate(1.2deg)}.project-card:nth-child(3n+2){transform:rotate(-1.4deg)}.project-card .pin{position:absolute;top:-7px;left:50%;width:12px;height:12px;border-radius:50%;background:var(--tint);border:2px solid var(--ink);transform:translate(-50%)}.project-mark{width:46px;height:46px;border-radius:50%;border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;margin-bottom:14px;color:var(--tint)}.project-card h3{font-size:1.12rem;font-weight:800;margin-bottom:5px}.project-card p{color:var(--muted);font-size:.9rem;line-height:1.55;flex:1 1 auto;margin-bottom:14px}.project-foot{display:flex;gap:7px;flex-wrap:wrap}.tag{font-size:.72rem;font-weight:700;border:1.5px solid var(--ink);padding:2px 9px;color:var(--ink)}.tag.ghost{border-style:dashed;color:var(--muted)}.project-card.soon{background:repeating-linear-gradient(-45deg,var(--paper),var(--paper) 8px,var(--paper-2) 8px,var(--paper-2) 16px)}.contact{background:var(--paper-2);border-top:2px solid var(--ink)}.contact-content{text-align:center}.contact-content h2{font-size:clamp(1.6rem,3.2vw,2.2rem)}.contact-content p{font-size:1.08rem;line-height:1.7;color:var(--ink-soft);margin-bottom:2rem}.home-contact-btn{--tint: var(--red)}@media (max-width: 900px){.hero-grid{grid-template-columns:1fr}.hero-stickers{min-height:210px;margin-top:8px}.about-content{grid-template-columns:1fr;gap:36px}.about-stats{flex-direction:row}.about-stats .stat{flex:1}}@media (max-width: 720px){.project-board{grid-template-columns:1fr 1fr}}@media (max-width: 480px){.project-board{grid-template-columns:1fr}.about-stats{flex-direction:column}.main-title em{white-space:normal}.hero-sticker.sk-3{left:4%}}.policy-page{min-height:100vh;background:var(--paper);padding:2.5rem 0}.policy-page .container{max-width:800px;margin:0 auto;padding:0 20px}.language-selector{display:flex;justify-content:center;gap:.5rem;margin-bottom:2rem;padding:.75rem;background:var(--paper-2);border:2px solid var(--ink)}.lang-btn{padding:.45rem 1.3rem;text-decoration:none;color:var(--ink);font-weight:600;transition:background .15s ease;border:2px solid transparent}.lang-btn:hover{background:#e0432a1f;color:var(--ink)}.lang-btn.active{background:var(--ink);color:var(--paper)}.policy-header{text-align:center;margin-bottom:2.5rem;background:var(--paper);padding:2.5rem 2rem;border:2px solid var(--ink)}.policy-header h1{font-size:clamp(1.8rem,4vw,2.4rem);font-weight:800;color:var(--ink);margin-bottom:.75rem;letter-spacing:-.02em}.last-updated{color:var(--muted);font-size:.95rem}.policy-content{background:var(--paper);border:2px solid var(--ink);padding:clamp(1.5rem,4vw,3rem);line-height:1.8}.policy-section{margin-bottom:2.5rem;padding-bottom:1.75rem;border-bottom:1px solid var(--line)}.policy-section:last-child{border-bottom:none;margin-bottom:0}.policy-section h2{font-size:1.4rem;font-weight:800;color:var(--ink);margin-bottom:1.25rem;padding-bottom:.4rem;border-bottom:3px solid var(--red);display:inline-block}.policy-section h3{font-size:1.15rem;font-weight:700;color:var(--ink);margin:1.5rem 0 1rem}.policy-section h4{font-size:1.05rem;font-weight:700;color:var(--ink-soft);margin:1rem 0 .5rem}.policy-section p{color:var(--ink-soft);margin-bottom:1rem}.policy-section ul,.policy-section ol{margin:1rem 0;padding-left:2rem}.policy-section li{color:var(--ink-soft);margin-bottom:.5rem}.policy-section li strong{color:var(--ink);font-weight:700}.info-table,.delegation-table{margin:1.5rem 0}.delegation-table table{width:100%;border-collapse:collapse;margin:1rem 0;border:2px solid var(--ink)}.delegation-table th,.delegation-table td{padding:.9rem;text-align:left;border-bottom:1px solid var(--line)}.delegation-table th{background:var(--paper-2);font-weight:700;color:var(--ink)}.delegation-table td{color:var(--ink-soft)}.contact-info,.contact-department{background:var(--paper-2);padding:1.75rem;margin:1.5rem 0;border-left:4px solid var(--red)}.responsible-person{margin-top:1rem}.responsible-person ul,.contact-department ul{list-style:none;padding-left:0}.responsible-person li,.contact-department li{background:var(--paper);padding:.75rem 1rem;margin-bottom:.5rem;border-left:3px solid var(--blue)}.policy-footer{margin-top:3rem;padding-top:2rem;border-top:2px solid var(--ink);text-align:center}.policy-footer p{font-size:1.05rem;color:var(--ink-soft);margin-bottom:2rem}.contact-buttons{display:flex;justify-content:center;gap:1rem}.contact-btn{background:var(--ink);color:var(--paper);padding:12px 28px;border:2px solid var(--ink);text-decoration:none;font-weight:800;display:inline-flex;align-items:center;gap:.5rem}.contact-btn:hover{background:var(--red);color:var(--paper)}@media (max-width: 768px){.policy-page .container{padding:0 16px}.policy-header{padding:2rem 1rem}.policy-content{padding:1.5rem}.delegation-table{overflow-x:auto}.delegation-table table{min-width:400px}.contact-buttons{flex-direction:column;align-items:center}.contact-btn{width:200px;justify-content:center}}.product-page{min-height:100vh;padding-top:56px;background:var(--paper)}.product-page .container{max-width:var(--maxw);margin:0 auto;padding:0 20px}.product-page .app-description,.product-page .app-screenshots,.product-page .download-section,.product-page .contact-section{position:relative;background:var(--paper);border:2px solid var(--ink);padding:clamp(28px,4vw,46px) clamp(20px,3vw,40px);margin-bottom:48px;z-index:0}.product-page .app-description:after,.product-page .app-screenshots:after,.product-page .download-section:after,.product-page .contact-section:after{content:"";position:absolute;inset:0;border:2px solid var(--tint);transform:translate(6px,6px);z-index:-1}.product-page .page-header{text-align:center;padding:clamp(44px,6vw,72px) 20px clamp(32px,4vw,52px)}.product-page .app-icon{width:76px;height:76px;margin:0 auto 20px;border:2px solid var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--tint);background:var(--paper)}.product-page .app-icon svg{width:38px;height:38px}.product-page .page-header h1{font-size:clamp(2rem,5vw,3rem);color:var(--ink);margin-bottom:12px;font-weight:800;letter-spacing:-.03em}.product-page .app-subtitle{font-size:1.15rem;color:var(--muted);font-weight:500}.product-page .app-description h2,.product-page .app-screenshots h2,.product-page .download-section h2,.product-page .contact-section h2{color:var(--ink);font-size:clamp(1.4rem,3vw,1.9rem);margin-bottom:24px;font-weight:800}.product-page .description-text p{font-size:1.05rem;line-height:1.8;color:var(--ink-soft);margin-bottom:18px}.product-page .description-text strong{color:var(--ink)}.product-page .description-text h3{color:var(--ink);font-size:1.25rem;margin:30px 0 18px;font-weight:800}.product-page .feature-list{list-style:none;padding:0}.product-page .feature-list li{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px;padding:14px 16px;background:var(--paper-2);border-left:4px solid var(--tint);line-height:1.6;color:var(--ink-soft)}.product-page .feature-list strong{color:var(--ink);margin-right:6px}.product-page .feature-icon{font-size:0;flex:none;margin-top:8px}.product-page .feature-icon:before{content:"";display:block;width:8px;height:8px;background:var(--tint)}.product-page .screenshot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;max-width:1000px;margin:0 auto}.product-page .screenshot-item{border:2px solid var(--ink);background:var(--paper-2);overflow:hidden;transition:transform .18s ease}.product-page .screenshot-item:hover{transform:translateY(-4px)}.product-page .screenshot-item img{width:100%;height:auto;display:block}.product-page .download-section{text-align:center}.product-page .download-section p{font-size:1.05rem;line-height:1.7;color:var(--ink-soft);margin-bottom:26px}.product-page .download-section .download-content>p:has(a){display:flex;gap:14px;justify-content:center;align-items:center;flex-wrap:wrap}.product-page .development-status{margin-top:22px}.product-page .status-badge{display:inline-block;padding:8px 18px;font-weight:700;font-size:.85rem;border:2px solid var(--ink)}.product-page .status-badge.released{background:var(--tint);color:var(--paper)}.product-page .status-badge.in-progress{background:var(--paper);color:var(--ink);border-style:dashed}.product-page .store-buttons{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.product-page .store-btn{display:inline-flex;align-items:center;gap:10px;border:2px solid var(--ink);background:var(--ink);color:var(--paper);padding:10px 20px;font-weight:700;text-decoration:none}.product-page .store-btn:hover{color:var(--paper);background:var(--ink-soft)}.product-page .store-btn .store-sub{display:block;font-size:.68rem;font-weight:500;opacity:.85}.product-page .store-btn .store-name{display:block;font-size:1rem;font-weight:800}.product-page .contact-section{text-align:center}.product-page .contact-section p{font-size:1.05rem;line-height:1.7;color:var(--ink-soft);margin-bottom:24px}.product-page .contact-info{margin:24px 0}.product-page .contact-email{display:inline-block;padding:12px 28px;border:2px solid var(--ink);background:var(--paper);color:var(--ink);text-decoration:none;font-weight:800}.product-page .contact-email:hover{background:var(--tint);color:var(--paper)}.product-page .contact-note{font-size:.95rem;color:var(--muted);margin-top:18px}@media (max-width: 768px){.product-page{padding-top:48px}.product-page .screenshot-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}}@media (max-width: 480px){.product-page .container{padding:0 16px}.product-page .screenshot-grid{grid-template-columns:1fr}}.header{background:var(--paper);border-bottom:2px solid var(--ink);position:sticky;top:0;z-index:1000;padding:.85rem 0}.header .container{max-width:var(--maxw);margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:1.45rem;font-weight:800;letter-spacing:-.03em;color:var(--ink)}.logo:hover,.logo-text{color:var(--ink)}.logo-stamp{font-size:.6rem;font-weight:800;letter-spacing:.06em;border:1.5px solid var(--ink);border-radius:4px;padding:2px 6px;transform:rotate(-3deg);background:var(--yellow);color:var(--ink)}.nav{display:flex;gap:.4rem;align-items:center}.nav-link{text-decoration:none;color:var(--ink);font-weight:600;font-size:.92rem;padding:.4rem .7rem;position:relative;transition:box-shadow .15s ease}.nav-link:hover,.nav-link.active{color:var(--ink);box-shadow:inset 0 -8px #e0432a47}@media (max-width: 768px){.nav{gap:.1rem}.nav-link{font-size:.82rem;padding:.4rem .45rem}.logo{font-size:1.2rem}.logo-stamp{display:none}}.footer{background:var(--paper-2);color:var(--ink);border-top:2px solid var(--ink);padding:3rem 0 1.25rem}.footer .container{max-width:var(--maxw);margin:0 auto;padding:0 20px}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-bottom:2rem}.footer-section h4{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.9rem;color:var(--muted)}.footer-logo{display:flex;align-items:center;font-size:1.4rem;font-weight:800;letter-spacing:-.03em;margin-bottom:.75rem}.footer-logo .logo-text{color:var(--ink)}.footer-description{color:var(--muted);line-height:1.6;font-size:.92rem;max-width:26ch}.footer-links{list-style:none;padding:0}.footer-links li{margin-bottom:.5rem}.footer-links a{color:var(--ink-soft);text-decoration:none;font-size:.92rem}.footer-links a:hover{color:var(--red);box-shadow:inset 0 -1px 0 var(--red)}.contact-info p{color:var(--ink-soft);margin-bottom:.5rem;font-size:.92rem}.contact-info a{color:var(--ink-soft)}.contact-info a:hover{color:var(--red)}.footer-bottom{border-top:1px solid var(--line);padding-top:1.1rem;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.85rem}@media (max-width: 768px){.footer-content{grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column;gap:.4rem;text-align:center}}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow-x:hidden}body{font-family:var(--font-kr);line-height:1.6;color:var(--ink);background-color:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{width:100%;min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;width:100%}a{text-decoration:none;transition:color .2s ease}.container{max-width:var(--maxw);margin:0 auto;padding:0 20px;width:100%}.text-center{text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 768px){.container{padding:0 16px}}
