@font-face{font-family:Angel Bunny;src:url(/fonts/AngelBunny-Regular.ttf)format("truetype");font-display:swap}:root{--pink-50:#fff5f8;--pink-100:#ffe6ee;--pink-200:#ffd3df;--pink-300:#f9b3c7;--pink-400:#f394b1;--pink-500:#e57a9b;--cream:#fffaf5;--cream-2:#fdf1ea;--line:#ecc8b9;--line-2:#dfb09f;--btn-shade:#ecc8b9b3;--ink:#8b5e66;--ink-soft:#b78c93;--green:#8fd19a;--font-display:"Angel Bunny", "M PLUS Rounded 1c", system-ui, sans-serif;--font-body:"Angel Bunny", "M PLUS Rounded 1c", system-ui, sans-serif;--radius:18px}*,:before,:after{box-sizing:border-box}:root{--cursor-default:url(/cursors/default-0.png) 0 0, default;--cursor-pointer:url(/cursors/pointer-0.png) 0 0, pointer;--cursor-text:url(/cursors/text-0.png) 8 15, text;--cursor-move:url(/cursors/move-0.png) 15 15, move;--cursor-grab:url(/cursors/move-0.png) 15 15, grab;--cursor-grabbing:url(/cursors/move-0.png) 15 15, grabbing;--cursor-not-allowed:url(/cursors/not-allowed-0.png) 15 16, not-allowed;--cursor-wait:url(/cursors/wait-0.png) 16 15, wait;--cursor-progress:url(/cursors/progress-0.png) 0 0, progress;--cursor-help:url(/cursors/help-0.png) 0 0, help;--cursor-crosshair:url(/cursors/crosshair-0.png) 15 15, crosshair;--cursor-ns:url(/cursors/ns-0.png) 15 15, ns-resize;--cursor-ew:url(/cursors/ew-0.png) 15 15, ew-resize;--cursor-nwse:url(/cursors/nwse-0.png) 15 14, nwse-resize;--cursor-nesw:url(/cursors/nesw-0.png) 16 14, nesw-resize}html{cursor:var(--cursor-default)}a[href],button,summary,select,label[for],[role=button],input:is([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=submit],[type=button]){cursor:var(--cursor-pointer)}input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=submit],[type=button]),textarea,[contenteditable]:not([contenteditable=false]){cursor:var(--cursor-text)}:disabled,[aria-disabled=true]{cursor:var(--cursor-not-allowed)}[aria-busy=true]{cursor:var(--cursor-progress)}html{scroll-behavior:smooth;scroll-padding-top:16px}body{color:var(--ink);font-family:var(--font-body);background-color:#fff3f6;background-image:linear-gradient(90deg,#f9b3c76b 50%,#0000 50%),linear-gradient(#f9b3c76b 50%,#0000 50%);background-size:44px 44px;margin:0;font-size:15px;line-height:1.75}img{max-width:100%;display:block}a{color:inherit}button{font:inherit;cursor:var(--cursor-pointer)}.top-band{background:url(/assets/strip-gingham.png) 0 0/auto 62px repeat-x;height:62px}.site-header__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;max-width:1100px;margin:0 auto;padding:8px 20px 14px;display:flex}.logo{align-items:center;gap:10px;text-decoration:none;display:flex}.logo__mark{width:74px;height:70px;color:var(--pink-400);background:url(/assets/frame-heart-bow.png) 50%/contain no-repeat;place-items:center;padding-top:12px;font-size:22px;display:grid}.logo__text{flex-direction:column;align-items:center;line-height:1;display:flex}.logo__title{font-family:var(--font-display);color:var(--pink-400);-webkit-text-stroke:10px #fff;paint-order:stroke fill;filter:drop-shadow(0 3px 0 var(--line-2));letter-spacing:1px;font-size:68px}.logo__tagline{font-family:var(--font-display);color:var(--ink);margin-top:2px;font-size:14px}.nav{flex-wrap:wrap;gap:10px;display:flex}.marquee{background:var(--cream);border-block:2px solid var(--line);box-shadow:0 3px 0 var(--line);font-family:var(--font-display);white-space:nowrap;font-size:14px;overflow:hidden}.marquee__track{width:max-content;animation:38s linear infinite marquee;display:flex}.marquee__group{gap:32px;padding:6px 16px;display:flex}@keyframes marquee{to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.marquee__track{animation:none}}.page{position:relative;overflow-x:clip}.site-header,.layout,.site-footer{z-index:1;position:relative}.floats{width:100%;height:0;position:absolute;top:0;left:0}.floats--back{z-index:0}.floats--front{z-index:18}.float{transform-origin:50%;text-decoration:none;display:block;position:absolute}.float>img,.float>svg{pointer-events:none;filter:drop-shadow(0 3px 6px #e57a9b2e);width:100%;height:auto;display:block}body:not(.is-editing) .float:not(.float--link){pointer-events:none}.float--shape>svg{aspect-ratio:1}.float__text{font-family:var(--font-display);text-align:center;overflow-wrap:break-word;-webkit-text-stroke:5px #fff;paint-order:stroke fill;line-height:1.15;display:block}.float__empty{aspect-ratio:1;border:2px dashed var(--pink-300);color:var(--ink-soft);background:#ffffffb3;border-radius:14px;place-items:center;font-size:12px;display:grid}@media (width<=820px){.float--desk{display:none}}.layout{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:26px;max-width:1100px;margin:28px auto 0;padding:0 20px;display:grid}.sidebar,.main,.wide{flex-direction:column;gap:26px;min-width:0;display:flex}.wide{grid-column:1/-1}.layout:not(:has(>.sidebar)){grid-template-columns:minmax(0,1fr)}@media (width<=820px){.layout{grid-template-columns:minmax(0,1fr)}.main{display:contents}.main>*{order:3}.main>:nth-child(-n+2){order:1}.sidebar{order:2}.wide{order:4}.site-header__inner,.nav{justify-content:center}}.panel{background:var(--cream);border:2px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 0 var(--line), 0 12px 28px #e57a9b1f;position:relative;overflow:hidden}.panel__head{background:url(/assets/strip-gingham.png) top/auto 54px repeat-x;height:54px;position:relative}.panel--eyelet .panel__head{background-image:url(/assets/strip-eyelet.png);background-size:auto 40px;height:40px}.panel__title{z-index:1;background:var(--cream);border:2px solid var(--line);box-shadow:0 2px 0 var(--line);font-family:var(--font-display);white-space:nowrap;border-radius:999px;margin:0;padding:1px 16px 2px;font-size:16px;font-weight:400;line-height:1.5;position:absolute;bottom:-14px;left:50%;transform:translate(-50%)}.panel__body{border:2px dashed var(--line);border-top:0;border-radius:0 0 12px 12px;margin:0 8px 8px;padding:28px 18px 18px}.panel__body>p{margin:0 0 12px}.panel__hint{text-align:center;color:var(--ink-soft);font-size:13px}.avatar{aspect-ratio:1;width:172px;margin:0 auto;position:relative}.avatar__img{background:radial-gradient(circle at 35% 30%, #fff 0, var(--pink-100) 45%, var(--pink-200) 100%);border-radius:50%;place-items:center;display:grid;position:absolute;inset:16%;overflow:hidden}.avatar__img img{object-fit:cover;width:100%;height:100%}.avatar__placeholder{font-family:var(--font-display);color:var(--pink-400);-webkit-text-stroke:6px #fff;paint-order:stroke fill;font-size:56px}.avatar__frame{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.profile__name{text-align:center;font-family:var(--font-display);color:var(--pink-400);-webkit-text-stroke:5px #fff;paint-order:stroke fill;font-size:24px;margin:4px 0 0!important}.profile__status{text-align:center;font-size:12px;margin:0!important}.status-dot{background:var(--green);vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:3px;display:inline-block;box-shadow:0 0 0 2px #e3f5e6}.stat-list{margin:0}.stat-list>div{background:url(/assets/seam.png) 0 100%/auto 5px repeat-x;justify-content:space-between;gap:12px;padding:7px 2px 9px;font-size:13px;display:flex}.stat-list>div:last-child{background:0 0}.stat-list dd{color:var(--pink-500);margin:0;font-weight:700}.link-list,.fave-list,.update-list,.tag-list{margin:0;padding:0;list-style:none}.link-list{gap:8px;display:grid}.fave-list li{padding:3px 0 3px 22px;font-size:14px;position:relative}.fave-list li:before{content:"♥";color:var(--pink-300);position:absolute;left:2px}.update-list li{background:url(/assets/seam.png) 0 100%/auto 5px repeat-x;flex-direction:column;padding:6px 0 10px;font-size:13px;line-height:1.5;display:flex}.update-list li:last-child{background:0 0}.update-list__date{color:var(--pink-400);font-size:11px;font-weight:700}.mood{aspect-ratio:560/470;width:230px;margin:0 auto;position:relative}.mood__fill{width:88%;height:100%;position:absolute;top:0%;left:6%}.mood__frame{width:100%;height:100%;position:absolute;inset:0}.mood__text{text-align:center;flex-direction:column;justify-content:center;align-items:center;line-height:1.3;display:flex;position:absolute;inset:22% 20% 30%}.mood__label{color:var(--ink-soft);font-size:11px}.mood__value{font-family:var(--font-display);font-size:17px}.badge{aspect-ratio:1;width:170px;margin:0 auto;position:relative}.badge:before{content:"";background:var(--cream);border-radius:50%;position:absolute;inset:12%}.badge__frame{width:100%;height:100%;position:absolute;inset:0}.badge__text{flex-direction:column;justify-content:center;align-items:center;line-height:1.15;display:flex;position:absolute;inset:0;transform:rotate(-6deg)}.badge__top{font-family:var(--font-display);color:var(--pink-400);font-size:22px}.badge__big{font-family:var(--font-display);font-size:18px}.badge__bottom{color:var(--ink-soft);font-size:11px}.lace-divider--block{margin:0 auto}.pic-box{text-align:center;margin:0}.pic-box a{display:block}.pic-box__img{border:2px solid var(--line);background:radial-gradient(circle at 35% 30%, #fff 0, var(--pink-100) 45%, var(--pink-200) 100%);color:#fff;border-radius:12px;place-items:center;min-height:140px;font-size:40px;display:grid;overflow:hidden}.pic-box__img img{width:100%;height:auto}.pic-box figcaption{color:var(--ink-soft);margin-top:8px;font-size:13px}.lace-divider{width:min(100%,440px);margin:0 auto 16px}.fact-grid{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:10px;margin:16px 0 0;display:grid}.fact-grid>div{background:var(--pink-50);border:2px solid var(--pink-200);border-radius:12px;padding:8px 12px}.fact-grid dt{color:var(--pink-400);font-size:11px}.fact-grid dd{margin:0;font-size:14px;font-weight:700}.playground{aspect-ratio:1;width:min(100%,460px);margin:8px auto 18px;position:relative}.playground__area{background:radial-gradient(ellipse at 50% 100%, #f9b3c78c, transparent 65%), linear-gradient(180deg, var(--pink-50), var(--pink-100));touch-action:none;-webkit-user-select:none;user-select:none;border-radius:6px;position:absolute;inset:11%;overflow:hidden}.playground__frame{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.toy{cursor:var(--cursor-grab);will-change:transform;filter:drop-shadow(0 2px #d98a9f59);position:absolute;top:0;left:0}.toy:active{cursor:var(--cursor-grabbing)}.toy svg{width:100%;height:100%;display:block}.playground__controls{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.playground__count{text-align:center;color:var(--ink-soft);font-size:12px;margin:12px 0 0!important}.project-grid{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:22px;margin-top:8px;display:grid}.project-card{background:var(--cream);border:2px solid var(--line);box-shadow:0 3px 0 var(--line);border-radius:14px;padding:14px 16px 18px}.project-card__thumb{aspect-ratio:640/548;position:relative}.project-card__img{background:linear-gradient(160deg, var(--pink-50), var(--pink-200));color:#fff;place-items:center;font-size:40px;display:grid;position:absolute;inset:18% 8% 10% 9%;overflow:hidden}.project-card__img img{object-fit:cover;width:100%;height:100%}.project-card__frame{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.project-card__title{font-family:var(--font-display);color:var(--pink-400);margin:10px 0 0;font-size:22px;font-weight:400;line-height:1.3}.project-card__byline{color:var(--ink-soft);margin:0;font-size:12px}.project-card__desc{margin:8px 0 10px;font-size:14px}.tag-list{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.tag-list li{border:1.5px solid var(--pink-200);background:var(--pink-50);border-radius:999px;padding:0 10px;font-size:11px}.project-card--soon{min-height:260px;box-shadow:none;text-align:center;color:var(--ink-soft);font-family:var(--font-display);border-style:dashed;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.project-card--soon img{opacity:.9;width:120px}.site-footer{background:url(/assets/lace-scallop.png) repeat-x left top / auto 34px, var(--cream);text-align:center;font-family:var(--font-display);border-top:0;margin-top:40px;padding:46px 20px 22px;font-size:14px}.site-footer p{margin:0}body[data-bg=dots]{background-color:#fff5f9;background-image:radial-gradient(circle,#f394b14d 2px,#0000 2.6px);background-size:26px 26px}.gallery-grid{flex-wrap:wrap;justify-content:center;gap:18px 22px;margin:8px 0 0;padding:0;list-style:none;display:flex}.gallery-grid>.gallery-item{width:170px}.gallery-item>a,.gallery-item{flex-direction:column;align-items:center;text-decoration:none;display:flex}.gallery-item__pic{aspect-ratio:1;width:160px;transition:transform .2s;position:relative}.gallery-item a:hover .gallery-item__pic{transform:rotate(-4deg)scale(1.04)}.gallery-item__img{background:radial-gradient(circle at 35% 30%, #fff 0, var(--pink-100) 45%, var(--pink-200) 100%);color:#fff;border-radius:50%;place-items:center;font-size:36px;display:grid;position:absolute;inset:15%;overflow:hidden}.gallery-item__img img{object-fit:cover;width:100%;height:100%}.gallery-item__frame{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.gallery-item__name{border:2px solid var(--line);background:var(--cream);box-shadow:0 2px 0 var(--line);font-family:var(--font-display);border-radius:999px;margin-top:4px;padding:1px 14px;font-size:15px}.gallery-item__caption{color:var(--ink-soft);margin-top:4px;font-size:12px}.popups{z-index:20;width:100%;height:0;position:absolute;top:0;left:0}.popup{--w:230px;top:calc(170px + var(--row) * 300px);width:var(--w);border:1.5px solid var(--pink-300);box-shadow:3px 3px 0 var(--pink-200), 0 10px 24px #e57a9b2e;animation:.4s cubic-bezier(.3,1.6,.6,1) both popup-in;animation-delay:calc(.4s + var(--i) * .25s);background:#fff;font-size:12px;position:absolute}.popup--left{left:clamp(8px, calc((100vw - 1100px) / 4 - var(--w) / 2 + var(--jitter)), calc((100vw - 1100px) / 2 - var(--w) + 12px))}.popup--right{top:calc(250px + var(--row) * 300px);right:clamp(8px, calc((100vw - 1100px) / 4 - var(--w) / 2 - var(--jitter)), calc((100vw - 1100px) / 2 - var(--w) + 12px))}@keyframes popup-in{0%{opacity:0;transform:scale(.6)}}.popup__bar{background:linear-gradient(var(--pink-50), var(--pink-100));border-bottom:1.5px solid var(--pink-200);cursor:var(--cursor-grab);touch-action:none;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:3px 4px 3px 8px;display:flex}.popup__bar:active{cursor:var(--cursor-grabbing)}.popup__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-body);color:var(--pink-500);flex:1;font-size:11px;font-style:italic;font-weight:700;overflow:hidden}.popup__body{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:14px 14px 12px;display:flex}.popup__img{width:auto;max-height:150px}.popup__text{font-family:var(--font-body);color:var(--ink);margin:0;font-size:13px;font-style:italic;font-weight:700;line-height:1.4}.popup__progress{text-align:left;width:100%}.popup__file{margin:0 0 6px;font-size:12px}.popup__track{border:1.5px solid var(--pink-300);background:#fff;height:17px;position:relative}.popup__fill{background:repeating-linear-gradient(90deg, var(--pink-300) 0 8px, var(--pink-200) 8px 10px);height:100%;transition:width 60ms linear}.popup__track span{font-family:var(--font-body);color:#6e3a4b;text-shadow:0 0 2px #fff,0 0 2px #fff,0 0 3px #fff,0 0 4px #fff;place-items:center;font-size:11px;font-weight:700;line-height:1;display:grid;position:absolute;inset:0}.sticker{z-index:15;pointer-events:none;filter:drop-shadow(0 3px 6px #e57a9b33);width:auto;max-width:170px;max-height:190px;position:fixed;bottom:0}.sticker--left{left:8px}.sticker--right{bottom:44px;right:8px}@media (width<=1559px){.sticker{display:none}.popup,.popup--left,.popup--right{--w:min(230px, calc(100vw - 96px));top:auto;left:auto;right:calc(14px + var(--i) * 12px);bottom:calc(58px + var(--i) * 18px);animation-delay:calc(1.5s + var(--i) * .35s);position:fixed}.popup__img{max-height:110px}}@media (prefers-reduced-motion:reduce){.popup{animation:none}}.btn{border:1.5px solid var(--pink-200);background:linear-gradient(180deg, #fff 0%, var(--cream) 100%);box-shadow:0 2px 0 var(--btn-shade), 0 4px 10px #e57a9b1a;color:var(--ink);font-family:var(--font-display);text-align:center;white-space:nowrap;cursor:var(--cursor-pointer);border-radius:999px;justify-content:center;align-items:center;gap:4px;padding:5px 18px 6px;font-size:15px;line-height:1.4;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.btn:hover{background:var(--pink-50);box-shadow:0 3px 0 var(--btn-shade), 0 6px 14px #e57a9b24;transform:translateY(-1px)}.btn:active{box-shadow:0 1px 0 var(--btn-shade);transform:translateY(1px)}.btn.is-active{background:var(--pink-100);border-color:var(--pink-300);color:var(--pink-500);box-shadow:0 2px #f394b173,0 4px 10px #e57a9b1f}.btn[aria-pressed=false]{background:var(--cream-2);color:var(--ink-soft)}.btn:focus-visible{outline:2px dashed var(--pink-300);outline-offset:3px}.btn--block{background:linear-gradient(180deg, #fff 0%, var(--pink-50) 100%);width:100%;display:flex}.btn--big{border-color:var(--pink-300);background:linear-gradient(180deg, var(--pink-200) 0%, var(--pink-300) 100%);color:#fff;padding:7px 22px;box-shadow:0 2px #e57a9b73,0 5px 12px #e57a9b2e}.btn--big:hover{background:linear-gradient(180deg, var(--pink-200) 0%, var(--pink-400) 100%)}.popup__x{border:1px solid var(--pink-300);width:16px;height:16px;color:var(--pink-500);cursor:var(--cursor-pointer);background:#fff;place-items:center;padding:0;font-size:9px;line-height:1;display:grid}.popup__x:hover{background:var(--pink-100)}.popup__btn{border:1.5px solid var(--pink-300);box-shadow:2px 2px 0 var(--pink-200);color:var(--pink-500);font-family:var(--font-body);cursor:var(--cursor-pointer);background:#fff;padding:2px 14px;font-size:12px;font-style:italic;font-weight:700}.popup__btn:hover{background:var(--pink-50)}.popup__btn:active{box-shadow:1px 1px 0 var(--pink-200);translate:1px 1px}.popups__close-all{z-index:999;border:1.5px solid var(--pink-300);box-shadow:2px 2px 0 var(--pink-200);color:var(--ink);cursor:var(--cursor-pointer);background:#fff;padding:3px 12px;font-size:12px;position:fixed;bottom:16px;right:16px}.popups__close-all:hover{background:var(--pink-50)}body[data-theme=white]{--cream:#fff;--cream-2:#fff7fa;--line:#f6d6e0;--line-2:#efbfce;--btn-shade:#f4bed08c;background-color:#fffafc;background-image:linear-gradient(90deg,#f9b3c729 50%,#0000 50%),linear-gradient(#f9b3c729 50%,#0000 50%)}body[data-theme=white][data-bg=dots]{background-color:#fffbfd;background-image:radial-gradient(circle,#f394b133 2px,#0000 2.6px)}body[data-theme=white] .panel{box-shadow:0 3px 0 var(--line), 0 10px 26px #e57a9b14}body[data-theme=white] .fact-grid>div{background:#fff9fb;border-color:#fbe1e9}
