:root{--bg-top: #dff3ff;--bg-bottom: #e8f8ef;--card-bg: #ffffff;--text-primary: #24424d;--text-secondary: #496772;--accent-a: #66a7e4;--accent-b: #67cdb0;--accent-hover-a: #5599da;--accent-hover-b: #57bfaa;--shadow-soft: 0 20px 45px rgba(93, 139, 160, .16)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Manrope,Nunito,Segoe UI,sans-serif;color:var(--text-primary);background:linear-gradient(140deg,var(--bg-top) 0%,var(--bg-bottom) 100%);overflow-x:hidden}body:before,body:after{content:"";position:fixed;width:320px;height:320px;border-radius:50%;filter:blur(8px);z-index:-1}body:before{top:-60px;right:-60px;background:#ffffff7a}body:after{bottom:-80px;left:-70px;background:#caece970}.page-shell{min-height:100vh;display:grid;place-items:center;padding:28px;position:relative;z-index:2}.card{width:min(760px,100%);background:var(--card-bg);border-radius:26px;box-shadow:var(--shadow-soft);padding:clamp(24px,4vw,44px);animation:fadeUp .5s ease both}.hero-card{width:min(1020px,100%);border-radius:34px;display:grid;grid-template-columns:1.25fr .75fr;gap:28px;align-items:center}.hero-content{min-width:0}.hero-card h1{font-size:clamp(2rem,4vw,2.8rem);line-height:1.15;margin:0 0 16px}.ai-note{display:inline-block;margin:0 0 16px;padding:10px 14px;border-radius:999px;font-size:.92rem;letter-spacing:.01em;color:#2f6664;background:#e9f8f7;border:1px solid #d6efed}.lead-text{margin:0;max-width:62ch;color:var(--text-secondary);font-size:1.08rem;line-height:1.7}.cta-grid{display:grid;grid-template-columns:1fr;gap:16px}.cta-button{position:relative;isolation:isolate;text-decoration:none;text-align:center;padding:20px 14px;border-radius:18px;font-size:clamp(1.1rem,2vw,1.25rem);font-weight:700;color:#f7fffe;background:linear-gradient(135deg,var(--accent-a),var(--accent-b));box-shadow:0 14px 28px #529cb557;border:1px solid rgba(255,255,255,.25);transform:translateY(0) scale(1);transition:transform .28s ease,box-shadow .28s ease,background .28s ease}.cta-button:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:21px;border:1.5px solid rgba(255,255,255,0);opacity:0;transform:scale(.985);transition:opacity .24s ease,transform .24s ease,border-color .24s ease;z-index:-1}.cta-button:hover{background:linear-gradient(135deg,var(--accent-hover-a),var(--accent-hover-b));transform:translateY(-3px) scale(1.015);box-shadow:0 20px 34px #468ea666}.cta-button:hover:after{opacity:1;transform:scale(1);border-color:#ffffffbd}.cta-button:active{transform:translateY(-1px) scale(1.005)}.empty-card{text-align:center}.empty-card h2{margin:0 0 10px;font-size:clamp(1.75rem,3vw,2.2rem)}.empty-card p{margin:0;color:var(--text-secondary);font-size:1.05rem}.about-sheet{width:min(740px,100%);min-height:clamp(700px,88vh,980px);text-align:left;border-radius:18px;position:relative;display:flex;flex-direction:column;gap:18px;border:1px solid rgba(154,192,205,.35)}.about-sheet:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(131,175,192,.16) 0,rgba(131,175,192,.16) 1px,transparent 1px,transparent 34px);opacity:.24}.about-sheet>*{position:relative;z-index:1}.about-sheet__header h2{margin:0;font-size:clamp(2rem,4vw,2.5rem)}.about-sheet__header p{margin:10px 0 0;color:#4f6e7a}.about-sheet__body{margin-top:20px;display:grid;gap:14px}.about-sheet__body p{margin:0;line-height:1.8;color:#30515f}.about-back-link{margin-top:8px}.cat-card{margin-top:auto;padding:16px;border-radius:14px;background:#e7f5fc9e;border:1px solid rgba(112,159,177,.34)}.cat-card h3{margin:0;font-size:1.1rem}.cat-pet-zone{margin-top:12px;border-radius:16px;min-height:200px;display:grid;place-items:center;border:1px solid rgba(108,157,174,.36);cursor:pointer;transition:filter .22s ease}.cat-pet-zone:hover{filter:saturate(1.06)}.cat-figure{position:relative;width:212px;height:140px;isolation:isolate}.cat-shadow{position:absolute;left:52%;bottom:8px;width:132px;height:24px;transform:translate(-50%);border-radius:999px;background:#29424b3d;filter:blur(2px);z-index:0}.cat-body{position:absolute;left:50%;bottom:18px;width:130px;height:76px;transform:translate(-50%) rotate(-1.4deg);border-radius:48% 52% 45% 55%;background:linear-gradient(165deg,#7a8a94,#5f707a);box-shadow:inset 0 -10px #00000026;z-index:2}.cat-head{position:absolute;left:50%;top:10px;width:104px;height:92px;transform:translate(-50%);border-radius:46% 46% 52% 52%;background:linear-gradient(165deg,#6e7f88,#57666f);box-shadow:inset 0 -8px #0000001f;z-index:3}.cat-ear{position:absolute;top:1px;width:30px;height:28px;background:#526068;clip-path:polygon(50% 0,0 100%,100% 100%);z-index:4}.cat-ear--left{left:52px;transform:rotate(-12deg)}.cat-ear--right{right:52px;transform:rotate(12deg)}.cat-eye{position:absolute;top:44px;width:11px;height:11px;border-radius:999px;background:#f6fafc;box-shadow:0 0 0 3px #2932382e;z-index:5}.cat-eye--left{left:78px}.cat-eye--right{right:78px}.cat-nose{position:absolute;left:50%;top:61px;width:12px;height:9px;transform:translate(-50%);border-radius:50% 50% 70% 70%;background:#f4abb1;z-index:5}.cat-mouth{position:absolute;left:50%;top:69px;width:18px;height:10px;transform:translate(-50%);border-bottom:2px solid rgba(54,38,40,.4);border-radius:0 0 12px 12px;z-index:5}.cat-cheek{position:absolute;top:64px;width:11px;height:8px;border-radius:999px;background:#f4b7c170;z-index:5}.cat-cheek--left{left:68px}.cat-cheek--right{right:68px}.cat-whisker{position:absolute;top:66px;width:20px;height:1px;background:#fcffffb8;z-index:5}.cat-whisker--left{left:49px}.cat-whisker--right{right:49px}.cat-paw{position:absolute;bottom:20px;width:28px;height:18px;border-radius:999px;background:#6f808a;z-index:4}.cat-paw--left{left:72px}.cat-paw--right{right:72px}.cat-tail{position:absolute;right:20px;bottom:40px;width:68px;height:14px;border-radius:999px;transform-origin:left center;background:linear-gradient(140deg,#61727b,#516069);animation:tailIdle 1.9s ease-in-out infinite;z-index:1}.cat-figure.is-petting .cat-tail{animation:tailHappy .42s ease-in-out infinite}.cat-figure.is-petting .cat-head{transform:translate(-50%) translateY(-1px)}.cat-mood{margin:12px 0 0;color:#355461}.cat-meter{margin-top:8px;width:100%;height:8px;border-radius:999px;background:#75a0b142;overflow:hidden}.cat-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#74d6c0,#6e9edf);transition:width .12s linear}.back-link{display:inline-block;margin-top:24px;color:#2f8380;text-underline-offset:4px;transition:color .24s ease}.back-link:hover{color:#216c6a}.projects-card{width:min(980px,100%);text-align:left}.projects-card--leaving{pointer-events:none;animation:projectListExit .43s ease forwards}.projects-card h2{margin:0;font-size:clamp(1.8rem,3vw,2.3rem)}.projects-intro{margin:12px 0 0;color:var(--text-secondary);line-height:1.6}.project-sections{margin-top:24px;display:grid;gap:14px}.project-group{background:linear-gradient(160deg,#d8ebf0,#cfe5db);border:1px solid rgba(90,140,156,.23);border-radius:18px;padding:18px;box-shadow:inset 0 1px #ffffff6b}.project-group--calculators{background:linear-gradient(160deg,#d2e8f6,#cce4f2);border:1px solid rgba(72,120,154,.3)}.project-group--productivity{background:linear-gradient(160deg,#d8efdf,#cde7d6);border:1px solid rgba(77,132,109,.3)}.project-group--games{background:linear-gradient(160deg,#e3dbf6,#d7cff0);border:1px solid rgba(110,93,162,.34)}.project-group h3{margin:0;font-size:1.15rem}.project-group p{margin:8px 0 14px;color:#34535e}.project-group--solo{background:linear-gradient(160deg,#ece0c8,#e5d7bb);border:2px solid rgba(137,111,68,.48)}.project-chip-list{display:flex;flex-wrap:wrap;gap:10px}.project-chip{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;background:#ffffffa3;border:1px solid rgba(82,125,140,.22);color:#2c4a54;font-size:.95rem}.project-chip-button{cursor:pointer;text-align:left;justify-content:space-between;gap:12px;min-height:44px;flex:1 1 270px;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease}.project-chip-button:hover{transform:translateY(-2px);background:#fffffff2;border-color:#4e7a8b6b;box-shadow:0 8px 16px #567c8c38}.project-chip-button:focus-visible{outline:2px solid rgba(60,125,145,.65);outline-offset:2px}.project-chip-arrow{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;opacity:.76;transition:opacity .22s ease,transform .22s ease}.project-chip-button:hover .project-chip-arrow{opacity:1;transform:translate(3px)}.project-chip--solo{background:#ffffffe6;border:1.5px solid rgba(47,98,115,.38);font-weight:700}.project-tone-root{--project-surface-a: #e6f1f7;--project-surface-b: #daeaf2;--project-border: rgba(88, 126, 141, .26);--project-soft-text: #3d5e6a;--project-input-bg: rgba(248, 252, 255, .94);--project-input-border: rgba(103, 139, 154, .3);--project-result-bg: rgba(232, 244, 250, .8);--project-result-border: rgba(113, 148, 164, .28);--project-muted-surface: rgba(240, 248, 251, .85);--project-muted-border: rgba(109, 144, 157, .25);--project-chip-surface: rgba(255, 255, 255, .78);--project-chip-border: rgba(109, 144, 157, .2);--project-action-a: #5daed4;--project-action-b: #69c4b8;--project-action-shadow: rgba(80, 143, 165, .3);--project-focus: rgba(87, 150, 171, .5);--project-soft-button: rgba(79, 138, 158, .16);--project-soft-button-text: #2f5663;--project-done: rgba(104, 189, 160, .27);--calc-body-a: #2c3137;--calc-body-b: #1f2429;--calc-border: rgba(255, 255, 255, .2);--calc-display: #f3f6f7;--calc-history: rgba(245, 250, 252, .58);--calc-number-bg: #5f666d;--calc-number-hover: #6e757d;--calc-utility-bg: #707980;--calc-utility-hover: #838b92;--calc-operator-bg: #f39c12;--calc-operator-hover: #ffab2d}.project-tone-root--calculators{--project-surface-a: #deedf8;--project-surface-b: #cfe3f5;--project-border: rgba(79, 121, 159, .3);--project-soft-text: #305568;--project-input-bg: rgba(243, 250, 255, .95);--project-input-border: rgba(89, 129, 168, .32);--project-result-bg: rgba(222, 238, 250, .84);--project-result-border: rgba(93, 133, 170, .3);--project-muted-surface: rgba(233, 244, 251, .86);--project-muted-border: rgba(95, 136, 172, .28);--project-chip-surface: rgba(250, 254, 255, .84);--project-chip-border: rgba(96, 136, 172, .25);--project-action-a: #4f94d4;--project-action-b: #62b7e8;--project-action-shadow: rgba(72, 126, 178, .35);--project-focus: rgba(76, 132, 185, .52);--project-soft-button: rgba(74, 123, 169, .17);--project-soft-button-text: #2e5470;--project-done: rgba(93, 162, 216, .26);--calc-body-a: #30343c;--calc-body-b: #1f2329;--calc-border: rgba(167, 202, 228, .45);--calc-operator-bg: #5aa5e6;--calc-operator-hover: #6db8f2}.project-tone-root--productivity{--project-surface-a: #dff1e4;--project-surface-b: #d0e7d8;--project-border: rgba(77, 132, 109, .32);--project-soft-text: #315c45;--project-input-bg: rgba(247, 255, 250, .95);--project-input-border: rgba(90, 140, 112, .32);--project-result-bg: rgba(226, 244, 232, .82);--project-result-border: rgba(96, 144, 116, .29);--project-muted-surface: rgba(236, 248, 240, .87);--project-muted-border: rgba(99, 146, 118, .27);--project-chip-surface: rgba(252, 255, 252, .85);--project-chip-border: rgba(102, 146, 120, .23);--project-action-a: #57ab83;--project-action-b: #6ec395;--project-action-shadow: rgba(83, 143, 110, .32);--project-focus: rgba(88, 153, 119, .48);--project-soft-button: rgba(78, 136, 106, .17);--project-soft-button-text: #2f5a45;--project-done: rgba(103, 189, 146, .26);--calc-body-a: #2f3632;--calc-body-b: #1f2823;--calc-border: rgba(179, 219, 190, .45);--calc-operator-bg: #59b489;--calc-operator-hover: #6cc79b}.project-tone-root--solo{--project-surface-a: #efe3cd;--project-surface-b: #e6d8bb;--project-border: rgba(137, 111, 68, .4);--project-soft-text: #624f2f;--project-input-bg: rgba(255, 252, 245, .96);--project-input-border: rgba(149, 123, 76, .35);--project-result-bg: rgba(248, 240, 223, .84);--project-result-border: rgba(155, 129, 82, .35);--project-muted-surface: rgba(250, 243, 228, .9);--project-muted-border: rgba(153, 127, 80, .3);--project-chip-surface: rgba(255, 251, 242, .86);--project-chip-border: rgba(152, 127, 81, .26);--project-action-a: #d08a4f;--project-action-b: #e5a15f;--project-action-shadow: rgba(149, 108, 66, .33);--project-focus: rgba(174, 123, 69, .46);--project-soft-button: rgba(160, 120, 74, .18);--project-soft-button-text: #5d4829;--project-done: rgba(219, 169, 110, .28);--calc-body-a: #3b3328;--calc-body-b: #2b241b;--calc-border: rgba(233, 209, 169, .42);--calc-operator-bg: #d28c55;--calc-operator-hover: #e7a46c}.project-tone-root--games{--project-surface-a: #e6def7;--project-surface-b: #d8cff1;--project-border: rgba(111, 93, 164, .36);--project-soft-text: #4c4070;--project-input-bg: rgba(250, 247, 255, .94);--project-input-border: rgba(117, 98, 171, .33);--project-result-bg: rgba(237, 229, 252, .82);--project-result-border: rgba(122, 103, 177, .32);--project-muted-surface: rgba(243, 238, 252, .86);--project-muted-border: rgba(121, 104, 174, .3);--project-chip-surface: rgba(255, 255, 255, .78);--project-chip-border: rgba(119, 103, 168, .24);--project-action-a: #7460b9;--project-action-b: #8a70cc;--project-action-shadow: rgba(90, 74, 146, .36);--project-focus: rgba(117, 98, 171, .46);--project-soft-button: rgba(106, 88, 156, .18);--project-soft-button-text: #4f4277;--project-done: rgba(144, 119, 206, .25);--calc-body-a: #37314e;--calc-body-b: #28233a;--calc-border: rgba(191, 175, 234, .42);--calc-operator-bg: #7f67cc;--calc-operator-hover: #9078df}.project-workspace{width:min(980px,100%);border-radius:30px;background:linear-gradient(150deg,var(--project-surface-a),var(--project-surface-b));border:1px solid var(--project-border);animation:projectWorkspaceEnter .52s ease both}.project-workspace__header h2{margin:0;font-size:clamp(1.8rem,3vw,2.25rem)}.project-workspace__header p{margin:10px 0 0;color:var(--project-soft-text);line-height:1.6}.project-workspace__body{margin-top:22px;display:grid;gap:16px}.tool-grid{display:grid;gap:12px}.tool-grid--double{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-grid--triple{grid-template-columns:repeat(3,minmax(0,1fr))}.tool-field{display:grid;gap:8px}.tool-field span{font-size:.9rem;color:var(--project-soft-text)}.tool-field--full{grid-column:1 / -1}.tool-field input,.tool-field select,.tool-inline input{width:100%;border-radius:12px;border:1px solid var(--project-input-border);background:var(--project-input-bg);padding:11px 12px;color:#284651;font:inherit}.tool-field input:focus,.tool-field select:focus,.tool-inline input:focus{outline:2px solid var(--project-focus);outline-offset:1px}.tool-result{border-radius:14px;background:var(--project-result-bg);border:1px solid var(--project-result-border);padding:14px 16px}.tool-result p{margin:0}.tool-result p+p{margin-top:8px}.tool-error{color:#8b3f4f}.tool-inline{display:flex;gap:10px}.tool-action{border:0;border-radius:12px;padding:11px 14px;background:linear-gradient(135deg,var(--project-action-a),var(--project-action-b));color:#f7fffe;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.tool-action:hover{transform:translateY(-1px);box-shadow:0 10px 18px var(--project-action-shadow)}.planner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.planner-day{border-radius:14px;padding:13px;background:var(--project-muted-surface);border:1px solid var(--project-muted-border)}.planner-day h3{margin:0;font-size:1rem}.planner-day ul,.habit-list,.todo-list{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:8px}.planner-day li,.habit-list li,.todo-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;border-radius:10px;padding:8px 10px;background:var(--project-chip-surface);border:1px solid var(--project-chip-border)}.planner-day li button,.habit-actions button,.todo-toggle,.todo-remove{border:0;border-radius:8px;padding:6px 8px;cursor:pointer;font:inherit;font-size:.85rem;background:var(--project-soft-button);color:var(--project-soft-button-text)}.planner-empty{margin:0;color:#4e6a75}.habit-list li div{display:grid;gap:2px}.habit-list li span{color:#4c6772;font-size:.9rem}.habit-actions{display:inline-flex;gap:6px}.habit-actions .is-done{background:var(--project-done)}.todo-list li.is-done span{opacity:.65;text-decoration:line-through}.timecalc-shell{display:grid;gap:14px}.timecalc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.timecalc-block{border-radius:16px;padding:14px;background:var(--project-muted-surface);border:1px solid var(--project-muted-border)}.timecalc-block h3{margin:0;font-size:1rem;color:var(--project-soft-text)}.timecalc-preview{margin:8px 0 12px;font-size:1.6rem;font-weight:700;color:#2d4756}.timecalc-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.timecalc-presets{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}.timecalc-preset{border:0;border-radius:999px;padding:7px 11px;font:inherit;font-size:.85rem;cursor:pointer;background:var(--project-soft-button);color:var(--project-soft-button-text)}.timecalc-operation{display:inline-flex;gap:8px;padding:6px;border-radius:999px;background:var(--project-chip-surface);border:1px solid var(--project-chip-border);width:fit-content}.timecalc-operation button{border:0;border-radius:999px;padding:9px 14px;font:inherit;font-weight:700;cursor:pointer;background:transparent;color:var(--project-soft-text)}.timecalc-operation button.is-active{color:#fff;background:linear-gradient(135deg,var(--project-action-a),var(--project-action-b));box-shadow:0 8px 16px var(--project-action-shadow)}.timecalc-result{border-radius:16px;padding:14px;background:var(--project-result-bg);border:1px solid var(--project-result-border)}.timecalc-result-main{margin:0;font-size:1.25rem;font-weight:700}.timecalc-result-sub{margin:6px 0 0;color:var(--project-soft-text);font-size:.95rem}.mini-game-shell{display:grid;gap:12px}.mini-game-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}.mini-game-toolbar p{margin:0;color:var(--project-soft-text)}.ttt-grid{width:min(390px,100%);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ttt-cell{aspect-ratio:1;border:1px solid var(--project-chip-border);border-radius:16px;background:var(--project-chip-surface);color:#322a49;font:inherit;font-size:clamp(2rem,6vw,2.6rem);font-weight:800;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.ttt-cell:hover{transform:translateY(-1px);box-shadow:0 8px 14px #2c224929}.ttt-cell--win{background:color-mix(in srgb,var(--project-action-a) 30%,white 70%);border-color:color-mix(in srgb,var(--project-action-a) 55%,white 45%)}.memory-grid{width:min(460px,100%);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.memory-card{aspect-ratio:1;border-radius:14px;border:1px solid var(--project-chip-border);background:linear-gradient(150deg,color-mix(in srgb,var(--project-action-a) 38%,white 62%),color-mix(in srgb,var(--project-action-b) 42%,white 58%));color:#281f43e6;font:inherit;font-size:1.75rem;font-weight:800;cursor:pointer;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}.memory-card:hover{transform:translateY(-1px) scale(1.01)}.memory-card--open{background:var(--project-chip-surface);box-shadow:inset 0 0 0 1px #ffffff59}.reaction-arena{position:relative;width:min(560px,100%);aspect-ratio:16 / 10;border-radius:16px;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--project-action-a) 26%,#131020 74%),color-mix(in srgb,var(--project-action-b) 28%,#171328 72%));border:1px solid color-mix(in srgb,var(--project-action-a) 55%,white 45%)}.reaction-arena p{margin:0;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;color:#f3efffeb}.reaction-target{position:absolute;width:38px;height:38px;border:0;border-radius:999px;cursor:pointer;background:radial-gradient(circle at 35% 35%,#fff,#ffdb8a 35%,#ec9952);transform:translate(-50%,-50%);box-shadow:0 0 0 4px #ffe1ad47}.guess-panel{display:grid;gap:12px}.guess-history{display:flex;flex-wrap:wrap;gap:8px}.guess-history span{display:inline-flex;align-items:center;justify-content:center;min-width:36px;padding:6px 9px;border-radius:999px;background:var(--project-chip-surface);border:1px solid var(--project-chip-border);color:var(--project-soft-text)}.snake-shell{display:grid;gap:14px}.snake-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.snake-counter{border-radius:14px;padding:10px 12px;display:grid;gap:2px;background:var(--project-muted-surface);border:1px solid var(--project-muted-border)}.snake-counter span{font-size:.82rem;color:var(--project-soft-text);opacity:.82}.snake-counter strong{font-size:1.65rem;line-height:1}.snake-counter small{color:var(--project-soft-text)}.snake-toolbar-actions{display:inline-flex;gap:8px}.snake-icon-button{width:42px;height:42px;border-radius:12px;border:1px solid var(--project-chip-border);background:var(--project-chip-surface);color:var(--project-soft-text);font-size:1.15rem;font-weight:700;cursor:pointer;position:relative;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.snake-icon-button:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--project-chip-surface) 86%,white 14%);box-shadow:0 8px 14px #231d382b}.snake-icon-button:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);white-space:nowrap;pointer-events:none;opacity:0;padding:5px 8px;border-radius:8px;font-size:.74rem;color:#f5f8fb;background:#221c34e0;transition:opacity .18s ease,transform .18s ease}.snake-icon-button:hover:after{opacity:1;transform:translate(-50%) translateY(0)}.snake-board{position:relative;aspect-ratio:1;width:min(520px,100%);border-radius:18px;overflow:hidden;padding:8px;background:radial-gradient(circle at 70% 20%,#d1baff24,#d1baff00 38%),linear-gradient(145deg,#2a2043f2,#1d1630f2);border:1px solid rgba(130,108,193,.4)}.snake-board:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border-radius:12px;border:1px solid rgba(255,255,255,.08);pointer-events:none;z-index:1}.snake-board:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border-radius:12px;pointer-events:none;z-index:1;background-image:repeating-linear-gradient(to right,rgba(255,255,255,.07) 0,rgba(255,255,255,.07) 1px,transparent 1px,transparent var(--snake-grid-cell-size)),repeating-linear-gradient(to bottom,rgba(255,255,255,.07) 0,rgba(255,255,255,.07) 1px,transparent 1px,transparent var(--snake-grid-cell-size))}.snake-segment,.snake-food{position:absolute;border-radius:5px}.snake-segment{z-index:2;transition:left var(--snake-step-ms) linear,top var(--snake-step-ms) linear;background:#3f7d66;box-shadow:inset 0 -1px #0000002e}.snake-segment--head{background:#2f624f;border-radius:6px;box-shadow:0 0 0 1px #c3eadb38}.snake-food{z-index:3;background:#ef6d85;border-radius:999px;animation:snakeFoodPop .15s ease-out;box-shadow:0 0 0 1px #ffc7d459}.snake-food:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:999px;border:1px solid rgba(255,214,225,.52)}.snake-overlay{position:absolute;top:12px;right:12px;bottom:12px;left:12px;display:grid;place-content:center;gap:8px;text-align:center;border-radius:14px;background:#151021c2;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:6}.snake-overlay p{margin:0;font-size:1.2rem;font-weight:700;color:#f6f1ff}.snake-overlay span{color:#e9e1f8e0}.snake-overlay-button{border:0;border-radius:12px;padding:9px 14px;font:inherit;font-weight:700;cursor:pointer;color:#f8fbff;background:linear-gradient(135deg,var(--project-action-a),var(--project-action-b));box-shadow:0 8px 16px var(--project-action-shadow)}.snake-footer p{margin:0;color:var(--project-soft-text)}.calculator-shell{width:min(390px,100%);margin-inline:auto;border-radius:28px;padding:18px;position:relative;overflow:hidden;background:radial-gradient(circle at 18% -6%,#ffffff26,#fff0 40%),linear-gradient(145deg,var(--calc-body-a),var(--calc-body-b));border:1px solid var(--calc-border);box-shadow:0 20px 34px #080d1161}.calculator-shell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 1px #ffffff24}.calculator-top{min-height:124px;display:grid;align-content:end;gap:10px;padding:2px 3px 14px}.calculator-meta{display:flex;justify-content:space-between;align-items:center}.calculator-brand{color:#e3edf5d1;font-size:.83rem;text-transform:uppercase;letter-spacing:.11em;font-weight:700}.calculator-mode{color:#ecf3f7db;background:#ffffff1a;border:1px solid rgba(255,255,255,.12);border-radius:999px;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px}.calculator-history{margin:0;min-height:1.2rem;text-align:right;color:#ecf3f89e;font-size:.95rem}.calculator-display{margin:0;text-align:right;color:var(--calc-display);font-size:clamp(2.35rem,5vw,3.35rem);line-height:1;font-weight:600;overflow:hidden;text-overflow:ellipsis}.calculator-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.calculator-key{border:1px solid rgba(255,255,255,.09);border-radius:22px;min-height:70px;color:#f4f7f8;cursor:pointer;font-size:clamp(1.48rem,3vw,1.78rem);font-weight:600;transition:transform .16s ease,filter .18s ease,box-shadow .18s ease;box-shadow:inset 0 1px #ffffff1a}.calculator-key:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 9px 14px #090d123d}.calculator-key:active{transform:translateY(1px) scale(.98);box-shadow:inset 0 2px 6px #0003}.calculator-key--number{background:linear-gradient(165deg,color-mix(in srgb,var(--calc-number-bg) 92%,white 8%),var(--calc-number-bg))}.calculator-key--number:hover{background:var(--calc-number-hover)}.calculator-key--utility{background:linear-gradient(165deg,color-mix(in srgb,var(--calc-utility-bg) 90%,white 10%),var(--calc-utility-bg))}.calculator-key--utility:hover{background:var(--calc-utility-hover)}.calculator-key--operator{color:#fff;background:linear-gradient(155deg,color-mix(in srgb,var(--calc-operator-bg) 82%,white 18%),var(--calc-operator-bg))}.calculator-key--operator:hover{background:var(--calc-operator-hover)}.pattern-layer{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:1}.pattern-shape{position:absolute;top:0;left:0;border:1px solid rgba(255,255,255,.66);background:linear-gradient(155deg,#ffffff8f,#beeae757);box-shadow:0 6px 18px #547f8e2b;opacity:.88;will-change:transform;animation:shapePulse 4.8s ease-in-out infinite}.pattern-shape--circle{border-radius:999px}.pattern-shape--square{border-radius:12px}.pattern-shape--diamond{border-radius:10px;clip-path:polygon(50% 0%,100% 50%,50% 100%,0 50%)}.pattern-shape--triangle{border-radius:0;clip-path:polygon(50% 0%,0 100%,100% 100%)}.pattern-shape--hex{border-radius:8px;clip-path:polygon(25% 6%,75% 6%,100% 50%,75% 94%,25% 94%,0 50%)}@media (max-width: 900px){.hero-card{width:min(860px,100%);grid-template-columns:1fr;gap:20px}.cta-grid,.tool-grid--triple{grid-template-columns:repeat(2,minmax(0,1fr))}.calculator-shell{width:min(360px,100%)}.calculator-key{min-height:66px}}@media (max-width: 640px){.cta-grid,.tool-grid--double,.tool-grid--triple,.planner-grid,.timecalc-grid{grid-template-columns:1fr}.tool-inline{flex-direction:column}.snake-toolbar{grid-template-columns:1fr}.snake-toolbar-actions{justify-content:flex-start}.about-sheet{min-height:clamp(640px,86vh,900px);padding:22px}.memory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ttt-grid,.reaction-arena{width:100%}.calculator-shell{padding:14px}.calculator-grid{gap:9px}.calculator-key{min-height:60px}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes projectListExit{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}to{opacity:0;transform:translateY(72px) scale(.98);filter:blur(9px)}}@keyframes projectWorkspaceEnter{0%{opacity:0;transform:translateY(16px);filter:blur(8px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes tailIdle{0%,to{transform:rotate(-5deg)}50%{transform:rotate(7deg)}}@keyframes tailHappy{0%,to{transform:rotate(-18deg)}50%{transform:rotate(20deg)}}@keyframes snakeFoodPop{0%{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}@keyframes shapePulse{0%,to{filter:saturate(1);opacity:.82}50%{filter:saturate(1.15);opacity:1}}
