body,html{margin:0;padding:0;height:100%;width:100%;font-family:Roboto,sans-serif;background-color:#000;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#333}#root{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.portfolio-os-overall-container{width:100%;height:100%;position:relative;display:flex;flex-direction:column;background-color:#000}.civetix-credit{position:absolute;top:1px;left:50%;transform:translate(-50%);font-size:.85em;color:#f5f5f5;z-index:9999;padding:5px 30px;background-color:#0a0a0a66;border-radius:10px;text-align:center;font-weight:400;letter-spacing:.5px}.civetix-credit a{color:#a1d1fd;text-decoration:none;font-weight:700}.civetix-credit a:hover{text-decoration:none;color:#0ff}.lock-screen-container{width:100%;height:100%;background:linear-gradient(to bottom,#0f2027,#203a43,#2c5364);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;position:absolute;top:0;left:0;z-index:2000;-webkit-user-select:none;user-select:none;transition:opacity .5s ease-out,transform .5s ease-out}.lock-screen-container.unlocking{animation:slideUpAndFadeOut .5s ease-out forwards}@keyframes slideUpAndFadeOut{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}.lock-screen-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;flex-grow:1}.lock-screen-time{font-size:7em;font-weight:300;margin-top:auto;padding-bottom:0;letter-spacing:1px}.lock-screen-date{font-size:1.6em;font-weight:400;margin-top:5px;margin-bottom:auto;opacity:.9}.lock-screen-unlock-indicator{display:flex;flex-direction:column;align-items:center;padding-bottom:5vh;font-size:1.1em;opacity:.8;cursor:pointer}.lock-screen-unlock-indicator .material-symbols-outlined{font-size:3em;margin-bottom:0;animation:bounceArrow 2s infinite ease-in-out}@keyframes bounceArrow{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.lock-screen-date p{font-size:1em;font-weight:300;margin-top:8px;opacity:.85}@media (max-width: 768px){.lock-screen-content{padding:12px}.lock-screen-time{font-size:3.5em;letter-spacing:.5px}.lock-screen-date{font-size:1em;margin-top:8px}.lock-screen-date p{font-size:.7em;margin-top:6px}.lock-screen-unlock-indicator{font-size:.85em;padding-bottom:4vh}.lock-screen-unlock-indicator .material-symbols-outlined{font-size:2em}}@media (max-width: 480px){.lock-screen-content{padding:10px}.lock-screen-time{font-size:3em;letter-spacing:.3px}.lock-screen-date{font-size:.85em;margin-top:6px}.lock-screen-date p{font-size:.65em;margin-top:4px}.lock-screen-unlock-indicator{font-size:.75em;padding-bottom:3vh}.lock-screen-unlock-indicator .material-symbols-outlined{font-size:1.8em}}.portfolio-os-container{width:100%;height:100%;background-color:#1c1c1e;box-sizing:border-box;display:flex;flex-direction:column;position:relative;flex-grow:1}.screen{flex-grow:1;background-color:#f7f7f7;display:flex;flex-direction:column;overflow:hidden;position:relative}.status-bar{display:flex;justify-content:space-between;align-items:center;padding:3px 15px;background-color:#fafafab3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#333;font-size:.85em;height:28px;box-sizing:border-box;position:absolute;top:0;left:0;right:0;z-index:1000}.status-bar .time{font-weight:500}.status-bar .icons .material-symbols-outlined{margin-left:8px;font-size:1.2em;vertical-align:middle}.home-screen-scroll-area{display:flex;flex-direction:column;overflow-y:auto;background:linear-gradient(135deg,#6dd5fa,#fff);position:absolute;top:25px;left:0;right:0;bottom:50px}.home-screen-scroll-area::-webkit-scrollbar{display:none}.home-screen-content{padding:20px;box-sizing:border-box;flex-grow:1}.home-icon-canvas{position:relative;width:100%;min-height:55vh;padding:20px 0 160px;box-sizing:border-box}.home-icon-canvas__icon{cursor:grab;touch-action:none;transition:transform .12s ease-out,box-shadow .2s ease-out;position:absolute}.home-icon-canvas__icon.app-icon--dragging{cursor:grabbing;box-shadow:0 12px 24px #0003;transform:scale(1.03)}.info-widget{background-color:#ffffff80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:20px;border-radius:20px;margin-bottom:25px;text-align:center;box-shadow:0 4px 15px #00000014}.info-widget .widget-time{font-size:3em;font-weight:500;color:#2c2c2e;line-height:1.1}.info-widget .widget-date{font-size:1em;color:#555;margin-top:5px}.info-widget .widget-location-weather{font-size:.9em;color:#666;margin-top:10px}.info-widget .weather-icon{font-size:1.1em;vertical-align:text-bottom;margin-left:5px;color:#ffc107}.app-grid-view{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;align-content:flex-start;max-width:100%}@media (min-width: 769px){.app-grid-view{grid-template-columns:repeat(auto-fill,minmax(75px,1fr));justify-items:center}}.app-icon{display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer;padding:5px;border-radius:18px;transition:background-color .25s ease-out;-webkit-user-select:none;user-select:none;max-width:90px;margin:0 auto}.app-icon--draggable{cursor:grab}.app-icon--dragging{opacity:.6;cursor:grabbing}.app-icon--drop-target{outline:2px dashed rgba(0,0,0,.25);outline-offset:4px}.app-icon:hover{background-color:#0000000d}.app-icon:active{background-color:#0000001a}.app-icon .icon-bg{width:64px;height:64px;border-radius:20px;display:flex;align-items:center;justify-content:center;margin-bottom:8px;box-shadow:0 3px 6px #0000001f;transition:transform .1s ease-out}.app-icon:active .icon-bg{transform:scale(.95)}.app-icon .icon-bg .material-symbols-outlined{font-size:30px;color:#fff}.app-icon .app-name{font-size:.8em;color:#333;white-space:normal;overflow-wrap:break-word;word-break:break-word;line-height:1.3;max-width:100%;text-align:center}@media (max-width: 768px){.app-grid-view{grid-template-columns:repeat(4,1fr)!important;gap:12px;justify-items:stretch;max-width:100%}.app-icon{max-width:none!important;width:100%;padding:6px;display:flex;flex-direction:column;align-items:center}.app-icon .icon-bg{width:50px;height:50px;margin-bottom:4px;flex-shrink:0}.app-icon .icon-bg .material-symbols-outlined{font-size:26px}.app-icon .app-name{font-size:.7em;line-height:1.2;display:block;white-space:normal;overflow:visible;text-overflow:none;width:100%;text-align:center}}@media (max-width: 600px){.home-screen-content{padding:15px}.info-widget{padding:15px;border-radius:16px;margin-bottom:20px}.info-widget .widget-time{font-size:2.5em}.info-widget .widget-date{font-size:.9em}.info-widget .widget-location-weather{font-size:.85em}}@media (max-width: 480px){.home-screen-content{padding:12px}.info-widget{padding:12px;border-radius:14px;margin-bottom:15px}.info-widget .widget-time{font-size:2em}.info-widget .widget-date{font-size:.85em}.info-widget .widget-location-weather{font-size:.8em}.app-grid-view{gap:10px}.app-icon .icon-bg{width:45px;height:45px}.app-icon .icon-bg .material-symbols-outlined{font-size:24px}.app-icon .app-name{font-size:.65em}}.app-window{position:absolute;top:25px;left:0;right:0;bottom:50px;background-color:#fff;display:flex;flex-direction:column;z-index:500;animation:appOpenFullscreen .3s ease-out;overflow:hidden;border-radius:0}@keyframes appOpenFullscreen{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.app-window-header{display:flex;align-items:center;padding:12px 18px;background-color:#f1f3f4;border-bottom:1px solid #dee2e6;min-height:35px;flex-shrink:0;justify-content:flex-start}.app-window-header .icon{font-size:1.4em;margin-right:12px;color:#5f6368}.app-window-header .title{font-weight:500;font-size:1.15em;color:#202124;flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.app-window-content{flex-grow:1;overflow-y:auto;background-color:#fff;display:flex;flex-direction:column}.app-window-content.default-padding{padding:20px;box-sizing:border-box}.app-window-content::-webkit-scrollbar{width:8px}.app-window-content::-webkit-scrollbar-thumb{background-color:#c1c1c1;border-radius:4px}.folder-viewer{height:100%}.folder-viewer .folder-app-grid{padding-top:10px}.calculator-app{height:100%;display:flex;align-items:center;justify-content:center;padding:24px 16px;box-sizing:border-box;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.calculator-wrapper{width:min(100%,320px);background:#ffffffe6;border-radius:24px;padding:20px 18px 22px;box-shadow:0 18px 30px #0f172a26;display:flex;flex-direction:column;gap:16px}.calculator-app .calculator-display{background:#111827;color:#f9fafb;text-align:right;padding:16px 18px;font-size:2.1em;border-radius:18px;min-height:2.2em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:inset 0 4px 12px #00000059;font-variant-numeric:tabular-nums}.calculator-app .calculator-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.calculator-button{border:none;border-radius:14px;padding:0;height:54px;font-size:1.15em;font-weight:500;color:#1f2937;background:linear-gradient(145deg,#f4f7fb,#e6ebf3);box-shadow:0 6px 12px #94a3b84d;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.calculator-button:hover{transform:translateY(-1px);box-shadow:0 8px 16px #94a3b852}.calculator-button:active{transform:translateY(1px);box-shadow:0 4px 8px #94a3b838}.calculator-button.operator{background:linear-gradient(145deg,#4f46e5,#4338ca);color:#f9fafb;box-shadow:0 6px 14px #6366f159}.calculator-button.operator:hover{box-shadow:0 8px 18px #6366f173}.calculator-button.operator:active{box-shadow:0 4px 10px #6366f140}.calculator-button.control{font-size:1.05em;background:linear-gradient(145deg,#e2e8f0,#cbd5f5);color:#1e3a8a}.calculator-button.control--accent{color:#b91c1c;background:linear-gradient(145deg,#fde8e8,#fbcfe8)}.calculator-button .material-symbols-outlined{font-size:1.2em}.notepad-app{height:100%;display:flex;flex-direction:column;box-sizing:border-box;background-color:#f9f9f9}.note-list-view{display:flex;flex-direction:column;height:100%;padding:15px;box-sizing:border-box}.note-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;flex-shrink:0}.note-list-header h3{margin:0;font-size:1.2em;color:#333}.new-note-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:#4285f4;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9em;font-weight:500;transition:background-color .2s}.new-note-btn:hover{background-color:#3367d6}.new-note-btn .material-symbols-outlined{font-size:20px}.note-list{list-style:none;padding:0;margin:0;overflow-y:auto;flex-grow:1}.note-list-item{background-color:#fff;padding:0;border-radius:10px;margin-bottom:10px;transition:box-shadow .2s,transform .2s;border:1px solid #e0e0e0;display:flex;align-items:stretch;justify-content:space-between;overflow:hidden}.note-list-item:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.note-item-content{flex-grow:1;padding:15px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-width:0}.note-item-title{display:block;font-weight:500;color:#202124;margin-bottom:5px;font-size:1.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-item-preview{display:block;font-size:.9em;color:#5f6368;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-item-date{font-size:.8em;color:#70757a}.note-item-delete-btn{background:transparent;border:none;color:#a0a0a0;cursor:pointer;padding:0 15px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background-color .2s,color .2s}.note-item-delete-btn:hover{background-color:#fbebee;color:#d9534f}.note-item-delete-btn .material-symbols-outlined{font-size:22px}.empty-notes-view{flex-grow:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#777}.empty-notes-view .material-symbols-outlined{font-size:4em;color:#ccc;margin-bottom:15px}.empty-notes-view p{margin:2px 0}.note-editor-view{display:flex;flex-direction:column;height:100%;padding:15px;box-sizing:border-box}.note-editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;flex-shrink:0}.editor-action-btn{display:flex;align-items:center;gap:6px;background:none;border:1px solid #ccc;color:#555;padding:6px 12px;border-radius:8px;cursor:pointer;font-size:.9em;transition:background-color .2s,border-color .2s,color .2s}.editor-action-btn:hover{background-color:#f0f0f0}.editor-action-btn.delete{border-color:#d9534f;color:#d9534f}.editor-action-btn.delete:hover{background-color:#d9534f;color:#fff}.editor-action-btn .material-symbols-outlined{font-size:18px}.note-editor-title-input{border:none;border-bottom:1px solid #ddd;font-size:1.4em;font-weight:500;padding:10px 5px;margin-bottom:10px;width:100%;box-sizing:border-box;background:transparent;color:#1a1a1a}.note-editor-title-input:focus{outline:none;border-bottom-color:#4285f4}.note-editor-title-input::placeholder{color:#888;opacity:1}.note-editor-content-textarea{flex-grow:1;width:100%;height:100%;box-sizing:border-box;border:none;padding:10px 5px;font-family:Roboto,sans-serif;font-size:1em;line-height:1.6;resize:none;background:transparent;color:#333}.note-editor-content-textarea:focus{outline:none}.project-viewer,.resume-viewer,.contact-viewer,.info-viewer,.skills-category,.about-section{line-height:1.7;color:#454545;box-sizing:border-box}.project-viewer h2,.resume-viewer h2,.contact-viewer h2,.info-viewer h2{font-size:1.6em;color:#1a1a1a;margin-bottom:15px;padding-bottom:8px;border-bottom:1px solid #e0e0e0}.resume-viewer h3,.skills-category h3{font-size:1.25em;color:#2c2c2e;margin-top:20px;margin-bottom:10px}.resume-viewer h4{font-size:1.05em;font-weight:500;color:#333;margin-bottom:4px}.project-viewer p,.resume-viewer p,.contact-viewer p,.info-viewer p{margin-bottom:12px}.project-viewer .tech-stack-title{font-weight:500;margin-top:18px;margin-bottom:8px;color:#2c2c2e}.tech-badge-container{margin-bottom:18px}.tech-badge{display:inline-block;background-color:#e8f0fe;color:#1967d2;padding:6px 12px;border-radius:18px;font-size:.85em;margin-right:8px;margin-bottom:8px;font-weight:500}.app-button,.project-links a,.contact-viewer a{display:inline-block;margin-right:12px;margin-bottom:10px;padding:10px 18px;background-color:#4285f4;color:#fff!important;text-decoration:none;border-radius:10px;font-size:.9em;font-weight:500;transition:background-color .2s,box-shadow .2s;border:none;cursor:pointer}.app-button.secondary{background-color:#f1f3f4;color:#202124!important;border:1px solid #dadce0}.app-button.secondary:hover{background-color:#e8eaed;box-shadow:none}.app-button.ghost{background-color:transparent;color:#1a73e8!important;border:1px solid rgba(26,115,232,.4)}.app-button.ghost:hover{background-color:#1a73e814}.app-button:hover,.project-links a:hover,.contact-viewer a:hover{background-color:#3367d6;box-shadow:0 2px 5px #00000026}.resume-viewer ul{list-style-type:disc;padding-left:25px;margin-bottom:12px}.resume-viewer li{margin-bottom:6px}.experience-item,.education-item{margin-bottom:18px;padding-bottom:12px;border-bottom:1px dashed #e7e7e7}.skills-category{margin-bottom:18px}.experience-item:last-child,.education-item:last-child{border-bottom:none}.experience-item .institution,.education-item .institution{font-size:.95em;color:#5f6368}.experience-item .dates{font-size:.9em;color:#70757a;font-style:italic;margin-bottom:5px}.contact-viewer .icon-inline{vertical-align:text-bottom;margin-right:8px;font-size:1.2em}.contact-links{margin-top:20px}.placeholder-app{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:#70757a;box-sizing:border-box;padding:20px}.placeholder-app .material-symbols-outlined{font-size:4.5em;margin-bottom:20px;color:#bdc1c6}.placeholder-app h3{font-size:1.3em;color:#5f6368}.media-player-app{display:flex;flex-direction:column;height:100%;background-color:#f5f5f5;color:#333;overflow-x:hidden;overflow-y:auto}.media-player-layout{flex:1 1 auto;display:flex;align-items:flex-start;gap:18px;padding:14px;box-sizing:border-box;min-height:0;flex-wrap:nowrap;overflow-x:hidden;overflow-y:auto}.video-section{flex:2 1 0;display:flex;flex-direction:column;gap:14px;min-width:0;align-items:stretch;min-height:0;height:-webkit-fill-available}.video-container{width:100%;max-width:100%;margin:0;transition:opacity .3s ease,transform .3s ease;transform-origin:right center;overflow:hidden;flex:0 1 auto;max-height:65vh;align-self:center}.video-container.collapsed{max-width:0;opacity:0;transform:translate(-40px);pointer-events:none}.video-container:fullscreen,.video-container:-webkit-full-screen{width:100%;height:100%}.video-container:fullscreen .video-wrapper,.video-container:-webkit-full-screen .video-wrapper{aspect-ratio:auto;height:100%}.video-wrapper{width:100%;height:100%;background-color:#000;aspect-ratio:16 / 9;border-radius:12px;position:relative;overflow:hidden;max-height:65vh}.youtube-player-container{width:100%;height:100%;position:relative}.youtube-player-container>div{width:100%;height:100%;position:relative;pointer-events:none}.youtube-player-container iframe{width:100%;height:100%;position:absolute;top:0;left:0;border:none;pointer-events:auto}.video-container.collapsed .youtube-player-container,.video-container.collapsed .player-placeholder,.video-container.collapsed .player-error-message-overlay{visibility:hidden}.player-placeholder,.player-error-message-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:15px;box-sizing:border-box;color:#ccc;background-color:#222222f2}.player-error-message-overlay .material-symbols-outlined{font-size:3em;margin-bottom:10px;color:#fc0}.player-error-message-overlay p{margin:0;font-size:.95em;line-height:1.4}.player-info-controls{padding:18px;background-color:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 6px #00000014;display:flex;flex-direction:column;gap:12px;min-width:0;width:-webkit-fill-available;margin-top:auto}.track-title{font-size:1.5em;font-weight:500;text-align:center;margin-bottom:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-bar-container{display:flex;align-items:center;gap:10px;margin:10px 0}.time-display{font-size:.8em;color:#555;min-width:35px;text-align:center}.seek-bar{flex-grow:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:8px;background:linear-gradient(to right,#6200ea,#6200ea calc(var(--progress, 0) * 100%),#ddd calc(var(--progress, 0) * 100%),#ddd);border-radius:4px;outline:none;opacity:.9;transition:opacity .2s}.seek-bar:hover{opacity:1}.seek-bar::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:#6200ea;border-radius:50%;cursor:pointer}.seek-bar::-moz-range-thumb{width:16px;height:16px;background:#6200ea;border-radius:50%;cursor:pointer;border:none}.main-controls{display:flex;justify-content:center;align-items:center;gap:20px}.main-controls button{background:none;border:none;color:#444;cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center}.main-controls button:hover{background-color:#0000000d}.main-controls button .material-symbols-outlined{font-size:28px}.main-controls button.play-pause-btn .material-symbols-outlined{font-size:38px}.main-controls button:disabled{color:#aaa;cursor:not-allowed;background-color:transparent!important}.controls-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:12px;margin-top:0}.controls-bar>*{flex-shrink:0}.view-controls{display:flex;align-items:center;gap:6px}.hide-video-btn{background:none;border:1px solid #ccc;padding:6px 10px;border-radius:15px;cursor:pointer;color:#555;display:flex;align-items:center;gap:5px}.hide-video-btn:hover{background-color:#f0f0f0}.hide-video-btn .material-symbols-outlined{font-size:18px}.fullscreen-toggle-btn{background:none;border:1px solid #ccc;padding:6px 10px;border-radius:15px;cursor:pointer;color:#555;display:flex;align-items:center}.fullscreen-toggle-btn:hover{background-color:#f0f0f0}.fullscreen-toggle-btn:disabled{color:#aaa;cursor:not-allowed;background-color:transparent}.fullscreen-toggle-btn .material-symbols-outlined{font-size:18px}.volume-control{display:flex;align-items:center;gap:8px;padding:4px 8px}.volume-control .material-symbols-outlined{font-size:20px;color:#555}.volume-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:72px;height:6px;background:#ddd;border-radius:3px;outline:none}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;background:#6200ea;border-radius:50%;cursor:pointer}.volume-slider::-moz-range-thumb{width:12px;height:12px;background:#6200ea;border-radius:50%;cursor:pointer;border:none}.playlist-manager{flex:1 1 280px;max-width:360px;min-width:220px;display:flex;flex-direction:column;padding:12px;overflow:hidden;background-color:#fff;border-radius:12px;box-shadow:0 2px 6px #00000014;min-height:0;height:-webkit-fill-available}.add-track-form{display:flex;gap:10px;margin-bottom:15px}.add-track-form input[type=text]{flex-grow:1;padding:10px;border:1px solid #ccc;border-radius:8px;font-size:.9em}.add-track-form button{padding:8px 12px;background-color:#6200ea;color:#fff;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center}.add-track-form button:hover{background-color:#5200b3}.add-track-form button .material-symbols-outlined{font-size:20px}.playlist-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.playlist-header h3{margin:0;font-size:1.1em;color:#333}.playlist-list{list-style:none;padding:0;margin:0;flex-grow:1;overflow-y:auto;border:1px solid #e0e0e0;border-radius:8px;min-height:0}.playlist-list::-webkit-scrollbar{width:6px}.playlist-list::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:3px}.playlist-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid #eee;cursor:pointer;transition:background-color .15s}.playlist-item:last-child{border-bottom:none}.playlist-item:hover{background-color:#f9f9f9}.playlist-item.active{background-color:#e8e0f8;font-weight:500}.playlist-item-info{display:flex;align-items:center;gap:10px;flex-grow:1;overflow:hidden}.playlist-item .play-icon{font-size:22px;color:#6200ea}.playlist-item.active .play-icon{color:#3d00b3}.track-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.95em}.edit-title-input{flex-grow:1;padding:4px 6px;font-size:.9em;border:1px solid #aaa;border-radius:4px}.playlist-item-controls button{background:none;border:none;color:#777;cursor:pointer;padding:5px;margin-left:5px}.playlist-item-controls button:hover{color:#333}@media (max-width: 1024px){.media-player-layout{flex-wrap:wrap;height:auto}.controls-bar{justify-content:center;flex-wrap:wrap}}@media (max-width: 960px){.media-player-layout{flex-direction:column;align-items:stretch;overflow:auto}.video-container{max-width:100%;max-height:none}.playlist-manager{max-width:none;width:100%;min-width:0}.controls-bar{justify-content:center}}@media (max-width: 768px){.media-player-app{overflow-y:auto}.media-player-layout{padding:8px;gap:8px;flex-direction:column}.video-section{gap:8px;order:1;flex:0 0 auto}.playlist-manager{order:2;flex:0 1 auto;max-height:40vh;overflow-y:auto;padding:8px}.video-wrapper{max-height:40vh}.player-info-controls{padding:12px;gap:8px;margin-top:0}.track-title{font-size:.95em}.progress-bar-container{gap:6px}.time-display{font-size:.75em;min-width:32px}.seek-bar{height:6px}.controls-bar{gap:8px;flex-wrap:wrap;justify-content:space-around}.main-controls{gap:15px}.main-controls button .material-symbols-outlined{font-size:24px}.view-controls{gap:4px}.volume-control{gap:6px;padding:2px 4px;font-size:.85em}.volume-control .material-symbols-outlined{font-size:18px}.volume-slider{width:60px;height:5px}.add-track-form{margin-bottom:10px;gap:6px}.add-track-form input[type=text]{padding:8px;font-size:.9em}}@media (max-width: 480px){.video-wrapper{max-height:38vh}.player-info-controls{padding:10px}.track-title{font-size:.85em}.controls-bar{flex-direction:column;gap:6px}.main-controls{width:100%;justify-content:center;gap:12px}.view-controls,.volume-control{width:100%;justify-content:center}}.playlist-item-controls button .material-symbols-outlined{font-size:18px}.empty-playlist-message{padding:20px;text-align:center;color:#888;font-style:italic}.calendar-app{--calendar-hour-height: 52px;display:flex;flex-direction:column;height:100%;background-color:#fff;color:#202124}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 24px;border-bottom:1px solid #dadce0;background:#fff}.calendar-header-left{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.calendar-header h2{margin:0;font-size:1.25rem;font-weight:500;color:#202124;flex-shrink:0}.calendar-nav{display:flex;align-items:center;gap:8px}.calendar-icon-button{width:36px;height:36px;border-radius:50%;border:none;background:#f1f3f4;color:#5f6368;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease,color .2s ease}.calendar-icon-button:hover{background:#e8f0fe;color:#1967d2}.calendar-icon-button .material-symbols-outlined{font-size:20px}.calendar-create-button{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:999px;border:none;background:#1a73e8;color:#fff;font-size:.95rem;font-weight:500;cursor:pointer;box-shadow:0 10px 24px -16px #1a73e8a6;transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease}.calendar-create-button:hover{background:#1557b0;box-shadow:0 16px 30px -20px #1a73e8bf;transform:translateY(-1px)}.calendar-create-button .material-symbols-outlined{font-size:20px}.calendar-today-button{border:1px solid #dadce0;border-radius:999px;background:#fff;color:#1a73e8;padding:7px 16px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.calendar-today-button:hover{background:#e8f0fe;border-color:#aecbfa}.calendar-view-toggle{display:inline-flex;align-items:center;background:#f1f3f4;border-radius:999px;padding:4px;gap:4px}.calendar-view-option{border:none;background:transparent;padding:6px 14px;border-radius:999px;font-size:.85rem;font-weight:500;color:#5f6368;cursor:pointer;transition:background-color .2s ease,color .2s ease}.calendar-view-option.active{background:#1a73e8;color:#fff;box-shadow:inset 0 0 0 1px #1a73e8}.calendar-view-option:hover:not(.active){background:#1a73e81f;color:#1a73e8}.calendar-month-header{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:12px 24px 4px;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#5f6368;gap:0}.calendar-month-weekday{text-align:center;font-weight:500}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(112px,1fr);border-top:1px solid #dadce0;border-left:1px solid #dadce0;margin:0 24px 24px;flex:1;overflow:hidden}.calendar-month-cell{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:6px 8px 12px;border-right:1px solid #dadce0;border-bottom:1px solid #dadce0;background:#fff;color:inherit;text-align:left;cursor:pointer;transition:background-color .15s ease;position:relative}button.calendar-month-cell{border:none;width:100%;height:100%;background:none}.calendar-month-cell.placeholder{cursor:default;background:#fafafa}.calendar-month-cell:hover:not(.placeholder){background:#f1f3f4}.calendar-month-cell.selected{background:#1a73e81f}.calendar-month-cell.today .calendar-month-cell-date{color:#1a73e8;font-weight:600}.calendar-month-cell-header{display:flex;align-items:center;gap:6px;width:100%}.calendar-month-cell-date{font-size:.95rem;font-weight:500}.calendar-month-cell.placeholder .calendar-month-cell-date{visibility:hidden}.calendar-month-chip{margin-left:auto;padding:2px 6px;border-radius:999px;background:#1a73e8;color:#fff;font-size:.65rem;font-weight:500}.calendar-month-events{display:flex;flex-direction:column;gap:2px;width:100%;margin-top:2px}.calendar-month-event{display:inline-flex;align-items:center;gap:6px;padding:2px 6px;border-radius:4px;background:#e8f0fe;color:#1967d2;font-size:.75rem;max-width:100%;box-sizing:border-box}.calendar-month-event-time{font-weight:600}.calendar-month-event-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-month-more{font-size:.75rem;color:#1a73e8}.calendar-week-view{display:flex;flex-direction:column;flex:1;background:#f8f9fb}.calendar-week-header-row{display:grid;grid-template-columns:64px repeat(7,minmax(0,1fr));padding:12px 24px 6px;gap:0;background:#fff;border-bottom:1px solid #dadce0}.calendar-week-header-spacer{height:100%}.calendar-week-header-cell{display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px;border:none;background:none;cursor:pointer;color:#5f6368;font-size:.85rem;transition:color .2s ease,background-color .2s ease}.calendar-week-header-cell:hover{color:#1a73e8}.calendar-week-header-day{text-transform:uppercase;font-size:.7rem;letter-spacing:.08em}.calendar-week-header-date{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;font-weight:500}.calendar-week-header-cell.today .calendar-week-header-date{color:#1a73e8;font-weight:600;background:#1a73e81f}.calendar-week-header-cell.selected .calendar-week-header-date{background:#1a73e8;color:#fff}.calendar-week-grid{display:grid;grid-template-columns:64px repeat(7,minmax(0,1fr));flex:1;overflow-y:auto;padding:0 24px 24px;gap:0}.calendar-hours-column{display:flex;flex-direction:column;align-items:flex-end;padding-right:12px;background:#fff;border-right:1px solid #dadce0}.calendar-hour-cell{height:var(--calendar-hour-height);font-size:.75rem;color:#70757a;display:flex;align-items:flex-start;justify-content:flex-end;padding:4px 4px 0 0}.calendar-hour-cell span{transform:translateY(-6px)}.calendar-week-day-column{position:relative;border-right:1px solid #dadce0;background:#fff}.calendar-week-day-column:last-child{border-right:none}.calendar-week-day-column.today{background:linear-gradient(180deg,#1a73e814,#1a73e805)}.calendar-week-day-column.selected:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border:2px solid rgba(26,115,232,.35);border-radius:6px;pointer-events:none}.calendar-week-hour-slot{height:var(--calendar-hour-height);border-top:1px solid #f1f3f4}.calendar-week-hour-slot:first-of-type{border-top:none}.calendar-week-event-block{position:absolute;left:8px;right:8px;display:flex;flex-direction:column;gap:4px;padding:8px 10px;border-radius:8px;border-left:3px solid #1a73e8;background:#1a73e82e;color:#174ea6;font-size:.8rem;text-align:left;border:none;cursor:pointer;box-shadow:0 1px 3px #3c404333}.calendar-week-event-block:hover{background:#1a73e83d}.calendar-week-event-block:focus-visible{outline:2px solid #1a73e8;outline-offset:2px}.calendar-week-event-time{font-weight:600}.calendar-week-event-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day-view{display:flex;flex-direction:column;flex:1;background:#f8f9fb}.calendar-day-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px 12px;border-bottom:1px solid #dadce0;background:#fff}.calendar-day-header-actions{display:flex;align-items:center;gap:12px}.calendar-day-header-text{display:flex;flex-direction:column;gap:4px}.calendar-day-header-weekday{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:#5f6368}.calendar-day-header-date{font-size:1.35rem;font-weight:500;color:#202124}.calendar-day-badge{background:#1a73e81f;color:#1a73e8;padding:4px 12px;border-radius:999px;font-size:.75rem;font-weight:600}.calendar-day-create-button{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;border-radius:999px;border:1px solid #d2e3fc;background:#1a73e81f;color:#1a73e8;font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}.calendar-day-create-button:hover{background:#1a73e82e;border-color:#a9c7f7;transform:translateY(-1px)}.calendar-day-create-button .material-symbols-outlined{font-size:18px}.calendar-day-grid{display:grid;grid-template-columns:64px minmax(0,1fr);flex:1;overflow-y:auto;padding:16px 24px 24px;gap:0}.calendar-day-column{position:relative;background:#fff;border:1px solid #dadce0;border-left:none}.calendar-day-column.empty{pointer-events:none}.calendar-day-hour-slot{height:var(--calendar-hour-height);border-top:1px solid #f1f3f4}.calendar-day-hour-slot:first-of-type{border-top:none}.calendar-day-event-block{position:absolute;left:14px;right:20px;display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:#1a73e8;color:#fff;box-shadow:0 8px 16px -12px #1a73e899;cursor:pointer;outline:none;transition:box-shadow .2s ease,transform .2s ease}.calendar-day-event-block:hover{box-shadow:0 14px 26px -18px #1a73e8bf;transform:translateY(-1px)}.calendar-day-event-block:focus-visible{outline:2px solid #fff;outline-offset:2px}.calendar-day-event-time{font-weight:600;font-size:.85rem;margin-top:2px;flex-shrink:0;min-width:56px}.calendar-day-event-details{display:flex;flex-direction:column;gap:4px;flex:1}.calendar-day-event-title{font-size:.95rem;font-weight:600}.calendar-day-event-description{font-size:.8rem;color:#ffffffd1}.calendar-day-event-location{font-size:.8rem;color:#ffffffa6}.calendar-day-event-actions{display:flex;align-items:center;gap:6px;margin-left:12px}.calendar-event-icon-button{width:28px;height:28px;border-radius:50%;border:none;background:#ffffff2e;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease,transform .2s ease}.calendar-event-icon-button:hover{background:#ffffff47;transform:translateY(-1px)}.calendar-event-icon-button.destructive{background:#dc26264d}.calendar-event-icon-button.destructive:hover{background:#dc262673}.calendar-event-icon-button .material-symbols-outlined{font-size:18px}.calendar-day-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:18px 22px;border-radius:12px;background:#ffffffe6;box-shadow:0 10px 24px -18px #3c404373;color:#5f6368}.calendar-day-empty .material-symbols-outlined{font-size:36px;color:#9aa0a6}.calendar-event-dialog{position:fixed;top:0;right:0;bottom:0;left:0;background:#2021248c;display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000}.calendar-event-modal{width:min(520px,100%);background:#fff;border-radius:18px;box-shadow:0 28px 48px -28px #1a73e880;display:flex;flex-direction:column;overflow:hidden}.calendar-event-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 12px}.calendar-event-modal-header h3{margin:0;font-size:1.1rem;font-weight:600;color:#202124}.calendar-event-close-button{width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:#5f6368;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease,color .2s ease}.calendar-event-close-button:hover{background:#f1f3f4;color:#1a73e8}.calendar-event-form{display:flex;flex-direction:column;gap:18px;padding:0 24px 24px}.calendar-event-modal-body{display:flex;flex-direction:column;gap:16px}.calendar-event-field{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:#5f6368}.calendar-event-field span{font-weight:600;letter-spacing:.01em}.calendar-event-field input,.calendar-event-field select,.calendar-event-field textarea{border:1px solid #dadce0;border-radius:10px;padding:10px 12px;font-size:.95rem;color:#202124;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.calendar-event-field textarea{resize:vertical;min-height:96px}.calendar-event-field input:focus-visible,.calendar-event-field select:focus-visible,.calendar-event-field textarea:focus-visible{border-color:#1a73e8;box-shadow:0 0 0 3px #1a73e826;outline:none}.calendar-event-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px}.calendar-event-error{background:#d930251f;border:1px solid rgba(217,48,37,.35);color:#d93025;padding:10px 12px;border-radius:10px;font-size:.85rem}.calendar-event-modal-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-event-modal-actions-left,.calendar-event-modal-actions-right{display:flex;align-items:center;gap:12px}.calendar-event-delete-button{border:none;background:transparent;color:#d93025;font-weight:600;cursor:pointer;padding:0}.calendar-event-delete-button:hover{text-decoration:underline}.calendar-event-cancel-button{border:1px solid #dadce0;border-radius:999px;background:#fff;color:#5f6368;font-weight:500;padding:8px 18px;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.calendar-event-cancel-button:hover{background:#f8f9fb;border-color:#d0d7de}.calendar-event-save-button{border:none;border-radius:999px;background:#1a73e8;color:#fff;font-weight:600;padding:8px 24px;cursor:pointer;box-shadow:0 12px 26px -18px #1a73e8b3;transition:background-color .2s ease,box-shadow .2s ease}.calendar-event-save-button:hover{background:#1557b0;box-shadow:0 16px 32px -20px #1a73e8cc}.calendar-month-cell:focus-visible,.calendar-week-header-cell:focus-visible,.calendar-week-event-block:focus-visible,.calendar-view-option:focus-visible,.calendar-icon-button:focus-visible,.calendar-today-button:focus-visible,.calendar-create-button:focus-visible,.calendar-day-create-button:focus-visible,.calendar-event-icon-button:focus-visible,.calendar-event-close-button:focus-visible,.calendar-event-delete-button:focus-visible,.calendar-event-cancel-button:focus-visible,.calendar-event-save-button:focus-visible{outline:2px solid #1a73e8;outline-offset:2px}.hangman-app{display:flex;flex-direction:column;align-items:center;gap:18px;padding:20px;min-height:100%;width:100%;box-sizing:border-box;background:linear-gradient(180deg,#fffffffa,#f0f7ffe6);color:#202124}.hangman-top-bar{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.hangman-top-bar .app-button{margin:0}.stats-group{display:flex;flex-wrap:wrap;gap:12px}.stat-card{min-width:120px;padding:10px 14px;background:#fffffff2;border-radius:12px;border:1px solid rgba(120,122,145,.18);box-shadow:0 6px 14px #20212414;display:flex;flex-direction:column;gap:4px}.stat-card .label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#5f6368}.stat-card .value{font-size:1.35rem;font-weight:600;color:#1a73e8}.hangman-figure{position:relative;width:min(260px,100%);height:260px;margin:10px 0}.hangman-figure .gallow{position:absolute;top:0;right:0;bottom:0;left:0}.gallow-base{position:absolute;bottom:0;left:10px;width:180px;height:12px;background:#5f6368;border-radius:6px}.gallow-pole{position:absolute;bottom:12px;left:35px;width:12px;height:180px;background:#5f6368;border-radius:6px}.gallow-beam{position:absolute;top:12px;left:35px;width:130px;height:12px;background:#5f6368;border-radius:6px}.gallow-rope{position:absolute;top:24px;left:155px;width:4px;height:42px;background:linear-gradient(180deg,#d7ccc8,#8d6e63);border-radius:2px}.hangman-parts{position:absolute;top:64px;left:140px;width:120px;height:180px;pointer-events:none}.hangman-parts>div{position:absolute;background:#3c4043;opacity:0;transition:opacity .3s ease}.hangman-head{top:0;left:0;width:54px;height:54px;border-radius:50%;border:6px solid #3c4043;background:transparent}.hangman-body{top:54px;left:21px;width:12px;height:74px}.hangman-arm{top:78px;width:56px;height:10px;border-radius:8px}.hangman-arm.left{left:-34px;transform-origin:right center;transform:rotate(28deg)}.hangman-arm.right{left:42px;transform-origin:left center;transform:rotate(-28deg)}.hangman-leg{top:124px;width:12px;height:68px;border-radius:8px}.hangman-leg.left{left:6px;transform-origin:top center;transform:rotate(18deg)}.hangman-leg.right{left:46px;transform-origin:top center;transform:rotate(-18deg)}.hangman-figure:is(.mistakes-1,.mistakes-2,.mistakes-3,.mistakes-4,.mistakes-5,.mistakes-6) .hangman-head{opacity:1}.hangman-figure:is(.mistakes-2,.mistakes-3,.mistakes-4,.mistakes-5,.mistakes-6) .hangman-body{opacity:1}.hangman-figure:is(.mistakes-3,.mistakes-4,.mistakes-5,.mistakes-6) .hangman-arm.left{opacity:1}.hangman-figure:is(.mistakes-4,.mistakes-5,.mistakes-6) .hangman-arm.right{opacity:1}.hangman-figure:is(.mistakes-5,.mistakes-6) .hangman-leg.left{opacity:1}.hangman-figure.mistakes-6 .hangman-leg.right{opacity:1}.hangman-status{text-align:center;width:100%;max-width:520px;display:flex;flex-direction:column;gap:12px}.masked-word{font-size:2.4rem;letter-spacing:.35em;margin:0;font-weight:600}.clue{margin:0;color:#5f6368;font-size:.95rem}.mistakes-info{display:flex;justify-content:center;gap:20px;font-size:.95rem;color:#3c4043;flex-wrap:wrap}.result-banner{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 18px;border-radius:16px;box-shadow:0 12px 24px #0a14281f}.result-banner.won{background:#e6f4ea;color:#0b8043}.result-banner.lost{background:#fce8e6;color:#c5221f}.result-banner .result-text{font-size:1rem;font-weight:500}.hangman-keyboard{width:100%;max-width:520px;display:grid;grid-template-columns:repeat(auto-fit,minmax(42px,1fr));gap:10px}.keyboard-key{height:42px;border-radius:10px;background:#f1f3f4;color:#202124;border:none;font-weight:600;box-shadow:0 1px 2px #20212426;transition:background-color .2s,transform .1s;cursor:pointer}.keyboard-key:hover:not(:disabled){background:#e8eaed;transform:translateY(-1px)}.keyboard-key:active:not(:disabled){transform:translateY(0)}.keyboard-key:disabled{background:#dadee6;color:#5f6368;cursor:default;box-shadow:none}.hint-text{font-size:.9rem;color:#5f6368;margin:0;text-align:center}@media (max-width: 600px){.masked-word{font-size:2rem;letter-spacing:.28em}.stats-group{width:100%;justify-content:center}.hangman-figure{height:220px}}.game-2048-app{display:flex;flex-direction:column;height:100%;box-sizing:border-box;background-color:#faf8ef;padding:15px;color:#776e65;-webkit-user-select:none;user-select:none}.game-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.game-title{font-size:2.5em;font-weight:700;margin:0}.scores-container{display:flex;gap:8px}.score-box{background-color:#bbada0;color:#ede0c8;padding:8px 15px;border-radius:3px;text-align:center;font-weight:700}.score-box span{display:block;font-size:.8em}.score-box span:last-child{color:#fff;font-size:1.4em}.game-subheader{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.game-subheader p{margin:0}.game-subheader .app-button{margin:0;padding:8px 16px;background-color:#8f7a66}.game-board-container{flex-grow:1;background-color:#bbada0;border-radius:6px;padding:15px;position:relative;display:flex;align-items:center;justify-content:center}.game-board{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);gap:15px;width:100%;height:100%;max-width:480px;max-height:480px;aspect-ratio:1 / 1;position:relative}.game-cell{background-color:#eee4da59;border-radius:3px}.game-tile{--row: 0;--col: 0;position:absolute;top:calc(var(--row) * (100% / 4) + var(--row) * 15px * .25);left:calc(var(--col) * (100% / 4) + var(--col) * 15px * .25);width:calc(25% - 11.25px);height:calc(25% - 11.25px);display:flex;align-items:center;justify-content:center;font-weight:700;border-radius:3px;font-size:2em;transition:top .1s ease-out,left .1s ease-out}.game-over-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#eee4daba;z-index:100;display:flex;flex-direction:column;justify-content:center;align-items:center;animation:fadeInOverlay .5s}.game-over-overlay h2{font-size:3em;color:#776e65;margin-bottom:20px}@keyframes appear{0%{transform:scale(.5);opacity:.5}to{transform:scale(1);opacity:1}}.tile-new{animation:appear .2s ease-out}@keyframes merge{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.tile-merged{animation:merge .2s ease-out;z-index:10}.tile-2{background:#eee4da;color:#776e65}.tile-4{background:#ede0c8;color:#776e65}.tile-8{background:#f2b179;color:#f9f6f2}.tile-16{background:#f59563;color:#f9f6f2}.tile-32{background:#f67c5f;color:#f9f6f2}.tile-64{background:#f65e3b;color:#f9f6f2}.tile-128{background:#edcf72;color:#f9f6f2;font-size:1.8em;box-shadow:0 0 30px 10px #f3d7743d}.tile-256{background:#edcc61;color:#f9f6f2;font-size:1.8em}.tile-512{background:#edc850;color:#f9f6f2;font-size:1.8em}.tile-1024{background:#edc53f;color:#f9f6f2;font-size:1.5em}.tile-2048{background:#edc22e;color:#f9f6f2;font-size:1.5em}.tile-4096,.tile-8192{background:#3c3a32;color:#f9f6f2;font-size:1.5em}@media (max-width: 400px),(max-height: 600px){.game-tile{font-size:1.5em}.tile-1024,.tile-2048,.tile-4096,.tile-8192{font-size:1.2em}}.tetris-app{display:flex;flex-direction:column;padding:16px;height:100%;box-sizing:border-box;background:radial-gradient(circle at 20% 20%,#1a73e82e,#111827eb 55%,#060b13);color:#f8f9ff;gap:16px}.tetris-layout{display:flex;flex:1;gap:20px;justify-content:center;align-items:stretch;flex-wrap:wrap}.tetris-board-container{position:relative;flex:0 0 auto}.tetris-board{position:relative;width:clamp(220px,45vw,320px);aspect-ratio:10 / 20;display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(20,1fr);gap:2px;padding:8px;border-radius:18px;background:linear-gradient(135deg,#0f1224f0,#0b0d18fa);box-shadow:0 18px 32px #00000059;overflow:hidden}.tetris-cell{border-radius:6px;background:#ffffff0f;box-shadow:inset 0 0 0 1px #ffffff08;transition:transform .1s ease}.tetris-cell.filled{box-shadow:0 4px 9px #00000059,inset 0 0 0 1px #ffffff14}.tetris-cell.active{transform:scale(1.02)}.tetris-cell.ghost{background:#ffffff1f;box-shadow:inset 0 0 0 1px #fff3;opacity:.45}.tetris-cell.piece-I,.next-cell.piece-I{background:#00bcd4}.tetris-cell.piece-J,.next-cell.piece-J{background:#3f51b5}.tetris-cell.piece-L,.next-cell.piece-L{background:#ff9800}.tetris-cell.piece-O,.next-cell.piece-O{background:#fbc02d}.tetris-cell.piece-S,.next-cell.piece-S{background:#4caf50}.tetris-cell.piece-T,.next-cell.piece-T{background:#9c27b0}.tetris-cell.piece-Z,.next-cell.piece-Z{background:#e53935}.tetris-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#090d18e6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;border-radius:18px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);text-align:center}.tetris-overlay p{font-size:1.4rem;margin:0}.tetris-sidebar{flex:0 0 220px;display:flex;flex-direction:column;gap:14px;padding:14px;border-radius:18px;background:#0a0e1ab8;box-shadow:0 18px 32px #02060e8c;border:1px solid rgba(120,144,200,.16)}.score-card{background:#0f172aa6;border-radius:14px;padding:12px 14px;border:1px solid rgba(147,197,253,.24);box-shadow:inset 0 1px #ffffff14}.score-card h3{margin:0;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:#8ab4f8}.score-card p{margin:6px 0 0;font-size:1.6rem;font-weight:600}.next-piece h3{margin:0 0 8px;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:#8ab4f8}.next-piece-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:12px;background:#0f172aa6;border-radius:12px;border:1px solid rgba(147,197,253,.24)}.next-cell{width:100%;padding-bottom:100%;border-radius:8px;background:#ffffff14}.next-cell.filled{box-shadow:inset 0 0 0 1px #ffffff26}.tetris-controls{display:flex;flex-direction:column;gap:10px}.tetris-controls .app-button{margin:0}.tetris-controls .app-button:disabled{opacity:.5;cursor:default}.tetris-instructions h4{margin:0 0 6px;color:#8ab4f8;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem}.tetris-instructions ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:#e2edffd9}.tetris-touch-controls{display:none;gap:10px;justify-content:center}.tetris-touch-controls button{width:46px;height:46px;border-radius:50%;border:none;background:#ffffff1f;color:#f8f9ff;font-size:1.2rem;box-shadow:0 10px 20px #07081259;cursor:pointer}.tetris-touch-controls button:disabled{opacity:.4;cursor:default}@media (max-width: 900px){.tetris-sidebar{flex-direction:row;flex-wrap:wrap;justify-content:center}.score-card{flex:1 1 90px}.tetris-controls{flex:1 1 150px}}@media (max-width: 640px){.tetris-layout{gap:16px}.tetris-sidebar{width:100%}}@media (max-width: 768px){.tetris-touch-controls{display:flex}}.bottom-menu-bar{position:absolute;bottom:50px;left:50%;transform:translate(-50%);width:auto;height:60px;background-color:#f8f9facc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:0 15px;border-radius:30px;box-shadow:0 2px 10px #0000001a;z-index:999;border:1px solid rgba(0,0,0,.07)}.bottom-menu-bar button{background-color:transparent;border:none;padding:10px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.bottom-menu-bar button:hover{background-color:#0000000d}.bottom-menu-bar button .material-symbols-outlined{font-size:28px;color:#3c4043}.android-nav-bar{position:absolute;bottom:0;left:0;right:0;height:50px;background-color:#1e1e1ed9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-around;z-index:1000;border-top:1px solid rgba(255,255,255,.1)}.android-nav-bar button{background-color:transparent;border:none;padding:0;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s;color:#e0e0e0;flex-grow:1;height:100%}.android-nav-bar button:hover{background-color:#ffffff1a}.android-nav-bar button:active{background-color:#ffffff26}.android-nav-bar button .material-symbols-outlined{font-size:24px}.app-drawer-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#0000004d;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1100;display:flex;align-items:center;justify-content:center;animation:fadeInOverlay .3s ease-out}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.app-drawer-content{background-color:#fff;border-radius:20px;padding:20px;width:90%;max-width:600px;max-height:80vh;box-shadow:0 8px 25px #00000026;display:flex;flex-direction:column;animation:slideInDrawer .35s cubic-bezier(.4,0,.2,1)}@keyframes slideInDrawer{0%{transform:translateY(30px) scale(.98);opacity:.5}to{transform:translateY(0) scale(1);opacity:1}}.app-drawer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #e9ecef}.app-drawer-header h3{font-size:1.3em;color:#202124;margin:0}.app-drawer-header .close-btn{cursor:pointer;font-size:1.6em;color:#5f6368;padding:5px;border-radius:50%}.app-drawer-header .close-btn:hover{background-color:#0000000d}.app-drawer-grid{overflow-y:auto;flex-grow:1;padding-right:5px}.app-drawer-grid::-webkit-scrollbar{width:6px}.app-drawer-grid::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:3px}
