/*! tailwindcss v4.0.14 | MIT License | https://tailwindcss.com */@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-gray-200:oklch(.928 .006 264.531);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-bold:700;--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-font-feature-settings:var(--font-sans--font-feature-settings);--default-font-variation-settings:var(--font-sans--font-variation-settings);--default-mono-font-family:var(--font-mono);--default-mono-font-feature-settings:var(--font-mono--font-feature-settings);--default-mono-font-variation-settings:var(--font-mono--font-variation-settings)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1;color:color-mix(in oklab,currentColor 50%,transparent)}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.z-50{z-index:50}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-1{margin-left:calc(var(--spacing)*1)}.block{display:block}.flex{display:flex}.hidden{display:none}.table{display:table}.h-\[2px\]{height:2px}.h-full{height:100%}.w-\[40\%\]{width:40%}.w-\[200px\]{width:200px}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.bg-black{background-color:var(--color-black)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-white{background-color:var(--color-white)}.font-mono{font-family:var(--font-mono)}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.text-black{color:var(--color-black)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}html,body,#root{overscroll-behavior:none;-webkit-user-select:none;user-select:none;height:100%;font-family:DM Sans,-apple-system,Helvetica Neue,Helvetica,Arial,sans-serif;overflow:hidden}.youtube-player-hidden{pointer-events:none;opacity:0;width:0;height:0;position:absolute;overflow:hidden}.youtube-player-hidden iframe{width:0;height:0}.app-bg{background:#3a3a50;flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100dvh;display:flex;position:relative;overflow:hidden}.immersive-bg-container{z-index:0;background:#111;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.immersive-bg-layer{z-index:1;position:absolute;top:0;right:0;bottom:0;left:0}.immersive-blob{filter:blur(120px);z-index:2;will-change:transform,opacity;border-radius:50%;animation:20s ease-in-out infinite alternate blobFloat;position:absolute}.blob-1{width:60vw;height:60vw;top:-20%;left:-10%}.blob-2{width:50vw;height:50vw;animation-delay:-10s;bottom:-10%;right:-10%}@keyframes blobFloat{0%{opacity:.3;transform:translate(0)scale(1)}to{opacity:.5;transform:translate(30px,50px)scale(1.1)}}.bg-noise{opacity:.03;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px;position:absolute;top:0;right:0;bottom:0;left:0}.app-hint{color:#ffffffb3;letter-spacing:.3px;text-align:center;pointer-events:none;z-index:1;align-items:center;gap:6px;font-size:10px;display:flex;position:absolute;bottom:28px}.hint-key{background:#ffffff1f;border:1px solid #fff3;border-radius:3px;padding:1px 5px;font-family:SF Mono,JetBrains Mono,monospace;font-size:9px}.hint-sep{opacity:.3}.app-credit{color:#ffffff80;letter-spacing:2px;text-transform:uppercase;pointer-events:none;z-index:1;font-size:9px;position:absolute;bottom:10px}.background-visualizer{opacity:.5;pointer-events:none;z-index:0;mix-blend-mode:screen;width:600px;height:200px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ipod-container{z-index:1;transform-origin:50%;will-change:transform;justify-content:center;align-items:center;transition:transform .6s cubic-bezier(.2,.8,.2,1);display:flex;position:relative}.ipod-focused{transform:scale(1.4)}@media (height<=800px){.ipod-focused{transform:scale(1.2)}}.ipod-glow{pointer-events:none;filter:blur(30px);width:540px;height:740px;transition:background 1.5s;position:absolute}.ipod-body{z-index:1;border-radius:22px;flex-direction:column;align-items:center;width:270px;height:500px;display:flex;position:relative;overflow:hidden;box-shadow:inset 6px -6px 18px #00000040,inset -2px 2px 6px #ffffff2e,inset 0 2px #ffffff40,inset 0 -1px #00000014,0 1px 2px #0000001a,0 4px 8px #0000001f,0 12px 24px #0000002e,0 32px 64px #00000047,0 64px 120px #00000080}.ipod-edge{z-index:-1;border-radius:24px;position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;box-shadow:inset 0 1px #ffffff59,inset 0 -1px #0003,0 0 0 1px #00000026}.ipod-reflection{pointer-events:none;z-index:10;border-radius:22px;position:absolute;top:0;right:0;bottom:0;left:0}.ipod-body:before{content:"";pointer-events:none;z-index:11;background:radial-gradient(#ffffff1f,#0000 70%);border-radius:50%;width:100px;height:70px;position:absolute;top:8%;left:15%}.ipod-body:after{content:"";opacity:.025;pointer-events:none;z-index:2;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:256px;border-radius:22px;position:absolute;top:0;right:0;bottom:0;left:0}.ipod-top-details{justify-content:space-between;align-items:center;width:100%;height:18px;margin-top:6px;padding:0 24px;display:flex}.headphone-jack-wrap{align-items:center;display:flex;position:relative}.headphone-jack{z-index:1;border-radius:50%;width:8px;height:8px;position:relative;box-shadow:inset 0 2px 4px #000000b3,inset 0 -1px 1px #ffffff0d,0 0 0 1.5px #0003,0 0 0 3px #ffffff0f,0 1px #ffffff1a}.hold-switch{align-items:center;display:flex}.hold-track{border-radius:3px;width:20px;height:5px;box-shadow:inset 0 1px 2px #0000004d,inset 0 -1px #ffffff1a,0 1px #ffffff14}.ipod-branding{letter-spacing:2.5px;text-align:center;pointer-events:none;-webkit-user-select:none;user-select:none;text-shadow:0 1px #ffffff26;margin-top:5px;font-family:Playfair Display,Georgia,serif;font-size:13px;font-style:italic;font-weight:400}.ipod-surface-reflection{filter:blur(10px);pointer-events:none;z-index:0;background:linear-gradient(#ffffff14,#ffffff05,#0000);border-radius:0 0 50% 50%;width:250px;height:60px;position:absolute;bottom:-60px}.ipod-screen{background:#fffcf8;border-radius:6px;flex-direction:column;width:232px;height:190px;margin-top:6px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 12px 3px #0006,inset 0 2px 4px #00000040,0 0 0 1.5px #1e1e20,0 0 0 2.5px #48484c,0 0 0 3.5px #1e1e20,0 0 12px 2px #c8dcff1f,0 0 24px 4px #c8dcff0f}.ipod-screen:after{content:"";pointer-events:none;z-index:5;background:linear-gradient(170deg,#ffffff1f,#0000 30%);position:absolute;top:0;right:0;bottom:0;left:0}.ipod-status-bar{background:linear-gradient(#f8f4ef,#ede8e2 40%,#e2dcd6 60%,#e8e2dc);border-bottom:1px solid #c8c0b8;flex-shrink:0;justify-content:space-between;align-items:center;height:20px;min-height:20px;padding:0 8px;display:flex;box-shadow:0 1px #fffcf880}.status-title{color:#000;letter-spacing:.3px;font-size:10px;font-weight:700}.status-right{align-items:center;gap:5px;display:flex}.status-playing{color:#000;font-size:7px}.status-time{color:#555;font-variant-numeric:tabular-nums;font-size:8px}.battery-icon{background:#fff;border:1.5px solid #555;border-radius:1.5px;width:18px;height:9px;display:inline-block;position:relative}.battery-icon:after{content:"";background:#555;border-radius:0 1px 1px 0;width:2px;height:4px;position:absolute;top:1.5px;right:-3.5px}.battery-level{background:#4cd964;width:75%;height:100%;display:block}.screen-content{flex:1;position:relative;overflow:hidden}.screen-inner{width:100%;height:100%}.slide-in-right{animation:.25s ease-out slideInRight}.slide-in-left{animation:.25s ease-out slideInLeft}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}.menu-list{width:100%;height:100%}.menu-item{color:#2d2a26;cursor:default;border-bottom:1px solid #ede8e2;justify-content:space-between;align-items:center;height:29px;padding:0 10px;font-size:12px;transition:none;display:flex}.menu-item.selected{color:#fff;text-shadow:0 1px 1px #14285040;background:linear-gradient(#4a90d9,#3a7bd5,#2e6bc4 60%,#2860b8);border-bottom-color:#2255a0;box-shadow:inset 0 1px #ffffff2e}.menu-item-label{white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:500;overflow:hidden}.menu-item-right{flex-shrink:0;align-items:center;gap:4px;display:flex}.menu-item-sublabel{opacity:.5;white-space:nowrap;text-overflow:ellipsis;max-width:90px;font-size:9px;overflow:hidden}.menu-item.selected .menu-item-sublabel{opacity:.8}.menu-item-arrow{opacity:.4;font-size:11px}.menu-item.selected .menu-item-arrow{opacity:.9}.click-wheel{cursor:pointer;touch-action:none;border-radius:50%;flex-shrink:0;width:186px;height:186px;margin-top:24px;position:relative;box-shadow:inset 5px -5px 28px -4px #00000040,inset -2px 2px 8px #ffffff1f,inset 0 2px #ffffff26,0 -1px 3px #00000026,0 2px #ffffff0d}.click-wheel:before,.click-wheel:after{content:"";pointer-events:none;z-index:1;border-left:1px solid #0000001a;width:0;height:96%;position:absolute;top:2%;left:50%}.click-wheel:before{transform:rotate(45deg)}.click-wheel:after{transform:rotate(135deg)}.wheel-btn{letter-spacing:1px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:10px;font-size:9px;font-weight:700;line-height:1;position:absolute}.wheel-btn:active{opacity:.4}.wheel-btn-top{top:10px;left:50%;transform:translate(-50%)}.wheel-btn-bottom{font-size:14px;bottom:10px;left:50%;transform:translate(-50%)}.wheel-btn-left{font-size:14px;top:50%;left:8px;transform:translateY(-50%)}.wheel-btn-right{font-size:14px;top:50%;right:8px;transform:translateY(-50%)}.center-btn{cursor:pointer;z-index:3;-webkit-tap-highlight-color:transparent;border:1.5px solid #00000014;border-radius:50%;width:68px;height:68px;transition:box-shadow .1s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:5px -5px 20px -4px #0003,-2px 2px 6px #ffffff1f,0 0 0 1px #ffffff14,inset 0 1px #fff3,inset 0 -1px #0000000f}.center-btn:active{box-shadow:0 0 2px #00000026,inset 0 3px 8px #00000026,inset 0 1px 2px #0000001a}.dock-connector{border-radius:3px;flex-shrink:0;width:72px;height:7px;margin-top:auto;margin-bottom:14px;position:relative;box-shadow:inset 0 3px 6px #00000073,inset 0 -1px 2px #ffffff14,0 1px #ffffff26,0 0 0 1px #0000001f,0 0 8px #0000001a}.dock-connector:before{content:"";background:repeating-linear-gradient(90deg,#ffffff1f 0,#ffffff1f 2px,#0000 2px,#0000 4px);border-radius:1px;width:52px;height:3px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.now-playing{background:#fffcf8;flex-direction:column;align-items:center;height:100%;padding:6px 10px 4px;display:flex}.np-album-art{border-radius:6px;flex-shrink:0;width:86px;height:86px;margin-bottom:4px;position:relative;overflow:hidden;box-shadow:0 4px 16px #00000040,0 1px 3px #00000026}.np-album-pattern{justify-content:center;align-items:center;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.np-vinyl-lines{background:radial-gradient(circle,#ffffff0f,#0000 70%);border:2px solid #ffffff40;border-radius:50%;width:36px;height:36px;box-shadow:0 0 0 6px #ffffff1a,0 0 0 12px #ffffff0d,0 0 0 18px #ffffff05,0 0 0 24px #ffffff03}.np-spinning{border:1px solid #ffffff1f;border-top-color:#ffffff59;border-radius:50%;width:50px;height:50px;animation:2s linear infinite spin;position:absolute}@keyframes spin{to{transform:rotate(360deg)}}.np-info{text-align:center;width:100%;margin-bottom:2px}.np-song-num{color:#aaa;margin-bottom:1px;font-size:8px}.np-title{color:#000;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:700;overflow:hidden}.np-artist{color:#666;font-size:10px}.np-album{color:#aaa;font-size:9px}.np-progress{align-items:center;gap:4px;width:92%;margin-top:auto;display:flex}.np-time{color:#aaa;text-align:center;font-variant-numeric:tabular-nums;min-width:26px;font-size:8px}.np-bar{background:#e2dcd6;border-radius:2px;flex:1;height:3px;position:relative}.np-bar-fill{background:#c08080;border-radius:2px;height:100%;transition:width 1s linear}.np-bar-diamond{background:#c08080;border-radius:1px;width:7px;height:7px;transition:left 1s linear;position:absolute;top:50%;transform:translate(-50%,-50%)rotate(45deg)}.np-controls{color:#aaa;margin-top:2px;font-size:10px}.about-view{padding:0;transition:transform 80ms ease-out}.about-header{background:linear-gradient(#faf6f0,#fffcf8);border-bottom:1px solid #ede8e2;align-items:center;gap:10px;padding:10px 12px 8px;display:flex}.about-avatar{object-fit:cover;object-position:center 20%;border:2px solid #fff;border-radius:50%;flex-shrink:0;width:46px;height:46px;box-shadow:0 2px 8px #0000001f}.about-header-info{min-width:0}.about-name{color:#000;letter-spacing:-.3px;font-size:15px;font-weight:700;line-height:1.2}.about-subtitle{color:#6e6e73;margin-top:2px;font-size:9.5px;font-weight:500}.about-bio{color:#444;padding:6px 12px;font-size:9.5px;line-height:1.55}.about-section{margin-bottom:5px;padding:0 12px}.about-section-title{color:#6e6e73;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;font-size:8.5px;font-weight:700}.about-tags{flex-wrap:wrap;gap:3px 4px;display:flex}.about-tag{color:#8b7355;letter-spacing:.1px;background:linear-gradient(135deg,#ede8e0,#e5ded4);border-radius:9px;padding:2.5px 7px;font-size:8px;font-weight:600}.about-exp{border-left:2px solid #d8d0c8;margin-bottom:4px;padding-left:6px}.about-exp-title{color:#111;font-size:9.5px;font-weight:600;line-height:1.3}.about-exp-meta{color:#8e8e93;font-size:8px}.about-view .cv-divider{margin:4px 12px}.project-accent{border-radius:0;width:100%;height:3px}.content-view{padding:8px 10px;transition:transform 80ms ease-out}.cv-section{margin-bottom:6px}.cv-name{color:#000;letter-spacing:-.3px;font-size:13px;font-weight:800}.cv-tagline{color:#666;margin-top:1px;font-size:10px}.cv-school{color:#999;margin-top:1px;font-size:9px}.cv-year{color:#bbb;margin-top:1px;font-size:8px}.cv-divider{background:#ede8e2;height:1px;margin:5px 0}.cv-heading{color:#b07070;text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px;font-size:10px;font-weight:700}.cv-text{color:#333;margin-bottom:2px;font-size:10px;line-height:1.5}.cv-spacer{height:8px}.cv-skill-row{color:#444;margin-bottom:2px;font-size:9px;line-height:1.4}.cv-skill-cat{color:#222;font-weight:700}.cv-tech-tags{flex-wrap:wrap;gap:3px;margin-top:4px;display:flex}.cv-tag{color:#6e6050;background:#ede8e2;border-radius:3px;padding:1px 6px;font-size:8px}.cv-exp{margin-bottom:5px}.cv-exp-title{color:#000;font-size:10px;font-weight:600}.cv-exp-duration{color:#999;font-size:8px}.cv-exp-desc{color:#666;margin-top:1px;font-size:9px}.cv-link a{color:#b07070;font-size:10px;text-decoration:none}.cv-link a:hover{text-decoration:underline}.cv-pad{height:60px}.keypad-view{background:#faf6f0;flex-direction:column;align-items:center;height:100%;padding:4px 8px;display:flex}.keypad-display{color:#000;text-align:center;letter-spacing:1.5px;min-height:22px;margin-bottom:2px;font-size:18px;font-weight:300}.keypad-grid{flex-direction:column;gap:2px;display:flex}.keypad-row{justify-content:center;gap:2px;display:flex}.keypad-key{cursor:pointer;background:#fffcf8;border:1px solid #d8d0c8;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:0;width:56px;height:26px;display:flex;box-shadow:0 1px 2px #64503c0d}.keypad-key:active{background:#ede8e2}.key-main{color:#000;font-size:14px;font-weight:500;line-height:1}.key-sub{color:#999;letter-spacing:1.2px;font-size:5.5px;line-height:1}.keypad-actions{gap:8px;margin-top:3px;display:flex}.keypad-call{color:#fff;cursor:pointer;background:#34c759;border:none;border-radius:14px;padding:4px 22px;font-size:11px;font-weight:600}.keypad-call:active{background:#2db84d}.keypad-delete{cursor:pointer;background:#e8e8ed;border:none;border-radius:14px;padding:4px 14px;font-size:14px}.keypad-delete:active{background:#d4d4d8}.calling-view{color:#fff;background:linear-gradient(#2d2a26,#3d3530);flex-direction:column;justify-content:center;align-items:center;height:100%;padding:12px;display:flex}.calling-icon{margin-bottom:6px;font-size:30px;animation:2s ease-in-out infinite callingPulse}@keyframes callingPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.15)}}.calling-label{color:#8e8e93;text-align:center;min-width:70px;margin-bottom:4px;font-size:11px}.calling-name{margin-bottom:2px;font-size:20px;font-weight:600}.calling-detail{color:#8e8e93;margin-bottom:14px;font-size:11px}.calling-end{color:#fff;cursor:pointer;background:#ff3b30;border:none;border-radius:22px;margin-bottom:8px;padding:7px 28px;font-size:12px;font-weight:600}.calling-end:active{background:#d32f2f}.calling-actual-link{color:#d4a0a0;font-size:10px;text-decoration:none}.calling-actual-link:hover{text-decoration:underline}.photo-view{-webkit-overflow-scrolling:touch;background:#000;height:100%;position:relative;overflow:hidden auto}.photo-fullbleed{width:100%;display:block}.photo-frame{border-radius:4px;width:200px;height:120px;position:relative;overflow:hidden;box-shadow:0 2px 12px #0006}.photo-overlay{background:linear-gradient(135deg,#ffffff1f,#0000 55%);position:absolute;top:0;right:0;bottom:0;left:0}.clock-view{background:#1e1a16;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:8px;display:flex}.clock-face{background:#2a2520;border:2px solid #5a5048;border-radius:50%;width:100px;height:100px;position:relative}.clock-marker{transform-origin:50% 46px;background:#786858;width:2px;height:7px;margin-left:-1px;position:absolute;top:4px;left:50%}.clock-hand{transform-origin:50% 100%;border-radius:2px;position:absolute;bottom:50%;left:50%}.hour-hand{background:#fff;width:3px;height:24px;margin-left:-1.5px}.minute-hand{background:#fff;width:2px;height:34px;margin-left:-1px}.second-hand{background:#d4a0a0;width:1px;height:38px;margin-left:-.5px}.clock-center-dot{background:#d4a0a0;border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.clock-digital{color:#777;font-variant-numeric:tabular-nums;margin-top:8px;font-size:13px}.stopwatch-view{background:#1e1a16;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:12px;display:flex}.stopwatch-display{color:#fff;font-variant-numeric:tabular-nums;margin-bottom:18px;font-size:30px;font-weight:200}.stopwatch-controls{gap:14px;display:flex}.sw-btn{color:#ede8e2;cursor:pointer;background:#3d3530;border:none;border-radius:20px;padding:6px 20px;font-size:11px;font-weight:500}.sw-btn:active{background:#5a5048}.sw-hint{color:#444;margin-top:14px;font-size:8px}.settings-about-view{padding:2px 0}.sa-row{border-bottom:1px solid #eaeaee;justify-content:space-between;padding:5px 10px;font-size:10px;display:flex}.sa-label{color:#000;font-weight:500}.sa-value{color:#8e8e93}.empty-view{flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.empty-icon{margin-bottom:8px;font-size:30px}.empty-text{color:#8e8e93;font-size:12px}.brick-start{color:#ede8e2;background:#1e1a16;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.brick-title{letter-spacing:2px;margin-bottom:14px;font-size:24px;font-weight:700}.brick-instructions{color:#777;text-align:center;margin-bottom:18px;font-size:10px;line-height:1.6}.brick-start-btn{color:#ede8e2;cursor:pointer;background:#3d3530;border:none;border-radius:16px;padding:7px 18px;font-size:11px}.brick-start-btn:active{background:#5a5048}.brick-game{background:#1e1a16;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.brick-canvas{display:block}.special-dates-view{background:linear-gradient(#0a0a1a,#1a1a2e,#0a0a1a);flex-direction:column;justify-content:center;align-items:center;height:100%;padding:12px;display:flex}.special-dates-art{border-radius:6px;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:10px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #5b8cdb4d}.special-dates-song{color:#fff;margin-bottom:2px;font-size:13px;font-weight:700}.special-dates-artist{color:#888;margin-bottom:14px;font-size:10px}.special-dates-numbers{color:#ffffffe6;letter-spacing:1.5px;font-variant-numeric:tabular-nums;align-items:center;gap:10px;font-size:16px;font-weight:300;display:flex}.special-dates-dot{opacity:.4;font-size:20px}@media (height<=580px){.ipod-container{transform:scale(.78)}.ipod-container.ipod-focused{transform:scale(1.09)}}@media (height<=480px){.ipod-container{transform:scale(.62)}.ipod-container.ipod-focused{transform:scale(.87)}}@media (width<=360px){.ipod-container{transform:scale(.88)}.ipod-container.ipod-focused{transform:scale(1)}.app-hint{display:none}}@media (width<=320px){.ipod-container{transform:scale(.78)}.ipod-container.ipod-focused{transform:scale(1.09)}}@media (hover:none) and (pointer:coarse){.app-hint{display:none}}.messages-app{color:#000;background:#fff;flex-direction:column;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;overflow:hidden}.msg-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#f7f7f7e6;border-bottom:.5px solid #c6c6c8;flex-shrink:0;justify-content:space-between;align-items:center;height:44px;padding:0 10px;font-size:13px;font-weight:600;display:flex}.msg-header-left,.msg-header-right{color:#b07070;align-items:center;font-weight:500;display:flex}.msg-contact{flex-direction:column;align-items:center;line-height:1;display:flex}.status-dot{border-radius:50%;width:6px;height:6px;margin-top:2px}.status-dot.connected{background:#4cd964}.status-dot.connecting{background:#fc0}.status-dot.disconnected{background:#ff3b30}.msg-list{-webkit-overflow-scrolling:touch;background:#fff;flex-direction:column;flex:1;gap:3px;min-height:0;padding:12px 10px;display:flex;overflow-y:auto}.msg-timestamp{text-align:center;color:#8e8e93;margin:8px 0;font-size:10px}.msg-bubble{word-wrap:break-word;overflow-wrap:break-word;border-radius:18px;max-width:75%;padding:7px 11px;font-size:13px;line-height:1.35;position:relative}.msg-received{color:#000;background:#e5e5ea;border-bottom-left-radius:4px;align-self:flex-start}.msg-sent{color:#fff;background:#c48888;border-bottom-right-radius:4px;align-self:flex-end}.msg-input-area{background:#f6f6f6;border-top:.5px solid #c6c6c8;flex-shrink:0;padding:6px 8px}.msg-input-wrapper{align-items:center;gap:6px;display:flex}.msg-input-field{background:#fff;border:.5px solid #c6c6c8;border-radius:18px;outline:none;flex:1;min-width:0;padding:5px 12px;font-size:14px}.msg-input-field:focus{border-color:#a0a0a5}.msg-send-btn{color:#fff;cursor:pointer;background:#c48888;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:15px;font-weight:700;line-height:1;display:flex}.msg-send-btn:active{background:#b07070}.msg-sender-name{color:#86868b;margin-bottom:1px;padding-left:2px;font-size:10px}.msg-time{color:#8e8e93;text-align:center;padding:4px 0 2px;font-size:9px}.msg-quick-replies{gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.msg-reply-chip{white-space:nowrap;color:#b07070;cursor:pointer;background:#fff;border:1px solid #d8d0c8;border-radius:14px;padding:6px 12px;font-size:11px;transition:background .2s}.msg-reply-chip:hover,.msg-reply-chip:active{background:#f0ebe5}.typing-indicator .dot{background:#aaa;border-radius:50%;width:4px;height:4px;margin-right:2px;animation:1.4s ease-in-out infinite both typing;display:inline-block}.typing-indicator .dot:first-child{animation-delay:-.32s}.typing-indicator .dot:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.camera-app{background:#000;flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.camera-loading,.camera-error{justify-content:center;align-items:center}.camera-loader{border:2px solid #333;border-top-color:#888;border-radius:50%;width:24px;height:24px;margin-bottom:10px;animation:1s linear infinite spin}.camera-status-text{color:#888;font-size:11px}.camera-error-icon{margin-bottom:8px;font-size:28px}.camera-hint{color:#555;text-align:center;margin-top:4px;padding:0 20px;font-size:9px}.camera-retry-btn{color:#fff;cursor:pointer;background:#333;border:none;border-radius:14px;margin-top:10px;padding:5px 16px;font-size:11px}.camera-retry-btn:active{background:#555}.camera-viewfinder{flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.camera-feed,.camera-preview{object-fit:cover;width:100%;height:100%}.camera-feed{transform:scaleX(-1)}.camera-app>.camera-feed{z-index:1;height:auto;position:absolute;top:0;right:0;bottom:32px;left:0}.camera-scanlines{pointer-events:none;z-index:2;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000014 2px,#00000014 4px);position:absolute;top:0;right:0;bottom:0;left:0}.camera-vignette{pointer-events:none;z-index:3;background:radial-gradient(#0000 50%,#0006);position:absolute;top:0;right:0;bottom:0;left:0}.camera-timestamp{color:#ff6b00;text-shadow:0 0 4px #ff6b0080;z-index:4;font-family:monospace;font-size:8px;position:absolute;bottom:4px;right:6px}.camera-controls{background:#111;justify-content:space-between;align-items:center;height:32px;padding:0 16px;display:flex}.camera-filter-btn{color:#aaa;cursor:pointer;background:0 0;border:1px solid #444;border-radius:10px;padding:3px 10px;font-size:9px}.camera-filter-btn:active{background:#333}.camera-capture-btn{color:#fff;cursor:pointer;background:0 0;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;line-height:1;display:flex}.camera-capture-btn:active{background:#fff3}.camera-retake{color:#c08080;border-color:#c08080;font-size:12px}.camera-counter{color:#ff3b30;letter-spacing:1px;font-size:8px;font-weight:600}.coverflow-container{background:linear-gradient(#3d3530,#2a2520,#1e1a16);flex-direction:column;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}.coverflow-stage{perspective:600px;perspective-origin:50% 40%;flex:1;justify-content:center;align-items:center;width:100%;display:flex;position:relative}.coverflow-card{transform-style:preserve-3d;transition:transform .5s cubic-bezier(.19,1,.22,1),opacity .4s;position:absolute}.coverflow-art{border-radius:8px;justify-content:center;align-items:center;width:90px;height:90px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000080,0 0 0 1px #ffffff14}.coverflow-art:after{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff40,#0000 40%,#0000000d);border-radius:6px;position:absolute;top:0;right:0;bottom:0;left:0}.coverflow-art-label{color:#ffffffb3;text-shadow:0 2px 8px #0000004d;z-index:1;font-size:32px;font-weight:800}.coverflow-center .coverflow-art{box-shadow:0 8px 30px #0009}.coverflow-reflection{opacity:.25;filter:blur(1px);pointer-events:none;border-radius:0 0 6px 6px;width:90px;height:30px;margin-top:4px;transform:scaleY(-1)perspective(500px)rotateX(5deg);-webkit-mask-image:linear-gradient(#0009 0%,#0000 80%);mask-image:linear-gradient(#0009,#0000 80%)}.coverflow-info{flex-direction:column;justify-content:center;align-items:center;height:36px;padding:0 10px;display:flex}.coverflow-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;max-width:230px;font-size:12px;font-weight:700;overflow:hidden}.coverflow-subtitle{color:#888;white-space:nowrap;text-overflow:ellipsis;max-width:230px;font-size:9px;overflow:hidden}.audio-visualizer{border-radius:2px;width:92%;height:20px;margin:0 auto;display:block}.easter-egg-notification{text-align:center;z-index:100;white-space:nowrap;background:linear-gradient(135deg,#faf6f0,#f0e8de);border:1px solid #d4a0a0;border-radius:12px;padding:10px 18px;animation:.4s ease-out eeSlideIn,.5s ease-in 2.5s forwards eeFadeOut;position:absolute;top:-8px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #b48c7833}.ee-icon{margin-bottom:2px;font-size:20px}.ee-text{color:#2d2a26;margin-bottom:2px;font-size:11px;font-weight:700}.ee-hint{color:#8e8e93;font-size:8px}@keyframes eeSlideIn{0%{opacity:0;transform:translate(-50%)translateY(-20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes eeFadeOut{to{opacity:0;transform:translate(-50%)translateY(-10px)}}.side-btn{cursor:pointer;z-index:20;-webkit-tap-highlight-color:transparent;border:none;width:6px;height:34px;padding:0;transition:all .15s;position:absolute;overflow:visible}.side-btn:hover{width:7px}.side-btn:active{width:5px}.side-btn-right{border-radius:0 3px 3px 0;top:55%;right:-6px;box-shadow:inset -2px 0 4px #00000026,inset 0 1px 1px #fff3,inset 0 -1px 1px #0000001a,1px 0 3px #00000040}.side-btn-left{border-radius:3px 0 0 3px;top:45%;left:-6px;box-shadow:inset 2px 0 4px #00000026,inset 0 1px 1px #fff3,inset 0 -1px 1px #0000001a,-1px 0 3px #00000040}.side-btn-label{display:none}.side-btn.active{box-shadow:inset -2px 0 4px #00000026,inset 0 1px 1px #fff3,inset 0 -1px 1px #0000001a,1px 0 4px #6c5ce74d,0 0 8px #6c5ce733}.side-btn-left.active{box-shadow:inset 2px 0 4px #00000026,inset 0 1px 1px #fff3,inset 0 -1px 1px #0000001a,-1px 0 4px #6c5ce74d,0 0 8px #6c5ce733}.camera-app>.camera-feed{object-fit:cover;z-index:0;height:100%;position:absolute;top:0;left:0;right:0;bottom:0!important}.camera-controls{z-index:10;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#00000080;position:absolute;bottom:0;left:0;right:0}.camera-viewfinder{z-index:5}@property --tw-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.screen-overlay-container{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:50;border-radius:6px;overflow:hidden}.screen-pixel-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(#12101000 50%,#0000000d 50%),linear-gradient(90deg,#ff000008,#00ff0003,#0000ff08);background-size:3px 3px;opacity:.6;z-index:1;mix-blend-mode:overlay}.screen-inner-shadow{position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 12px #0009;z-index:2}.screen-glass-reflection{position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;width:200%;height:200%;z-index:3;pointer-events:none}.screen-scanlines{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#fff0,#fff0 50%,#00000005 50%,#00000005);background-size:100% 4px;z-index:4;pointer-events:none}
