:root {font-family:Arial,"Noto Sans KR","Malgun Gothic",system-ui,sans-serif;}
body[data-theme="dark"] {color-scheme:dark;--text:#f4f4f4;--muted:#a2a2a2;--line:#414141;--surface:#292929;--surface-2:#343434;--window:#212121;--accent:#e8e8e8;--shadow:0 24px 70px #0009;background:#212121;color:var(--text);}
body[data-theme="light"] {color-scheme:light;--text:#222;--muted:#666;--line:#dedede;--surface:#fff;--surface-2:#f0f0f0;--window:#fafafa;--accent:#333;--shadow:0 24px 70px #0002;background:#fafafa;color:var(--text);}
.shell {display:grid;grid-template-columns:260px minmax(0,1fr);height:100dvh;}
.topbar {grid-column:1;grid-row:1;height:100%;min-height:0;padding:20px 19px;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;background:#171717;border:0;border-right:1px solid #303030;box-shadow:none;backdrop-filter:none;color:#f4f4f4;text-shadow:none;}
body[data-theme="light"] .topbar {background:#f5f5f5;border-right-color:#e3e3e3;color:#222;}
.brand {display:flex;align-items:center;gap:10px;}
.brand strong {font-size:15px;letter-spacing:-.02em;font-weight:650;}
.brand-mark {width:27px;height:27px;border-radius:50%;background:#f4f4f4;color:#202020;font-size:18px;box-shadow:none;}
.brand-mark svg {width:17px;height:17px;fill:currentColor;}
body[data-theme="light"] .brand-mark {background:#242424;color:white;}
.topbar-right {width:100%;padding:15px 2px 0;border-top:1px solid #353535;color:#9c9c9c;font-size:11px;gap:7px;flex-wrap:wrap;}
body[data-theme="light"] .topbar-right {border-color:#ddd;color:#666;}
.online-dot {width:6px;height:6px;background:#68c5a5;box-shadow:none;}
.topbar-divider {background:#555;height:11px;margin:0 3px;}
.workspace {grid-column:2;grid-row:1;margin:0;padding:0 34px;overflow:auto;background:var(--window);}
.home-intro {max-width:790px;width:100%;margin:clamp(75px,15vh,150px) auto 27px;}
.home-intro h1 {margin:0;font-size:31px;letter-spacing:-.045em;font-weight:610;line-height:1.2;}
.home-intro p {margin:12px 0 0;font-size:14px;color:var(--muted);line-height:1.5;}
.desktop-icons {position:static;max-width:790px;width:100%;margin:0 auto 70px;display:grid;grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-columns:auto;grid-auto-rows:auto;gap:11px;}
.desktop-icon {display:flex;flex-direction:row;align-items:center;justify-content:flex-start;width:100%;height:auto;min-height:77px;padding:14px 16px;gap:15px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);text-shadow:none;text-align:left;font-size:14px;font-weight:500;transition:background .2s,border-color .2s,transform .2s;}
.desktop-icon:hover,.desktop-icon:focus-visible {background:var(--surface-2);border-color:#777;}
@media (hover:hover) {.desktop-icon:hover {transform:translateY(-2px);}}
.desktop-icon:active {transform:scale(.99);}
.desktop-icon .icon-tile,.desktop-icon[data-app] .icon-tile {width:41px;height:41px;flex:none;border:0;border-radius:11px;background:#3a3a3a;box-shadow:none;backdrop-filter:none;display:grid;place-items:center;}
body[data-theme="light"] .desktop-icon .icon-tile,body[data-theme="light"] .desktop-icon[data-app] .icon-tile {background:#e9e9e9;}
.desktop-icon[data-app="gpt"] .icon-tile {background:#f4f4f4;color:#222;border-radius:50%;}
body[data-theme="light"] .desktop-icon[data-app="gpt"] .icon-tile {background:#242424;color:#fff;}
.desktop-icon svg {width:22px;height:22px;stroke:currentColor;stroke-width:1.8;}
.desktop-icon[data-app="gpt"] svg {stroke:currentColor;}
.icon-copy {display:flex;flex-direction:column;min-width:0;gap:4px;}
.icon-copy strong {font-size:14px;font-weight:620;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.icon-copy small {font-size:11px;font-weight:400;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.card-arrow {margin-left:auto;display:grid;place-items:center;color:var(--muted);opacity:.7;transition:transform .2s,opacity .2s;}
.card-arrow svg {width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.desktop-icon:hover .card-arrow,.desktop-icon:focus-visible .card-arrow {transform:translateX(3px);opacity:1;}
.home-widget,.taskbar,.launcher {display:none!important;}
.window-layer {position:absolute;inset:0;z-index:5;pointer-events:none;}
.app-window {border:1px solid var(--line);border-radius:13px;background:var(--window);color:var(--text);box-shadow:var(--shadow);backdrop-filter:none;max-width:calc(100% - 40px);max-height:calc(100% - 40px);resize:both;transform-origin:center 35%;animation:window-open .24s cubic-bezier(.2,.8,.2,1) both;}
.app-window.closing {animation:window-close .17s ease-in both;pointer-events:none;}
@keyframes window-open {from {opacity:0;transform:translateY(12px) scale(.985);}to {opacity:1;transform:translateY(0) scale(1);}}
@keyframes window-close {from {opacity:1;transform:translateY(0) scale(1);}to {opacity:0;transform:translateY(8px) scale(.985);}}
.app-window.maximized {inset:15px!important;width:auto!important;height:auto!important;max-width:none;max-height:none;resize:none;}
.window-titlebar,.app-toolbar,.browser-chrome {background:var(--surface);border-bottom:1px solid var(--line);box-shadow:none;backdrop-filter:none;}
.window-titlebar {height:48px;}
.window-titlebar strong {font-size:13px;}
.window-controls button {color:var(--muted);}
.window-controls button:hover {background:var(--surface-2);color:var(--text);}
.window-controls button svg {width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.window-content,.notes-main,.browser-results,.browser-reader {background:var(--window);}
.notes-sidebar {background:#191919;}
body[data-theme="light"] .notes-sidebar {background:#f3f3f3;}
.tool-button,.soft-button,.primary-button {border-radius:8px;background:var(--surface-2);border:1px solid var(--line);color:var(--text);box-shadow:none;}
.primary-button {background:var(--text);color:var(--window);border-color:var(--text);}
.tool-button:hover,.soft-button:hover {background:var(--surface-2);filter:brightness(1.13);}
.action-icon {width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.browser-chrome .tool-button:has(.action-icon) {min-width:33px;padding:7px;}
.bookmark,.store-item,.settings-group,.task-row,.search-result {background:var(--surface);border-color:var(--line);}
.bookmark:hover,.search-result:hover {background:var(--surface-2);}
.browser-chrome .browser-form input {background:var(--window);border-color:var(--line);}
.toast {right:24px;bottom:24px;background:var(--surface);border-color:var(--line);color:var(--text);}
@media (prefers-reduced-motion:reduce) {.app-window,.app-window.closing {animation:none;}.desktop-icon,.card-arrow {transition:none!important;transform:none!important;}}
@media(max-width:760px) {.shell {display:flex;flex-direction:column;}.topbar {height:55px;min-height:55px;flex-direction:row;align-items:center;padding:0 17px;border-right:0;border-bottom:1px solid #303030;}.topbar-right {width:auto;padding:0;border:0;font-size:10px;}.topbar-right .topbar-divider,.topbar-right #topDate {display:none;}.workspace {flex:1;min-height:0;padding:0 18px;}.home-intro {margin:58px auto 24px;}.home-intro h1 {font-size:27px;}.desktop-icons {grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:9px;}.desktop-icon {min-height:75px;padding:12px;gap:10px;}.desktop-icon .icon-tile,.desktop-icon[data-app] .icon-tile {width:38px;height:38px;}.app-window,.app-window.maximized {left:6px!important;right:6px!important;top:6px!important;bottom:6px!important;width:auto!important;height:auto!important;min-width:0;min-height:0;max-width:none;max-height:none;resize:none;}}
@media(max-width:550px) {.desktop-icons {grid-template-columns:1fr;}.home-intro {margin-top:46px;}.topbar-right span:not(.online-dot) {display:none;}}
