html,body{height:100%;overflow:hidden}body{padding:0;min-height:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,.titlebar:focus-visible{outline:2px solid #ffb300;outline-offset:-3px}[hidden]{display:none!important}
.window{position:fixed;display:flex;flex-direction:column;left:max(14px,calc((100vw - 1000px)/2));top:22px;width:calc(100vw - 44px);height:calc(100dvh - 86px);max-width:1000px;min-width:260px;margin:0;z-index:2;overflow:hidden;border-width:1px;padding:3px}.window .titlebar{flex:none;height:32px;font-size:13px;touch-action:none;cursor:move}.window .titlebar .btns{display:flex}.window .titlebar .btn{padding:0;width:26px;height:24px;font:bold 18px/1 Tahoma,sans-serif;color:#000;cursor:pointer}.window .titlebar .btn:active,.task-button:active{border-color:#404040 #fff #fff #404040}.window.inactive>.titlebar{background:linear-gradient(90deg,#6b6b6b,#aaa)}.menubar{flex:none}.window .doc-wrap{min-height:0;flex:1;overflow:hidden}.window .doc-outer{overflow:auto;overscroll-behavior:contain;scrollbar-color:#d4d0c8 #eee;scrollbar-width:auto}.window .sbar{display:none}.window .statusbar{flex:none;font-size:12px}.window.maximized{left:0!important;top:0!important;width:100vw!important;height:calc(100dvh - 44px)!important;max-width:none}.doc:focus{outline:none}
#desktop-icons{position:fixed;left:20px;top:24px;display:grid;gap:26px;width:108px}.desktop-icon{display:flex;flex-direction:column;gap:9px;align-items:center;border:1px solid transparent;background:transparent;padding:8px 2px;color:#fff;text-shadow:1px 1px #173552;font:14px/1.35 Tahoma,sans-serif;text-align:center}.desktop-icon:hover,.desktop-icon:focus{background:#0a246a55;border:1px dotted #c9d7e5}.notepad-desktop-icon{display:block;width:48px;height:48px;object-fit:contain;image-rendering:pixelated;}.game-icon{position:relative;width:48px;height:48px}.game-icon img{width:48px;height:48px;image-rendering:pixelated}.game-icon small{position:absolute;bottom:-4px;right:-8px;font:bold 10px/1 Tahoma,sans-serif;background:#ddd;color:#000;border:1px solid #222;padding:2px;text-shadow:none}
#taskbar{position:fixed;bottom:0;left:0;right:0;z-index:10000;background:#d4d0c8;border-top:2px solid #fff;box-shadow:0 -1px #808080;display:flex;align-items:center;gap:6px;height:44px;padding:4px;font:14px Tahoma,sans-serif}.task-button{border:2px solid;border-color:#fff #404040 #404040 #fff;box-shadow:inset -1px -1px #808080;background:#d4d0c8;height:34px;padding:3px 10px;display:flex;align-items:center;gap:7px;min-width:0}.task-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-button[aria-pressed=true]{background:#eee;border-color:#808080 #fff #fff #808080;font-weight:bold}.task-button img{width:16px;height:16px;flex:0 0 16px;object-fit:contain;image-rendering:pixelated}#desktop-button{flex:0 0 auto;justify-content:center;min-width:44px}#portfolio .titlebar .ico{image-rendering:pixelated}#clock{margin-left:auto;white-space:nowrap;border:1px solid;border-color:#808080 #fff #fff #808080;padding:7px 12px;font-size:12px}
.game-window{left:max(20px,calc((100vw - 920px)/2));top:50px;width:calc(100vw - 40px);max-width:920px;height:min(740px,calc(100dvh - 118px));z-index:5;background:#d4d0c8}.game-toolbar,.game-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px;font:12px/1.4 Tahoma,sans-serif;flex:none}.game-toolbar a,.game-footer a{color:#00309c}.game-toolbar{border-bottom:1px solid #808080}#game-host{position:relative;flex:1;min-height:0;background:#000;display:flex;align-items:center;justify-content:center;color:white}#game-host iframe{height:100%;width:100%;border:0;display:block}#game-loading{position:absolute;font:14px Tahoma,sans-serif;pointer-events:none}.game-footer{border-top:1px solid #808080}#drag-shield{position:fixed;inset:0;z-index:9999;cursor:move}
@media(max-width:600px){.window{left:8px;top:8px;width:calc(100vw - 16px);height:calc(100dvh - 62px)}.window .titlebar{height:38px;font-size:12px}.window .titlebar .btn{width:30px;height:28px}.window .titlebar .ico{display:block;width:16px;height:16px}.window .statusbar span:not(:first-child){display:none}.game-toolbar,.game-footer{font-size:12px;flex-wrap:wrap;gap:4px;padding:5px 7px}.game-window{top:8px;left:8px;max-width:none}.task-button{padding:3px 6px;font-size:12px;flex:1 1 0;gap:6px}#desktop-button{flex:0 0 44px;width:44px;min-width:44px;padding:3px;gap:0}#desktop-button b{display:none}#clock{padding:7px 5px}.doc,.doc p,.doc li{font-size:16px}.doc{padding:14px 10px}.window .caption{font-size:12px}}
@media print{html,body{height:auto;overflow:visible}.window{position:static;height:auto;width:100%;display:block;max-width:none}.window .doc-wrap,.window .doc-outer{overflow:visible}#desktop-icons,#taskbar,#game-window{display:none!important}}
/* Anchor navigation scrolls the document, never the window chrome. */
.window{overflow:clip}

/* The language control belongs to Notepad's menu, so it stays visible while reading. */
.language-menu{position:relative;flex:none;margin:0;padding:0;z-index:20;}
.language-menu summary{display:block;list-style:none;padding:3px 8px;min-height:24px;line-height:18px;letter-spacing:.2px;font:inherit;line-height:18px;color:var(--ink);cursor:pointer;user-select:none;}
.language-menu summary::-webkit-details-marker{display:none;}
.language-menu summary:hover,.language-menu summary:focus-visible,.language-menu[open] summary{background:var(--sel);color:var(--sel-text);}
.language-menu summary:focus-visible{outline-offset:-2px;}
.language-options{position:absolute;top:100%;left:0;min-width:148px;padding:3px;background:var(--face);border:1px solid;border-color:var(--hi) var(--dkshadow) var(--dkshadow) var(--hi);box-shadow:inset 1px 1px var(--face-lt),inset -1px -1px var(--shadow),2px 2px 0 #0005;max-height:calc(100dvh - 150px);overflow:auto;}
.language-options button{display:flex;align-items:center;width:100%;border:0;background:transparent;text-align:left;padding:5px 12px 5px 5px;min-height:28px;font:12px/18px var(--ui),sans-serif;white-space:nowrap;}
.language-options button::before{content:"";width:20px;flex:none;}
.language-options button[aria-pressed="true"]::before{content:"✓";}
.language-options button:hover,.language-options button:focus-visible{background:var(--sel);color:var(--sel-text);outline:none;}
html:lang(ja) .doc,html:lang(zh) .doc,html:lang(ko) .doc{font-family:"SFMono-Regular",Consolas,"Noto Sans CJK JP","Noto Sans CJK SC","Noto Sans CJK KR",monospace;line-break:strict;}
html:lang(ko) .doc{word-break:keep-all;overflow-wrap:anywhere;}
@media(max-width:560px){.menubar a,.language-menu summary{padding:5px 6px;font-size:12.5px;}.language-options button{min-height:36px;font-size:14px;}}

/* Films and family photographs keep the same document-frame treatment. */
.film-screen{aspect-ratio:16/9;position:relative;background:#233c35;line-height:normal;}
.film-preview{display:block;width:100%;height:100%;border:0;padding:0;position:relative;background:transparent;overflow:hidden;cursor:pointer;}
.plate-img .film-preview img{width:100%;height:100%;object-fit:cover;}
.film-play-label{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:8px;max-width:calc(100% - 24px);padding:8px 14px;color:var(--ink);background:var(--face);border:2px solid;border-color:var(--hi) var(--dkshadow) var(--dkshadow) var(--hi);box-shadow:inset -1px -1px var(--shadow);font:13px/1.4 var(--ui),sans-serif;white-space:normal;}
.film-preview:hover .film-play-label,.film-preview:focus-visible .film-play-label{background:var(--sel);color:var(--sel-text);}
.film-preview:focus-visible{outline:2px solid #ffb300;outline-offset:-3px;}
.film-screen iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.solar-film figcaption a{display:inline-block;margin-top:4px;}
.wedding-photo img{height:auto;object-fit:contain;}
@media(max-width:420px){.film-play-label{bottom:10px;padding:6px 10px;font-size:12px;}}
.remi-window{left:max(40px,calc((100vw - 980px)/2 + 30px));top:70px;max-width:980px;height:min(680px,calc(100dvh - 128px))}#remi-host{position:relative;flex:1;min-height:0;background:#0b0b0d;display:flex;align-items:center;justify-content:center;color:#fff}#remi-host iframe{height:100%;width:100%;border:0;display:block}#remi-loading{position:absolute;font:14px Tahoma,sans-serif;pointer-events:none}
@media(max-width:600px){.remi-window{top:8px;left:8px;max-width:none;height:calc(100dvh - 62px)}}
@media print{#remi-window{display:none!important}}
