/* CFOM Desktop — Japan 2026 (macOS-style photo desktop). Scoped to body.cfom-mode-desktop */
body.cfom-mode-desktop{
	--dk-bg:#0b0b0d;--dk-ink:#f2efe8;--dk-dim:rgba(242,239,232,.62);--dk-gold:#d9b46a;--dk-gold-2:#f0d391;
	--dk-glass:rgba(28,28,32,.74);--dk-glass-2:rgba(40,40,46,.7);--dk-line:rgba(255,255,255,.1);--dk-sel:rgba(217,180,106,.28);
	--dk-shadow:0 30px 80px rgba(0,0,0,.55),0 2px 8px rgba(0,0,0,.4);--dk-r:14px;
	--dk-font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter",system-ui,sans-serif;--dk-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
	margin:0;background:var(--dk-bg);color:var(--dk-ink);font-family:var(--dk-font);font-size:13px;line-height:1.35;
	-webkit-font-smoothing:antialiased;overflow:hidden;height:100vh;height:100dvh;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent
}
body.cfom-mode-desktop #wpadminbar{display:none}
body.cfom-mode-desktop *,body.cfom-mode-desktop *::before,body.cfom-mode-desktop *::after{box-sizing:border-box}
body.cfom-mode-desktop button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:default}
body.cfom-mode-desktop img{display:block;max-width:100%}
body.cfom-mode-desktop a{color:inherit;text-decoration:none}
body.cfom-mode-desktop.dk-cursor-on,body.cfom-mode-desktop.dk-cursor-on *{cursor:none!important}
.dk-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Boot ---------- */
.dk-boot{position:fixed;inset:0;z-index:20000;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:38px;transition:opacity .6s ease,visibility .6s}
.dk-boot.is-done{opacity:0;visibility:hidden}
.dk-boot__mark{width:64px;height:64px;border-radius:18px;background:linear-gradient(145deg,var(--dk-gold-2),#a67c2e);box-shadow:0 0 60px rgba(217,180,106,.25);position:relative}
.dk-boot__mark::after{content:"";position:absolute;inset:20px;border:3px solid #111;border-radius:6px;border-right-color:transparent;transform:rotate(-8deg)}
.dk-boot__bar{width:min(240px,60vw);height:5px;border-radius:3px;background:rgba(255,255,255,.14);overflow:hidden}
.dk-boot__bar i{display:block;height:100%;width:0;background:#fff;border-radius:3px;transition:width 1.4s cubic-bezier(.3,.7,.3,1)}
.dk-boot.is-loading .dk-boot__bar i{width:100%}

/* ---------- Wallpaper / desktop ---------- */
.dk-wall{position:fixed;inset:0;z-index:0;background:#111 center/cover no-repeat;transition:background-image .6s ease,filter .6s}
.dk-wall::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 110%,rgba(0,0,0,.55),transparent 60%),linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.05) 30%,rgba(0,0,0,.3))}
.dk-wall--mesh{background:radial-gradient(60% 80% at 15% 20%,#3b2a12 0%,transparent 60%),radial-gradient(50% 70% at 85% 25%,#1b2240 0%,transparent 60%),radial-gradient(70% 60% at 50% 100%,#3a1f1c 0%,transparent 60%),#0b0b0d}
.dk-desktop{position:fixed;left:0;right:0;top:28px;bottom:0;z-index:1}
.dk-icons{position:absolute;inset:0;overflow:hidden}

/* ---------- Desktop icons ---------- */
.dk-icon{position:absolute;width:96px;padding:6px 4px 4px;border-radius:8px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;outline:0;touch-action:none}
.dk-icon:focus-visible,.dk-icon.is-selected{background:var(--dk-sel);box-shadow:inset 0 0 0 1px rgba(217,180,106,.5)}
.dk-icon.is-dragging{opacity:.75;z-index:50}
.dk-icon__img{width:64px;height:64px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.45));transition:transform .18s ease}
.dk-icon:hover .dk-icon__img{transform:translateY(-2px) scale(1.04)}
.dk-icon__name{font-size:12px;font-weight:500;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 8px rgba(0,0,0,.6);line-height:1.25;word-break:break-word;max-width:100%;padding:0 3px;border-radius:4px}
.dk-icon.is-selected .dk-icon__name{background:var(--dk-gold);color:#111;text-shadow:none}
.dk-icon__badge{position:absolute;top:2px;right:8px;background:rgba(0,0,0,.55);color:#fff;font-family:var(--dk-mono);font-size:10px;padding:1px 6px;border-radius:9px;border:1px solid rgba(255,255,255,.15)}
.dk-marquee{position:absolute;border:1px solid rgba(217,180,106,.7);background:rgba(217,180,106,.14);pointer-events:none;display:none;z-index:40}

/* folder SVG */
.dk-folder{width:100%;height:100%}
.dk-folder .f-back{fill:url(#dkFolderBack)}
.dk-folder .f-front{fill:url(#dkFolderFront)}
.dk-folder .f-glyph{fill:rgba(60,40,10,.55)}

/* ---------- Menu bar ---------- */
.dk-menubar{position:fixed;left:0;right:0;top:0;height:28px;z-index:9000;display:flex;align-items:center;padding:0 12px;gap:2px;background:rgba(20,20,24,.55);backdrop-filter:blur(30px) saturate(1.6);-webkit-backdrop-filter:blur(30px) saturate(1.6);border-bottom:1px solid rgba(255,255,255,.06);font-size:13px;font-weight:500}
.dk-menubar__item{height:22px;padding:0 9px;border-radius:5px;display:flex;align-items:center;gap:6px;color:#fff;position:relative;white-space:nowrap}
.dk-menubar__item.is-open,.dk-menubar__item:hover{background:rgba(255,255,255,.14)}
.dk-menubar__item--app{font-weight:700}
.dk-menubar__mark{width:14px;height:14px;border-radius:4px;background:linear-gradient(145deg,var(--dk-gold-2),#a67c2e);display:inline-block}
.dk-menubar__right{margin-left:auto;display:flex;align-items:center;gap:2px}
.dk-menubar__right .dk-menubar__item{padding:0 7px;font-weight:400}
.dk-menubar svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dk-clock{font-variant-numeric:tabular-nums}
.dk-clock small{opacity:.7;margin-right:6px;font-size:11px}
.dk-battery{display:flex;align-items:center;gap:5px;font-size:12px}
.dk-battery i{width:24px;height:11px;border:1.5px solid rgba(255,255,255,.85);border-radius:3px;position:relative;display:inline-block}
.dk-battery i::after{content:"";position:absolute;right:-4px;top:2.5px;width:2px;height:4px;background:rgba(255,255,255,.85);border-radius:0 1px 1px 0}
.dk-battery i b{position:absolute;left:1.5px;top:1.5px;bottom:1.5px;width:var(--lvl,90%);background:#fff;border-radius:1px}

/* dropdown menus */
.dk-menu{position:absolute;top:30px;left:0;min-width:230px;background:var(--dk-glass);backdrop-filter:blur(40px) saturate(1.6);-webkit-backdrop-filter:blur(40px) saturate(1.6);border:1px solid var(--dk-line);border-radius:10px;padding:5px;box-shadow:0 18px 50px rgba(0,0,0,.5);display:none;z-index:9100;font-weight:400}
.dk-menu.is-open{display:block;animation:dkPop .12s ease}
.dk-menu button,.dk-menu a{display:flex;align-items:center;justify-content:space-between;width:100%;padding:5px 10px;border-radius:6px;font-size:13px;color:#fff;text-align:left;gap:20px}
.dk-menu button:hover,.dk-menu a:hover{background:var(--dk-gold);color:#111}
.dk-menu button[disabled]{opacity:.4}
.dk-menu button[disabled]:hover{background:none;color:#fff}
.dk-menu hr{border:0;border-top:1px solid var(--dk-line);margin:5px 8px}
.dk-menu kbd{font-family:var(--dk-font);opacity:.55;font-size:12px}
.dk-menu button:hover kbd{opacity:.8}
.dk-menu .is-check::before{content:"✓";width:14px;margin-left:-14px;display:inline-block}
@keyframes dkPop{from{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}

/* context menu */
.dk-ctx{position:fixed;z-index:9600;min-width:210px;top:0;left:0}

/* ---------- Windows ---------- */
.dk-win{position:absolute;min-width:320px;min-height:200px;background:var(--dk-glass);backdrop-filter:blur(40px) saturate(1.6);-webkit-backdrop-filter:blur(40px) saturate(1.6);border:1px solid var(--dk-line);border-radius:var(--dk-r);box-shadow:var(--dk-shadow);display:flex;flex-direction:column;overflow:hidden;outline:0;transform-origin:center;will-change:transform,opacity}
.dk-win.is-opening{animation:dkOpen .28s cubic-bezier(.2,.8,.2,1)}
.dk-win.is-closing{animation:dkClose .2s ease forwards}
.dk-win.is-minimizing{animation:dkMin .34s cubic-bezier(.4,0,.6,1) forwards}
.dk-win.is-restoring{animation:dkOpen .28s cubic-bezier(.2,.8,.2,1)}
.dk-win.is-max{border-radius:0}
.dk-win:not(.is-active){box-shadow:0 12px 30px rgba(0,0,0,.35)}
.dk-win:not(.is-active) .dk-win__title{opacity:.55}
.dk-win:not(.is-active) .dk-tl b{background:#4a4a50!important}
@keyframes dkOpen{from{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:none}}
@keyframes dkClose{to{opacity:0;transform:scale(.9)}}
@keyframes dkMin{to{opacity:0;transform:translate(var(--mx,0),var(--my,600px)) scale(.08)}}
.dk-win__bar{height:44px;display:flex;align-items:center;padding:0 12px;gap:10px;border-bottom:1px solid var(--dk-line);flex-shrink:0;touch-action:none;position:relative}
.dk-win__title{position:absolute;left:0;right:0;text-align:center;font-weight:600;font-size:13px;pointer-events:none;color:#fff}
.dk-win__title small{display:block;font-weight:400;font-size:11px;opacity:.6}
.dk-tl{display:flex;gap:8px;z-index:2}
.dk-tl b{width:12px;height:12px;border-radius:50%;display:block;position:relative;border:1px solid rgba(0,0,0,.25)}
.dk-tl b::after{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:900;color:rgba(0,0,0,.6);opacity:0;line-height:1}
.dk-tl:hover b::after{opacity:1}
.dk-tl__close{background:#ff5f57}.dk-tl__close::after{content:"×";font-size:11px}
.dk-tl__min{background:#febc2e}.dk-tl__min::after{content:"–"}
.dk-tl__max{background:#28c840}.dk-tl__max::after{content:"⤢";font-size:8px}
.dk-win__body{flex:1;display:flex;min-height:0;position:relative}
.dk-win__resize{position:absolute;right:0;bottom:0;width:18px;height:18px;z-index:5;touch-action:none}
.dk-win__resize::after{content:"";position:absolute;right:5px;bottom:5px;width:8px;height:8px;border-right:2px solid rgba(255,255,255,.25);border-bottom:2px solid rgba(255,255,255,.25);border-radius:0 0 2px 0}

/* toolbar buttons */
.dk-tb{display:flex;align-items:center;gap:6px;z-index:2}
.dk-tb button,.dk-tb a{height:26px;min-width:28px;padding:0 6px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:4px;color:#fff;font-size:12px}
.dk-tb button:hover,.dk-tb a:hover{background:rgba(255,255,255,.12)}
.dk-tb button[disabled]{opacity:.3}
.dk-tb button[disabled]:hover{background:none}
.dk-tb button.is-on{background:rgba(255,255,255,.18)}
.dk-tb svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.dk-search{margin-left:auto;height:26px;width:170px;background:rgba(0,0,0,.28);border:1px solid var(--dk-line);border-radius:7px;display:flex;align-items:center;padding:0 8px;gap:6px;color:#fff}
.dk-search svg{width:13px;height:13px;stroke:rgba(255,255,255,.6);fill:none;stroke-width:2}
.dk-search input{background:none;border:0;outline:0;color:#fff;font:inherit;font-size:12px;width:100%;user-select:text;-webkit-user-select:text}
.dk-search input::placeholder{color:rgba(255,255,255,.4)}

/* Finder */
.dk-side{width:190px;flex-shrink:0;border-right:1px solid var(--dk-line);padding:10px 8px;overflow:auto;background:rgba(0,0,0,.12)}
.dk-side h6{margin:8px 8px 4px;font-size:11px;font-weight:600;color:rgba(255,255,255,.45);text-transform:none}
.dk-side button{display:flex;align-items:center;gap:8px;width:100%;padding:5px 8px;border-radius:6px;font-size:13px;color:#fff;text-align:left}
.dk-side button:hover{background:rgba(255,255,255,.08)}
.dk-side button.is-on{background:rgba(255,255,255,.16)}
.dk-side button .dk-folder{width:16px;height:16px;flex-shrink:0}
.dk-side button span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dk-side button small{opacity:.45;font-family:var(--dk-mono);font-size:10px}
.dk-side svg.glyph{width:16px;height:16px;fill:none;stroke:var(--dk-gold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dk-main{flex:1;display:flex;flex-direction:column;min-width:0}
.dk-view{flex:1;overflow:auto;padding:14px;scroll-behavior:smooth}
.dk-view:focus{outline:0}
.dk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px 6px;align-content:start}
.dk-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 4px 6px;border-radius:8px;text-align:center;outline:0;position:relative}
.dk-item.is-selected,.dk-item:focus-visible{background:var(--dk-sel);box-shadow:inset 0 0 0 1px rgba(217,180,106,.45)}
.dk-item__thumb{width:100px;height:100px;display:flex;align-items:center;justify-content:center}
.dk-item__thumb img{max-width:100%;max-height:100%;width:auto;height:auto;border-radius:3px;box-shadow:0 3px 10px rgba(0,0,0,.5);background:#222;transition:transform .18s ease;opacity:0;animation:dkFade .4s ease forwards}
@keyframes dkFade{to{opacity:1}}
.dk-item:hover .dk-item__thumb img{transform:scale(1.04)}
.dk-item__thumb .dk-folder{width:84px;height:84px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.4))}
.dk-item__name{font-size:12px;color:#fff;line-height:1.25;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.dk-item__name small{display:block;opacity:.45;font-size:10px;font-family:var(--dk-mono)}
.dk-list{width:100%;border-collapse:collapse;font-size:12px}
.dk-list th{text-align:left;font-weight:600;color:rgba(255,255,255,.5);padding:4px 10px;border-bottom:1px solid var(--dk-line);position:sticky;top:-14px;background:rgba(28,28,32,.9)}
.dk-list td{padding:5px 10px;border-radius:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0}
.dk-list td:first-child{max-width:none;width:44%}
.dk-list tr{outline:0}
.dk-list tr:nth-child(even) td{background:rgba(255,255,255,.03)}
.dk-list tr.is-selected td{background:var(--dk-sel)}
.dk-list td img{width:28px;height:28px;object-fit:cover;border-radius:3px;display:inline-block;vertical-align:middle;margin-right:8px}
.dk-list td .dk-folder{width:22px;height:22px;display:inline-block;vertical-align:middle;margin-right:8px}
.dk-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:rgba(255,255,255,.4);font-size:14px}
.dk-empty svg{width:56px;height:56px;stroke:rgba(255,255,255,.25);fill:none;stroke-width:1.4}
.dk-path{height:26px;border-top:1px solid var(--dk-line);display:flex;align-items:center;padding:0 12px;gap:6px;font-size:11px;color:rgba(255,255,255,.55);flex-shrink:0;overflow:hidden;white-space:nowrap}
.dk-path button{color:rgba(255,255,255,.7);padding:2px 5px;border-radius:4px}
.dk-path button:hover{background:rgba(255,255,255,.1);color:#fff}
.dk-path span{opacity:.4}
.dk-status{height:24px;display:flex;align-items:center;justify-content:center;font-size:11px;color:rgba(255,255,255,.5);border-top:1px solid var(--dk-line);flex-shrink:0;font-family:var(--dk-mono)}

/* Preview */
.dk-prev{flex:1;display:flex;flex-direction:column;min-width:0;background:rgba(0,0,0,.35)}
.dk-prev__stage{flex:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;min-height:0;padding:16px}
.dk-prev__stage img{max-width:100%;max-height:100%;width:auto;height:auto;border-radius:4px;box-shadow:0 20px 60px rgba(0,0,0,.6);transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .25s;object-fit:contain}
.dk-prev__stage.is-zoom img{max-width:none;max-height:none;height:auto;width:auto;transform:scale(1)}
.dk-prev__stage.is-zoom{overflow:auto;align-items:flex-start;justify-content:flex-start}
.dk-prev__nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.45);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transition:opacity .2s,background .2s}
.dk-prev__stage:hover .dk-prev__nav{opacity:1}
.dk-prev__nav:hover{background:var(--dk-gold);color:#111}
.dk-prev__nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.dk-prev__nav--l{left:14px}.dk-prev__nav--r{right:14px}
.dk-prev__nav[disabled]{opacity:0!important}
.dk-prev__foot{height:56px;display:flex;align-items:center;gap:12px;padding:0 16px;border-top:1px solid var(--dk-line);flex-shrink:0}
.dk-prev__cap{flex:1;min-width:0}
.dk-prev__cap b{display:block;font-size:13px;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dk-prev__cap span{display:block;font-size:11px;color:rgba(255,255,255,.5);font-family:var(--dk-mono);margin-top:2px}
.dk-prev__idx{font-family:var(--dk-mono);font-size:11px;color:rgba(255,255,255,.55);white-space:nowrap}
.dk-prev__strip{height:64px;display:flex;gap:6px;padding:8px 12px;overflow-x:auto;border-top:1px solid var(--dk-line);flex-shrink:0;scrollbar-width:none}
.dk-prev__strip::-webkit-scrollbar{display:none}
.dk-prev__strip img{height:48px;width:48px;object-fit:cover;border-radius:4px;opacity:.45;transition:opacity .2s,transform .2s;flex-shrink:0;border:2px solid transparent}
.dk-prev__strip img:hover{opacity:.85}
.dk-prev__strip img.is-on{opacity:1;border-color:var(--dk-gold);transform:scale(1.06)}
.dk-info{width:230px;border-left:1px solid var(--dk-line);padding:16px;font-size:12px;overflow:auto;display:none;background:rgba(0,0,0,.15)}
.dk-info.is-open{display:block}
.dk-info h6{margin:0 0 10px;font-size:11px;color:rgba(255,255,255,.45);font-weight:600}
.dk-info dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 12px}
.dk-info dt{color:rgba(255,255,255,.5)}.dk-info dd{margin:0;color:#fff;word-break:break-word}
.dk-info .dk-btn{margin-top:14px}

/* Notes / About / text windows */
.dk-notes{flex:1;display:flex;flex-direction:column;background:linear-gradient(180deg,#fff8dc,#fdf1c2);color:#3b2f10;padding:18px 22px;overflow:auto;user-select:text;-webkit-user-select:text;font-size:14px;line-height:1.55}
.dk-notes h2{margin:0 0 4px;font-size:22px;font-weight:700;letter-spacing:-.01em}
.dk-notes time{display:block;font-size:11px;opacity:.55;margin-bottom:14px;font-family:var(--dk-mono)}
.dk-notes p{margin:0 0 10px}
.dk-notes ul{margin:0 0 10px 18px;padding:0}
.dk-about{flex:1;display:flex;align-items:center;gap:26px;padding:24px 30px;color:#fff}
.dk-about__mark{width:110px;height:110px;border-radius:28px;background:linear-gradient(145deg,var(--dk-gold-2),#a67c2e);box-shadow:0 20px 40px rgba(217,180,106,.2);flex-shrink:0;position:relative}
.dk-about__mark::after{content:"";position:absolute;inset:34px;border:5px solid #111;border-right-color:transparent;border-radius:9px;transform:rotate(-8deg)}
.dk-about h2{margin:0;font-size:24px;font-weight:700;letter-spacing:-.01em}
.dk-about p{margin:3px 0 0;color:rgba(255,255,255,.6);font-size:12px}
.dk-about dl{margin:14px 0 0;display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:12px}
.dk-about dt{color:rgba(255,255,255,.5)}.dk-about dd{margin:0}
.dk-btn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:7px;background:rgba(255,255,255,.12);color:#fff;font-size:12px;font-weight:500;border:1px solid var(--dk-line)}
.dk-btn:hover{background:var(--dk-gold);color:#111;border-color:transparent}
.dk-btn--gold{background:var(--dk-gold);color:#111;border-color:transparent}
.dk-btn--gold:hover{background:var(--dk-gold-2)}
.dk-about__btns{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
.dk-help{flex:1;padding:20px 24px;overflow:auto;color:#fff;font-size:13px;user-select:text}
.dk-help h3{margin:0 0 12px;font-size:16px}
.dk-help table{border-collapse:collapse;width:100%}
.dk-help td{padding:6px 0;border-bottom:1px solid var(--dk-line)}
.dk-help td:first-child{width:150px}
.dk-help kbd{display:inline-block;padding:1px 6px;border-radius:5px;background:rgba(255,255,255,.12);border:1px solid var(--dk-line);font-family:var(--dk-font);font-size:12px;margin-right:4px}

/* ---------- Dock ---------- */
.dk-dock{position:fixed;left:50%;bottom:8px;transform:translateX(-50%);z-index:9000;display:flex;align-items:flex-end;gap:6px;padding:7px 9px;background:rgba(30,30,34,.5);backdrop-filter:blur(40px) saturate(1.6);-webkit-backdrop-filter:blur(40px) saturate(1.6);border:1px solid var(--dk-line);border-radius:20px;box-shadow:0 20px 50px rgba(0,0,0,.45);height:66px}
.dk-dock__item{width:50px;height:50px;position:relative;display:flex;align-items:flex-end;justify-content:center;transition:transform .16s cubic-bezier(.2,.8,.2,1),margin .16s;transform-origin:bottom center;outline:0}
.dk-dock__item:hover{transform:scale(1.28) translateY(-8px);margin:0 6px}
.dk-dock__item:focus-visible{transform:scale(1.15) translateY(-4px)}
.dk-dock__item.is-bounce{animation:dkBounce .6s cubic-bezier(.3,.7,.3,1) 2}
@keyframes dkBounce{0%,100%{transform:none}40%{transform:translateY(-22px)}}
.dk-dock__ico{width:50px;height:50px;border-radius:13px;box-shadow:0 4px 10px rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.dk-dock__ico svg{width:30px;height:30px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dk-dock__ico--finder{background:linear-gradient(180deg,#4fb3ff,#1e6fe0)}
.dk-dock__ico--finder::before{content:"";position:absolute;left:0;top:0;bottom:0;width:50%;background:linear-gradient(180deg,#e9f4ff,#c6e0ff)}
.dk-dock__ico--photos{background:conic-gradient(from 0deg,#ff5e62,#ffb347,#f9f871,#5ee7df,#5b86e5,#b06ab3,#ff5e62)}
.dk-dock__ico--photos::before{content:"";position:absolute;inset:11px;border-radius:50%;background:rgba(255,255,255,.92)}
.dk-dock__ico--notes{background:linear-gradient(180deg,#fff9d6 0%,#fff9d6 24%,#fff 24%)}
.dk-dock__ico--notes::before{content:"";position:absolute;left:10px;right:10px;top:26px;height:2px;background:#cfcfcf;box-shadow:0 7px 0 #cfcfcf,0 14px 0 #cfcfcf}
.dk-dock__ico--safari{background:radial-gradient(circle at 50% 50%,#fff 0 24%,#3aa0ff 25%,#1470e0 100%)}
.dk-dock__ico--about{background:linear-gradient(145deg,var(--dk-gold-2),#a67c2e)}
.dk-dock__ico--trash{background:linear-gradient(180deg,#e8e8ec,#9a9aa4)}
.dk-dock__ico--trash svg{stroke:#444}
.dk-dock__ico--min{background:#222}
.dk-dock__ico--min img{width:100%;height:100%;object-fit:cover}
.dk-dock__ico--min span{position:absolute;inset:auto 0 0;font-size:9px;text-align:center;background:rgba(0,0,0,.6);color:#fff;padding:2px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dk-dock__dot{position:absolute;bottom:-6px;left:50%;width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.7);transform:translateX(-50%);opacity:0}
.dk-dock__item.is-running .dk-dock__dot{opacity:1}
.dk-dock__sep{width:1px;height:44px;background:rgba(255,255,255,.18);margin:0 4px;align-self:center}
.dk-dock__tip{position:absolute;bottom:64px;left:50%;transform:translateX(-50%);background:rgba(30,30,34,.85);border:1px solid var(--dk-line);color:#fff;font-size:12px;padding:4px 9px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s}
.dk-dock__item:hover .dk-dock__tip{opacity:1}

/* ---------- Quick Look / Spotlight ---------- */
.dk-ql{position:fixed;inset:0;z-index:9700;background:rgba(0,0,0,.86);backdrop-filter:blur(20px);display:none;align-items:center;justify-content:center;flex-direction:column;gap:14px}
.dk-ql.is-open{display:flex;animation:dkFade .2s ease}
.dk-ql img{max-width:92vw;max-height:80vh;width:auto;height:auto;border-radius:6px;box-shadow:0 30px 80px rgba(0,0,0,.7)}
.dk-ql p{margin:0;color:#fff;font-size:13px;text-align:center}
.dk-ql p span{display:block;font-family:var(--dk-mono);font-size:11px;color:rgba(255,255,255,.5);margin-top:4px}
.dk-ql__x{position:absolute;top:18px;right:20px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:18px;display:flex;align-items:center;justify-content:center}
.dk-ql__x:hover{background:var(--dk-gold);color:#111}
.dk-spot{position:fixed;left:50%;top:18%;transform:translateX(-50%);width:min(620px,92vw);z-index:9700;background:var(--dk-glass);backdrop-filter:blur(40px) saturate(1.6);-webkit-backdrop-filter:blur(40px) saturate(1.6);border:1px solid var(--dk-line);border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.6);display:none;overflow:hidden}
.dk-spot.is-open{display:block;animation:dkPop .15s ease}
.dk-spot__in{display:flex;align-items:center;gap:12px;padding:12px 16px}
.dk-spot__in svg{width:22px;height:22px;stroke:rgba(255,255,255,.6);fill:none;stroke-width:2}
.dk-spot__in input{flex:1;background:none;border:0;outline:0;color:#fff;font:inherit;font-size:20px;user-select:text;-webkit-user-select:text}
.dk-spot__res{max-height:52vh;overflow:auto;border-top:1px solid var(--dk-line);padding:6px}
.dk-spot__res:empty{display:none}
.dk-spot__res button{display:flex;align-items:center;gap:12px;width:100%;padding:7px 10px;border-radius:8px;text-align:left;color:#fff}
.dk-spot__res button:hover,.dk-spot__res button.is-on{background:var(--dk-gold);color:#111}
.dk-spot__res img{width:36px;height:36px;object-fit:cover;border-radius:5px}
.dk-spot__res .dk-folder{width:32px;height:32px}
.dk-spot__res b{display:block;font-weight:500;font-size:13px}
.dk-spot__res small{opacity:.6;font-size:11px}

/* ---------- Custom cursor ---------- */
.dk-cur{position:fixed;left:0;top:0;z-index:30000;pointer-events:none;width:24px;height:24px;display:none;transform:translate(-4px,-3px)}
.dk-cursor-on .dk-cur{display:block}
.dk-cur svg{width:24px;height:24px;display:block;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.5))}
.dk-cur svg>g{display:none}
.dk-cur[data-c="arrow"] .c-arrow,.dk-cur[data-c="hand"] .c-hand,.dk-cur[data-c="grab"] .c-grab,.dk-cur[data-c="resize"] .c-resize,.dk-cur[data-c="text"] .c-text,.dk-cur[data-c="zoom"] .c-zoom{display:block}
.dk-cur:not([data-c]) .c-arrow{display:block}
.dk-cur[data-c="hand"],.dk-cur[data-c="grab"]{transform:translate(-9px,-4px)}
.dk-cur[data-c="resize"]{transform:translate(-12px,-12px)}
.dk-cur[data-c="text"]{transform:translate(-4px,-12px)}
.dk-cur[data-c="zoom"]{transform:translate(-11px,-11px)}
.dk-cur.is-down svg{transform:scale(.92)}

/* ---------- Toast ---------- */
.dk-toast{position:fixed;top:40px;right:14px;z-index:9800;background:var(--dk-glass);backdrop-filter:blur(30px);border:1px solid var(--dk-line);border-radius:12px;padding:10px 14px;display:flex;gap:10px;align-items:center;max-width:320px;box-shadow:0 12px 30px rgba(0,0,0,.4);transform:translateX(120%);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.dk-toast.is-on{transform:none}
.dk-toast i{width:32px;height:32px;border-radius:9px;background:linear-gradient(145deg,var(--dk-gold-2),#a67c2e);flex-shrink:0}
.dk-toast b{display:block;font-size:12px;color:#fff}.dk-toast span{font-size:12px;color:rgba(255,255,255,.65)}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
	body.cfom-mode-desktop *{animation-duration:.01ms!important;transition-duration:.01ms!important}
	.dk-boot{display:none}
}

/* ---------- Mobile / touch ---------- */
@media (max-width:820px),(hover:none) and (pointer:coarse){
	.dk-cur{display:none!important}
	body.cfom-mode-desktop.dk-cursor-on,body.cfom-mode-desktop.dk-cursor-on *{cursor:auto!important}
	.dk-menubar{height:34px;padding:0 10px}
	.dk-menubar__item--app,.dk-menubar__item--m,.dk-menubar__item.dk-hide-m{display:none}
	.dk-desktop{top:34px}
	.dk-icons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px 4px;padding:18px 10px 110px;overflow:auto;align-content:start}
	.dk-icon{position:static!important;width:auto}
	.dk-icon__img{width:58px;height:58px}
	.dk-win{left:0!important;top:0!important;width:100%!important;height:100%!important;border-radius:0;border:0;min-width:0}
	.dk-win__resize,.dk-tl__max,.dk-tl__min{display:none}
	.dk-side{display:none}
	.dk-grid{grid-template-columns:repeat(3,1fr);gap:8px 4px}
	.dk-item__thumb{width:92px;height:92px}
	.dk-search{width:120px}
	.dk-info{position:absolute;inset:0;width:100%;z-index:6;background:var(--dk-glass)}
	.dk-dock{bottom:10px;gap:4px;height:62px;padding:6px 8px;max-width:calc(100vw - 20px);overflow-x:auto}
	.dk-dock__item{width:46px;height:46px}.dk-dock__ico{width:46px;height:46px}
	.dk-dock__item:hover{transform:none;margin:0}
	.dk-dock__tip{display:none}
	.dk-prev__nav{opacity:1}
	.dk-about{flex-direction:column;text-align:center;align-items:center;overflow:auto}
	.dk-about dl{text-align:left}
	.dk-menu{min-width:200px}
}
